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

How to constrain the GPIO IP core of a Stratix 10 device

china_cn
Beginner
642 Views

I'm using the Stratix 10 for DDR data acquisition. This part of the function is migrated from CycloneV, and the correctness of data acquisition is verified in cycloneV. But when I used Stratix 10's GPIO ip check ATLDDIO_IN ip core for replacement, there was a timing violation during the compilation of the project. The main problems occur in the following two areas:

1. The setup timing violation in the pin to DDIO. The reason this part appears is that since Quartus sets the input delay chain to a maximum of 63. Therefore, there is a negative margin in the setup slack, but there is a large positive margin in the hold slack. After I manually set the input delay chain to a smaller value, the pin-to-DDIO setup timing violation disappeared.

2. The setup timing violation of full-rate DDIO to the core register. When I checked the data path, I found that the full-rate DDIO output was driven by the falling edge of the clock, but the core registers are driven using the rising edge of the clock, so the relationship of the clock became smaller, resulting in a settling time violation. Instead of using any PLL to phase shift the clock, I used the same clock to drive the DDIO registers and core registers.

For question 2, how should I constrain the clock to accommodate the timing between the full-rate DDIO driven by the falling edge and the core registers driven by the rising edge.

Thank you very much for your answer.

0 Kudos
1 Solution
ShengN_Intel
Employee
585 Views

Thanks for sharing. Seems like the inverter is needed so that the output data can be captured on clock falling edge in order to form full cycle latch for larger setup requirement.

View solution in original post

0 Kudos
3 Replies
ShengN_Intel
Employee
626 Views

Hi,

 

Check the link below Full-Rate or Half-Rate DDIO Input Register .sdc Command Examples:

https://www.intel.com/content/www/us/en/docs/programmable/683518/22-3/full-rate-or-half-rate-ddio-input-register.html

Image:

ShengN_Intel_0-1666268792032.png

Probably can help you out.

 

Best Regards,

Sheng

 

p/s: If any answer from the community or Intel Support are helpful, please feel free to give best answer or rate 4/5 survey.

 

0 Kudos
china_cn
Beginner
592 Views

Thank you very much for your reply.

In fact, there is no violation of DDIO's timing. The main thing is that the path from DDIO to the core register has a timing violation.

But I saw a solution in the AN911, which is that the core registers are also latch with the falling edge of the clock. This helped my design a lot and I've successfully solved the issue.

Thanks again for your reply.

0 Kudos
ShengN_Intel
Employee
586 Views

Thanks for sharing. Seems like the inverter is needed so that the output data can be captured on clock falling edge in order to form full cycle latch for larger setup requirement.

0 Kudos
Reply