From: hadeshyp Date: Thu, 11 Dec 2008 19:08:42 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: oldGBE~506 X-Git-Url: https://jspc29.x-matter.uni-frankfurt.de/git/?a=commitdiff_plain;h=c9f1933c2afe052236674c85383dd85c1a95d415;p=trbnet.git *** empty log message *** --- diff --git a/testbench/trb_net16_dummy_apl.vhd b/testbench/trb_net16_dummy_apl.vhd index 1a9cead..1fc6ff4 100644 --- a/testbench/trb_net16_dummy_apl.vhd +++ b/testbench/trb_net16_dummy_apl.vhd @@ -65,7 +65,7 @@ begin -- address <= x"0008"; -- reghigh <= x"DEAD"; -- reglow <= x"AFFE"; - reg_F0 <= x"5EAD"; --x"0001"; + reg_F0 <= x"5E1D"; --x"0001"; reg_F1 <= x"0001"; reg_F2 <= x"F00E";--xor_all(APL_DATA_IN) & "000000000000011"; diff --git a/trb_net16_addresses.vhd b/trb_net16_addresses.vhd index 675d0b7..a673f70 100644 --- a/trb_net16_addresses.vhd +++ b/trb_net16_addresses.vhd @@ -212,11 +212,11 @@ begin ram_read_addr2 <= "0100"; next_state <= c_F0; when send_uid_2 => - ram_read_addr2 <= "1111"; + ram_read_addr2 <= "0000"; buf_API_SEND_OUT <= '0'; next_state <= c_H0; when send_ack_address => - ram_read_addr2 <= "1111"; + ram_read_addr2 <= "0000"; buf_API_SEND_OUT <= '0'; next_state <= c_H0; when sending_idle => null; diff --git a/trb_net16_obuf_nodata.vhd b/trb_net16_obuf_nodata.vhd index 5f7b4bb..6897d61 100644 --- a/trb_net16_obuf_nodata.vhd +++ b/trb_net16_obuf_nodata.vhd @@ -56,6 +56,7 @@ begin buf_MED_DATAREADY_OUT <= '0'; reg_SEND_ACK_IN_2 <= '0'; reg_SEND_ACK_IN <= '0'; + buf_MED_PACKET_NUM_OUT <= c_H0; transfer_counter := c_H0; elsif CLK_EN = '1' then reg_SEND_ACK_IN_2 <= (reg_SEND_ACK_IN_2 or SEND_ACK_IN) and reg_SEND_ACK_IN; @@ -77,19 +78,24 @@ begin end if; buf_MED_DATAREADY_OUT <= '0'; - reg_SEND_ACK_IN <= SEND_ACK_IN or reg_SEND_ACK_IN or reg_SEND_ACK_IN_2; if (SEND_ACK_IN or reg_SEND_ACK_IN or reg_SEND_ACK_IN_2) = '1' then buf_MED_DATAREADY_OUT <= '1'; end if; - if transfer_counter = c_F3 and MED_READ_IN = '1' then - reg_SEND_ACK_IN <= '0'; - end if; - if transfer_counter = c_F3 and reg_SEND_ACK_IN = '0' then +-- if transfer_counter = c_F3 and MED_READ_IN = '1' then +-- reg_SEND_ACK_IN <= '0'; +-- end if; + if buf_MED_PACKET_NUM_OUT = c_F3 and MED_READ_IN = '1' then transfer_counter := c_H0; + buf_MED_DATA_OUT(2 downto 0) <= TYPE_ACK; end if; buf_MED_PACKET_NUM_OUT <= transfer_counter; + reg_SEND_ACK_IN <= reg_SEND_ACK_IN or SEND_ACK_IN or reg_SEND_ACK_IN_2; + if transfer_counter = c_F3 and SEND_ACK_IN = '0' and reg_SEND_ACK_IN_2 = '0' then + reg_SEND_ACK_IN <= '0'; + end if; + end if; end if; end process; diff --git a/trb_net_std.vhd b/trb_net_std.vhd index 82e14b2..854a9ea 100644 --- a/trb_net_std.vhd +++ b/trb_net_std.vhd @@ -56,7 +56,7 @@ package trb_net_std is constant std_IBUF_SECURE_MODE : integer := c_SECURE_MODE; constant std_USE_ACKNOWLEDGE : integer := c_YES; constant std_USE_REPLY_CHANNEL: integer := c_YES; - constant std_FIFO_DEPTH : integer := c_FIFO_SMALL; + constant std_FIFO_DEPTH : integer := c_FIFO_BRAM; constant std_DATA_COUNT_WIDTH : integer := 5; --max 7 constant std_TERM_SECURE_MODE : integer := c_NO; constant std_MUX_SECURE_MODE : integer := c_NO;