Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
118 Views

Hello. I'm new to FPGAs/CPLDs, and am doing a project with the MAX V 5M160ZE64A5N CPLD and am getting timing failures with a 100MHz clock.

The 100MHz clock is clocking I/O and generating time delays in the logic circuit. I have used the Timing Analyzer and SDC file to constrain the clock, as well as the I/O, however I am getting errors with failed timing paths. See attached for the top failing paths from Timing Analyzer.

 

If I change my clock to 50MHz, I then have no failing paths. However, a 100MHz clock is favourable for my application. My question is, is there a way I can optimise my timing paths so that I can still use a 100MHz clock without timing failures, or is this a limitation which can't be worked around without changing the CPLD or my logic circuit?

 

Many thanks

0 Kudos
8 Replies
Highlighted
Moderator
72 Views

Just from that timing report, you have a huge amount of clock skew, almost 5 ns, between the sources and destinations of the failing paths. How is your clocking set up? Have you gated your clocks for some reason?

 

#iwork4intel

0 Kudos
Highlighted
Beginner
72 Views

Thanks for the reply. No I haven't gated my clocks, but the clock is fanned out to a total of 96 d-type flip flops.

 

See attached for my logic diagram. This circuit is duplicated 6 times, all instances of which are identical, but share the same clock.

0 Kudos
Highlighted
Beginner
72 Views

An update - I have optimised my logic circuit design. I still get timing path failures when using a 100MHz clock, yet a 50MHz clock has zero failed timing paths. However, I now have zero clock skew. See attached my new failing paths in Timing Analyser and new logic circuit (which is again repeated 6 times, with a shared clock).

 

Any help rectifying my timing path failures for a 100MHz clock would be greatly appreciated.

 

Many thanks

0 Kudos
Highlighted
Moderator
72 Views

Well, now instead of large clock skew, you have large data path delays. What did you change in your design? Why are you using the data signal as the clrn control on the registers? The large fanout there could be the problem now.

 

#iwork4intel

0 Kudos
Highlighted
Beginner
72 Views

I removed the clocks from all inputs and outputs, as they were not required and actually causing application issues. And I introduced a second timer on each of the 6 sub-circuits, as using one single timer was also causing application issues. I am using the data signal as the clrn control for the flip-flops as again, for my application, I would like to clear them when this signal is low - is this how this function is intended to be used?

 

I've experimented with disconnecting the clock signal from some of the flip-flops in order to play with the fanout. Although the number of flip-flops connected to the clock signal did change the slack, there was no correlation between the fanout number and the amount of slack - ie. reducing the fanout didn't necessarily reduce the negative slack and increasing fanout didn't necessarily increase negative slack.

 

Many thanks

0 Kudos
Highlighted
Moderator
72 Views

No, clrn is for resetting a register. It is typically only used at reset time and used with a separate reset signal that goes low at reset time and then is held high during normal operation. D flip flops are cleared during normal operation by the D input being low at a clock toggling edge (positive or negative edge depending on the flip flop).

 

And as I stated, the fan-out of the data/clrn signal may be an issue now, not the clock signal, so I'm not sure I understand your second paragraph.

 

Can you also clarify exactly which paths are failing timing? It's difficult to correlate your timing report with the tiny text on the schematic.

 

#iwork4intel

0 Kudos
Highlighted
69 Views

Hi,

Do you have any updates?

Thanks.

Best regards,

KhaiY

Tags (1)
0 Kudos
Highlighted
56 Views

Hi,

We do not receive any response from you to the previous question/reply/answer that I have provided. This thread will be transitioned to community support. If you have a new question, feel free to open a new thread to get the support from Intel experts. Otherwise, the community users will continue to help you on this thread. Thank you

Best regards,

KhaiY

0 Kudos