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

8b10b serdes questions

Altera_Forum
Honored Contributor II
1,095 Views

Hello world! 

 

I am trying to make a serial link, 400 Mbps in two Cyclones III, 2 channels, 5 serialisation factor (the output of one 8b10b encoder). Though everything seems within specs, there are a number of reasons why I might lose my deadline: 

 

1. Cyclone III does not support Dynamic bit aligment, so I made a loop with the idle 10b word (K28.5). While it is being sent and byte out is not 8'b101_11100 as it should, the data_alignment of the deserialiser pulses. In theory. In practice, the error bit is asserted so no byte out. Any ideas? 

 

2. Since this link will most likely have random physical length, I guess I should make some phase allignment as well. I use an external pll for the deserialiser, on which I want to use the phase alignment possibilty of the megacore. Still, I don't find somewhere any guidelines as to where and how should I connect it, and what kind of loops should I write. There might be sth, could somebody direct me there?  

 

That it is more or less, I would be really happy if you could help me, I think that what I ask is pretty much corebook, so I guess it will be helpful for a lot of people as well. 

 

Thank a lot in advance
0 Kudos
2 Replies
Altera_Forum
Honored Contributor II
365 Views

One way is to use the 10b words to align the deserializer, not the decoder output. 

 

If you know you never transmit a K28.7 then you known whenever your deserializer has 10'b0011111xxx" or a 10'b1100000xxx" it has a properly aligned word.
0 Kudos
Altera_Forum
Honored Contributor II
365 Views

Hello everybody, 

 

I think it would be useful not to leave "dangling" posts, so I will present what I didn't in the end: 

 

Checking the word before decoding was indeed a good hint, so while the word was not acceptable, bit shifting using the "data_align" port of the ALTLVDS_RX megacore and phase shifting using the ports as presented in page 5-32 of the cyclone iii handbook, using external pll. 

ALWAYS REMEMBER: Fast clock should be half the frequency of the bit rate sent. 

 

Thanks a lot, looking forward to next almost lost deadline :P
0 Kudos
Reply