Visible to Intel only — GUID: dsu1455757601399
Ixiasoft
Product Discontinuance Notification
1. About the RapidIO II Intel® FPGA IP
2. Getting Started
3. Parameter Settings
4. Functional Description
5. Signals
6. Software Interface
7. Testbench
8. RapidIO II IP Core User Guide Archives
9. Document Revision History for the RapidIO II Intel® FPGA IP User Guide
A. Initialization Sequence
B. Differences Between RapidIO II IP Core and RapidIO IP Core
2.1. Installing and Licensing Intel® FPGA IP Cores
2.2. Intel® FPGA IP Evaluation Mode
2.32.4. Generating IP Cores2.32.4. Generating IP Cores
2.32.4. Generating IP Cores2.32.4. Generating IP Cores
2.5. RapidIO II IP Core Testbench Files
2.6. Simulating IP Cores
2.7. Integrating Your IP Core in Your Design
2.8. Compiling the Full Design and Programming the FPGA
2.9. Instantiating Multiple RapidIO II IP Cores in V-series FPGA devices
3.4.1. Device Identity CAR
3.4.2. Device Information CAR
3.4.3. Assembly Identity CAR
3.4.4. Assembly Information CAR
3.4.5. Processing Element Features CAR
3.4.6. Switch Port Information CAR
3.4.7. Switch Route Table Destination ID Limit CAR
3.4.8. Data Streaming Information CAR
3.4.9. Source Operations CAR
3.4.10. Destination Operations CAR
4.3.3.1. Maintenance Interface Transactions
4.3.3.2. Maintenance Interface Signals
4.3.3.3. Initiating MAINTENANCE Read and Write Transactions
4.3.3.4. Defining the Maintenance Address Translation Windows
4.3.3.5. Responding to MAINTENANCE Read and Write Requests
4.3.3.6. Handling Port-Write Transactions
4.3.3.7. Maintenance Interface Transaction Examples
4.3.3.8. Maintenance Packet Error Handling
4.3.5.3.1. User Sending Write Request
4.3.5.3.2. User Receiving Write Request
4.3.5.3.3. User Sending Read Request and Receiving Read Response
4.3.5.3.4. User Receiving Read Request and Sending Read Response
4.3.5.3.5. User Sending Streaming Write Request
4.3.5.3.6. User Receiving Streaming Write Request
6.1.1. CAR Memory Map
6.1.2. CSR Memory Map
6.1.3. LP-Serial Extended Features Block Memory Map
6.1.4. LP-Serial Lane Extended Features Block Memory Map
6.1.5. Error Management Extensions Extended Features Block Memory Map
6.1.6. Maintenance Module Registers Memory Map
6.1.7. I/O Logical Layer Master Module Registers Memory Map
6.1.8. I/O Logical Layer Slave Module Registers Memory Map
6.1.9. Doorbell Module Registers Memory Map
6.2.1.1. LP-Serial Register Block Header
6.2.1.2. Port Link Time-out Control CSR
6.2.1.3. Port Response Time-out Control CSR
6.2.1.4. Port General Control CSR
6.2.1.5. Port 0 Link Maintenance Request CSR
6.2.1.6. Port 0 Link Maintenance Response CSR
6.2.1.7. Port 0 Local AckID CSR
6.2.1.8. Port 0 Control 2 CSR
6.2.1.9. Port 0 Error and Status CSR
6.2.1.10. Port 0 Control CSR
6.3.1.1. CAR Memory Map
6.3.1.2. Device Identity CAR
6.3.1.3. Device Information CAR
6.3.1.4. Assembly Identity CAR
6.3.1.5. Assembly Information CAR
6.3.1.6. Processing Element Features CAR
6.3.1.7. Switch Port Information CAR
6.3.1.8. Source Operations CAR
6.3.1.9. Destination Operations CAR
6.3.1.10. Switch Route Table Destination ID Limit CAR
6.3.1.11. Data Streaming Information CAR
6.3.2.1. CSR Memory Map
6.3.2.2. Data Streaming Logical Layer Control CSR
6.3.2.3. Processing Element Logical Layer Control CSR
6.3.2.4. Local Configuration Space Base Address 0 CSR
6.3.2.5. Local Configuration Space Base Address 1 CSR
6.3.2.6. Base Device ID CSR
6.3.2.7. Host Base Device ID Lock CSR
6.3.2.8. Component Tag CSR
6.3.6.1. Error Management Extensions Extended Features Block Memory Map
6.3.6.2. Error Management Extensions Block Header
6.3.6.3. Logical/Transport Layer Error Detect
6.3.6.4. Logical/Transport Layer Error Enable
6.3.6.5. Logical/Transport Layer Address Capture
6.3.6.6. Logical/Transport Layer Device ID Capture
6.3.6.7. Logical/Transport Layer Control Capture
6.3.6.8. Port-Write Target Device ID
6.3.6.9. Packet Time-to-Live
6.3.6.10. Port 0 Error Detect
6.3.6.11. Port 0 Error Rate Enable
6.3.6.12. Port 0 Attributes Capture
6.3.6.13. Port 0 Packet/Control Symbol Capture 0
6.3.6.14. Port 0 Packet Capture 1
6.3.6.15. Port 0 Packet Capture 2
6.3.6.16. Port 0 Packet Capture 3
6.3.6.17. Port 0 Error Rate
6.3.6.18. Port 0 Error Rate Threshold
7.2.1. Reset, Initialization, and Configuration
7.2.2. Maintenance Write and Read Transactions
7.2.3. SWRITE Transactions
7.2.4. NREAD Transactions
7.2.5. NWRITE_R Transactions
7.2.6. NWRITE Transactions
7.2.7. Doorbell Transactions
7.2.8. Port-Write Transactions
7.2.9. Transactions Across the AVST Pass-Through Interface
Visible to Intel only — GUID: dsu1455757601399
Ixiasoft
4.3.5.3.3. User Sending Read Request and Receiving Read Response
User Operation | Operation Type | RapidIO Transaction | Priority | Device ID Width | Payload Size (Bytes) |
---|---|---|---|---|---|
Send read request | Tx | NREAD | 1 | 16 | 32 |
Receive read response | Rx | Response with payload | 2 | 16 | 32 |
The behavior of the signals on the Avalon® -ST pass-through interface for this example transaction sequence is described in
- NREAD Request Transaction
- NREAD Response Transaction
NREAD Request Transaction
In the first clock cycle of the example, the IP core asserts gen_tx_ready to indicate it is ready to sample data. In the same cycle, user logic asserts gen_tx_valid. Because both gen_tx_ready and gen_tx_valid are asserted, this clock cycle is an Avalon® -ST ready cycle. The user logic provides valid data on gen_tx_data for the IP core to sample, and asserts gen_tx_startofpacket to indicate the current value of gen_tx_data is the initial piece of the current packet (the start of packet). On gen_tx_packet_size, user logic reports the full length of the packet is 0xC, which is decimal 12, because the packet comprises 12 bytes of header.
Figure 31. Avalon® -ST Pass-Through Interface NREAD Request Send and Response Receive Example
The NREAD request transaction contains no payload data. The NREAD request requires a single clock cycle. During this clock cycle, user logic asserts gen_tx_endofpacket and reports on gen_tx_empty that the number of empty bytes is 4. The initial 12 bytes of the NREAD request packet contain header information.
Field | gen_tx_data Bits | Value | Comment |
---|---|---|---|
ackID | [127:122] | 6'h00 | Value is a don’t care, because it is overwritten by the Physical layer ackID value before the packet is transmitted on the RapidIO link. |
VC | [121] | 0 | The RapidIO II IP core supports only VC0. |
CRF | [120] | 0 | This bit sets packet priority together with prio when CRF is supported. This bit is reserved when VC=0 and CRF is not supported. |
prio[1:0] | [119:118] | 2'b01 | Specifies packet priority. |
tt[1:0] | [117:116] | 2'b01 | The value of 1 indicates 16-bit device IDs. |
ftype[3:0] | [115:112] | 4'b0010 | The value of 2 indicates a Request Class packet. |
destinationId[15:0] | [111:96] | 16'hDDDD | The value indicates the ID of the target. |
sourceId[15:0] | [95:80] | 16'hAAAA | The value indicates the ID of the source. |
ttype[3:0] | [79:76] | 4'b0100 | The value of 4 indicates an NREAD transaction. |
size[3:0] | [75:72] | 4'b1100 | The size and wdptr values encode the maximum size of the payload field. In this example, they decode to a value of 32 bytes. |
transactionID[7:0] | [71:64] | 8'hBB | Not used for NWRITE transactions. |
address[28:0] | [63:35] | {28’h7654321, 1’b0} | |
wdptr | [34] | 1 | The size and wdptr values encode the maximum size of the payload field. |
xamsbs[1:0] | [33:32] | 2’b00 | Specifies extended address most significant bits. Further extends the address specified by the address fields by 2 bits. |
NREAD Response Transaction
In the first clock cycle of the NREAD response on the Avalon® -ST pass-through interface, user logic asserts gen_rx_hd_ready and gen_rx_pd_ready, and the IP core asserts gen_rx_hd_valid and gen_rx_pd_valid, indicating it is providing valid data on gen_rx_hd_data and gen_rx_pd_data, respectively. The assertion of both the ready signal and the valid signal on each of the header and payload-data Avalon® -ST interfaces makes the current cycle an Avalon® -ST ready cycle for both header and data.
Figure 32. Avalon® -ST Pass-Through Interface NREAD Request Send and Response Receive Example
The IP core asserts gen_rx_pd_startofpacket to indicate the current cycle is the first valid data cycle of the packet. In this clock cycle, the IP core also makes the header and the first 128 bits of payload data available on gen_rx_hd_data and gen_rx_pd_data, respectively. The 32-byte payload requires two clock cycles. In the second clock cycle of data transfer, the IP core asserts gen_rx_pd_endofpacket to indicate this is the final clock cycle of data transfer, and specifies in gen_rx_pd_empty that in the current clock cycle, all of the bytes of gen_rx_pd_data are valid. Following the clock cycles in which valid data is available on gen_rx_pd_data, the IP core deasserts gen_rx_pd_valid.
Field | gen_rx_hd_data Bits | Value | Comment |
---|---|---|---|
pd_size[8:0] | [114:106] | 9’h020 | Payload data size is 0x20 (decimal 32). |
VC | [105] | 0 | The RapidIO II IP core supports only VC0. |
CRF | [104] | 0 | This bit sets packet priority together with prio when CRF is supported. This bit is reserved when VC=0 and CRF is not supported. |
prio[1:0] | [103:102] | 2'b10 | Priority of the response packet. Value must be higher than the priority value of the request packet. In this example, the response packet has a priority value of 2’b10 and the original request has a priority value of 2’b01. |
tt[1:0] | [101:100] | 2'b01 | Indicates 16-bit device IDs.. |
ftype[3:0] | [99:96] | 4'b1101 | The value of 4’hD (decimal 13) indicates a Response Class packet.. |
destinationId[15:0] | [95:80] | 16’hAAAA | The destinationID of the NREAD request are swapped in the response transaction. |
sourceId[15:0] | [79:64] | 16'h0DDDD | The sourceID of the NREAD request are swapped in the response transaction. |
ttype[3:0] | [63:60] | 4'b1000 | The value of 8 indicates a Response transaction with data payload. |
status[3:0] | [59:56] | 4'b0000 | The value of 0 indicates Done. The current packet successfully completes the requested transaction. |
transactionID[7:0] | [55:48] | 8'hBB | Value in the response packet matches the transactionID of the corresponding request packet. |
Reserved[47:0] | [47:0] | 48’h0 |