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;
|