Whena2 or 4 laneAurora 8b/10b core is implemented in a Spartan-6 device, channel bonding is not implemented correctly.
The problem thatcan occuris that one of the lanes is not in the channel bond chain; the lane does not channel bond and does not execute clock correction operations at the correct time.
This is fixed in version 6.2 of the Aurora 8b/10b core.
The slave that is in the same tile as the master is not defined as a slave because of the code that isin the<name>_transceiver_wrapper below:
chbond_master0 <= tied_to_vcc_i;
chbond_slave0 <= tied_to_ground_i;
chbond_slave1 <= tied_to_vc
The following code is in the instantiation of tile 0:
The master signals are connected correctly; the master input for GTP0 is connected to VCC, and the master input to GTP1 is connected to ground.
The slave signal to GTP0 is connected correctly; to ground. The slave signal to GTP1 is connected to the same signal as GTP0 which is wrong. It is not defined as a slave now.
The code in the instantiationmust be changed to: