Results 1 to 4 of 4

Thread: Timing closure

  1. #1
    Join Date
    Oct 2017
    Location
    Norway
    Posts
    20
    Rep Power
    1

    Default Timing closure

    The relevant part of my circuit is shown in figure "figure.jpg".
    There are two timing violations in my system. Both include one of the counter registers and two states in the FSM.
    From TimeQuest, the failing node associated with the counter-register is labelled *_RTM018.

    I can close timing by inserting a DFF between the "ageb"-output and the "flag"-input on the FSM.
    (I don't know the exact term here, but I refer to this as "re-clocking" the flag.)
    However, if I do so then my system performance will be degraded.

    According to the Timing Optimization Advisor, I can reduce delay by using "Fast input/output/output-enable registers".
    When clicking "list all registers", my *_RTM018 node shows up as an input register. Hence, I try to assign the *_RTM018 register as a "fast-input register".
    To do this, I use the Assignment Editor, but I cannot find the correct node when using the Node Finder.
    If I apply the "Fast Input Register" to the register without the _RTM018 label, then Quartus throws an "Ignored Fitter Assignment" with comment that the node is not a simple register. If I apply it to the full node-name, i.e. *_RTM018, then the Assignment Editor cannot recognize it.

    The snipping "failingPath.jpg" shows the one of the two failing paths, with nodes highlighted in red.
    The delay between them is 20.9 ns, which is to slow for my 50 MHz clock.

    Is it possible to assign this register, i.e. "sCntVal[1]_RTM018" as a Fast Input Register, and thereby reducing the path delay ? If so, then how can I do this ?

    If the *_RTM018 register cannot be optimized, then is there a better way than to "re-clock the flag" to close timing ?
    Attached Images Attached Images

  2. #2
    Tricky is offline Moderator **Forum Master**
    Join Date
    Oct 2008
    Posts
    6,070
    Rep Power
    1

    Default Re: Timing closure

    Fast IO registers are only meant for Device Pins. With fast IO registers you cannot have logic before the register. Do some of the inputs come from pins? And if they do, why are they not synchronised to the clock first?

  3. #3
    Join Date
    Oct 2017
    Location
    Norway
    Posts
    20
    Rep Power
    1

    Default Re: Timing closure

    Quote Originally Posted by Tricky View Post
    Fast IO registers are only meant for Device Pins. With fast IO registers you cannot have logic before the register. Do some of the inputs come from pins? And if they do, why are they not synchronised to the clock first?
    I suspected that fast IO registers are for IOs only...
    My inputs are fed through a simple two-stage synchronizer. The figure only shows the part of the circuit that involves the largest delay.

  4. #4
    Join Date
    May 2013
    Posts
    908
    Rep Power
    1

    Default Re: Timing closure

    Can you post your .sdc file?

Similar Threads

  1. A timing closure problem.
    By agump in forum FPGA, Hardcopy, and CPLD Discussion
    Replies: 3
    Last Post: June 21st, 2011, 12:18 AM
  2. Need Ideas To Help With Timing Closure? - Try 'Report Timing Closure Recommendations'
    By smalhotr in forum Quartus II and EDA Tools Discussion
    Replies: 1
    Last Post: June 6th, 2011, 07:02 AM
  3. Timing Closure Floorplan
    By nplttr in forum Quartus II and EDA Tools Discussion
    Replies: 1
    Last Post: December 6th, 2010, 02:05 AM
  4. Timing Closure - Where to start
    By Morgai in forum Quartus II and EDA Tools Discussion
    Replies: 2
    Last Post: July 13th, 2010, 08:18 AM
  5. timing closure problem.
    By Hua in forum Quartus II and EDA Tools Discussion
    Replies: 4
    Last Post: August 9th, 2007, 07:04 AM

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •