Run Timing on a Cheaper Speed Grade to Save Money



This post lists useful information extracted from part 3 of the Intel online training: Quartus Prime Integration & Reporting. It lists a tip on running different speed grades to see if you can meet timing with a less expensive device. It also lists that you may want to run timing after synthesis since the post synthesis results are only preliminary and that a synchronous I/O delay constraint depends on the clock that launches or latches the data.


The Video



Partially Expanded Transcript


0:00

welcome to the timing analyzer online

training my name is Steve this training

is available for desktop viewing as well

as in format compatible with portable

devices both available from the same

link included in your registration email

for it either version while watching the

training use the controls at the bottom

and side of the screen to navigate to

any point feel free to pause the

training at any time to experiment with

the software when you're done with the

training please use the link provided in

the registration email you're sent to

provide us feedback on the training and

ways in which it can be improved I'll

remind you about that later


0:41

in this

course you will learn how to perform

timing analysis in the Intel Quartus

prime software using timing analyzer you

will use synopsis design constraints or

SDC files

to constrain a design to meet timing

requirements and to compare results

you'll learn how to generate time

reports in timing analyzer and came

familiarity with its graphical user

interface


1:07

here is the agenda for this

course in the first part we looked at

basic timing analysis concepts and

terminology used in timing analyzer this

included a discussion of the terminology

used to select nodes from the SDC

netlist for targeting timing constraints

in the second part you are introduced to

the timing analyzer GUI and its use in

this part you'll learn how to

incorporate timing analyzer into the

Intel Quartus prime design flow and take

a look at timing analyzers reporting

features in more detail in the final

part available on the Intel training

website and leaked at the end of this

training you learn about SDC constraints

required to fully constrain a design as

well as a number of optional constraints


1:52

now that you know the basics of how to

use the tool how do you incorporate its

use into the Intel Quartus prime design

flow


2:01

here is a slightly altered version

of a typical Intel Quartus prime design

flow that incorporates the use of the

timing analyzer if you are using the

Intel Quartus prime standard or lite

you could use a postive assist netlist

to start creating timing constraints in

analyzing the design before performing a

full compilation to do this for

synthesizes the design timing analyzer

requires the design to be synthesized in

order to create a post map netlist


2:32

next

you'll use the timing analyzer flow just

presented to specify timing requirements

for the design as mentioned earlier

timing analyzer in the until quarters

Prime Pro Edition software does not

support analysis with a Poe synthesis

netlist


2:47

if you're using this edition of

the tool you'll start by adding your

diet SDC file or files to the Intel

Korres project settings which we'll

discuss in a moment



Timing Requirements: Create Post-Map Netlist (Lite & Standard Editions)

Slide Text

Timing Requirements: Create Post-Map Netlist (Lite & Standard Editions)


Follow Timing Analyzer flow


Use -post_map argument for synthesis (mapping) only netlist

  • If design already fully compiled, choose -post_fit (default)


Tasks command defaults to post-fit, so mustuse Netlist menu in GUI


(Options) Choose different device speed grade to see if design meets timing in faster / slower device


Zero IC delays auto-enabled with Post-map

  • Assume no interconnect delays

  • "Will it be at all possible to meet timing?"


Transcript

Follow the timing analyzer flow discussed earlier starting with the creation of the timing netlist. When generating the timing netlist use the -post_map argument to use the post synthesis netlist if the design has only been synthesized and not fully compiled. To do this either use the create_timing_netlist command with the -post_map argument in the console or use the GUI and select post map as the input netlist type is shown here. If you have already

performed a full compilation use the default post fit netlist type. With a slow corner delay model you can also choose a device speed grade to use for the analysis. By default if this option is enabled the speed grade of the currently target device is used. Change

the speed grade to see if a design that is not meeting timing could meet timing in a faster device or to see if a design already meeting time it could still be timing in a slower, potentially less expensive, device. With the post map netlist type selected the Zero IC (interconnect) Delays option is turned on automatically. Since there is no routing yet selected with the post map netlist, the timing analyzer should assume that there are no delays on any interconnect in the device to see if it will be at all possible to meet the timing requirements specified by the constraints.



Timing Requirements: Enter Constraints and Generate Reports

Slide Text

Timing Requirements: Enter Constraints and Generate Reports


Edit Constraint via Edit Menur -> Insert Constraints in SDC Editor


Use Constraints menu or Console pane to constrain netlist directy

  • Write out directly-entered constraints to .sdc file

(Option) Read in .sdc file and generate preliminary timing reports


Transcript

Continuing the Timing Analyzer flow enter or create constraints in the usual manner either directly in the console or the SDC file editor, either manually or with the GUI constraint dialog boxes. Remember that if you are entering constraints in the console you'll need to write out a .sdc file for use by the Intel Quartus Prime fitter. At this point you could continue the timing analyzer flow presented earlier, reading in the .sdc file you've created and generate timer reports. However, note that reports generated at this stage of the design flow based off the postsynthesis netlist only provides preliminary timing numbers for the design. Paths that fail timing in these reports may be optimized and improved by the fitter during a full compilation allowing them to meet timing. As such only use post map reports to help with fully constraining the design and to get an idea of what the final timing numbers for the design could be.



5:33

next for all editions of the Intel

Korra's prime software you'll specify

timing analyzer settings and select the

dot SDC file or files for the Intel

cores prime software to use as a guide

during fitting


5:49

the Intel Quartus prime

software uses SDC constraints during the

placement and routing of a design the

constraints are used as a guide for

selecting device resources that will

meet all timer requirements for all

timing models when choosing the files to

use the fitter first looks for dot SDC

files that have been explicitly added to

the project settings if no SDC files

were added to the project the fitter

looks in the project directory for a dot

SDC file that has the same name as a

current revision of the project this is

the save behavior used by the timing

analyzer tool


Intel Quartus Prime Design Software Timing Analyzer Settings

Slide Text

Intel Quartus Prime Design Software Timing Analyzer Settings


Assignments menu -> Settings


Report worst-case paths in Intel Quartus Prime Design Software Compilation Report


Customize reporting with script (without having to switch over to Timing Analyzer)


Note: See Appendix for informatiobn on Enable common clock path pessimism removal (CCPP) option


Transcript

The addition of .sdc files to the Intel Quartus prime project and other timing analyzer settings are found at the timing analyzer category of the settings dialog box. Browse for .sdc files and click the Add button to add them to the list. You can change the order in which the files are used by clicking the up or down buttons. The fitter views multiple dot SDC files as basically one long SDC file. Constraints that are dependent on other constraints must be listed below

the constraints they depend on either in the same file or across files when multiple files are added here. For example a synchronous I/O delay constraint depends on the clock that launches or latches the data. The clock constraint for this I/O constraint must either be listed earlier in a single SDC file or in a file higher up in the list when multiple files are used. It is also possible to have duplicate constraints. A duplicate constraint is a timing constraint lower down in a single .sdc file or lower in the file list that is in the same type of constraint and targets the same location in a timing netlist as another constraint. Timing Analyzer and the fitter will use the duplicated constraint overwriting the first constraint and displaying a warning. However in some cases it may be advantageous to target a particular location in the netlist with different values for a single type of constraint. As we'll see some constraints include options for doing this. Timing Analyzer settings also contain options for generating Timing Reports directly in the Intel Quartus prime software. With the options indicated you could enable the reporting of worst-case paths in the accomplish report and select a Tcl script to customize the Timer Reports generated during compilation. normally the Timer Reports generated and displayed in the compilation report are very basic require you to switch back to the timing analyzer interface to generate more detailed customized reports. with these options you could generate the same detailed reports in the Intel Quartus Prime compilation report without having to switch.


8:47

once the

timing analyzer settings are configured

in the Intel Quartus prime software

for my full compilation the fitter will

be guided by the SDC timing constraints

if you are using the Intel quarters

Prime Pro Edition either perform a full

compilation or compile up to the fitter

stage desired either planning placement

or routing after compiling use the

extensive reporting capabilities of the

timing analyzer tool to verify whether

you met your timing requirements during

compilation timing summary reports based

on the post fitna lists are generated

and appear automatically in the Intel

Quartus prime compilation report for

more detailed timing verification follow

the steps for using the timing analyzer

reporting features mentioned earlier

when creating the timing netlist use the

post FET netlist option if using the

Intel Quartus prime Lite or standard

edition or the desired fitter snapshot

if using the Pro Edition when creating

the netlist you can choose to turn on

the 0ic delays option this is normally

off for a post fit netlist but you can

turn it on to see if there's any chance

of meeting timing with the current

timing constraints and project settings

if timing fails at this stage even with

0ic delays enabled you'll probably have

to adjust your timing constraints or

optimize the project in some way in

order to meet timing once the netlist is

generated you can access the most

commonly used timely reports from the

tasks pane to easily recreate the same

reports each time you use the tool place

reporting commands in a tickle script

file and run the script from the timing

analyzer script menu using a script file

is also very useful if you are creating

your own customized timer reports it

saves time and having to create

complicated report commands remember

that the reports you generate after the

fitter has run should be used to verify

whether the fitter was able to meet your

timely requirements if any part of the

design is failing timing at this point

the design or timing constraints must be

adjusted to fix the problem and the

design recompile to implement the fix

before discussing SDC constraints in

detail let's take a closer look at some

of the reporting options available in

timing analyzer before looking at

reports in timing analyzer let's look at

reports that appear in the Intel

quarters compilation report here you can

see the basic timer reports generated by

the tool during compilation notice the

multiple timing model report folders

within the timing analyzer report folder

Multi corner analysis performs timing

analysis for all timing models supported

by the targeted device each timing

models folder includes summary reports

with the worst case positive or negative

slack displayed for each clock domain in

the design as mentioned you can also

have the tool generate additional more

advanced reports using a tickle script

these additional reports appear in a

separate folder in the complex Report

named time quest timing analyzer GUI to

create more detailed reports and have

more control over what reports are

generated use the reporting features of

the timing analyzer tool you can quickly

create simple reports from the task pane

or reports menu or create more

complicated reports with reporting

dialog boxes and command line reporting

features again store your reporting

commands in a tickle script to easily

recreate reports when making changes to

timing constraints all generated reports

can be output to three different

destinations by default all generated

reports appear in the view pane and are

listed in the report pane you could give

a custom name to report in the report

pane or the view pane with the dash

panel name option the dash multi corner

option works with the dash panel name

option to create placeholder reports for

additional timing models this makes it

easy to create custom reports for all

supporting timing models using the

options discussed earlier reports can

also be displayed in the console with

the dash standard out option another

option is to store reports as external

files you can create plain ASCII tech

files or HTML files for display on the

web use the appropriate options in the

console or in the reporting dialog boxes

to select where and how reports should

appear here is what a report appearing

in the view pane looks like with the -

multi corner option enabled a folder is

created to store the individual reports

for each supporting timing model without

the - multi corner option only a single

report would appear in the report pane

and the report in the view pane would

include the custom report name reports

output to the console look like this

expand individual paths in the report to

get more detail finally reports output

to files look like this they contain all

the textual information that would be

found in a report in the GUI create new

files in either plain text or HTML

formats or pen new reports to existing

ones reports are organized by report

type in the tasks pane and the reports

menu one type of report you can generate

our diagnostic reports diagnostic

reports don't contain specific timing

information but they do contain

information that is helpful for

constraining a design we've already

discussed report underscore SDC command

that is used to see what constraints

have been applied to the netlist report

underscore clocks provides a list of all

constrained clocks in the design any

signal that is located on a device clock

pin or the clock input of a register is

considered a clock signal that must be

constrained report ignored constraints

list constraints that the timing