Using the Transceiver Reconfiguration Controller for Dynamic Reconfiguration in Arria V and Cyclone V Devices
Using the Transceiver Reconfiguration Controller for Dynamic Reconfiguration in Arria V and Cyclone V Devices
The reconfiguration methods are similar between Arria V, Cyclone V, and Stratix® V devices. The features supported in Arria V and Cyclone V devices are a subset of those supported in Stratix V devices.
Reconfiguration Methods
Register-Based Reconfiguration
The design example in this application note demonstrates the following:
- The analog (PMA) reconfiguration update on the VOD settings
- The method to trigger the duty cycle distortion (DCD) calibration
Streamer-Based Reconfiguration
There are two supported modes: MIF Streaming and Direct Write. Both modes use the streamer module in the Reconfiguration Controller. The streamer module uses the same address to carry out reconfiguration. However, the data values are different and you must specify that to the Reconfiguration Controller.
- MIF Streaming mode (Mode
0):
- Streams the entire content of a MIF
- Uses the streamer module
The advantage of this mode is you only need to use one command to execute the write process of the entire MIF. You do not need to manually control the write process to dedicated reconfiguration addresses such as PMA settings, reference clock selection, and PLL selection.
The design example demonstrates the streamer-based reconfiguration mode when switching the TX PLL connected to the transceiver channel.
- Direct Write mode (Mode
1):
- No MIF streaming is required
- You need to selectively write the reconfiguration data
- May require multiple writes and reads
The advantage of this mode is to access the reconfiguration address that is not supported by the register-based method.
Transceiver Calibration Function
The Reconfiguration Controller supports two calibration functions: offset cancellation and duty cycle distortion (DCD) calibration.
The design example shows how to execute the DCD calibration from the Reconfiguration Controller.
Unsupported Reconfiguration Modes
The Reconfiguration Controller in Arria V and Cyclone V devices does not support the following modes:
- Switching between a receiver-only channel and a transmitter-only channel
- Switching between one PHY IP to another PHY IP (for example, switching from a deterministic latency PHY IP to a custom PHY IP)
- Switching between PMA Direct mode to non-PMA Direct mode
- Bonded mode configuration
- TX PLL reconfiguration if the TX PLL is connected to bonded channels
Arria V GX Dynamic Reconfiguration Design Example
The reconfiguration commands are controlled through the System Console tool that ships with the Quartus II software. This design example demonstrates the following reconfiguration methods:
- Streamer-based
reconfiguration
- The MIF streaming reconfiguration is used to switch the TX PLLs that are connected to the transceiver channel.
- Register-based
reconfiguration
- Changing VOD setting
- Triggering DCD calibration manually
The design example consists of the following modules. The numbers refer to the position of the modules in the following figure. The system-level diagram shows how the different modules interact in the reconfiguration design example.
- Arria V GX Transceiver Native PHY IP
- Transceiver Reconfiguration Controller
- Qsys system
- PHY Reset Controller
- CMU PLL – Transceiver PLL
- Fractional PLL (fPLL) – Altera fPLL
- ROM containing the MIF for reconfiguration
- In-System Sources and Probes (ISSP)
The design example also contains a PRBS data generator and checker. The data generator generates a PRBS15 data pattern. The data checker verifies the PRBS15 data received.

Creating the Qsys System
The reconfiguration design example uses a simple Qsys system that consists of three components: the JTAG to Avalon Master Bridge, the External Slave Interface, and the PIO.
Follow the steps below to examine the Qsys system:
- Launch the Quartus II software
- On the File menu, click Open
- Browse and select the console_interface.qsys file located in the original_design/ directory
- Click Open
The Qsys System Components
The Qsys tool launches and shows all components used.
The Qsys system contains the following components:
- The JTAG to Avalon Master Bridge component acts as the master in the design example and is the main communication channel between the System Console tool and the external slave interface in the design. The System Console tool issues Avalon reads and writes to the Reconfiguration Controller to carry out reconfiguration of the PHY IP.
- The External Slave Interface component exports all required Avalon signals to the top-level design. With the Avalon signals exported, the Qsys system can interface with any Avalon-compliant component that resides outside of the Qsys component library.
- The Transceiver Reconfiguration Controller is an Avalon-compliant component. Therefore, the External Slave Interface component must be connected to the JTAG to Avalon Master Bridge.
- The PIO component uses external input as control bits in the system. In this design example, the PIO is connected to the rate_select port, which is used to trigger the rate change of the channel from 2500 Mbps to 5000 Mbps. The PIO connects to the JTAG to Avalon Master Bridge. You can also connect any PIO to status bits to be monitored externally.

Name |
Component Name |
Base Address |
Description |
---|---|---|---|
reconfig |
External Slave Interface |
0x000 |
Exports Avalon signals to interface with the Reconfiguration Controller |
pio_0 |
PIO (Parallel I/O) |
0x800 |
Export the rate_select port for TX PLL selection |
Creating the Transceiver Native PHY IP
The Native PHY is created such that two transmit PLLs are used to clock the data channels. Both transmit PLLs are instantiated using external transceiver PLLs. The CMU PLL and fPLL are selected as the external transceiver PLLs. Follow the steps in the following figures to set up the parameters required by the Native PHY to switch between the two external transceiver PLLs.
Turn on the Enable CDR dynamic reconfiguration option to allow the data rate change of the CDR during streamer-based reconfiguration. With the Reconfiguration Controller connected, you can selectively determine which transmit PLL is used.
Refer to the gxb_duplex.v file in the design example for the standard PCS settings.
Creating the Reconfiguration Controller
The Reconfiguration Controller controls the dynamic reconfiguration of Arria V and Cyclone V PHY IPs.
The following steps describe how to set up the Reconfiguration Controller to dynamically control the PMA settings, change the PLL selection by streaming a MIF, and trigger DCD calibration manually.
The Native PHY IP created in the previous section requires two reconfiguration interfaces, one for the REGULAR RX/TX Channel and one for the CDR TX PLL, as shown in the following figure. You can verify the logical interface information in the Transceiver Reconfiguration Report.

The Transceiver Reconfiguration Report is located under Fitter Report > GXB Report.
Refer to the parameters setting in the figure below to set up the Interface Bundles, Transceiver Calibration functions, Analog Features, and Reconfiguration Features functions.
The Interface Bundles section specifies two interface bundles. The first interface is connected to the RX/TX channels as shown in Figure 1. The second interface is connected to the CMU PLL.
The following table shows the Interface Bundles connection in the top-level design file a5_top.v.
Reconfiguration Ports |
Native PHY/ CMU PLL Ports |
Connected to |
---|---|---|
[69:0] ch0_0_to_xcvr [45:0] ch0_0_from_xcvr |
[69:0] reconfig_to_xcvr [45:0] reconfig_from_xcvr |
Connected to RX/TX channel |
[69:0] ch1_1_to_xcvr [45:0] ch1_1_from_xcvr |
[69:0] reconfig_to_cmu [45:0] reconfig_from_cmu |
Connected to CMU PLL |
In the Transceiver Calibration Functions section, turn on the Enable duty cycle calibration option.
In the Analog Features section, turn on the Enable Analog controls option to enable VOD setting reconfiguration.
In the Reconfiguration Features section, turn on the Enable channel/PLL reconfiguration option to allow the streamer-based reconfiguration process. This reconfiguration mode reconfigures the TX/RX data path, CDR settings, and TX PLL selection.
After all parameters have been specified, you can generate the Reconfiguration Controller.
Creating the CMU PLL Using an Arria V Transceiver PLL
When you turn on the Use external TX PLL option in the Native PHY IP, you can connect to this external transceiver PLL. This transceiver PLL is referring to the CMU PLL as illustrated in the System Diagram. You can instantiate this IP in the MegaWizard™ Plug-in Manager > Interface > Transceiver PHY > Arria V Transceiver PLL v12.1.
Refer to the following figure to set the parameters for the CMU PLL.
You do not have to turn on the Enable PLL reconfiguration option if you are not dynamically reconfiguring the PLL parameter settings. This option allows you to change the PLL settings to support different data rates.
Creating a Fractional PLL (fPLL) using Altera PLL
The design example uses the Altera PLL v12.1 to configure an fPLL to clock the transceiver channel at 2500 Mbps.
To connect the Native PHY IP to the fPLL, you must turn on the Use external TX PLL option in the Native PHY IP. You can instantiate this IP in the MegaWizard Plug-in Manager > IO > Altera PLL v12. Refer to the figure below to set the parameters in the fPLL.
Creating the Transceiver PHY Reset Controller
The design example uses the Transceiver PHY Reset Controller to control the reset sequence of the transceiver channel.
As shown in the figure below, set the Number of TX PLLs field to 2. In this design example, you switch the TX PLL between the CMU PLL and fPLL. Therefore, you must connect both PLL locked signals, pll_locked[1:0], to the reset controller to indicate the release of tx_digitalreset. The reset controller releases tx_digitalreset whenever there is an assertion on either of the pll_locked[1:0] signals. Leave the remaining settings in the PHY Reset Controller to their default values.
Creating a ROM that Contains the MIF for Reconfiguration
The streamer-based reconfiguration is carried out by streaming a MIF that contains the reconfiguration data to the Reconfiguration Controller. The steps below describe how to generate the MIF for reconfiguration for the design example.
The MIF design is the original design with different settings specified for the Native PHY IP. In the original design, the initial data rate is set to 2500 Mbps. Change the Native PHY IP settings so that after MIF reconfiguration the data rate is 5000 Mbps. To generate the MIFs, use the table below for the settings in the Native PHY IP. Only the settings in the TX PMA tab change.
MIF # |
MIFs (Mbps) |
PMA | TX PMA | TX PLL 0 | TX PLL 1 | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Data Rate (Mbps) |
TX Local Clock Division Factor |
TX PLL Base Data Rate (Mbps) |
Use external TX PLL |
Number of TX PLLs |
Main TX PLL Logical Index |
PLL Base Data Rate (Mbps) |
Selected Clock Network |
PLL Base Data Rate (Mbps) |
Selected Clock Network |
||
1 |
2500 |
2500 |
1 |
2500 |
Enabled |
2 |
0 |
2500 |
non- bonded |
5000 |
non- bonded |
2 |
5000 |
5000 |
1 |
5000 |
Enabled |
2 |
1 |
2500 |
non- bonded |
5000 |
non- bonded |
Compiling the Design Example
The compilation process generates an .sof programming file for the Arria V device.
At this point in the procedure, two designs exist: the original design and the MIF design.
The MIF design is compiled first because the MIF generated will be used by the original design. Specifically, the MIF generated by the MIF design is used in the original design to configure from one data rate to another. To compile a design:
- Open the MIF project in the Quartus II software.
- On the Processing menu, click Start Compilation.
The changes you make in the MIF design are the Native PHY IP parameters listed in the "MIFs Generation in Reference with Native PHY IP Settings" table. Generate a 5000 Mbps design by setting the parameters in your Native PHY IP to create a mif_5000.mif file. Next, generate a 2500 Mbps design by setting the parameters in your Native PHY IP to create a mif_2500.mif file.
After a successful compilation, a reconfig_mif directory is created in the MIF design’s project directory. The following MIFs are used for each data rate:
- 2500 Mbps – mif_2500.mif
- 5000 Mbps – mif_5000.mif
The original design is compiled after the MIF design. However, before the original design is compiled, you must specify the MIF created by the MIF design. The module mif_rom is used to store the MIF. Follow the steps below to specify the MIF.
- Open the original project in the Quartus II software.
- Launch the MegaWizard Plug-In Manager from the Tools menu.
- From the MegaWizard, browse to the original_design/ directory and select mif_rom.v.
- All parameters are the same except that you must specify the MIF. Specify the mif_design/reconfig_mif/mif_2500.mif file by browsing to the MIF.
- Click Finish to generate the new mif_rom module.
- Repeat these steps for the ROM to store the MIF for 5000 Mbps.
After the MIF has been specified, the original design is ready to be compiled. Follow the steps below to compile the design.
- Open the original project in the Quartus II software.
- On the Processing menu, click Start Compilation.
After a successful compilation, a file named a5_top.sof will exist in the original/output_files/ directory. This SOF is used to program the Arria V GX device.
Creating In-System Sources and Probes (ISSP)
The ISSP is instantiated to control the PHY reset, enable serial loopback, and align word boundaries on received data.
The Qsys system communicates with the ISSP to control the Native PHY.
Bit |
ISSP |
Description |
---|---|---|
[2] |
rx_std_wa_patternalign |
Aligns the word boundaries in manual alignment mode |
[1] |
rx_seriallpbken |
Enables the serial loopback of the transceiver channel |
[0] |
hssi_reset |
Used as a system reset |
Performing Reconfiguration with the System Console Tool
With the Avalon to JTAG Master Bridge, reconfiguration commands are directly streamed to the Reconfiguration Controller through the JTAG port. The System Console tool issues commands to initiate dynamic reconfiguration of the Native PHY IP.
This design example uses a Tcl script called main.tcl that consists of several different procedures with different functionality.
Before any reconfiguration can take place, you must first launch the System Console tool. To launch the System Console, perform the following steps:
- Program the Arria V Device with the SOF generated from the original design
- Launch the Quartus II software
- From the Quartus II software, on the Tools menu, click Qsys
- From the Qsys tool, on the Tools menu, click System Console
- Ensure that the present working directory contains main.tcl
The following table lists the procedures in main.tcl. You can type in a procedure name and its value to execute the reconfiguration process. Verify your results with the signal tap file (stp1.stp) by looking at the signals listed in the following table.
Command Name |
<Value> |
Description |
---|---|---|
txpll_register <Value> |
0 |
Select logical TX PLL 0 as TX PLL (fPLL). Only the tx_std_clkout frequency is updated. |
1 |
Select logical TX PLL 1 as TX PLL (CMU PLL). Only the tx_std_clkout frequency is updated. |
|
txpll_mif <Value> |
2500 |
Select logical TX PLL 0 as TX PLL (fPLL). Both the tx_std_clkout and rx_std_clkout frequencies are updated. |
5000 |
Select logical TX PLL 1 as TX PLL (CMU PLL). Both the tx_std_clkout and rx_std_clkout frequencies are updated. |
|
reset |
N/A |
System Reset |
sloopback <Value> |
1 |
Enable serial loopback. Verify with the rx_seriallpbken port in the signal tap file |
0 |
Disable serial loopback. Verify with the rx_seriallpbken port in the signal tap file |
|
read_vod |
N/A |
Read back VOD value (read back data in hexadecimal value) |
write_vod <Value> |
0-63 |
Writing VOD value with valid settings of 0-63 |
patternalign <Value> |
1 |
Enable pattern alignment detection. To resynchronize to the new word boundary after each MIF based reconfiguration, use this command to create a 0-to-1 transition to the rx_std_wa_patternalign signal. |
0 |
Disable pattern alignment detection. Set this signal to 0 to re-assert the rx_std_wa_patternalign signal. |
To reconfigure the transceiver channel, type the reconfiguration commands as shown below in the Tcl Console. For example:
source main.tcl sloopback 1 >> Enable serial loopback txpll_mif 2500 >> TX PLL switch to fPLL. Data channel at 2500 Mbps reset >> Reset the transceiver channel after each streamer-based >> reconfiguration txpll_mif 5000 >> TX PLL switch to CMU PLL. Data channel at 5000 Mbps reset >> Reset the transceiver channel after each streamer-based >> reconfiguration
These commands allow the System Console to communicate directly with the Avalon to JTAG Bridge Master, which in turn communicates with the Reconfiguration Controller.
Streaming a MIF to Perform Channel Reconfiguration
Step |
Reconfiguration Step |
Memory Map Address |
Value Written |
Description |
---|---|---|---|---|
1 |
Write to the logical channel register |
0x38 |
0h |
Logical channel 0 selected (Physical ch0) |
2 |
Write MIF mode 0 to the control and status register |
0x3A |
0h |
Streamer mode selected |
3 |
Write to the "feature” offset register |
0x3B |
0h |
Select “MIF base address” |
4 |
Write to the data offset register |
0x3C |
8000h |
Specify base address at 8000h 1 |
5 |
Write to the “write” bit of the control and status register |
0x3A |
1h |
Trigger "write" operation |
6 |
Write to the "feature” offset register to start the MIF operation |
0x3B |
1h |
Select “Start MIF Stream” |
7 |
Write to the data offset register to trigger the MIF write process |
0x3C |
1h |
Set 1 to trigger the MIF streaming |
8 |
Write to the “write” bit of the control and status register |
0x3A |
1h |
Trigger "write"’ operation |
Manual Trigger for DCD Calibration IP via Register-based Reconfiguration
The following table lists the steps to access the reconfiguration address reserved for DCD calibration IP. You must trigger the DCD calibration IP when you switch from 2500 Mbps to 5000 Mbps because it switches the clock network and the channel data rate is >4915.2 Mbps. In the design example, the DCD calibration is triggered when the data channel is running at 5000 Mbps and after TX PLL switching happens. You can refer to the txpll_mif procedure in main.tcl for more details.
Step |
Reconfiguration Step |
Memory Map Address |
Value Written |
Description |
---|---|---|---|---|
1 |
Write to the logical channel register |
0x48 |
0h |
Logical channel 0 selected (Physical ch0) |
2 |
Write to the data offset register |
0x4B |
0h |
Select DCD calibration mode |
3 |
Write 1 to manually trigger ON DCD calibration IP |
0x4C |
1h |
Manually turn ON DCD calibration IP |
4 |
Check reconfig_busy signals |
Port |
N/A |
reconfig_busy signal stays asserted as long as the DCD IP is calibrating the TX buffer. |
5 |
Write 0 to manually trigger OFF DCD calibration IP |
0x4C |
0h |
Manually turn OFF DCD calibration IP |
Performing VOD Reconfiguration via Register-Based Reconfiguration
You can reconfigure the transceiver channel to change the VOD settings.
To verify the new settings, perform a write to the channel and read back the VOD setting.
Step |
Reconfiguration Step |
Memory Map Address |
Value Written |
Description |
---|---|---|---|---|
1 |
Write to the logical channel register |
0x08 |
0h |
Logical channel 0 selected (Physical ch0) |
2 |
Write to the PMA offset register |
0x0B |
0h |
Select VOD settings |
3 |
Write VOD valid settings |
0x0C |
0-63 |
Set the VOD settings with entered valid settings |
4 |
Write to the “write” bit of the control and status register |
0x0A |
1h |
Trigger "write" operation |
Duty Cycle Distortion Calibration
Duty Cycle Distortion (DCD) calibration is used to calibrate the TX duty cycle to compensate for the skew introduced by different clock networks.
You must turn on the DCD calibration IP when you switch from 2500 Mbps to 5000 Mbps, because TX PLL switching causes a different clock network to be used.
Enable the DCD calibration IP for Arria V and Cyclone V devices if either of the following conditions is applicable:
- Data rate is ≥ 4915.2 Mbps
- Clock network switching (TX PLL switching) and the data rate is ≥ 4915.2 Mbps
The DCD calibration features and options are summarized in the following table. Refer to the usage condition to enable the DCD Calibration IP.
Transceiver Calibration Function |
Option |
Description |
Usage Condition |
---|---|---|---|
Enable duty cycle calibration |
Enabled |
Use DCD calibration IP either during power up or user mode |
|
Disabled |
Disabled DCD calibration features |
Data rate < 4915.2 Mbps |
|
Calibrate duty cycle during power up |
Enabled |
DCD calibration IP process at power up mode and during user mode (manual DCD calibration) |
Data rate ≥ 4915.2 Mbps |
Disabled |
DCD calibration IP will not start at power up mode, but can still be triggered during user mode if the Enable duty cycle calibration option is enabled |
|
|
Create optional calibration status ports |
N/A |
tx_cal_busy , rx_cal_busy , cal_busy_in ports exposed |
tx_cal_busy should be connected to cal_busy_in port if you are using more than one Reconfiguration Controller per side of the device |
The following table lists the data rate usage conditions and when to enable the power up and manual DCD calibration IP.
Data Rate (Mbps) Usage Conditions | DCD Calibration | |||
---|---|---|---|---|
Case | From | To | Power Up | Manual |
Data Rate Switch | ||||
1 | < 4915.2 | < 4915.2 | x | x |
2 | < 4915.2 | ≥ 4915.2 | x | Enabled |
3 | ≥ 4915.2 | < 4915.2 | Enabled | x |
4 | ≥ 4915.2 | ≥ 4915.2 | N/A | N/A |
Example 1 | 6144 | 9830.4 | Enabled | Enabled |
Example 2 | 9830.4 | 6144 | Enabled | x |
Clock Network Switch (TX PLL Switching) | ||||
1 | < 4915.2 | < 4915.2 | x | x |
2 | < 4915.2 | ≥ 4915.2 | x | Enabled |
3 | ≥ 4915.2 | < 4915.2 | Enabled | x |
4 | ≥ 4915.2 | ≥ 4915.2 | Enabled | Enabled |
If your design is using more than one Reconfiguration Controller (per side of the device) and the data channels are running ≥ 4915.2 Mbps, you must chain the Reconfiguration Controller. The following figure shows the chaining method. The chaining is required from the first Reconfiguration Controller until the last Reconfiguration Controller (per side of the device), as long as the DCD calibration IP is enabled.
The purpose of chaining the Reconfiguration Controller is to allow the DCD calibration process to execute sequentially. For example, in the following figure, by chaining the tx_cal_busy signal in the upstream Reconfiguration Controller to the cal_busy_in port of the downstream Reconfiguration Controller, the DCD is calibrated for the transceiver channels connected to the upstream controller before the transceiver channels connected to the downstream controller.
The cal_busy_in port will reset the downstream Reconfiguration Controller when the upstream Reconfiguration Controller is busy with the DCD calibration. The cal_busy_in port of the upstream Reconfiguration Controller is connected to ground. The tx_cal_busy port of the downstream Reconfiguration Controller can be left unconnected.
This process is handled by the Reconfiguration Controller internally. You only need to connect the ports as described for proper functionality.

As this design example demonstrates, the Reconfiguration Controller provides an easy and efficient method to dynamically change the Arria V GX Native PHY IP's settings, including TX PLL switching, VOD setting updates, and triggering the DCD calibration process during user mode.
Document Revision History
Date | Version | Changes |
---|---|---|
December 2015 | 2015.12.04 | Updated URLs for links in several sections. |
March 2015 | 2015.03.04 | Corrected the "Value Written" entry in step 5 of the "Using the Register-Based Reconfiguration Method to Trigger DCD Calibration" table. |
April 2014 | 2014.04.01 | Added a link to the reference design example in the "Arria V GX Dynamic Reconfiguration Design Example" section. |
January 2014 | 2014.01.21 |
|
October 2013 | 2013.10.11 | Updated the "Using the Register-Based Reconfiguration Method to Reconfigure VOD Settings" table. |
April 2013 | 2013.04.11 |
|
March 2013 | 2013.03.01 | Initial release. |