Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
11 years ago

Post synthesis timing analysis using TimeQuest Timing Analyzer

Dear all,

(what the plan?)

I am planning to use DE0 Nano FPGA board for checking a simple example of a counter. Before putting the design into the board, I would like to verify the design (after synthesis, place and route etc) for timing constraints and make sure that my delay constraints are met and the design would work perfectly for the 50MHz clock (of DE0 Nano)

(what is done so far?)

I have tried various clock frequencies in the TimeQuest Timing analyzer and found out that the design is working with a 'minimum pulsewidth slack' of '0ns' when the clock frequency is around 250MHz. If I increase it further, the slack would become negative. From that I assume that, my design will work at a max clock freq of 250 MHz. (attachment 2 is the circuit I have used for this analysis)

(doubts)

  1. What are the constraints (other than the clock freq), one should check to make sure that the design will work once it is put in the FPGA ?

  2. Should I check setup violation, hold violation etc? If yes, how do I specify the inputs to check them?

  3. Are there any constraints like clock to q, clock to pad etc. If yes, where should I specify them and how can I include those while doing synthesis, place & route etc ?

  4. Is there any other method to give timing constraints to the design other than through the .sdc file (attachment1 the sample .sdc file generated by the TimeQuest Analyzer) ?

Thanks a lot

3 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi,

    1) You will have to check for all violations. Setup, hold etc to make sure design will work on FPGA.

    2)Yes you need to check the violations. After you compile your code, under the table of contents you can see the TimeQuest timing analyzer. In case if there are any violations it will be highlighted in red and show you specifically what violations when you expand it.

    3 & 4) You need to specify all the constraints in the sdc file. I think this is the only way to do it.

    Thanks,
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Set period to 20ns into sdc clock

    Add false_path from * to led to no constraints output (with led there are no timing to respect)

    You can compensate clock with a PLL if timing is no meet (check why with timequest)