advertisement
Other Important Design Notes
Other Important Design Notes
Receive Data Path 32-bit Alignment
The RocketIO transceiver uses the attribute ALIGN_COMMA_MSB to align protocol delimiters with the use of comma characters (special K characters K28.5, K28.1, and K28.7 for most protocols). Setting the ALIGN_COMMA_MSB to TRUE/FALSE determines where the comma characters appear on the RXDATA bus. A setting of
ALIGN_COMMA_MSB = FALSE allows the comma to appear in any byte lane of the
RXDATA in the 2- and 4-byte primitives. When ALIGN_COMMA_MSB is set to TRUE, the comma appears in RXDATA[15:8] for the 2-byte primitives, and in either RXDATA[15:8] or
RXDATA[31:24] for the 4-byte primitives.
In the case of a 4-byte primitive, the transceiver sets comma alignment with respect to its
2-byte internal data path, but it does not constrain the comma to appear only in
RXDATA[31:24]. Logic must be designed in the FPGA fabric to handle comma alignment for the 32-bit primitives when implementing certain protocols.
One such protocol is Fibre Channel. Delimiters such as IDLES, SOF, and EOF are four bytes long, and are assumed by the protocol logic to be aligned on a 32-bit boundary. The Fibre
Channel IDLE delimiter is four bytes long and is composed of characters K28.5, D21.4,
D21.5, and D21.5. The comma, K28.5, is transmitted in TXDATA[31:24], which the protocol logic expects to be received in RXDATA[31:24].
Using
, the IDLE delimiter can be translated into a hexadecimal value 0xBC95B5B5 that represents the 32-bit RXDATA word. On the
32-bit RXDATA interface, the received word is either 32-bit aligned or misaligned, as
shown in Table 3-19 . In the table, "
pp " indicates a byte from a previous word of data.
Table 3-19: 32-bit RXDATA, Aligned versus Misaligned
RXDATA
[31:24]
RXDATA
[23:16]
RXDATA
[15:8]
32-bit aligned
CHARISCOMMA
32-bit misaligned
CHARISCOMMA
BC
1 pp
0
95
0 pp
0
B5
0
BC
1
RXDATA
[7:0]
B5
0
95
0
R
When RXDATA is 32-bit aligned, the logic should pass RXDATA though to the protocol logic without modification. A properly aligned data flow is shown in
.
TXDATA BC95B5B5 FDB53737 45674893 nnnnnnnn nnnnnnnn
RXDATA BC95B5B5 FDB53737 45674893 nnnnnnnn nnnnnnnn
ALIGNED_DATA pppppppp BC95B5B5 FDB53737 45674893 nnnnnnnn ug024_33_091602
Figure 3-19: RXDATA Aligned Correctly
UG024 (v1.5) October 16, 2002
RocketIO™ Transceiver User Guide www.xilinx.com
1-800-255-7778
75
advertisement
Related manuals
advertisement
Table of contents
- 18 FPGA Transmit Interface
- 18 8B/10B Encoder
- 18 Disparity Control
- 19 Transmit FIFO
- 19 Serializer
- 19 Deserializer
- 20 Receiver Termination
- 20 8B/10B Decoder
- 21 Receiver Buffer
- 21 Clock Correction
- 22 Channel Bonding
- 23 Transmitter Buffer
- 38 Clock Signals
- 39 Clock Ratio
- 39 Digital Clock Manager (DCM) Examples
- 22 UG024 (v1.5) October
- 50 BREFCLK
- 52 Half-Rate Clocking Scheme
- 53 Multiplexed Clocking Scheme
- 53 Data Path Latency
- 54 Clock Dependency
- 56 Clock Correction Count
- 57 RX_LOSS_OF_SYNC_FSM
- 57 8B/10B Operation
- 59 Vitesse Disparity Example
- 69 8B/10B Serial Output Format
- 70 CRC Generation
- 71 CRC Latency
- 71 CRC Limitations
- 71 CRC Modes
- 75 Receive Data Path 32-bit Alignment
- 76 32-bit Alignment Design
- 87 Total Jitter (DJ + RJ)
- 89 Power Conditioning
- 71 UG024 (v1.5) October
- 91 High-Speed Serial Trace Design
- 94 Reference Clock
- 95 Powering the RocketIO Transceivers
- 95 The POWERDOWN Port
- 97 SmartModels
- 97 HSPICE
- 97 Synthesis
- 98 UCF Example
- 98 Implementing Clock Schemes
- 102 LOOPBACK
- 105 Setup/Hold Times of Inputs Relative to Clock
- 105 Clock to Output Delays
- 105 Clock Pulse Width
- 109 GT_AURORA
- 112 GT_CUSTOM
- 113 GT_ETHERNET
- 115 GT_FIBRE_CHAN
- 118 GT_INFINIBAND
- 121 GT_XAUI
- 112 UG024 (v1.5) October