Skip to content
Snippets Groups Projects
Commit eaf794a4 authored by Jonathan Hargreaves's avatar Jonathan Hargreaves
Browse files

UniBoard2 i2c sens and pmbus packages: fix bugs found during initial testbench simulation

parent e0989069
No related branches found
No related tags found
No related merge requests found
...@@ -55,12 +55,36 @@ PACKAGE i2c_commander_unb2_pmbus_pkg IS ...@@ -55,12 +55,36 @@ PACKAGE i2c_commander_unb2_pmbus_pkg IS
CONSTANT k_expected_mask_1 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end; CONSTANT k_expected_mask_1 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_2 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end; CONSTANT k_expected_mask_2 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_3 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end; CONSTANT k_expected_mask_3 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_4 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_arr : t_slv_32_arr(0 TO c_i2c_unb2_nof_protocol_lists-1) := (k_expected_mask_0, CONSTANT k_expected_mask_5 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
k_expected_mask_1, CONSTANT k_expected_mask_6 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
k_expected_mask_2, CONSTANT k_expected_mask_7 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
k_expected_mask_3); CONSTANT k_expected_mask_8 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_9 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_10 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_11 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_12 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_13 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_14 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_15 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_arr : t_slv_32_arr(0 TO c_i2c_cmdr_max_nof_protocols-1) := (k_expected_mask_0,
k_expected_mask_1,
k_expected_mask_2,
k_expected_mask_3,
k_expected_mask_4,
k_expected_mask_5,
k_expected_mask_6,
k_expected_mask_7,
k_expected_mask_8,
k_expected_mask_9,
k_expected_mask_10,
k_expected_mask_11,
k_expected_mask_12,
k_expected_mask_13,
k_expected_mask_14,
k_expected_mask_15);
-- Define the corresponding expected nof read data -- Define the corresponding expected nof read data
CONSTANT k_nof_result_data_0 : NATURAL := c_i2c_unb2_pmbus_nof_result_data_read_all; CONSTANT k_nof_result_data_0 : NATURAL := c_i2c_unb2_pmbus_nof_result_data_read_all;
CONSTANT k_nof_result_data_1 : NATURAL := c_i2c_cmdr_nof_result_data_none; CONSTANT k_nof_result_data_1 : NATURAL := c_i2c_cmdr_nof_result_data_none;
...@@ -77,11 +101,35 @@ PACKAGE i2c_commander_unb2_pmbus_pkg IS ...@@ -77,11 +101,35 @@ PACKAGE i2c_commander_unb2_pmbus_pkg IS
CONSTANT k_protocol_ofs_1 : NATURAL := k_protocol_list_0'LENGTH + k_protocol_ofs_0; CONSTANT k_protocol_ofs_1 : NATURAL := k_protocol_list_0'LENGTH + k_protocol_ofs_0;
CONSTANT k_protocol_ofs_2 : NATURAL := k_protocol_list_1'LENGTH + k_protocol_ofs_1; CONSTANT k_protocol_ofs_2 : NATURAL := k_protocol_list_1'LENGTH + k_protocol_ofs_1;
CONSTANT k_protocol_ofs_3 : NATURAL := k_protocol_list_2'LENGTH + k_protocol_ofs_2; CONSTANT k_protocol_ofs_3 : NATURAL := k_protocol_list_2'LENGTH + k_protocol_ofs_2;
CONSTANT k_protocol_ofs_4 : NATURAL := 0 + k_protocol_ofs_3;
CONSTANT k_protocol_ofs_arr : t_natural_arr(0 TO c_i2c_unb2_nof_protocol_lists-1) := (k_protocol_ofs_0, CONSTANT k_protocol_ofs_5 : NATURAL := 0 + k_protocol_ofs_4;
CONSTANT k_protocol_ofs_6 : NATURAL := 0 + k_protocol_ofs_5;
CONSTANT k_protocol_ofs_7 : NATURAL := 0 + k_protocol_ofs_6;
CONSTANT k_protocol_ofs_8 : NATURAL := 0 + k_protocol_ofs_7;
CONSTANT k_protocol_ofs_9 : NATURAL := 0 + k_protocol_ofs_8;
CONSTANT k_protocol_ofs_10 : NATURAL := 0 + k_protocol_ofs_9;
CONSTANT k_protocol_ofs_11 : NATURAL := 0 + k_protocol_ofs_10;
CONSTANT k_protocol_ofs_12 : NATURAL := 0 + k_protocol_ofs_11;
CONSTANT k_protocol_ofs_13 : NATURAL := 0 + k_protocol_ofs_12;
CONSTANT k_protocol_ofs_14 : NATURAL := 0 + k_protocol_ofs_13;
CONSTANT k_protocol_ofs_15 : NATURAL := 0 + k_protocol_ofs_14;
CONSTANT k_protocol_ofs_arr : t_natural_arr(0 TO c_i2c_cmdr_max_nof_protocols-1) := (k_protocol_ofs_0,
k_protocol_ofs_1, k_protocol_ofs_1,
k_protocol_ofs_2, k_protocol_ofs_2,
k_protocol_ofs_3); k_protocol_ofs_3,
k_protocol_ofs_4,
k_protocol_ofs_5,
k_protocol_ofs_6,
k_protocol_ofs_7,
k_protocol_ofs_8,
k_protocol_ofs_9,
k_protocol_ofs_10,
k_protocol_ofs_11,
k_protocol_ofs_12,
k_protocol_ofs_13,
k_protocol_ofs_14,
k_protocol_ofs_15);
-- RAM sizes -- RAM sizes
CONSTANT k_protocol_ram_nof_dat : NATURAL := ceil_div(k_protocol_ram_init'LENGTH, c_i2c_cmdr_mem_block_sz) * c_i2c_cmdr_mem_block_sz; CONSTANT k_protocol_ram_nof_dat : NATURAL := ceil_div(k_protocol_ram_init'LENGTH, c_i2c_cmdr_mem_block_sz) * c_i2c_cmdr_mem_block_sz;
...@@ -91,7 +139,7 @@ PACKAGE i2c_commander_unb2_pmbus_pkg IS ...@@ -91,7 +139,7 @@ PACKAGE i2c_commander_unb2_pmbus_pkg IS
-- Commander settings -- Commander settings
CONSTANT k_nof_protocols : NATURAL := 2; -- Must be >= actually used nof protocol lists in k_protocol_ram_init and <= c_i2c_cmdr_max_nof_protocols=16 protocols. CONSTANT k_nof_protocols : NATURAL := 2; -- Must be >= actually used nof protocol lists in k_protocol_ram_init and <= c_i2c_cmdr_max_nof_protocols=16 protocols.
CONSTANT k_nof_result_data_max : NATURAL := 4; -- Must be >= the maximum nof read bytes in any protocol list in k_protocol_ram_init CONSTANT k_nof_result_data_max : NATURAL := 32; -- Must be >= the maximum nof read bytes in any protocol list in k_protocol_ram_init
CONSTANT k_result_cnt_w : NATURAL := k_result_adr_w; CONSTANT k_result_cnt_w : NATURAL := k_result_adr_w;
...@@ -99,16 +147,16 @@ PACKAGE i2c_commander_unb2_pmbus_pkg IS ...@@ -99,16 +147,16 @@ PACKAGE i2c_commander_unb2_pmbus_pkg IS
-- Global constants (with prefix 'c_i2c_cmdr_unbh_') -- Global constants (with prefix 'c_i2c_cmdr_unbh_')
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
CONSTANT c_i2c_cmdr_unbh_protocol_ram_init : t_nat_natural_arr := k_protocol_ram_init; CONSTANT c_i2c_cmdr_unb2_pmbus_protocol_ram_init : t_nat_natural_arr := k_protocol_ram_init;
CONSTANT c_i2c_cmdr_unbh_nof_result_data_arr : t_nat_natural_arr := k_nof_result_data_arr; CONSTANT c_i2c_cmdr_unb2_pmbus_nof_result_data_arr : t_nat_natural_arr := k_nof_result_data_arr;
CONSTANT c_i2c_cmdr_unbh_i2c_mm : t_c_i2c_mm := (c_i2c_control_adr_w, CONSTANT c_i2c_cmdr_unb2_pmbus_i2c_mm : t_c_i2c_mm := (c_i2c_control_adr_w,
k_protocol_ram_adr_w, k_protocol_ram_adr_w,
k_protocol_ram_nof_dat, k_protocol_ram_nof_dat,
k_result_adr_w, k_result_adr_w,
k_result_nof_dat); k_result_nof_dat);
CONSTANT c_i2c_cmdr_unbh_protocol_commander : t_c_i2c_cmdr_commander := (k_nof_protocols, CONSTANT c_i2c_cmdr_unb2_pmbus_protocol_commander : t_c_i2c_cmdr_commander := (k_nof_protocols,
k_protocol_ofs_arr, k_protocol_ofs_arr,
k_expected_mask_arr, k_expected_mask_arr,
k_result_cnt_w, k_result_cnt_w,
......
...@@ -55,11 +55,36 @@ PACKAGE i2c_commander_unb2_sens_pkg IS ...@@ -55,11 +55,36 @@ PACKAGE i2c_commander_unb2_sens_pkg IS
CONSTANT k_expected_mask_1 : STD_LOGIC_VECTOR := c_i2c_unb2_sens_max1617_expected_mask_read_temp; CONSTANT k_expected_mask_1 : STD_LOGIC_VECTOR := c_i2c_unb2_sens_max1617_expected_mask_read_temp;
CONSTANT k_expected_mask_2 : STD_LOGIC_VECTOR := c_i2c_unb2_sens_expected_mask_read_all; CONSTANT k_expected_mask_2 : STD_LOGIC_VECTOR := c_i2c_unb2_sens_expected_mask_read_all;
CONSTANT k_expected_mask_3 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end; CONSTANT k_expected_mask_3 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_4 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_arr : t_slv_32_arr(0 TO c_i2c_unb2_nof_protocol_lists-1) := (k_expected_mask_0, CONSTANT k_expected_mask_5 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
k_expected_mask_1, CONSTANT k_expected_mask_6 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
k_expected_mask_2, CONSTANT k_expected_mask_7 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
k_expected_mask_3); CONSTANT k_expected_mask_8 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_9 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_10 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_11 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_12 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_13 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_14 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_15 : STD_LOGIC_VECTOR := c_i2c_cmdr_expected_mask_end;
CONSTANT k_expected_mask_arr : t_slv_32_arr(0 TO c_i2c_cmdr_max_nof_protocols-1) := (k_expected_mask_0,
k_expected_mask_1,
k_expected_mask_2,
k_expected_mask_3,
k_expected_mask_4,
k_expected_mask_5,
k_expected_mask_6,
k_expected_mask_7,
k_expected_mask_8,
k_expected_mask_9,
k_expected_mask_10,
k_expected_mask_11,
k_expected_mask_12,
k_expected_mask_13,
k_expected_mask_14,
k_expected_mask_15);
-- Define the corresponding expected nof read data -- Define the corresponding expected nof read data
CONSTANT k_nof_result_data_0 : NATURAL := c_i2c_unb2_sens_max1617_nof_result_data_read_config; CONSTANT k_nof_result_data_0 : NATURAL := c_i2c_unb2_sens_max1617_nof_result_data_read_config;
...@@ -77,12 +102,37 @@ PACKAGE i2c_commander_unb2_sens_pkg IS ...@@ -77,12 +102,37 @@ PACKAGE i2c_commander_unb2_sens_pkg IS
CONSTANT k_protocol_ofs_1 : NATURAL := k_protocol_list_0'LENGTH + k_protocol_ofs_0; CONSTANT k_protocol_ofs_1 : NATURAL := k_protocol_list_0'LENGTH + k_protocol_ofs_0;
CONSTANT k_protocol_ofs_2 : NATURAL := k_protocol_list_1'LENGTH + k_protocol_ofs_1; CONSTANT k_protocol_ofs_2 : NATURAL := k_protocol_list_1'LENGTH + k_protocol_ofs_1;
CONSTANT k_protocol_ofs_3 : NATURAL := k_protocol_list_2'LENGTH + k_protocol_ofs_2; CONSTANT k_protocol_ofs_3 : NATURAL := k_protocol_list_2'LENGTH + k_protocol_ofs_2;
CONSTANT k_protocol_ofs_4 : NATURAL := 0 + k_protocol_ofs_3;
CONSTANT k_protocol_ofs_arr : t_natural_arr(0 TO c_i2c_unb2_nof_protocol_lists-1) := (k_protocol_ofs_0, CONSTANT k_protocol_ofs_5 : NATURAL := 0 + k_protocol_ofs_4;
CONSTANT k_protocol_ofs_6 : NATURAL := 0 + k_protocol_ofs_5;
CONSTANT k_protocol_ofs_7 : NATURAL := 0 + k_protocol_ofs_6;
CONSTANT k_protocol_ofs_8 : NATURAL := 0 + k_protocol_ofs_7;
CONSTANT k_protocol_ofs_9 : NATURAL := 0 + k_protocol_ofs_8;
CONSTANT k_protocol_ofs_10 : NATURAL := 0 + k_protocol_ofs_9;
CONSTANT k_protocol_ofs_11 : NATURAL := 0 + k_protocol_ofs_10;
CONSTANT k_protocol_ofs_12 : NATURAL := 0 + k_protocol_ofs_11;
CONSTANT k_protocol_ofs_13 : NATURAL := 0 + k_protocol_ofs_12;
CONSTANT k_protocol_ofs_14 : NATURAL := 0 + k_protocol_ofs_13;
CONSTANT k_protocol_ofs_15 : NATURAL := 0 + k_protocol_ofs_14;
CONSTANT k_protocol_ofs_arr : t_natural_arr(0 TO c_i2c_cmdr_max_nof_protocols-1) := (k_protocol_ofs_0,
k_protocol_ofs_1, k_protocol_ofs_1,
k_protocol_ofs_2, k_protocol_ofs_2,
k_protocol_ofs_3); k_protocol_ofs_3,
k_protocol_ofs_4,
k_protocol_ofs_5,
k_protocol_ofs_6,
k_protocol_ofs_7,
k_protocol_ofs_8,
k_protocol_ofs_9,
k_protocol_ofs_10,
k_protocol_ofs_11,
k_protocol_ofs_12,
k_protocol_ofs_13,
k_protocol_ofs_14,
k_protocol_ofs_15);
-- RAM sizes -- RAM sizes
CONSTANT k_protocol_ram_nof_dat : NATURAL := ceil_div(k_protocol_ram_init'LENGTH, c_i2c_cmdr_mem_block_sz) * c_i2c_cmdr_mem_block_sz; CONSTANT k_protocol_ram_nof_dat : NATURAL := ceil_div(k_protocol_ram_init'LENGTH, c_i2c_cmdr_mem_block_sz) * c_i2c_cmdr_mem_block_sz;
CONSTANT k_protocol_ram_adr_w : NATURAL := ceil_log2(k_protocol_ram_nof_dat); CONSTANT k_protocol_ram_adr_w : NATURAL := ceil_log2(k_protocol_ram_nof_dat);
...@@ -90,8 +140,8 @@ PACKAGE i2c_commander_unb2_sens_pkg IS ...@@ -90,8 +140,8 @@ PACKAGE i2c_commander_unb2_sens_pkg IS
CONSTANT k_result_nof_dat : NATURAL := 2**k_result_adr_w; CONSTANT k_result_nof_dat : NATURAL := 2**k_result_adr_w;
-- Commander settings -- Commander settings
CONSTANT k_nof_protocols : NATURAL := 2; -- Must be >= actually used nof protocol lists in k_protocol_ram_init and <= c_i2c_cmdr_max_nof_protocols=16 protocols. CONSTANT k_nof_protocols : NATURAL := 3; -- Must be >= actually used nof protocol lists in k_protocol_ram_init and <= c_i2c_cmdr_max_nof_protocols=16 protocols.
CONSTANT k_nof_result_data_max : NATURAL := 4; -- Must be >= the maximum nof read bytes in any protocol list in k_protocol_ram_init CONSTANT k_nof_result_data_max : NATURAL := 32; -- Must be >= the maximum nof read bytes in any protocol list in k_protocol_ram_init
CONSTANT k_result_cnt_w : NATURAL := k_result_adr_w; CONSTANT k_result_cnt_w : NATURAL := k_result_adr_w;
...@@ -99,16 +149,16 @@ PACKAGE i2c_commander_unb2_sens_pkg IS ...@@ -99,16 +149,16 @@ PACKAGE i2c_commander_unb2_sens_pkg IS
-- Global constants (with prefix 'c_i2c_cmdr_unbh_') -- Global constants (with prefix 'c_i2c_cmdr_unbh_')
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
CONSTANT c_i2c_cmdr_unbh_protocol_ram_init : t_nat_natural_arr := k_protocol_ram_init; CONSTANT c_i2c_cmdr_unb2_sens_protocol_ram_init : t_nat_natural_arr := k_protocol_ram_init;
CONSTANT c_i2c_cmdr_unbh_nof_result_data_arr : t_nat_natural_arr := k_nof_result_data_arr; CONSTANT c_i2c_cmdr_unb2_sens_nof_result_data_arr : t_nat_natural_arr := k_nof_result_data_arr;
CONSTANT c_i2c_cmdr_unbh_i2c_mm : t_c_i2c_mm := (c_i2c_control_adr_w, CONSTANT c_i2c_cmdr_unb2_sens_i2c_mm : t_c_i2c_mm := (c_i2c_control_adr_w,
k_protocol_ram_adr_w, k_protocol_ram_adr_w,
k_protocol_ram_nof_dat, k_protocol_ram_nof_dat,
k_result_adr_w, k_result_adr_w,
k_result_nof_dat); k_result_nof_dat);
CONSTANT c_i2c_cmdr_unbh_protocol_commander : t_c_i2c_cmdr_commander := (k_nof_protocols, CONSTANT c_i2c_cmdr_unb2_sens_protocol_commander : t_c_i2c_cmdr_commander := (k_nof_protocols,
k_protocol_ofs_arr, k_protocol_ofs_arr,
k_expected_mask_arr, k_expected_mask_arr,
k_result_cnt_w, k_result_cnt_w,
......
...@@ -34,37 +34,37 @@ PACKAGE i2c_dev_unb2_pkg IS ...@@ -34,37 +34,37 @@ PACKAGE i2c_dev_unb2_pkg IS
-- I2C slave addresses of the devices on the I2C sens bus on UniBoard2 -- I2C slave addresses of the devices on the I2C sens bus on UniBoard2
CONSTANT I2C_UNB2_SENS_TEMP_MAX1617_ADR : NATURAL := MAX1617_ADR_MID_LOW; -- temperature sensor, slave address is 0x29 CONSTANT I2C_UNB2_SENS_TEMP_MAX1617_ADR : NATURAL := MAX1617_ADR_MID_LOW; -- temperature sensor, slave address is 0x29
CONSTANT I2C_UNB2_SENS_DCDC_BMR456_ADR : NATURAL := X"2C"; -- dc/dc converter, slave address is 0x2c CONSTANT I2C_UNB2_SENS_DCDC_BMR456_ADR : NATURAL := 16#2C#; -- dc/dc converter, slave address is 0x2c
CONSTANT I2C_UNB2_SENS_PIM_PIM4328PD_ADR : NATURAL := X"2b"; -- power input module, slave address is 0x2b CONSTANT I2C_UNB2_SENS_PIM_PIM4328PD_ADR : NATURAL := 16#2b#; -- power input module, slave address is 0x2b
CONSTANT I2C_UNB2_SENS_1V2_BMR461_ADR : NATURAL := X"0f"; -- 1.2V power supply, slave address is 0x0f CONSTANT I2C_UNB2_SENS_1V2_BMR461_ADR : NATURAL := 16#0f#; -- 1.2V power supply, slave address is 0x0f
CONSTANT I2C_UNB2_SENS_3V3_BMR461_ADR : NATURAL := X"0e"; -- 3.3V power supply, slave address is 0x0e CONSTANT I2C_UNB2_SENS_3V3_BMR461_ADR : NATURAL := 16#0e#; -- 3.3V power supply, slave address is 0x0e
CONSTANT I2C_UNB2_SENS_CLK_BMR461_ADR : NATURAL := X"0d"; -- clock power supply, slave address is 0x0d CONSTANT I2C_UNB2_SENS_CLK_BMR461_ADR : NATURAL := 16#0d#; -- clock power supply, slave address is 0x0d
CONSTANT I2C_UNB2_SENS_QSFP0_BMR464_ADR : NATURAL := X"02"; -- qsfp0 power supply, slave address is 0x02 CONSTANT I2C_UNB2_SENS_QSFP0_BMR464_ADR : NATURAL := 16#02#; -- qsfp0 power supply, slave address is 0x02
CONSTANT I2C_UNB2_SENS_QSFP1_BMR464_ADR : NATURAL := X"01"; -- qsfp1 power supply, slave address is 0x01 CONSTANT I2C_UNB2_SENS_QSFP1_BMR464_ADR : NATURAL := 16#01#; -- qsfp1 power supply, slave address is 0x01
CONSTANT I2C_UNB2_SENS_EEPROM_CAT24C02_ADR : NATURAL := X"a0"; -- eeprom , slave address is 0xa0 CONSTANT I2C_UNB2_SENS_EEPROM_CAT24C02_ADR : NATURAL := 16#a0#; -- eeprom , slave address is 0xa0
CONSTANT I2C_UNB2_SENS_TEMP_TMP451_ADR : NATURAL := X"ac"; -- temperature sensor, slave address is 0x4c CONSTANT I2C_UNB2_SENS_TEMP_TMP451_ADR : NATURAL := 16#ac#; -- temperature sensor, slave address is 0x4c
-- I2C slave addresses of the devices on the I2C pm bus on UniBoard2 -- I2C slave addresses of the devices on the I2C pm bus on UniBoard2
CONSTANT I2C_UNB2_PMB_CORE_BMR464_ADR : NATURAL := X"01"; -- core supply, slave address is 0x01 CONSTANT I2C_UNB2_PMB_CORE_BMR464_ADR : NATURAL := 16#01#; -- core supply, slave address is 0x01
CONSTANT I2C_UNB2_PMB_VCCRAM_BMR461_ADR : NATURAL := X"0d"; -- vcc ram supply, slave address is 0x0d CONSTANT I2C_UNB2_PMB_VCCRAM_BMR461_ADR : NATURAL := 16#0d#; -- vcc ram supply, slave address is 0x0d
CONSTANT I2C_UNB2_PMB_TCVR0_BMR461_ADR : NATURAL := X"0e"; -- transceiver0 supply, slave address is 0x0e CONSTANT I2C_UNB2_PMB_TCVR0_BMR461_ADR : NATURAL := 16#0e#; -- transceiver0 supply, slave address is 0x0e
CONSTANT I2C_UNB2_PMB_TCVR1_BMR461_ADR : NATURAL := X"0f"; -- transceiver1 supply, slave address is 0x0f CONSTANT I2C_UNB2_PMB_TCVR1_BMR461_ADR : NATURAL := 16#0f#; -- transceiver1 supply, slave address is 0x0f
CONSTANT I2C_UNB2_PMB_CTRL_BMR461_ADR : NATURAL := X"10"; -- control supply, slave address is 0x10 CONSTANT I2C_UNB2_PMB_CTRL_BMR461_ADR : NATURAL := 16#10#; -- control supply, slave address is 0x10
CONSTANT I2C_UNB2_PMB_FPGAIO_BMR461_ADR : NATURAL := X"11"; -- fpga io supply, slave address is 0x11 CONSTANT I2C_UNB2_PMB_FPGAIO_BMR461_ADR : NATURAL := 16#11#; -- fpga io supply, slave address is 0x11
-- I2C slave addresses of the devices on the I2C ddr4 memory bus on UniBoard2 -- I2C slave addresses of the devices on the I2C ddr4 memory bus on UniBoard2
CONSTANT I2C_UNB2_MB_I_DDR4_ADR : NATURAL := X"18"; -- ddr4 module I, slave address is 0x18 CONSTANT I2C_UNB2_MB_I_DDR4_ADR : NATURAL := 16#18#; -- ddr4 module I, slave address is 0x18
CONSTANT I2C_UNB2_MB_II_DDR4_ADR : NATURAL := X"19"; -- ddr4 module II, slave address is 0x19 CONSTANT I2C_UNB2_MB_II_DDR4_ADR : NATURAL := 16#19#; -- ddr4 module II, slave address is 0x19
CONSTANT c_i2c_unb_temp_high : NATURAL := 85; CONSTANT c_i2c_unb_temp_high : NATURAL := 85;
-- commands -- commands
-- these can later go into device specific packages -- these can later go into device specific packages
CONSTANT PMBUS_REG_READ_VIN : NATURAL := X"88"; -- common to all PMB devices CONSTANT PMBUS_REG_READ_VIN : NATURAL := 16#88#; -- common to all PMB devices
CONSTANT PMBUS_REG_READ_VCAP : NATURAL := X"8a"; -- used in the PIM4328PD CONSTANT PMBUS_REG_READ_VCAP : NATURAL := 16#8a#; -- used in the PIM4328PD
CONSTANT PMBUS_REG_READ_VOUT : NATURAL := X"8b"; -- common to all PMB devices CONSTANT PMBUS_REG_READ_VOUT : NATURAL := 16#8b#; -- common to all PMB devices
CONSTANT PMBUS_REG_READ_IOUT : NATURAL := X"8c"; -- common to all PMB devices CONSTANT PMBUS_REG_READ_IOUT : NATURAL := 16#8c#; -- common to all PMB devices
CONSTANT PMBUS_REG_READ_TEmP : NATURAL := X"8d"; -- common to all PMB devices CONSTANT PMBUS_REG_READ_TEmP : NATURAL := 16#8d#; -- common to all PMB devices
CONSTANT c_i2c_unb2_nof_protocol_lists : NATURAL := 4; -- for now we allow four protocol lists for each i2c interface CONSTANT c_i2c_unb2_nof_protocol_lists : NATURAL := 4; -- for now we allow four protocol lists for each i2c interface
...@@ -136,13 +136,13 @@ PACKAGE i2c_dev_unb2_pkg IS ...@@ -136,13 +136,13 @@ PACKAGE i2c_dev_unb2_pkg IS
SMBUS_READ_BYTE , I2C_UNB2_PMB_TCVR0_BMR461_ADR, PMBUS_REG_READ_TEMP, SMBUS_READ_BYTE , I2C_UNB2_PMB_TCVR0_BMR461_ADR, PMBUS_REG_READ_TEMP,
SMBUS_READ_BYTE , I2C_UNB2_PMB_TCVR1_BMR461_ADR, PMBUS_REG_READ_VOUT, SMBUS_READ_BYTE , I2C_UNB2_PMB_TCVR1_BMR461_ADR, PMBUS_REG_READ_VOUT,
SMBUS_READ_BYTE , I2C_UNB2_PMB_TCVR1_BMR461_ADR, PMBUS_REG_READ_IOUT, SMBUS_READ_BYTE , I2C_UNB2_PMB_TCVR1_BMR461_ADR, PMBUS_REG_READ_IOUT,
SMBUS_READ_BYTE , I2C_UNB2_PMB_TCVR1_BMR461_ADR, PMBUS1_REG_READ_TEMP, SMBUS_READ_BYTE , I2C_UNB2_PMB_TCVR1_BMR461_ADR, PMBUS_REG_READ_TEMP,
SMBUS_READ_BYTE , I2C_UNB2_PMB_CTRL_BMR461_ADR, PMBUS_REG_READ_VOUT, SMBUS_READ_BYTE , I2C_UNB2_PMB_CTRL_BMR461_ADR, PMBUS_REG_READ_VOUT,
SMBUS_READ_BYTE , I2C_UNB2_PMB_CTRL_BMR461_ADR, PMBUS_REG_READ_IOUT, SMBUS_READ_BYTE , I2C_UNB2_PMB_CTRL_BMR461_ADR, PMBUS_REG_READ_IOUT,
SMBUS_READ_BYTE , I2C_UNB2_PMB_CTRL_BMR461_ADR, PMBUS_REG_READ_TEMP, SMBUS_READ_BYTE , I2C_UNB2_PMB_CTRL_BMR461_ADR, PMBUS_REG_READ_TEMP,
SMBUS_READ_BYTE , I2C_UNB2_PMB_FPGIO_BMR461_ADR, PMBUS_REG_READ_VOUT, SMBUS_READ_BYTE , I2C_UNB2_PMB_FPGAIO_BMR461_ADR, PMBUS_REG_READ_VOUT,
SMBUS_READ_BYTE , I2C_UNB2_PMB_FPGIO_BMR461_ADR, PMBUS_REG_READ_IOUT, SMBUS_READ_BYTE , I2C_UNB2_PMB_FPGAIO_BMR461_ADR, PMBUS_REG_READ_IOUT,
SMBUS_READ_BYTE , I2C_UNB2_PMB_FPGIO_BMR461_ADR, PMBUS_REG_READ_TEMP, SMBUS_READ_BYTE , I2C_UNB2_PMB_FPGAIO_BMR461_ADR, PMBUS_REG_READ_TEMP,
SMBUS_C_END SMBUS_C_END
); );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment