10-11-2018 02:52 AM
I am trying to implement an asynchronous communication interface using "ISERDESE2 in oversampling mode" and "Data Recovery Unit" similar to XAPP523.
My question is that would it be possible to use ISERDESE2 to perform 1 to 10 bit deserialization (for which I would need to cascade 2 ISERDESE2 in DDR mode) and also use the Data Recovery Unit?
As I have seen in XAPP523 document, the phase shifted version of the data should be passed into a slave ISERDESE2. On the other hand, I also need the slave ISERDESE2 for width expansion. Is my understanding correct? Does it mean that these two cannot be done at the same time?
In contrast to the above-mentioned sentence from XAPP523 document, in the design code I see that both of the ISERDESE2s are set to Master mode (even the one receiving the phase shifted data). Why is it so? Which configuration is correct?
Thank you in advance!
10-16-2018 08:49 AM
The second iserdes is there to provide the other 2 phases of the Asynchronous data.
Therefore the option to do width expansion is not there in this case.
The SERDES_MODE attribute defines whether the ISERDESE2 module is a master or slave when using width expansion. The possible values are MASTER and SLAVE. The default value is MASTER.
This mode is likely there to tell the serdes that it is a slave and only Q8 to Q3 of the slave are used in this expansion mode.
In your case you are not using width expansion so both are set to master in the XAPP code.
10-17-2018 12:09 AM
Thank you for your reply. It was helpful.
Then in this case could you please let me know if it would still be possible to use the XAPP523 design to recover 10-bits parallel data from the stream of serial input data?
I see that the "Data Recovery Unit" has a 10-bit parallel output in the end. Is this the deserialized recovered data from every 10 bits of serial data?
Thank you in advance.
10-17-2018 05:19 AM
It is my understanding that the output is 10-bits of recovered data.