Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
17268 Discussions

About instantiating multiple function on one transceiver block

Altera_Forum
Honored Contributor II
1,508 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