Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
11 years ago

About instantiating multiple function on one transceiver block

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 ?
No RepliesBe the first to reply