Part Number: ADS52J90
Hello,
Can you please describe the PRBS patterns (23-bit and 9-bit) supported by the device? I don't see any mention of polynomials or reset values in the datasheet.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Part Number: ADS52J90
Hello,
Can you please describe the PRBS patterns (23-bit and 9-bit) supported by the device? I don't see any mention of polynomials or reset values in the datasheet.
after enabling PRBS mode and selecting the PRBS generator mode, follow below steps to detect valid PRBS pattern on the LVDS data. It is assumed that device is configured in 14 bit LVDS serialization factor.
1) Apply a trigger pulse on the TX_TRIG pin (This will start the PRBS pattern with seed value).
2) Depending on the PRBS_MODE bit logic, the device gives out the respective seed value as listed below. So RTL logic that looks for valid PRBS data on the device output in the FPGA should wait for valid seed value.
3) The next value can be calculated from this seed value using the logic given below.
Initial PRBSdata = "01010011011100000001010"
Following steps calculates next PRBS data sent out be device:
PRBSdata(22 to 12) <= PRBSdata(10 to 0)
PRBSdata(15) <= PRBSdata(17) xor PRBSdata(22)
PRBSdata(14) <= PRBSdata(16) xor PRBSdata(21)
PRBSdata(13) <= PRBSdata(15) xor PRBSdata(20)
PRBSdata(12) <= PRBSdata(14) xor PRBSdata(19)
PRBSdata(11) <= PRBSdata(13) xor PRBSdata(18)
PRBSdata(10) <= PRBSdata(12) xor PRBSdata(17)
PRBSdata(9) <= PRBSdata(11) xor PRBSdata(16)
PRBSdata(8) <= PRBSdata(10) xor PRBSdata(15)
PRBSdata(7) <= PRBSdata(9) xor PRBSdata(14)
PRBSdata(6) <= PRBSdata(8) xor PRBSdata(13)
PRBSdata(5) <= PRBSdata(7) xor PRBSdata(12)
PRBSdata(4) <= PRBSdata(6) xor PRBSdata(11)
PRBSdata(3) <= PRBSdata(5) xor PRBSdata(10)
PRBSdata(2) <= PRBSdata(4) xor PRBSdata(9)
PRBSdata(1) <= PRBSdata(3) xor PRBSdata(8)
PRBSdata(0) <= PRBSdata(2) xor PRBSdata(7)
PRBS_OUT <= (PRBSdata(15 to 2) + 8192) when (PRBSdata(15 to 2) > 8192) else ( PRBSdata(15 to 2) – 8192)
Initial PRBSdata = "00000000000110111111001"
Following steps calculates next PRBS data sent out be device:
PRBSdata(15) <= PRBSdata(4) xor PRBSdata(8)
PRBSdata(14) <= PRBSdata(3) xor PRBSdata(7)
PRBSdata(13) <= PRBSdata(2) xor PRBSdata(6)
PRBSdata(12) <= PRBSdata(1) xor PRBSdata(5)
PRBSdata(11) <= PRBSdata(0) xor PRBSdata(4)
PRBSdata(10) <= PRBSdata(4) xor PRBSdata(8) xor PRBSdata(3)
PRBSdata(9) <= PRBSdata(3) xor PRBSdata(7) xor PRBSdata(2)
PRBSdata(8) <= PRBSdata(2) xor PRBSdata(6) xor PRBSdata(1)
PRBSdata(7) <= PRBSdata(1) xor PRBSdata(5) xor PRBSdata(0)
PRBSdata(6) <= PRBSdata(0) xor PRBSdata(4) xor PRBSdata(4) xor PRBSdata(8)
PRBSdata(5) <= PRBSdata(4) xor PRBSdata(8) xor PRBSdata(3) xor PRBSdata(3) xor PRBSdata(7)
PRBSdata(4) <= PRBSdata(3) xor PRBSdata(7) xor PRBSdata(2) xor PRBSdata(2) xor PRBSdata(6)
PRBSdata(3) <= PRBSdata(2) xor PRBSdata(6) xor PRBSdata(1) xor PRBSdata(1) xor PRBSdata(5)
PRBSdata(2) <= PRBSdata(1) xor PRBSdata(5) xor PRBSdata(0) xor PRBSdata(0) xor PRBSdata(4)
PRBSdata(1) <= PRBSdata(0) xor PRBSdata(4) xor PRBSdata(4) xor PRBSdata(8) xor PRBSdata(4) xor
PRBSdata(8) xor PRBSdata(3)
PRBSdata(0) <= PRBSdata(4) xor PRBSdata(8) xor PRBSdata(3) xor PRBSdata(3) xor PRBSdata(7) xor
PRBSdata(3) xor PRBSdata(7) xor PRBSdata(2)
PRBS_OUT <= (PRBSdata(15 to 2) + 8192) when (PRBSdata(15 to 0) > 8192) else ( PRBSdata(15 to 0) – 8192)
Thanks!