APL_READ_IN => APL_READ_OUT(0),
APL_SHORT_TRANSFER_OUT => APL_SHORT_TRANSFER_IN(0),
APL_DTYPE_OUT => APL_DTYPE_IN(3 downto 0),
- APL_SEND_OUT => APL_SEND_IN(0),
+ APL_SEND_OUT => open,--APL_SEND_IN(0),
APL_DATA_IN => APL_DATA_OUT(15 downto 0),
APL_PACKET_NUM_IN => APL_PACKET_NUM_OUT(2 downto 0),
APL_TYP_IN => APL_TYP_OUT(2 downto 0),
signal sending_state : sending_state_t;
signal sending_state_bits : std_logic_vector(1 downto 0);
signal buf_ADDRESS_OUT : std_logic_vector(15 downto 0);
+signal delayed_buf_API_SEND_OUT : std_logic;
begin
if RESET = '1' then
state <= c_H0;
last_ram_read_addr2 <= "0000";
+ delayed_buf_API_SEND_OUT <= '0';
elsif CLK_EN = '1' then
state <= next_state;
last_ram_read_addr2 <= ram_read_addr2;
+ delayed_buf_API_SEND_OUT <= buf_API_SEND_OUT;
end if;
end if;
end process;
);
API_READ_OUT <= buf_API_READ_OUT;
-API_SEND_OUT <= buf_API_SEND_OUT;
+API_SEND_OUT <= delayed_buf_API_SEND_OUT;
API_PACKET_NUM_OUT <= buf_API_PACKET_NUM_OUT;
ADDRESS_OUT <= buf_ADDRESS_OUT;
THE_BYTE_SWAP_PROC: process( ff_rxhalfclk )
begin
if( rising_edge(ff_rxhalfclk) ) then
- last_rx <= rx_k(1) & rx_d(15 downto 8);
+ last_rx <= rx_k(1) & rx_data(15 downto 8);
if( swap_bytes = '0' ) then
fifo_rx_din <= rx_k(1) & rx_k(0) & rx_data(15 downto 8) & rx_data(7 downto 0);
fifo_rx_wr_en <= not rx_k(0) and rx_allow and link_ok(0);
STAT_DEBUG => buf_STAT_ADDR_DEBUG
);
- STAT_ADDR_DEBUG(11 downto 0) <= buf_STAT_ADDR_DEBUG(11 downto 0);
- STAT_ADDR_DEBUG(12) <= buf_API_DATAREADY_OUT;
+ STAT_ADDR_DEBUG(2 downto 0) <= state_bits(2 downto 0);
+ STAT_ADDR_DEBUG(3) <= ADR_DONT_UNDERSTAND;
+ STAT_ADDR_DEBUG(4) <= API_DATAREADY_IN;
+ STAT_ADDR_DEBUG(5) <= buf_API_SHORT_TRANSFER_OUT;
+ STAT_ADDR_DEBUG(6) <= combined_API_SEND_OUT;
+ STAT_ADDR_DEBUG(11 downto 7) <= buf_STAT_ADDR_DEBUG(11 downto 7);
+ STAT_ADDR_DEBUG(12) <= combined_API_DATAREADY_OUT;
STAT_ADDR_DEBUG(13) <= ADR_REJECTED;
STAT_ADDR_DEBUG(14) <= ADR_SEND_OUT;
STAT_ADDR_DEBUG(15) <= ADR_DATAREADY_OUT;
end if;
when ADDRESS_ACK =>
- ADR_READ_IN <= API_READ_IN;
ADR_DATAREADY_IN <= API_DATAREADY_IN;
+ ADR_READ_IN <= API_READ_IN;
if ADR_SEND_OUT = '0' then
next_state <= SEND_REPLY_DATA_finish;
end if;