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

transceiver toolkit and pma settings/reconfig on arria v

Altera_Forum
Honored Contributor II
1,123 Views

Hi --  

 

We are working on a design with six Arria V GXs, trying to debug a link that has failed to come up on one of our boards. 

 

We first tried to debug this using the transceiver toolkit with the appropriately-modified (pins, device version) design examples (https://www.altera.com/support/support-resources/design-examples/design-software/on-chip-debugging.highresolutiondisplay.html), and following the description from the course. The first problem that we encountered was very simply that the toolkit was mind-numbingly slow -- tens of seconds to open drop down windows, etc. We tried on multiple machines, Q13/Q15, after restarting, etc. to no avail. Has anyone experienced something like this? 

 

But moreover -- we couldn't start auto-sweep (the button was greyed out). (In Quartus 13, the button was available but when clicked it "failed to open link.")  

 

As an alternative, we tried including a user logic controller for the reconfiguration controller. I basically followed the settings in Table 17-10 (https://www.altera.com/content/dam/altera-www/global/en_us/pdfs/literature/ug/xcvr_user_guide.pdf) of the transceiver user's guide or Table 8 (https://www.altera.com/en_us/pdfs/literature/an/an676.pdf) of the Arria V reconfig document. I had to create a "wait" signal, to "hang around" until the reconfig_busy came out of the reconfig controller. This worked for setting RSLB (0x21), and it seemed to work for for the Vod and pre-emphasis first post-tap (which are the only ones I expect to work, based on this link (https://www.altera.com/support/support-resources/knowledge-base/solutions/rd12212014_202.highresolutiondisplay.html)). If I write a non-existent setting, it hangs (no response, reconfig_busy never goes high). Two questions: 

  1. How do I read back the setting? I am confused between the read bit of reconfig_mgmt_writedata, and the reconfig_mgmt_read bit itself. What I would like (and what I thought would work) would be, after writing a setting, to write the reconfig address to 0xA with data 0x2 (read), and then afterwards switch to read for one clock cycle. Then I would expect to see readdata parroting back the setting I just wrote. It doesn't (it's zero). Any suggestions? 

  2. On another of our chips, I tried the same user module, and the reconfig_busy never went high (watching with signal taps), which I was waiting for. How long and under what (if any) circumstances should I wait for this? I understood this basically as "giving the chip a breather, before busy and waitrequest had a chance to kick in." 

 

I've attached the little user logic module. 

 

Please advise if I can clarify anything else. 

 

Best --  

 

Jamie
0 Kudos
0 Replies
Reply