signal buf_BUS_WRITE_ACK_IN : std_logic_vector(PORT_NUMBER downto 0);
signal buf_BUS_NO_MORE_DATA_IN : std_logic_vector(PORT_NUMBER downto 0);
signal buf_BUS_UNKNOWN_ADDR_IN : std_logic_vector(PORT_NUMBER downto 0);
-
+
attribute syn_preserve : boolean;
attribute syn_keep : boolean;
attribute syn_preserve of buf_BUS_ADDR_OUT : signal is true;
proc_rw_signals : process(CLK)
begin
if rising_edge(CLK) then
- if RESET = '1' then
- buf_BUS_READ_OUT <= (others => '0');
- buf_BUS_WRITE_OUT <= (others => '0');
- port_select_int <= PORT_NUMBER;
- else
+-- if RESET = '1' then
+-- buf_BUS_READ_OUT <= (others => '0');
+-- buf_BUS_WRITE_OUT <= (others => '0');
+-- port_select_int <= PORT_NUMBER;
+-- else
buf_BUS_READ_OUT <= (others => '0');
buf_BUS_WRITE_OUT <= (others => '0');
if REGIO_RX.write = '1' or REGIO_RX.read = '1' then
if REGIO_RX.write = '1' then
buf_BUS_WRITE_OUT(next_port_select_int) <= '1';
end if;
+ if (buf_BUS_DATAREADY_IN(port_select_int) or
+ buf_BUS_WRITE_ACK_IN(port_select_int) or
+ buf_BUS_UNKNOWN_ADDR_IN(port_select_int) or
+ buf_BUS_NO_MORE_DATA_IN(port_select_int)) = '1' then
+ port_select_int <= PORT_NUMBER;
+ end if;
end if;
- end if;
+-- end if;
end process;
---------------------------------------------------------------------