]> jspc29.x-matter.uni-frankfurt.de Git - trbnet.git/commitdiff
updated trb_net_med_13bit_slow, Jan
authorhadeshyp <hadeshyp>
Fri, 2 Mar 2007 14:15:27 +0000 (14:15 +0000)
committerhadeshyp <hadeshyp>
Fri, 2 Mar 2007 14:15:27 +0000 (14:15 +0000)
trb_net_med_13bit_slow.vhd

index bab65a7b4dc5f21914d63db2aa54464b0accbd32..aa9e22cbd453c0062a6ec927c52b744ffd48185e 100755 (executable)
@@ -58,6 +58,9 @@ generic(
               --STAT(0): Busy reading from media
               --STAT(1): Busy writing to media
               --STAT(31 downto 24): Datain(63 downto 56
+              --STAT(11 downto 8): INT2MED state
+              --STAT(15 downto 12): MED2INT state
+              
     CTRL: in  STD_LOGIC_VECTOR (31 downto 0)   
               --CTRL(24..31) -> lvds-data(63 downto 56) via lvds 
                      --once for each packet
@@ -446,6 +449,8 @@ MED2INT_fsm: process(MED_PARITY_IN,MED2INT_state,CLK,MED_DATA_IN,DAT_MED2INT,
           if MED_TRANSMISSION_CLK_IN = '1' and MED_CARRIER_IN = '1' then
             next_MED2INT_state <= "1010";
             next_DAT_MED2INT(25 downto 13) <= MED_DATA_IN(12 downto 0);
+           else
+            next_MED2INT_state <= "0001";
           end if;
       when "1010" =>
           if MED_TRANSMISSION_CLK_IN = '0' then
@@ -457,6 +462,8 @@ MED2INT_fsm: process(MED_PARITY_IN,MED2INT_state,CLK,MED_DATA_IN,DAT_MED2INT,
           if MED_TRANSMISSION_CLK_IN = '1' and MED_CARRIER_IN = '1' then
             next_MED2INT_state <= "1011";
             next_DAT_MED2INT(38 downto 26) <= MED_DATA_IN(12 downto 0);
+           else
+            next_MED2INT_state <= "0010";
           end if;
       when "1011" =>
           if MED_TRANSMISSION_CLK_IN = '0' then
@@ -468,6 +475,8 @@ MED2INT_fsm: process(MED_PARITY_IN,MED2INT_state,CLK,MED_DATA_IN,DAT_MED2INT,
           if MED_TRANSMISSION_CLK_IN = '1' and MED_CARRIER_IN = '1' then
             next_MED2INT_state <= "1100";
             next_DAT_MED2INT(51 downto 39) <= MED_DATA_IN(12 downto 0);
+           else
+            next_MED2INT_state <= "0011";
           end if;
       when "1100" =>
           if MED_TRANSMISSION_CLK_IN = '0' then
@@ -479,6 +488,8 @@ MED2INT_fsm: process(MED_PARITY_IN,MED2INT_state,CLK,MED_DATA_IN,DAT_MED2INT,
           if MED_TRANSMISSION_CLK_IN = '1' and MED_CARRIER_IN = '1' then
             next_MED2INT_state <= "0110";
             next_DAT_MED2INT(64 downto 52) <= MED_DATA_IN(12 downto 0);
+           else
+            next_MED2INT_state <= "0100";
           end if;
       when "0110" =>
             next_INT_DATA_OUT <= DAT_MED2INT(55 downto 0);