OpenCores
URL https://opencores.org/ocsvn/rio/rio/trunk

Subversion Repositories rio

[/] [rio/] [branches/] [parallelSymbols/] [rtl/] [vhdl/] [RioSerial.vhd] - Diff between revs 14 and 15

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 14 Rev 15
Line 1386... Line 1386...
                  (readContentData_i(19 downto 16) = FTYPE_MAINTENANCE_CLASS)) then
                  (readContentData_i(19 downto 16) = FTYPE_MAINTENANCE_CLASS)) then
                -- Packet is allowed.
                -- Packet is allowed.
 
 
                -- Check if the link is able to accept the new frame.
                -- Check if the link is able to accept the new frame.
                if ((bufferStatus_i /= "00000") and
                if ((bufferStatus_i /= "00000") and
                    ((unsigned(ackIdWindow_i) - unsigned(ackId_i)) /= 31)) then
                    ((unsigned(ackIdWindow_i)+1) /= unsigned(ackId_i))) then
                  -- New data is available for transmission and there
                  -- New data is available for transmission and there
                  -- is room to receive it at the other side.
                  -- is room to receive it at the other side.
                  -- The packet may be transmitted.
                  -- The packet may be transmitted.
 
 
                  -- Indicate that a control symbol has been sent to start the
                  -- Indicate that a control symbol has been sent to start the
Line 1427... Line 1427...
              symbolDataOut <= '1';
              symbolDataOut <= '1';
              symbolDataContentOut <=
              symbolDataContentOut <=
                std_logic_vector(ackIdWindow_i) & "0" &
                std_logic_vector(ackIdWindow_i) & "0" &
                frameContent_i((32*NUMBER_WORDS)-7 downto (32*(NUMBER_WORDS-1)));
                frameContent_i((32*NUMBER_WORDS)-7 downto (32*(NUMBER_WORDS-1)));
 
 
              -- REMARK: Code frameWordCounter as 0=1 or 1=1???
 
              if (unsigned(frameWordCounter_i) /= 0) then
              if (unsigned(frameWordCounter_i) /= 0) then
                frameWordCounter_o <=
                frameWordCounter_o <=
                  std_logic_vector(unsigned(frameWordCounter_i) - 1);
                  std_logic_vector(unsigned(frameWordCounter_i) - 1);
                frameContent_o <=
                frameContent_o <=
                  frameContent_i((32*(NUMBER_WORDS-1))-1 downto 0) & x"00000000";
                  frameContent_i((32*(NUMBER_WORDS-1))-1 downto 0) & x"00000000";
Line 1512... Line 1511...
 
 
                -- Note that the packet must be ended if the link-partner
                -- Note that the packet must be ended if the link-partner
                -- cannot receive it.
                -- cannot receive it.
                if ((readWindowEmpty_i = '0') and
                if ((readWindowEmpty_i = '0') and
                    (bufferStatus_i /= "00000") and
                    (bufferStatus_i /= "00000") and
                    ((unsigned(ackIdWindow_i) - unsigned(ackId_i)) /= 31)) then
                    ((unsigned(ackIdWindow_i)+2) /= unsigned(ackId_i))) then
                  readContentOut <= '1';
                  readContentOut <= '1';
                  frameState_o <= FRAME_START;
                  frameState_o <= FRAME_START;
                else
                else
                  frameState_o <= FRAME_END;
                  frameState_o <= FRAME_END;
                end if;
                end if;
Line 1525... Line 1524...
            when FRAME_END =>
            when FRAME_END =>
              -----------------------------------------------------------------
              -----------------------------------------------------------------
              -- 
              -- 
              -----------------------------------------------------------------
              -----------------------------------------------------------------
 
 
              -- Start a new frame the next time.
 
              frameState_o <= FRAME_IDLE;
 
 
 
              -- Send a control symbol to end the packet.
              -- Send a control symbol to end the packet.
              symbolControlEndOut <= '1';
              symbolControlEndOut <= '1';
 
 
 
              -- Start a new frame the next time.
 
              frameState_o <= FRAME_IDLE;
 
 
            when FRAME_DISCARD =>
            when FRAME_DISCARD =>
              ---------------------------------------------------------------
              ---------------------------------------------------------------
              -- 
              -- 
              ---------------------------------------------------------------
              ---------------------------------------------------------------
              -- The packet should be discarded.
              -- The packet should be discarded.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.