Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21592 Discussions

I cannot receive a pattern if there are many consecutive '1's without encoding it

Altera_Forum
Honored Contributor II
1,341 Views

Hello, 

I tried a design with a 'Custom phy' tranceiver block in duplex mode in order to transmit a 32-bit pattern (1010111111111111111111111111111) and receive it (via an external connection TX=>RX). Then, i sent the received parallel data to another 'transmitter only' block so as to see the pattern on a oscilloscope. What i saw, though, was not the initially transmitted data. I suspect this happened due to the many coonscutive "1"s. 

 

In a second attempt, i tried sending the data using the 8B/10B encoder/decoder block of the custom phy block of the duplex transceiver and leaving the second transmitter as was (to see the initial data without encoding) and then it worked.  

 

But, what if i want to receive an unknown pattern outside the fpga (without encoding)? Isn't it possible? What i mean is, i can receive only patterns with many transitions? And what about other patterns? I cannot receive them?
0 Kudos
3 Replies
Altera_Forum
Honored Contributor II
482 Views

 

--- Quote Start ---  

 

But, what if i want to receive an unknown pattern outside the fpga (without encoding)? Isn't it possible? What i mean is, i can receive only patterns with many transitions? And what about other patterns? I cannot receive them? 

--- Quote End ---  

 

It depends. 

 

Transceiver receiver channels include a clock-and-data recovery (CDR) unit, which is essentially a PLL that locks to the transitions in the data stream *and* centers the capture of data bits. 

 

It is possible to create custom interfaces, but it is highly dependent on the end application. For example, you can configure the interface in lock-to-reference mode, so that the CDR does not need to lock to data transitions. However, you then lose the feature where the receiver aligns to the center of bits. That may be ok ... but it depends on your application. 

 

Describe what you really want to do, and readers of this forum will provide feedback. 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
482 Views

Thanks for your reply. Actually, I just check the function of transceivers for the moment. I' ll try your suggestion, too. 

 

Eva
0 Kudos
Altera_Forum
Honored Contributor II
482 Views

Hi, 

 

CDR might lose lock to data if the run length violate the specification. It seems like there is no mentioned of the device that you are using. However, you may look into the datasheet and look for run length specs. Note that since you are sending long stream of 1 with a few 0 inside. You might want to consider signal integrity issue which might cause incorrect data received.
0 Kudos
Reply