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

Subversion Repositories rio

[/] [rio/] [branches/] [2.0.0-development/] [bench/] [vhdl/] [TestRioSerial.vhd] - Diff between revs 48 and 51

Show entire file | Details | Blame | View Log

Rev 48 Rev 51
Line 49... Line 49...
-- 
-- 
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
library ieee;
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_1164.all;
use work.rio_common.all;
use work.rio_common.all;
 
use work.TestPortPackage.all;
 
 
package TestRioSerialPackage is
package TestRioSerialPackage is
  type MessageSymbol is record
  type MessageSymbol is record
    symbolType : std_logic_vector(1 downto 0);
    symbolType : std_logic_vector(1 downto 0);
    symbolContent : std_logic_vector(31 downto 0);
    symbolContent : std_logic_vector(31 downto 0);
Line 440... Line 441...
    wait until clk'event and clk = '1';
    wait until clk'event and clk = '1';
    areset_n <= '1';
    areset_n <= '1';
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("TG_RioSerial");
    TestSpec("TG_RioSerial");
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("TG_RioSerial-TC1");
    TestSpec("TG_RioSerial-TC1");
    PrintS("Description: Test idle-sequence transmission at startup.");
    TestSpec("Description: Test idle-sequence transmission at startup.");
    PrintS("Requirement: XXXXX");
    TestSpec("Requirement: XXXXX");
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 1:");
    TestSpec("Step 1:");
    PrintS("Action: Read transmission port.");
    TestSpec("Action: Read transmission port.");
    PrintS("Result: Idle sequence symbols should be read.");
    TestSpec("Result: Idle sequence symbols should be read.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC1-Step1");
    TestCaseStart("TG_RioSerial-TC1-Step1");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Make sure only idle-sequences are transmitted at startup.
    -- Make sure only idle-sequences are transmitted at startup.
    for i in 0 to 512 loop
    for i in 0 to 512 loop
      OutboundSymbolIdle;
      OutboundSymbolIdle;
Line 468... Line 469...
      InboundSymbolIdle;
      InboundSymbolIdle;
    end loop;
    end loop;
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("TG_RioSerial-TC2");
    TestSpec("TG_RioSerial-TC2");
    PrintS("Description: Test idle-sequence and status symbol transmission");
    TestSpec("Description: Test idle-sequence and status symbol transmission");
    PrintS("             when the port has been initialized.");
    TestSpec("             when the port has been initialized.");
    PrintS("Requirement: XXXXX");
    TestSpec("Requirement: XXXXX");
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 1:");
    TestSpec("Step 1:");
    PrintS("Action: Set port initialized and read transmission port.");
    TestSpec("Action: Set port initialized and read transmission port.");
    PrintS("Result: Idle sequence and status symbols should be read.");
    TestSpec("Result: Idle sequence and status symbols should be read.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC2-Step1");
    TestCaseStart("TG_RioSerial-TC2-Step1");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Initialize the port to trigger a change of state.
    -- Initialize the port to trigger a change of state.
    portInitialized <= '1';
    portInitialized <= '1';
 
 
Line 512... Line 513...
                                                 STYPE1_NOP, "000"));
                                                 STYPE1_NOP, "000"));
    InboundSymbolIdle;
    InboundSymbolIdle;
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 2:");
    TestSpec("Step 2:");
    PrintS("Action: Toggle port initialized pin and check that no status ");
    TestSpec("Action: Toggle port initialized pin and check that no status ");
    PrintS("        symbols are transmitted when uninitialized.");
    TestSpec("        symbols are transmitted when uninitialized.");
    PrintS("Result: Only idle sequences should be read when uninitialized.");
    TestSpec("Result: Only idle sequences should be read when uninitialized.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC2-Step2");
    TestCaseStart("TG_RioSerial-TC2-Step2");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Deassert the port initialized flag.
    -- Deassert the port initialized flag.
    portInitialized <= '0';
    portInitialized <= '0';
 
 
Line 567... Line 568...
                                                 STYPE1_NOP, "000"));
                                                 STYPE1_NOP, "000"));
    InboundSymbolIdle;
    InboundSymbolIdle;
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 3:");
    TestSpec("Step 3:");
    PrintS("Action: Send one error free status symbol to trigger the ");
    TestSpec("Action: Send one error free status symbol to trigger the ");
    PrintS("        transmission of status symbols with a higher frequency.");
    TestSpec("        transmission of status symbols with a higher frequency.");
    PrintS("Result: Idle sequence and status symbols should be read but ");
    TestSpec("Result: Idle sequence and status symbols should be read but ");
    PrintS("        status symbols should be recived more often.");
    TestSpec("        status symbols should be recived more often.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC2-Step3");
    TestCaseStart("TG_RioSerial-TC2-Step3");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- A received error-free status triggers transmission of status symbols in
    -- A received error-free status triggers transmission of status symbols in
    -- a more rapid past.
    -- a more rapid past.
    OutboundSymbolIdle;
    OutboundSymbolIdle;
Line 609... Line 610...
    OutboundSymbolIdle;
    OutboundSymbolIdle;
    InboundSymbolIdle;
    InboundSymbolIdle;
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 4:");
    TestSpec("Step 4:");
    PrintS("Action: Send one errornous status symbol to restart the status ");
    TestSpec("Action: Send one errornous status symbol to restart the status ");
    PrintS("        counting.");
    TestSpec("        counting.");
    PrintS("Result: Idle sequence and status symbols should be read but ");
    TestSpec("Result: Idle sequence and status symbols should be read but ");
    PrintS("        status symbols should still be received more often.");
    TestSpec("        status symbols should still be received more often.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC2-Step4");
    TestCaseStart("TG_RioSerial-TC2-Step4");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- REMARK: Add this...
    -- REMARK: Add this...
    PrintR("Not implemented.");
    TestCaseStart("Not implemented.");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 5:");
    TestSpec("Step 5:");
    PrintS("Action: Send seven additional status symbols.");
    TestSpec("Action: Send seven additional status symbols.");
    PrintS("Result: The link should become fully initialized.");
    TestSpec("Result: The link should become fully initialized.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC2-Step5");
    TestCaseStart("TG_RioSerial-TC2-Step5");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Make the link fully initialized by sending 7 additional statuses.
    -- Make the link fully initialized by sending 7 additional statuses.
    for i in 0 to 6 loop
    for i in 0 to 6 loop
      OutboundSymbolIdle;
      OutboundSymbolIdle;
Line 658... Line 659...
                                                 STYPE1_NOP, "000"));
                                                 STYPE1_NOP, "000"));
    InboundSymbolIdle;
    InboundSymbolIdle;
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("TG_RioSerial-TC3");
    TestSpec("TG_RioSerial-TC3");
    PrintS("Description: Test port reception.");
    TestSpec("Description: Test port reception.");
    PrintS("Requirement: XXXXX");
    TestSpec("Requirement: XXXXX");
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 1:");
    TestSpec("Step 1:");
    PrintS("Action: Send an inbound frame with pad after the CRC.");
    TestSpec("Action: Send an inbound frame with pad after the CRC.");
    PrintS("Result: The frame should end up in a frame buffer.");
    TestSpec("Result: The frame should end up in a frame buffer.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC3-Step1");
    TestCaseStart("TG_RioSerial-TC3-Step1");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Create the frame.
    -- Create the frame.
    CreateRandomPayload(payload.data, seed1, seed2);
    CreateRandomPayload(payload.data, seed1, seed2);
    payload.length := 1;
    payload.length := 1;
Line 696... Line 697...
                                                 STYPE1_NOP, "000"), true);
                                                 STYPE1_NOP, "000"), true);
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestCompare(inboundFrameWriteEmpty, '1', "Packet was received.");
    TestCompare(inboundFrameWriteEmpty, '1', "Packet was received.");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 2:");
    TestSpec("Step 2:");
    PrintS("Action: Send an inbound frame without a pad after the CRC.");
    TestSpec("Action: Send an inbound frame without a pad after the CRC.");
    PrintS("Result: The frame should end up in a frame buffer.");
    TestSpec("Result: The frame should end up in a frame buffer.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC3-Step2");
    TestCaseStart("TG_RioSerial-TC3-Step2");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Create the frame.
    -- Create the frame.
    CreateRandomPayload(payload.data, seed1, seed2);
    CreateRandomPayload(payload.data, seed1, seed2);
    payload.length := 2;
    payload.length := 2;
Line 731... Line 732...
 
 
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestCompare(inboundFrameWriteEmpty, '1', "Packet was received.");
    TestCompare(inboundFrameWriteEmpty, '1', "Packet was received.");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 3:");
    TestSpec("Step 3:");
    PrintS("Action: Send an inbound frame with maximum size.");
    TestSpec("Action: Send an inbound frame with maximum size.");
    PrintS("Result: The frame should end up in a frame buffer.");
    TestSpec("Result: The frame should end up in a frame buffer.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC3-Step3");
    TestCaseStart("TG_RioSerial-TC3-Step3");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Create the frame.
    -- Create the frame.
    CreateRandomPayload(payload.data, seed1, seed2);
    CreateRandomPayload(payload.data, seed1, seed2);
    payload.length := 133;
    payload.length := 133;
Line 765... Line 766...
                                                 STYPE1_NOP, "000"), true);
                                                 STYPE1_NOP, "000"), true);
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestCompare(inboundFrameWriteEmpty, '1', "Packet was received.");
    TestCompare(inboundFrameWriteEmpty, '1', "Packet was received.");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 4:");
    TestSpec("Step 4:");
    PrintS("Action: Send two packets without end-of-packet in between.");
    TestSpec("Action: Send two packets without end-of-packet in between.");
    PrintS("Result: Both packets should be accepted.");
    TestSpec("Result: Both packets should be accepted.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC3-Step4");
    TestCaseStart("TG_RioSerial-TC3-Step4");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Create the first frame.
    -- Create the first frame.
    CreateRandomPayload(payload.data, seed1, seed2);
    CreateRandomPayload(payload.data, seed1, seed2);
    payload.length := 10;
    payload.length := 10;
Line 817... Line 818...
    -- Wait for all symbols to be transfered and check that the packet was received.
    -- Wait for all symbols to be transfered and check that the packet was received.
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestCompare(inboundFrameWriteEmpty, '1', "Packet was received.");
    TestCompare(inboundFrameWriteEmpty, '1', "Packet was received.");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 5:");
    TestSpec("Step 5:");
    PrintS("Action: Start to send a packet. Abort it with stomp. Then send ");
    TestSpec("Action: Start to send a packet. Abort it with stomp. Then send ");
    PrintS("        another packet.");
    TestSpec("        another packet.");
    PrintS("Result: The first packet should be discarded and the second should");
    TestSpec("Result: The first packet should be discarded and the second should");
    PrintS("        be accepted. The retried packet should be acknowledged.");
    TestSpec("        be accepted. The retried packet should be acknowledged.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC3-Step5");
    TestCaseStart("TG_RioSerial-TC3-Step5");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Create a frame, send it and abort it with STOMP.
    -- Create a frame, send it and abort it with STOMP.
    CreateRandomPayload(payload.data, seed1, seed2);
    CreateRandomPayload(payload.data, seed1, seed2);
    payload.length := 7;
    payload.length := 7;
Line 878... Line 879...
                                                 STYPE1_NOP, "000"), true);
                                                 STYPE1_NOP, "000"), true);
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestCompare(inboundFrameWriteEmpty, '1', "Packet was received.");
    TestCompare(inboundFrameWriteEmpty, '1', "Packet was received.");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 6:");
    TestSpec("Step 6:");
    PrintS("Action: Start to send a packet but dont send any payload. Abort it");
    TestSpec("Action: Start to send a packet but dont send any payload. Abort it");
    PrintS("        with stomp. Then send another packet.");
    TestSpec("        with stomp. Then send another packet.");
    PrintS("Result: The first packet should be discarded and the second should");
    TestSpec("Result: The first packet should be discarded and the second should");
    PrintS("        be accepted. The retried packet should be acknowledged.");
    TestSpec("        be accepted. The retried packet should be acknowledged.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC3-Step6");
    TestCaseStart("TG_RioSerial-TC3-Step6");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Start the reception of a frame and abort it.
    -- Start the reception of a frame and abort it.
    frame.length := 0;
    frame.length := 0;
    InboundFrame(frame, true);
    InboundFrame(frame, true);
Line 936... Line 937...
 
 
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestCompare(inboundFrameWriteEmpty, '1', "Packet was received.");
    TestCompare(inboundFrameWriteEmpty, '1', "Packet was received.");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 7:");
    TestSpec("Step 7:");
    PrintS("Action: Start to send a packet with payload, then send a ");
    TestSpec("Action: Start to send a packet with payload, then send a ");
    PrintS("        link-request. Then send another packet.");
    TestSpec("        link-request. Then send another packet.");
    PrintS("Result: The first packet should be canceled without any ");
    TestSpec("Result: The first packet should be canceled without any ");
    PrintS("        confirmation and a link-response should be returned. The");
    TestSpec("        confirmation and a link-response should be returned. The");
    PrintS("        second packet should be accepted.");
    TestSpec("        second packet should be accepted.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC3-Step7");
    TestCaseStart("TG_RioSerial-TC3-Step7");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Create a new frame and abort it with a link-request/input-status to
    -- Create a new frame and abort it with a link-request/input-status to
    -- abort the current packet.
    -- abort the current packet.
    CreateRandomPayload(payload.data, seed1, seed2);
    CreateRandomPayload(payload.data, seed1, seed2);
Line 1001... Line 1002...
 
 
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestCompare(inboundFrameWriteEmpty, '1', "Packet was received.");
    TestCompare(inboundFrameWriteEmpty, '1', "Packet was received.");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 8:");
    TestSpec("Step 8:");
    PrintS("Action: Start to send a packet, no payload, then send a ");
    TestSpec("Action: Start to send a packet, no payload, then send a ");
    PrintS("        link-request. Then send another packet.");
    TestSpec("        link-request. Then send another packet.");
    PrintS("Result: The first packet should be canceled without any ");
    TestSpec("Result: The first packet should be canceled without any ");
    PrintS("        confirmation and a link-response should be returned. The");
    TestSpec("        confirmation and a link-response should be returned. The");
    PrintS("        second packet should be accepted.");
    TestSpec("        second packet should be accepted.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC3-Step8");
    TestCaseStart("TG_RioSerial-TC3-Step8");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Start a frame then send link-request/input-status to abort it.
    -- Start a frame then send link-request/input-status to abort it.
    frame.length := 0;
    frame.length := 0;
    InboundFrame(frame, true);
    InboundFrame(frame, true);
Line 1054... Line 1055...
 
 
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestCompare(inboundFrameWriteEmpty, '1', "Packet was received.");
    TestCompare(inboundFrameWriteEmpty, '1', "Packet was received.");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 9:");
    TestSpec("Step 9:");
    PrintS("Action: Send a packet when no buffers are available. Reset receiver");
    TestSpec("Action: Send a packet when no buffers are available. Reset receiver");
    PrintS("        with link-request.");
    TestSpec("        with link-request.");
    PrintS("Result: A packet-retry should be transmitted and receiver should");
    TestSpec("Result: A packet-retry should be transmitted and receiver should");
    PrintS("        enter input-retry-stopped.");
    TestSpec("        enter input-retry-stopped.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC3-Step9");
    TestCaseStart("TG_RioSerial-TC3-Step9");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Indicate the inbound frame queue is full.
    -- Indicate the inbound frame queue is full.
    inboundFrameFull <= '1';
    inboundFrameFull <= '1';
 
 
Line 1111... Line 1112...
 
 
    -- Indicate the inbound frame queue is ready to accept new packets again.
    -- Indicate the inbound frame queue is ready to accept new packets again.
    inboundFrameFull <= '0';
    inboundFrameFull <= '0';
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 10:");
    TestSpec("Step 10:");
    PrintS("Action: Send a packet when no buffers is available. Reset receiver");
    TestSpec("Action: Send a packet when no buffers is available. Reset receiver");
    PrintS("        with restart-from-retry.");
    TestSpec("        with restart-from-retry.");
    PrintS("Result: A packet-retry should be transmitted and receiver should");
    TestSpec("Result: A packet-retry should be transmitted and receiver should");
    PrintS("        enter input-retry-stopped.");
    TestSpec("        enter input-retry-stopped.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC3-Step10");
    TestCaseStart("TG_RioSerial-TC3-Step10");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Indicate the inbound frame queue is full.
    -- Indicate the inbound frame queue is full.
    inboundFrameFull <= '1';
    inboundFrameFull <= '1';
 
 
Line 1168... Line 1169...
 
 
    -- Indicate the inbound frame queue is ready to accept new packets again.
    -- Indicate the inbound frame queue is ready to accept new packets again.
    inboundFrameFull <= '0';
    inboundFrameFull <= '0';
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 11:");
    TestSpec("Step 11:");
    PrintS("Action: Start a new packet when in input-retry-stopped state.");
    TestSpec("Action: Start a new packet when in input-retry-stopped state.");
    PrintS("Result: The packet should be discarded.");
    TestSpec("Result: The packet should be discarded.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC3-Step11");
    TestCaseStart("TG_RioSerial-TC3-Step11");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Indicate the inbound frame queue is full.
    -- Indicate the inbound frame queue is full.
    inboundFrameFull <= '1';
    inboundFrameFull <= '1';
 
 
Line 1258... Line 1259...
 
 
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestCompare(inboundFrameWriteEmpty, '1', "Packet was received.");
    TestCompare(inboundFrameWriteEmpty, '1', "Packet was received.");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 12:");
    TestSpec("Step 12:");
    PrintS("Action: Send an erronous control-symbol. Then restore with");
    TestSpec("Action: Send an erronous control-symbol. Then restore with");
    PrintS("        link-request.");
    TestSpec("        link-request.");
    PrintS("Result: Receiver should enter input-error-stopped and return to");
    TestSpec("Result: Receiver should enter input-error-stopped and return to");
    PrintS("        normal operation after the link-request was receiver.");
    TestSpec("        normal operation after the link-request was receiver.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC3-Step12");
    TestCaseStart("TG_RioSerial-TC3-Step12");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Create, corrupt and send a control symbol.
    -- Create, corrupt and send a control symbol.
    InboundSymbolControl(RioControlSymbolCreate(STYPE0_STATUS, "00000", "11111",
    InboundSymbolControl(RioControlSymbolCreate(STYPE0_STATUS, "00000", "11111",
                                                STYPE1_START_OF_PACKET, "000") xor x"100000");
                                                STYPE1_START_OF_PACKET, "000") xor x"100000");
Line 1340... Line 1341...
 
 
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty.");
    TestCompare(inboundFrameWriteEmpty, '1', "Packet was received.");
    TestCompare(inboundFrameWriteEmpty, '1', "Packet was received.");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 13:");
    TestSpec("Step 13:");
    PrintS("Action: Send an erronous packet. Then restore with link-request.");
    TestSpec("Action: Send an erronous packet. Then restore with link-request.");
    PrintS("Result: Receiver should enter input-error-stopped and return to");
    TestSpec("Result: Receiver should enter input-error-stopped and return to");
    PrintS("        normal operation after the link-request was receiver.");
    TestSpec("        normal operation after the link-request was receiver.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC3-Step13");
    TestCaseStart("TG_RioSerial-TC3-Step13");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Create a packet and send it with a bit error. It should be discarded.
    -- Create a packet and send it with a bit error. It should be discarded.
    CreateRandomPayload(payload.data, seed1, seed2);
    CreateRandomPayload(payload.data, seed1, seed2);
    payload.length := 15;
    payload.length := 15;
Line 1411... Line 1412...
    TestCompare(inboundFrameWriteEmpty, '1', "Packet was received.");
    TestCompare(inboundFrameWriteEmpty, '1', "Packet was received.");
 
 
    -- REMARK: Complete with some more error situations: invalid ackId, too
    -- REMARK: Complete with some more error situations: invalid ackId, too
    -- short packet, too long packet, etc...
    -- short packet, too long packet, etc...
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("TG_RioSerial-TC4");
    TestSpec("TG_RioSerial-TC4");
    PrintS("Description: Test port transmission.");
    TestSpec("Description: Test port transmission.");
    PrintS("Requirement: XXXXX");
    TestSpec("Requirement: XXXXX");
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 1:");
    TestSpec("Step 1:");
    PrintS("Action: Send an outbound frame.");
    TestSpec("Action: Send an outbound frame.");
    PrintS("Result: The frame should be read from the frame buffer and ");
    TestSpec("Result: The frame should be read from the frame buffer and ");
    PrintS("        received as symbols.");
    TestSpec("        received as symbols.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC4-Step1");
    TestCaseStart("TG_RioSerial-TC4-Step1");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Create the frame.
    -- Create the frame.
    -- Make sure the transmitter fills in the correct ackId and dont use the
    -- Make sure the transmitter fills in the correct ackId and dont use the
    -- one in the input packet.
    -- one in the input packet.
Line 1465... Line 1466...
 
 
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty");
    TestWait(outboundSymbolWriteEmpty, '1', "Outbound symbol empty");
    TestCompare(outboundFrameWriteEmpty, '1', "packet transmitted");
    TestCompare(outboundFrameWriteEmpty, '1', "packet transmitted");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 2:");
    TestSpec("Step 2:");
    PrintS("Action: Send one more outbound packets than there are ackIds.");
    TestSpec("Action: Send one more outbound packets than there are ackIds.");
    PrintS("Result: The packets should be fragmented and received in symbols.");
    TestSpec("Result: The packets should be fragmented and received in symbols.");
    PrintS("        The last packet should be delayed and sent once the first");
    TestSpec("        The last packet should be delayed and sent once the first");
    PrintS("        packet has been accepted.");
    TestSpec("        packet has been accepted.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC4-Step2");
    TestCaseStart("TG_RioSerial-TC4-Step2");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    -- REMARK: 32 packet should ideally be supported, not just 31...fix.
    -- REMARK: 32 packet should ideally be supported, not just 31...fix.
    for i in 0 to 4 loop
    for i in 0 to 4 loop
      OutboundSymbolIdle;
      OutboundSymbolIdle;
      InboundSymbolIdle;
      InboundSymbolIdle;
Line 1551... Line 1552...
 
 
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 3:");
    TestSpec("Step 3:");
    PrintS("Action: Send an outbound packet with maximum length.");
    TestSpec("Action: Send an outbound packet with maximum length.");
    PrintS("Result: The packet should be fragmented and received in symbols.");
    TestSpec("Result: The packet should be fragmented and received in symbols.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC4-Step3");
    TestCaseStart("TG_RioSerial-TC4-Step3");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Create the frame.
    -- Create the frame.
    CreateRandomPayload(payload.data, seed1, seed2);
    CreateRandomPayload(payload.data, seed1, seed2);
    payload.length := 133;
    payload.length := 133;
Line 1598... Line 1599...
 
 
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 4:");
    TestSpec("Step 4:");
    PrintS("Action: Send a packet and confirm it with packet-retry.");
    TestSpec("Action: Send a packet and confirm it with packet-retry.");
    PrintS("Result: A restart-from-retry should be transmitted and the packet");
    TestSpec("Result: A restart-from-retry should be transmitted and the packet");
    PrintS("        should be retransmitted.");
    TestSpec("        should be retransmitted.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC4-Step4");
    TestCaseStart("TG_RioSerial-TC4-Step4");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Create the frame.
    -- Create the frame.
    CreateRandomPayload(payload.data, seed1, seed2);
    CreateRandomPayload(payload.data, seed1, seed2);
    payload.length := 4;
    payload.length := 4;
Line 1672... Line 1673...
 
 
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 5:");
    TestSpec("Step 5:");
    PrintS("Action: Send a packet and confirm it with packet-not-accepted. ");
    TestSpec("Action: Send a packet and confirm it with packet-not-accepted. ");
    PrintS("Result: A link-request should be transmitted and the packet should");
    TestSpec("Result: A link-request should be transmitted and the packet should");
    PrintS("        be retransmitted.");
    TestSpec("        be retransmitted.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC4-Step5");
    TestCaseStart("TG_RioSerial-TC4-Step5");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Create the frame.
    -- Create the frame.
    CreateRandomPayload(payload.data, seed1, seed2);
    CreateRandomPayload(payload.data, seed1, seed2);
    payload.length := 5;
    payload.length := 5;
Line 1747... Line 1748...
 
 
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 6:");
    TestSpec("Step 6:");
    PrintS("Action: Let a packet timeout expire. Then answer with link-response.");
    TestSpec("Action: Let a packet timeout expire. Then answer with link-response.");
    PrintS("Result: A link-request should be transmitted and the packet should");
    TestSpec("Result: A link-request should be transmitted and the packet should");
    PrintS("        be retransmitted.");
    TestSpec("        be retransmitted.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC4-Step6");
    TestCaseStart("TG_RioSerial-TC4-Step6");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Create the frame.
    -- Create the frame.
    CreateRandomPayload(payload.data, seed1, seed2);
    CreateRandomPayload(payload.data, seed1, seed2);
    payload.length := 5;
    payload.length := 5;
Line 1833... Line 1834...
 
 
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 7:");
    TestSpec("Step 7:");
    PrintS("Action: Let a packet timeout expire. Then answer with link-response");
    TestSpec("Action: Let a packet timeout expire. Then answer with link-response");
    Prints("        that indicates that the packet was received.");
    TestSpec("        that indicates that the packet was received.");
    PrintS("Result: A link-request should be transmitted and the packet should");
    TestSpec("Result: A link-request should be transmitted and the packet should");
    PrintS("        not be retransmitted.");
    TestSpec("        not be retransmitted.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC4-Step7");
    TestCaseStart("TG_RioSerial-TC4-Step7");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Create the frame.
    -- Create the frame.
    CreateRandomPayload(payload.data, seed1, seed2);
    CreateRandomPayload(payload.data, seed1, seed2);
    payload.length := 6;
    payload.length := 6;
Line 1900... Line 1901...
 
 
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 8:");
    TestSpec("Step 8:");
    PrintS("Action: Let a packet timeout expire. No more replies.");
    TestSpec("Action: Let a packet timeout expire. No more replies.");
    PrintS("Result: Three link-requests should be transmitted. When the third");
    TestSpec("Result: Three link-requests should be transmitted. When the third");
    PrintS("        times out the link will be restarted.");
    TestSpec("        times out the link will be restarted.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC4-Step8");
    TestCaseStart("TG_RioSerial-TC4-Step8");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Create the frame.
    -- Create the frame.
    CreateRandomPayload(payload.data, seed1, seed2);
    CreateRandomPayload(payload.data, seed1, seed2);
    payload.length := 7;
    payload.length := 7;
Line 2022... Line 2023...
 
 
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 9:");
    TestSpec("Step 9:");
    PrintS("Action: Let a packet timeout expire. Then answer with totally ");
    TestSpec("Action: Let a packet timeout expire. Then answer with totally ");
    PrintS("        unexpected ackId.");
    TestSpec("        unexpected ackId.");
    PrintS("Result: A link request should be transmitted and the link should ");
    TestSpec("Result: A link request should be transmitted and the link should ");
    PrintS("        be restarted.");
    TestSpec("        be restarted.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC4-Step9");
    TestCaseStart("TG_RioSerial-TC4-Step9");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Create the frame.
    -- Create the frame.
    CreateRandomPayload(payload.data, seed1, seed2);
    CreateRandomPayload(payload.data, seed1, seed2);
    payload.length := 8;
    payload.length := 8;
Line 2134... Line 2135...
 
 
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 10:");
    TestSpec("Step 10:");
    PrintS("Action: Send status with unexpected ackId in normal operation.");
    TestSpec("Action: Send status with unexpected ackId in normal operation.");
    PrintS("Result: The transmitter should disregard the error.");
    TestSpec("Result: The transmitter should disregard the error.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC4-Step10");
    TestCaseStart("TG_RioSerial-TC4-Step10");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Send a status with unexpected ackId.
    -- Send a status with unexpected ackId.
    OutboundSymbolIdle;
    OutboundSymbolIdle;
    InboundSymbolControl(RioControlSymbolCreate(STYPE0_STATUS, "10000", "11111",
    InboundSymbolControl(RioControlSymbolCreate(STYPE0_STATUS, "10000", "11111",
Line 2160... Line 2161...
 
 
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 11:");
    TestSpec("Step 11:");
    PrintS("Action: Send packet-retry with unexpected ackId in normal operation.");
    TestSpec("Action: Send packet-retry with unexpected ackId in normal operation.");
    PrintS("Result: The transmitter should enter output-error-stopped.");
    TestSpec("Result: The transmitter should enter output-error-stopped.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC4-Step11");
    TestCaseStart("TG_RioSerial-TC4-Step11");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Send a packet-retry with unexpected ackId.
    -- Send a packet-retry with unexpected ackId.
    OutboundSymbolIdle;
    OutboundSymbolIdle;
    InboundSymbolControl(RioControlSymbolCreate(STYPE0_PACKET_RETRY, "10000", "11111",
    InboundSymbolControl(RioControlSymbolCreate(STYPE0_PACKET_RETRY, "10000", "11111",
Line 2220... Line 2221...
 
 
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 12:");
    TestSpec("Step 12:");
    PrintS("Action: Send packet-accepted with unexpected ackId in normal ");
    TestSpec("Action: Send packet-accepted with unexpected ackId in normal ");
    PrintS("        operation.");
    TestSpec("        operation.");
    PrintS("Result: The transmitter should enter output-error-stopped.");
    TestSpec("Result: The transmitter should enter output-error-stopped.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC4-Step12");
    TestCaseStart("TG_RioSerial-TC4-Step12");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Send a packet-accepted with unexpected ackId.
    -- Send a packet-accepted with unexpected ackId.
    OutboundSymbolIdle;
    OutboundSymbolIdle;
    InboundSymbolControl(RioControlSymbolCreate(STYPE0_PACKET_ACCEPTED, "10000", "11111",
    InboundSymbolControl(RioControlSymbolCreate(STYPE0_PACKET_ACCEPTED, "10000", "11111",
Line 2281... Line 2282...
 
 
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 13:");
    TestSpec("Step 13:");
    PrintS("Action: Send a packet and then accept it with unexpected ackId.");
    TestSpec("Action: Send a packet and then accept it with unexpected ackId.");
    PrintS("Result: The transmitter should enter output-error-stopped.");
    TestSpec("Result: The transmitter should enter output-error-stopped.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC4-Step13");
    TestCaseStart("TG_RioSerial-TC4-Step13");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Create the frame.
    -- Create the frame.
    CreateRandomPayload(payload.data, seed1, seed2);
    CreateRandomPayload(payload.data, seed1, seed2);
    payload.length := 12;
    payload.length := 12;
Line 2336... Line 2337...
 
 
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestWait(outboundSymbolWriteEmpty, '1', "symbols pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
    TestCompare(outboundFrameWriteEmpty, '1', "packet pending");
 
 
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("TG_RioSerial-TC5");
    TestSpec("TG_RioSerial-TC5");
    PrintS("Description: Test mixed port transmission and reception.");
    TestSpec("Description: Test mixed port transmission and reception.");
    PrintS("Requirement: XXXXX");
    TestSpec("Requirement: XXXXX");
    PrintS("-----------------------------------------------------------------");
    TestSpec("-----------------------------------------------------------------");
    PrintS("Step 1:");
    TestSpec("Step 1:");
    PrintS("Action: Start sending an outbound packet and while in transmission, ");
    TestSpec("Action: Start sending an outbound packet and while in transmission, ");
    PrintS("        start and complete an inbound packet.");
    TestSpec("        start and complete an inbound packet.");
    PrintS("Result: The ack for the inbound packet should be inserted into the");
    TestSpec("Result: The ack for the inbound packet should be inserted into the");
    PrintS("        outbound packet.");
    TestSpec("        outbound packet.");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
    PrintR("TG_RioSerial-TC5-Step1");
    TestCaseStart("TG_RioSerial-TC5-Step1");
    ---------------------------------------------------------------------------
    ---------------------------------------------------------------------------
 
 
    -- Send a long outbound frame.
    -- Send a long outbound frame.
    CreateRandomPayload(payload.data, seed1, seed2);
    CreateRandomPayload(payload.data, seed1, seed2);
    payload.length := 133;
    payload.length := 133;

powered by: WebSVN 2.1.0

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