Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
Announcements
Need Forum Guidance? Click here

Search our FPGA Knowledge Articles here.
18985 Discussions

Timing constrains between 2 independent clocks with same frequency

MKlee2
New Contributor I
334 Views

Hi,

I’m trying to connect user logic to a stratix10 H-Tile phy.
For the rx and tx path I have user logic connected to the phy, driven by the tx/rx clocks provided by the phy itself. Now I want to transfer this data to system clock driving the rest of my logic. To make things simpler and because there isn’t too much logic, I decided to make my system clock the same frequency as the phys rx/tx (125MHz).


For the transfer I use a handshake logic, but sadly this results in various timing errors (rule violation and = hold slack (see picture)).


I tried setting some multi-cycle constrains, as well as asynchronous clock groups, as these clocks (to my understanding) should be unrelated.
Sadly the violations never change.


Can someone tell me what I’m doing wrong?

Also, maybe I'm reading it wrong, but doesn't the data arrive long before it is needed so why does it show an error?

 

"Schematic" (tx):

User logic --- Handshake --- tx (user logic) --- tx py

user clk     --- tx clk...

timing.PNG

0 Kudos
4 Replies
Macnica_FAE
Beginner
303 Views

If you have a set_clock_groups asynchronous command, then the tool won't check that clock crossing.  And as you can see, the violations are indeed for a clock crossing, since #1 they are being checked and #2 they show up as launch clock and latch clock.  What are you doing for the "handshake"?  That should be a fifo of some sort then, and it will include (internal, invisible perhaps) a false path so that timing is not checked.

Kenny_Tan
Moderator
291 Views

Ya, Manica_FAE was right, this was CDC timing closure.


You can look into this https://www.youtube.com/watch?v=VbL_eflvHM4


Let me know if you still failed to close timing after doing the above.


Kenny_Tan
Moderator
265 Views

any further queries?


Kenny_Tan
Moderator
245 Views

We do not receive any response from you to the previous reply that we have provided. Please post a response in the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you with your follow-up questions. 


Reply