variable k : integer range 0 to 2**c_MUX_WIDTH-1 := 0;
begin
-- j := get_bit_position(current_INT_READ_OUT);
--- current_mux_buffer(c_DATA_WIDTH-1 downto 0) <= INT_DATA_IN(c_DATA_WIDTH*(j+1)-1 downto c_DATA_WIDTH*j);
--- current_mux_buffer(c_DATA_WIDTH+c_NUM_WIDTH-1 downto c_DATA_WIDTH) <= INT_PACKET_NUM_IN(c_NUM_WIDTH*(j+1)-1 downto c_NUM_WIDTH*j);
--- if INT_PACKET_NUM_IN(c_NUM_WIDTH*(j+1)-1 downto c_NUM_WIDTH*j) = "00" then
--- current_mux_buffer(3+c_MUX_WIDTH-1 downto 3) <= conv_std_logic_vector(j, c_MUX_WIDTH);
+-- var_mux_buffer(c_DATA_WIDTH-1 downto 0) := INT_DATA_IN(c_DATA_WIDTH*(j+1)-1 downto c_DATA_WIDTH*j);
+-- var_mux_buffer(c_DATA_WIDTH+c_NUM_WIDTH-1 downto c_DATA_WIDTH) := INT_PACKET_NUM_IN(c_NUM_WIDTH*(j+1)-1 downto c_NUM_WIDTH*j);
+-- if var_mux_buffer(c_DATA_WIDTH+c_NUM_WIDTH-1 downto c_DATA_WIDTH) = "00" then
+-- var_mux_buffer(3+c_MUX_WIDTH-1 downto 3) := conv_std_logic_vector(j, c_MUX_WIDTH);
-- end if;
k := 0;
var_mux_buffer := (others => '0');
);
fifo_wr_en_a <= ((reg_RX_DV and not reg_RX_ER) ) and rx_allow;
- fifo_din_a <= fifo_almost_empty_a & (reg_RX_DV and not reg_RX_ER) & reg_RXD;
fifo_rd_en_a <= rx_allow;
- buf_MED_DATAREADY_OUT <= fifo_valid_read_a and fifo_dout_a(16) and not fifo_underflow_a;
-- fifo_wr_en_a <= ((reg_RX_DV and not reg_RX_ER) or fifo_almost_empty_a) and rx_allow;
--- fifo_din_a <= fifo_almost_empty_a & (reg_RX_DV and not reg_RX_ER) & reg_RXD;
-- fifo_rd_en_a <= not fifo_almost_empty_a and rx_allow;
--- buf_MED_DATAREADY_OUT <= fifo_valid_read_a and fifo_dout_a(16) and not fifo_underflow_a and rx_allow;
---
+
+ buf_MED_DATAREADY_OUT <= fifo_valid_read_a and fifo_dout_a(16) and not fifo_underflow_a and rx_allow;
MED_ERROR_OUT <= buf_MED_ERROR_OUT;
fifo_reset <= internal_reset;
+ fifo_din_a <= fifo_almost_empty_a & (reg_RX_DV and not reg_RX_ER) & reg_RXD;
process(CLK)
begin
STAT(56 downto 55) <= fifo_din_a(17 downto 16);
STAT(57) <= fifo_underflow_a;
STAT(58) <= fifo_underflow_m;
+ STAT(59) <= TLK_CLK_neg;
--STAT(63 downto 57) <= (others => '0');
variable tmp : integer := 0;
begin
tmp := 0;
- for i in arg'range loop
+ for i in arg'range loop
if arg(i) = '1' then
- tmp := i;
+ return i;
end if;
--exit when arg(i) = '1';
end loop; -- i
- return tmp;
+ return 0;
end get_bit_position;