---------------------------------------------------------------------------
-- NDT Solutions Ltd. Proprietary Information
-- Company Confidential
-- Copyright 2007
--
-- Filename: SystemMonitorPkg.vhd
-- Language: VHDL '93
-- Project:  NDTS2100 System FPGA
--
-- Design Description:
-- VHDL package for System Monitor default values
---------------------------------------------------------------------------


library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;

package SystemMonitorPkg is

  -- Record to define the parameters for a register
  type tMaxMin is record
    Max: std_logic_vector(15 downto 0);
    Min: std_logic_vector(15 downto 0);
  end record;

  -- Type to hold array of max/min default values
  type tDefMaxMin is array(0 to 23) of tMaxMin;

  -- Constant definitions for default values     max             min
  constant cSysMonMaxMin: tDefMaxMin := ((conv_std_logic_vector(128,16), conv_std_logic_vector(0,16)), 
                                         (conv_std_logic_vector(129,16), conv_std_logic_vector(1,16)),
                                         (conv_std_logic_vector(130,16), conv_std_logic_vector(2,16)),
                                         (conv_std_logic_vector(131,16), conv_std_logic_vector(3,16)),
                                         (conv_std_logic_vector(132,16), conv_std_logic_vector(4,16)),
                                         (conv_std_logic_vector(133,16), conv_std_logic_vector(5,16)),
                                         (conv_std_logic_vector(134,16), conv_std_logic_vector(6,16)),
                                         (conv_std_logic_vector(135,16), conv_std_logic_vector(7,16)),
                                         (conv_std_logic_vector(136,16), conv_std_logic_vector(8,16)),
                                         (conv_std_logic_vector(137,16), conv_std_logic_vector(9,16)),
                                         (conv_std_logic_vector(138,16), conv_std_logic_vector(10,16)),
                                         (conv_std_logic_vector(139,16), conv_std_logic_vector(11,16)),
                                         (conv_std_logic_vector(140,16), conv_std_logic_vector(12,16)),
                                         (conv_std_logic_vector(141,16), conv_std_logic_vector(13,16)),
                                         (conv_std_logic_vector(142,16), conv_std_logic_vector(14,16)),
                                         (conv_std_logic_vector(143,16), conv_std_logic_vector(15,16)),
                                         (conv_std_logic_vector(144,16), conv_std_logic_vector(16,16)),
                                         (conv_std_logic_vector(145,16), conv_std_logic_vector(17,16)),
                                         (conv_std_logic_vector(146,16), conv_std_logic_vector(18,16)),
                                         (conv_std_logic_vector(147,16), conv_std_logic_vector(19,16)),
                                         (conv_std_logic_vector(148,16), conv_std_logic_vector(20,16)),
                                         (conv_std_logic_vector(149,16), conv_std_logic_vector(21,16)),
                                         (conv_std_logic_vector(150,16), conv_std_logic_vector(22,16)),
                                         (conv_std_logic_vector(151,16), conv_std_logic_vector(23,16)));

  -- Constant definitions for max/min temperatures (*4 for deg C)
  constant cSysMonTempMax : std_logic_vector(9 downto 0) := conv_std_logic_vector((30*4),10);
  constant cSysMonTempMin : std_logic_vector(9 downto 0) := conv_std_logic_vector((10*4),10);

end package SystemMonitorPkg;
