]> jspc29.x-matter.uni-frankfurt.de Git - trbnet.git/commitdiff
*** empty log message ***
authorhadeshyp <hadeshyp>
Mon, 18 Feb 2008 16:16:50 +0000 (16:16 +0000)
committerhadeshyp <hadeshyp>
Mon, 18 Feb 2008 16:16:50 +0000 (16:16 +0000)
trb_net16_io_multiplexer.vhd
trb_net16_med_tlk.vhd
trb_net_std.vhd

index 27ea0d8742abfc8230af2eb4738fd60e95554ba1..0afaa82beac1726c62959d873c0c5d89985fc32a 100644 (file)
@@ -364,10 +364,10 @@ ARBITER: trb_net_priority_arbiter
     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');
index 857eb660c5e833c1c5eec77974ef413e38d14053..743e9942c8d8ed9d9f7d31b87e85054f3ba8bd65 100644 (file)
@@ -148,19 +148,17 @@ begin
       );
 
   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
@@ -205,6 +203,7 @@ 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');
   
 
index c3ac25092013cc5dcdbe759d0dec2b900ce3d2d0..605c68e4078d24ac9873fbafd6cbcd9b92568430 100644 (file)
@@ -157,13 +157,13 @@ package body trb_net_std is
     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;