Serial RapidIO
Lattice Semiconductor Physical Layer Interface
3
TX Packet/Control Assembly
The TX Packet/Control Assembly block gets packet data from the user logic and then appends physical layer
header information within the relevant physical fields before sending the data to the TX SERDES Interface Block. It
also adds control symbols received from the TX Symbol Generator block in between packets. This block also gen-
erates and adds the 5-bit control symbol CRC using the polynomial X
5
+X
4
+X
2
+1.
TX SERDES Interface Block
The TX SERDES Interface Block connects this soft IP core to the embedded TX SERDES section of a Lattice
ORT82G5/ORT42G5 FPSC device. This Interface Block generates the code-group sequences for transmission
when neither data nor control symbols are being transmitted.
Receive Physical Layer Block
RX SERDES Interface Block
The RX SERDES Interface Block connects this soft IP core to the embedded RX SERDES section of a Lattice
ORT82G5/ORT42G5 FPSC device. This Interface Block contains a retimer, data converter, and initialization state
machine. Further details can be found in the User's Guide for this IP core.
RX Packet/Control Disassembly
The RX Packet and Control Disassembly block separates the data packets and control symbols from the received
data. This block also has the Control Symbol CRC Checker which checks the 5-bit CRC present in the control sym-
bols received. If any errors are found on the control symbols, this information is passed to the RX Transmit Ack Ctrl
block.
RX Symbol Decoder
This block stores the ACK control symbols that are to be received into a synchronous FIFO. Since the data width is
64 bits, and each control symbol 32 bits wide (24 bits data + 8 bits /SC/ special character), it can receive up to two
control symbols on every clock. Hence the FIFO stores up to two control symbols received in one location. Subse-
quently, this block decodes the control symbol data. The decoded signals contain information on the type of control
symbol that was decoded.
RX Transmit ACK Control
The RX Transmit ACK control block keeps track of the acknowledgement control symbols for packets transmitted.
This is implemented by maintaining an ACK received queue. This block also contains the Retry Recovery process
and Error Recovery process.
RX Receive Packet ACK Control
The RX Receive Packet ACK Control block generates the ACK control symbols for the packets received. When this
block detects an error on a packet (CRC error/unexpected ACK ID value/over running the maximum data payload)
it immediately transitions into an input error-stopped state and silently discards all new packets until it receives a
restart-from-error control symbol from the sender.
RX CRC Checker
The RX CRC Checker generates a separate CRC for each data packet and compares it to the appended CRC
transmitted with each packet, to determine any errors.
RX User Interface
The RX User Interface generates all the control signals necessary to interface to the RX user logic or the Logical
and Transport layers of the RapidIO stack. This block generates the signals indicating that the RX PHY is ready to
send data. This block also controls the discard signal, which is used to discard a packet being sent to the user logic
if packet errors are detected. The RX User Interface consists of two types of interface: RX User Control Interface
and RX Generic FIFO Bridge Interface. The RX Generic FIFO Bridge Interface is a standard FIFO interface used to
manage the data flow going to the user side (signals beginning with “