diff --git a/hdl/evr320_decoder.vhd b/hdl/evr320_decoder.vhd index 3f5ff15..2008496 100644 --- a/hdl/evr320_decoder.vhd +++ b/hdl/evr320_decoder.vhd @@ -180,6 +180,7 @@ architecture behavioral of evr320_decoder is signal mem_data_wren : std_logic := '0'; signal mem_data_wr_addr : std_logic_vector(10 downto 0) := (others => '0'); signal mem_data_wr_byte : std_logic_vector( 7 downto 0) := (others => '0'); + signal mem_data : std_logic_vector(11+8-1 downto 0); -- Data memory read signal mem_data_dpram : std_logic_vector(MEM_DATA_WIDTH - 1 downto 0) := (others => '0'); signal mem_data_event0 : std_logic_vector(MEM_DATA_WIDTH - 1 downto 0) := (others => '0'); @@ -709,6 +710,9 @@ begin mem_data_wr_addr <= frame_data_rd_addr; mem_data_wr_byte <= frame_data_rd_byte; + -- concatenate - this avoids an internal error in ghdl v0.37! + mem_data <= mem_data_wr_addr & mem_data_wr_byte; + ----------------------------------------------------------------------------- -- Address delay for read data mux ----------------------------------------------------------------------------- @@ -870,7 +874,7 @@ begin OutRst => '0', -- Input Data - InData => mem_data_wr_addr & mem_data_wr_byte, + InData => mem_data, InVld => mem_data_wren, InRdy => open, diff --git a/hdl/evr320_tmem.vhd b/hdl/evr320_tmem.vhd index d79f579..988acfe 100644 --- a/hdl/evr320_tmem.vhd +++ b/hdl/evr320_tmem.vhd @@ -110,8 +110,8 @@ architecture rtl of evr320_tmem is signal lat_arm_edge : std_logic_vector(1 downto 0) := (others=>'0'); -- event pulse config - signal evr_puls_width_cfg_s : typ_arr_width :=((others => UsrEventWidthDefault_c)); - signal evr_puls_delay_cfg_s : typ_arr_delay :=((others => (others => '0'))); + signal evr_puls_width_cfg_s : typ_arr_width :=(others => UsrEventWidthDefault_c); + signal evr_puls_delay_cfg_s : typ_arr_delay :=(others => (others => '0')); -- ---------------------------------------------------------------------------- -- ---------------------------------------------------------------------------- diff --git a/tb/evr320_decoder_tb.vhd b/tb/evr320_decoder_tb.vhd index 5e4dc90..8156729 100644 --- a/tb/evr320_decoder_tb.vhd +++ b/tb/evr320_decoder_tb.vhd @@ -431,7 +431,6 @@ begin event_recorder_ctrl.event_number <= std_logic_vector(to_unsigned(g_EVENT_NR_SOS, 8)); evr_params.cs_min_cnt <= X"00000000"; evr_params.cs_min_time <= X"00000000"; - evr_params.cs_timeout_cnt <= X"00000000"; mem_addr <= x"000"; await_value(rxlos, '0', 0 ns, 10 us, FAILURE, "wait for release RX LOS"); --wait until (rxlos = '0');