- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Check the link below Full-Rate or Half-Rate DDIO Input Register .sdc Command Examples:
Image:
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page