Product Discontinuance Notification
1. About the RapidIO Intel FPGA IP Core
2. Getting Started
3. Parameter Settings
4. Functional Description
5. Signals
6. Software Interface
7. Testbench
8. Platform Designer (Standard) Design Example
9. RapidIO Intel FPGA IP User Guide Archives
10. Document Revision History for the RapidIO Intel® FPGA IP User Guide
A. Initialization Sequence
B. Porting a RapidIO Design from the Previous Version of Software
2.1. Installing and Licensing Intel® FPGA IP Cores
2.2. Generating IP Cores
2.3. IP Core Generation Output ( Intel® Quartus® Prime Standard Edition)
2.4. RapidIO IP Core Testbench Files
2.5. Simulating IP Cores
2.6. Integrating Your IP Core in Your Design
2.7. Specifying Timing Constraints
2.8. Compiling the Full Design and Programming the FPGA
2.9. Instantiating Multiple RapidIO IP Cores
2.6.1. Calibration Clock
2.6.2. Dynamic Transceiver Reconfiguration Controller
2.6.3. Transceiver Settings
2.6.4. Adding Transceiver Analog Settings for Arria II GX, Arria II GZ, and Stratix IV GX Variations
2.6.5. External Transceiver PLL
2.6.6. Transceiver PHY Reset Controller for Intel® Arria® 10 and Intel® Cyclone® 10 GX Variations
2.9.1. Clock and Signal Requirements for Arria® V, Cyclone® V, and Stratix® V Variations
2.9.2. Clock and Signal Requirements for Arria II GX, Arria II GZ, Cyclone IV GX, and Stratix IV GX Variations
2.9.3. Correcting the Synopsys Design Constraints File to Distinguish RapidIO IP Core Instances
2.9.4. Sourcing Multiple Tcl Scripts for Variations other than Intel® Arria® 10 and Intel® Cyclone® 10 GX
6.2.1. Capability Registers (CARs)
6.2.2. Command and Status Registers (CSRs)
6.2.3. Maintenance Interrupt Control Registers
6.2.4. Receive Maintenance Registers
6.2.5. Transmit Maintenance Registers
6.2.6. Transmit Port-Write Registers
6.2.7. Receive Port-Write Registers
6.2.8. Input/Output Master Address Mapping Registers
6.2.9. Input/Output Slave Mapping Registers
6.2.10. Input/Output Slave Interrupts
6.2.11. Transport Layer Feature Register
6.2.12. Error Management Registers
6.2.13. Doorbell Message Registers
7.1. Reset, Initialization, and Configuration
7.2. Maintenance Write and Read Transactions
7.3. SWRITE Transactions
7.4. NWRITE_R Transactions
7.5. NWRITE Transactions
7.6. NREAD Transactions
7.7. Doorbell Transactions
7.8. Doorbell and Write Transactions With Transaction Order Preservation
7.9. Port-Write Transactions
7.10. Transactions Across the Avalon® -ST Pass-Through Interface
4.5.3.4. Avalon® -MM Burstcount and Byteenable Encoding in RapidIO Packets
The RapidIO IP core converts Avalon® -MM transactions to RapidIO packets. The Avalon® -MM burst count, byteenable, and, in 32-bit variations, address bit 2 values are translated to the RapidIO packets' read size, write size, and word pointer fields.
Avalon® -MM Values | RapidIO Values | ||
---|---|---|---|
burstcount 24 | address[0] (1'bx) 25 |
wdptr (1'bx) |
rdsize (4'bxxxx)25 |
1 | 1 | 0 | 1000 |
1 | 0 | 1 | 1000 |
2 | 0 | 0 | 1011 |
3–4 | 0 | 1 | 1011 |
5–8 | 0 | 0 | 1100 |
9–16 | 0 | 1 | 1100 |
17–24 | 0 | 0 | 1101 |
25–32 | 0 | 1 | 1101 |
33–40 | 0 | 0 | 1110 |
41–48 | 0 | 1 | 1110 |
49–56 | 0 | 0 | 1111 |
57–64 | 0 | 1 | 1111 |
Avalon® -MM Values | RapidIO Values | |||
---|---|---|---|---|
burstcount26 | byteenable (4'bxxxx) |
address [0] (1'bx)27 |
wdptr (1'bx) |
wrsize (4'bxxxx) |
1 | 1000 | 1 | 0 | 0000 |
1 | 0100 | 1 | 0 | 0001 |
1 | 0010 | 1 | 0 | 0010 |
1 | 0001 | 1 | 0 | 0011 |
1 | 1000 | 0 | 1 | 0000 |
1 | 0100 | 0 | 1 | 0001 |
1 | 0010 | 0 | 1 | 0010 |
1 | 0001 | 0 | 1 | 0011 |
1 | 1100 | 1 | 0 | 0100 |
1 | 1110 28 | 1 | 0 | 0101 |
1 | 0011 | 1 | 0 | 0110 |
1 | 1100 | 0 | 1 | 0100 |
1 | 011128 | 0 | 1 | 0101 |
1 | 0011 | 0 | 1 | 0110 |
1 | 1111 | 1 | 0 | 1000 |
1 | 1111 | 0 | 1 | 1000 |
2 | 111129 | 0 | 0 | 1011 |
4 | 1 | 1011 | ||
6 or 8 | 0 | 1100 | ||
10, 12, 14, 16 | 1 | 1100 | ||
18, 20, 22, 24 | 1 | 1101 | ||
26, 28, 30, 32 | 1 | 1101 | ||
34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64 | 1 | 1111 |
Avalon® -MM Values | RapidIO Values |
|
---|---|---|
burstcount24 | wdptr (1'bx) |
rdsize (4'bxxxx)24 |
1 | 1'b0 | 4'b1011 |
2 | 1'b1 | 4'b1011 |
3–4 | 1'b0 | 4'b1100 |
5–8 | 1'b1 | 4'b1100 |
9–12 | 1'b0 | 4'b1101 |
13–16 | 1'b1 | |
17–20 | 1'b0 | 4'b1110 |
21–24 | 1'b1 | |
25–28 | 1'b0 | 4'b1111 |
29–32 | 1'b1 |
The following table lists the allowed burst count and byteenable combinations for RapidIO IP core variations with a 64-bit Avalon® -MM interface. Avalon® -MM value combinations not listed flag interrupts in the RapidIO IP core.
Avalon® -MM Values | RapidIO Values | ||
---|---|---|---|
burstcount | byteenable (8'bxxxx_xxxx) |
wdptr (1'bx) |
wrsize (4'bx) |
1 | 1000_0000 | 0 | 0000 |
1 | 0100_0000 | 0 | 0001 |
1 | 0010_0000 | 0 | 0010 |
1 | 0001_0000 | 0 | 0011 |
1 | 0000_1000 | 1 | 0000 |
1 | 0000_0100 | 1 | 0001 |
1 | 0000_0010 | 1 | 0010 |
1 | 0000_0001 | 1 | 0011 |
1 | 1100_0000 | 0 | 0101 |
1 | 1110_000028 | 0 | 0110 |
1 | 0011_0000 | 0 | 0111 |
1 | 1111_100028 | 0 | 1000 |
1 | 0000_1100 | 1 | 1000 |
1 | 0000_011128 | 1 | 1001 |
1 | 0000_0011 | 1 | 1001 |
1 | 0001_111128 | 1 | 1010 |
1 | 1111_0000 | 0 | 1000 |
1 | 0000_1111 | 1 | 1000 |
1 | 1111_1100 | 0 | 1001 |
1 | 0011_1111 | 1 | 1001 |
1 | 1111_111028 | 0 | 1010 |
1 | 0111_111128 | 1 | 1010 |
1 | 1111_1111 | 0 | 1011 |
2 | 1111_111130 | 1 | 1011 |
3–4 | 0 | 1100 | |
5–8 | 1 | 1100 | |
9–12 | 1 | 1101 | |
13–16 | |||
17–20 | 1 | 1111 | |
21–24 | |||
25–28 | |||
29–32 |
Related Information
24 For read transfers, the read size of the request packet is rounded up to the next supported size, but only the number of words corresponding to the requested read burst size is returned.
25 Burst transfers of more than one Avalon® -MM word must start on a double-word aligned Avalon® -MM address. If the slave read burst count is larger than one and io_s_rd_address[0] is not zero, the transfer completes in the same manner as a failed mapping: the READ_OUT_OF_BOUNDS bit in the Input/Output Slave Interrupt register is set, sys_mnt_s_irq is asserted if enabled, and the transfer is marked as errored by asserting io_s_rd_readerror for the duration of the burst.
26 For write transfers in variations with 32-bit wide datapaths, odd burst sizes other than 1 are not supported. If one occurs, the INVALID_WRITE_BURSTCOUNT bit in the Input/Output Slave Interrupt register is set, causing sys_mnt_s_irq to be asserted if enabled.
27 Burst transfers of more than one Avalon® -MM word must start on a double-word aligned Avalon® -MM address. If io_s_wr_burstcount is larger than one and io_s_wr_address[0] is not zero, the transfer completes in the same manner as a failed mapping; the WRITE_OUT_OF_BOUNDS bit in the Input/Output Slave Interrupt register is set and sys_mnt_s_irq is asserted if enabled.
28 This is not a legal Avalon® -MM byteenable pattern, but the RapidIO IP core supports it if user logic generates it.
29 For all Avalon® -MM write transfers with burstcount larger than 1, io_s_wr_byteenable must be set to 4’b1111. If it is not, the transfer fails: the INVALID_WRITE_BYTEENABLE bit in the Input/Output Slave Interrupt register is set and io_s_mnt_irq is asserted if enabled.
30 For all Avalon® -MM write transfers with burstcount larger than 1, io_s_wr_byteenable must be set to 8’b1111_1111. If it is not, the transfer fails: the INVALID_WRITE_BYTEENABLE bit in the Input/Output Slave Interrupt register is set and io_s_mnt_irq is asserted if enabled.