FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6356 Discussions

Debugging DisplayPort IP

BMarp1
Beginner
729 Views

Hi

We have used quartus 19.3 to generated example design for a DisplayPort targeting Cyclone 10 GX Development Kit + Bitec DP Daughter card. There were instructions for generating Tx-Only design from the example design and we were able to generate Tx-only design that worked fine for color bars.

We have re-targeted this design on to a custom board containing CY10GX FPGA. Link training on AUX channel is happening properly and the command log matches with that of a working design. MSA attributes also display correct values. But for some reason, DP_TX goes into Video Idle Pattern DPTX_TX_CONTROL[3:0]. Because of this monitor goes into Sleep mode.

Are there any recommended steps for debugging the DP design on a custom board?

How do we root cause the issue that is driving DP_TX into Video Idle mode ? The problem could also be on our custom board.

 

Regards

 

0 Kudos
6 Replies
Deshi_Intel
Moderator
575 Views

HI,

 

Perhaps you can evaluate your video source design first that interact with DP TX design

 

Also the good news is you already have a working reference design with color bar pattern generator to serve a debug reference

 

When you mentioned you ported over the design to custom board, what's the design changes to be specific ? You want to look into the detail of design changes to help you isolate issue.

  • For instance, is there any changes in Quartus design ? Have you tested the exact working design before with just limited FPGA pinout change to match custom board ?
  • Like wise, what's the board design changes on the custom board as compared to Bitec daughter card ?

 

Thanks.

 

Regards,

dlim

 

0 Kudos
BMarp1
Beginner
575 Views

Thanks for your support.

The video source is clean, its output keeps toggling regularly on SignalTap.

Our custom board has a TI re-driver and a mDP port. TI's re-driver registers look clean and they reflect the link training parameters. But it does not have any registers for main link status.

btc_dptx_is_link_up API was used for identifying the link status. When the link is up, DP_TX goes into NORMAL_VIDEO mode and switches to VIDEO_IDLE mode on link down. But the duration of link up status is so small that nothing is visible on the monitor. Are there any APIs that provide more details into why the link was breaking regularly.

 

Regards

Bhargav

0 Kudos
Deshi_Intel
Moderator
575 Views

Hi Bhargav,

 

Back to my question earlier, have you used back the working DP design from C10 GX dev kit on your custom board ?

  • If yes and DP link training still failed, then perhaps we are dealing with transceiver link tuning issue on your custom board
  • For RX link tuning - Have you sweep different RX equalizer setting in your TI redriver to see if it helps to improve the DP link training result ?
  • For TX link tuning - you can refer to below guideline to learn more about FPGA link tuning

 

Sorry we don't have special debug API.

 

Thanks.

 

Regards,

dlim

0 Kudos
BMarp1
Beginner
575 Views

Thanks for the suggestions.

I have ported the working design to the custom board. It's a 4-lane Tx-only Design. I had to edit the clock pll settings and pin/timing constraints to match the custom board.

We intend to use only TX XCVRs for DP and RX XCVRs are used for another functionality. The RX has additional components on its path as per that protocol requirements.

I will try performing link training with internal loopback and see how it goes.

 

Regards

Bhargav

0 Kudos
Deshi_Intel
Moderator
575 Views

Alright, hopefully everything goes well on your side !

0 Kudos
Deshi_Intel
Moderator
575 Views

Hi,

 

I have not hear back from you for close to 2 months. Hopefully everything went well and you are able to make progress with your project.

 

For now, I am setting this case to closure.

 

Thanks.

 

Regards,

dlim

 

0 Kudos
Reply