Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
17247 Discussions

About instantiating multiple function on one transceiver block

Altera_Forum
Honored Contributor II
1,463 Views

Hello everyone! 

 

I am planning to implement 3 x SATA host&device and 1 x PCI express device, using a transceiver block of Cyclone IV GX. 

 

Because there are 4 channel in a transceiver block, so each channel is planning to be assigned like below. 

 

Block#0 Channel# 0: PCI express Gen1 x1 lane 

Block#0 Channel# 1: SATA host# 1 

Block#0 Channel# 2: SATA host# 2 

Block#0 Channel# 3: SATA device# 1 

 

To determine the pin assignment of Cyclone IV GX (EP4CGX30CF23C7N) that are planned to be used, I have designed top-level schematic, using Mega Function in Quarts II software on trial. Because commonly another person will be going to design the internal logic in the FPGA. 

 

To instantiate a PCI express device, I used “IP Compiler for PCI Express” using MegaWizard feature of Qurtus II software. It made some pins related to re- configuration. 

 

These pin names are: 

 

reconfig_clk 

reconfig_togxb[3..0] 

reconfig_fromgxb[4..0] 

and so on…. 

 

To instantiate three SATA devices, I used “ALTGX” by the same way on trial. It, of course, made the same pins as above per each instance. 

 

To Instantiate reconfig controller, I used “ALTGX_RECONFIG” as well. 

I understand that to utilize “Offset Cancellation Feature” is mandatory in case ALTGX’s receiver is used. It made the same pins as well. 

 

I was aware the pins reconfig_fromgxb[4..0] cannot be connected… 

I just only used one block of the transceiver. So, the width of this signal is 5bits. 

So, I could not connect this signal between reconfig controller and each ALTGX instance. 

 

In Chapter3: Cyclone IV Dynamic Reconfiguration in Cyclone IV Device Handbook, Volume 2, the signal reconfig_fromgxb[4..0] is transceiver-block based. Therefore, the width of this signal increases in steps of 5 bits per transceiver block. 

 

The document also says that you can use one ALTGX_RECONFIG instance to control multiple transceiver blocks. However, you cannot use multiple ALTGX_RECONFIG instances to control one transceiver block. 

 

I am now confused. Because, to implement multiple function on one transceiver block of Cyclone IV GX device, I have to instantiate multiple ALTGX instance. But in case I instantiate multiple ALXGX instances on one transceiver block, I cannot connect the pins related to re-configuration between the instances and reconfig controller. 

 

I have a feeling that I am essentially misunderstanding the concept of how to use ALTGX.  

 

Can anyone help me ?
0 Kudos
0 Replies
Reply