Transceiver toolkit reference design: why is BER never 1 or close to 1
I have questions on the reference design for transceiver toolkit on cyclone 10 dev kit provided here: https://fpgacloud.intel.com/devstore/platform/17.1.1/Pro/cyclone-10-gx-xcvr-toolkit-reference-design/ . I am using Quartus prime 19.1, and I adapted the quartus design to use the usb type c instead of FMC connector since I don't have FMC loopback and our project is using usb type c.
When I sweep the PMA settings in transceiver toolkit, I see that the maximum BER is never above 0.015503. I remove the external loopback connector as stated in the pdf user guide (page 10) for this project and the BER is still never above 1.55% no matter how many times I reset counter/restart. I see that the lock is lost and the yellow highlights as expected on the user guide, but I would expect the BER to be close to 1 since there is no physical path for data to be sent. I also tried adapting the project to my hardware using Arria 10, and saw the BER was always 1.55%. In my hardware, using a third party IP, USB will enumerate through the type C so this always high BER is unexpected.
As of now, I am questioning the setup of enabling transceiver toolkit in the project, and I would like to know if a maximum BER of 1.55% is indicative of an issue with the design, or maybe issue with transceiver toolkit. I saw that in the example design IP settings, the enable reconfiguration and ADME in one of the IP components was not enabled and they are required based on https://www.intel.com/content/www/us/en/programmable/support/training/course/otcvrkita10.html
Enabling this or and the recommendations I found in transceiver PHY user guide did not fix my BER being maximum 1.5%. THe recommendations from PHY user guide: https://www.intel.com/content/www/us/en/programmable/documentation/hki1486507600636.html
"To enable Intel® Cyclone® 10 GX transceiver toolkit capability in the Native PHY IP core, you must enable the following options:
- Enable dynamic reconfiguration
- Enable Altera Debug Master Endpoint
- Enable capability registers
- Enable control and status registers
- Enable PRBS (Pseudo Random Binary Sequence) soft accumulators"
I implemented second option here:
"Note:When you enable ADME in your design, you must
- connect an Avalon-MM master to the reconfiguration interface
- OR connect the reconfig_clock,reconfig_reset signals and ground the reconfig_write, reconfig_read, reconfig_address and reconfig_writedata signals of the reconfiguration interface. If the reconfiguration interface signals are not connected appropriately, there will be no clock or reset for the ADME and ADME will not function as expected"