Forum Discussion

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

Tco in Max II family

Hi,

I'm working on a verilog design and I want to measure the clock to output time (Tco) in this design using MAX II EPM2210F324I5 device.

The value of Tco using timequest timing analyzer (quartus II 13.0 web edition) is 17.033 ns, but in max II Handbook (chapter 1, table 1-1) the value is 4.6ns

Can you explain me why this diference ?? Tco is different in each design ??

Thanks...

4 Replies

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

    Most likely you have not set up your constraints correctly.

    Read this document and look at the associated constraints files:

    http://www.ovro.caltech.edu/~dwh/correlator/pdf/timequest_quad_spi_flash.pdf

    http://www.ovro.caltech.edu/~dwh/correlator/pdf/timequest_quad_spi_flash.zip

    Examples of MAX II Tco from that document are:

    
    Info: TIMEQUEST: Slow process corner timing:
    Info: TIMEQUEST: spi_sck : tco = 4.705 ns
    Info: TIMEQUEST: spi_mosi: tco(min) = 5.397 ns, tco(max) = 5.926 ns
    Info: TIMEQUEST: Fast process corner timing:
    Info: TIMEQUEST: spi_sck : tco = 2.096 ns
    Info: TIMEQUEST: spi_mosi: tco(min) = 2.532 ns, tco(max) = 2.898 ns
    

    i.e., between 2ns and 6ns.

    Cheers,

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

    Although I strongly recommend timing constraints, make sure the last thing you do is register the output. You could then put a Fast Output Register assignment on the output pin, making sure it's placed by the output. (If you have timing constraints, the fitter should do this automatically AND you get something that tells you if it didn't work, but the Fast Output Register can work too)

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

    I dont have timing constraints, then recommendation is setup timing constrains with tco=4.6ns? Ok, any way using constraints is no guaranteed to reach tco=4.6ns, true ?

    and second: what really means the tco value listed in Max II handbook ?

    Thanks.

    Note: Im new in this, I'm implementig a design that calculates an output (using an equation) from one input data where a clk signal indicates a new input data , and Im tryng to determine the time in what I have a valid output after a positive edge clock.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    I dont have timing constraints

    --- Quote End ---

    Then that tells the tool "I don't care", so it does not try :)

    --- Quote Start ---

    then recommendation is setup timing constrains with tco=4.6ns?

    --- Quote End ---

    That is not quite how timing constraints work. You need to tell the synthesis tool "what is the 'latest' a signal can arrive at the external device that output pin is connected to". If that value is 4.6ns, then you need to provide the appropriate timing parameters as TimeQuest constraints. The document I linked to has images that show you how to describe your timing requirements, and Rsync has documents on the AlteraWiki that also describe the procedures.

    --- Quote Start ---

    Ok, any way using constraints is no guaranteed to reach tco=4.6ns, true ?

    --- Quote End ---

    You would have to constrain the tool and see.

    --- Quote Start ---

    and second: what really means the tco value listed in Max II handbook ?

    --- Quote End ---

    Absolutely nothing. Marketing probably just wanted a number to have in the handbook :)

    --- Quote Start ---

    Note: Im new in this, I'm implementig a design that calculates an output (using an equation) from one input data where a clk signal indicates a new input data , and Im tryng to determine the time in what I have a valid output after a positive edge clock.

    --- Quote End ---

    Look at the timing diagrams in the PDF above. Draw timing diagrams for your application. Look at the TimeQuest constraints scripts in the zip file listed above, and create an equivalent version for your application. This will help you determine the maximum operating frequency for your design.

    As Rsync commented, you need to make sure your design is "pipelined", i.e., include input registers, output registers, and internal data processing registers where appropriate. This allows the synthesis tool to move the logic around inside the device while its trying to meet your timing goal.

    Cheers,

    Dave