PF Smarttime Sta Ug PDF
PF Smarttime Sta Ug PDF
User Guide
SmartTime Static Timing Analyzer
PolarFire FPGA
NOTE: PDF files are intended to be viewed on the printed page; links and cross-references in this PDF file
may point to external files and generate an error when clicked. View the online help included with
software to enable all linked content.
SmartTime Static Timing Analyzer User Guide
3
SmartTime Static Timing Analyzer User Guide
Table of Contents
4
SmartTime Static Timing Analyzer User Guide
Glossary ....................................................................................................... 88
5
SmartTime Static Timing Analyzer User Guide
About SmartTime
SmartTime is the Libero SoC gate-level static timing analysis tool. With SmartTime, you can perform
complete timing analysis of your design to ensure that you meet all timing constraints and that your design
operates at the desired speed with the right amount of margin across all operating conditions.
Note: See the Timing Constraints Editor for help with creating and editing timing constraints.
Timing Constraints
SmartTime supports a range of timing constraints to provide useful analysis and efficient timing-driven
layout.
Timing Analysis
SmartTime provides a selection of analysis types that enable you to:
• Find the minimum clock period/highest frequency that does not result in a timing violations
• Identify paths with timing violations
• Analyze delays of paths that have no timing constraints
• Perform inter-clock domain timing verification
• Perform maximum and minimum delay analysis for setup and hold checks
To improve the accuracy of the results, SmartTime evaluates clock skew during timing analysis by
individually computing clock insertion delays for each register.
SmartTime checks the timing requirements for violations while evaluating timing exceptions (such as
multicycle or false paths).
6
SmartTime Static Timing Analyzer User Guide
• Bottleneck Report
• Constraints Coverage Report
• Combinational Loop Report
See Also
Starting and Closing SmartTime
Components of SmartTime Timing Analyzer
Changing SmartTime Preferences
7
SmartTime Static Timing Analyzer User Guide
SmartTime Components
• The Maximum Delay Analysis View and the Minimum Delay Analysis View enable you to
analyze your design
With SmartTime, you can:
• Browse through your design’s various clock domains to examine the timing paths and identify those
that violate your timing requirements
• Create customizable timing reports
• Navigate directly to the paths responsible for violating your timing requirements
General
1. In the General category, select the settings for the operating conditions. SmartTime performs
maximum or minimum delay analysis based on the Best, Typical, or Worst case.
2. Check or uncheck whether you want SmartTime to use inter-clock domains in calculations for timing
analysis.
3. Click Restore Defaults only if you want the settings in the General pane to revert to their default
settings.
Analysis
1. Click Analysis to display the options you can modify in the Analysis view.
2. Enter a number greater than 1 to specify the maximum number of paths to include in a path set during
timing analysis.
3. Check or uncheck whether to filter the paths by slack value. If you check this box, you must then
specify the slack range between minimum slack and maximum slack.
4. Check or uncheck whether to include clock network details.
5. Enter a number greater than 1 to specify the number of parallel paths in the expanded path.
6. Click Restore Defaults only if you want the settings in the Analysis View pane to revert to their default
settings.
Advanced
1. Click Advanced to display advanced options.
2. Check or uncheck whether to use loopback in bidirectional buffers (bibufs) and/or break paths at
asynchronous pins. Check or uncheck whether to disable non-unate arcs in the clock path.
3. Click Restore Defaults only if you want the settings in the Advanced pane to revert to their default
settings.
4. Click OK.
8
SmartTime Static Timing Analyzer User Guide
9
SmartTime Static Timing Analyzer User Guide
See Also
SmartTime Options Dialog Box
SmartTime Toolbar
The SmartTime toolbar contains commands for constraining or analyzing designs. Tool tips are available for
each button.
Table 1 · SmartTime Toolbar
Icon Description
10
SmartTime Static Timing Analyzer User Guide
The SmartTime Timing Analyzer is an interactive Static Timing Analysis tool. Click Open SmartTime in the
Design Flow Window to invoke the SmartTime Timing Analyzer (Design Flow Window > Open SmartTime
> Open Interactively).
11
SmartTime Static Timing Analyzer User Guide
• Click the icon for Maximum Delay Analysis or the icon for Minimum Delay Analysis
from the SmartTime window.
Note: When you open the Timing Analyzer from Designer, the Maximum Delay Analysis window is
displayed by default.
12
SmartTime Static Timing Analyzer User Guide
Device Description
The device section contains general information about the design and the parameters that define the
bottleneck computation:
• Design name
13
SmartTime Static Timing Analyzer User Guide
• Family
• Die
• Package
• Design state
• Data source
• Set selection type
• Max paths
• Bottleneck instances
• Analysis type
• Analysis max case
• Voltage
• Temperature
• Speed grade
• Cost type
• Max parallel paths
• Slack threshold
Bottleneck Description
This section displays a graphic representation of the bottleneck analysis and lists the core of the bottleneck
information for the bar selected in the chart above. If no bar is selected, the grid lists all bottleneck
information.
Click the controls on the right to zoom in or out the contents in the chart.
Right-click the chart to export the chart or to copy the chart to the clipboard.
The list is divided into two columns:
• Instance name: refers to the output pin name of the instance.
• Bottleneck cost: displays the pin's cost given the chosen cost type. Pin names are listed in decreasing
order of their cost type.
See Also
Timing Bottleneck Analysis Options dialog box (SmartTime)
Tip: You can click the icon in the SmartTime window bar to display the Manage Clock Domains
dialog box.
14
SmartTime Static Timing Analyzer User Guide
15
SmartTime Static Timing Analyzer User Guide
4. To remove a displayed domain, select a clock domain from the Show the clock domains in this
order list, and click Remove.
5. To change the display order in the Domain Browser, select a clock domain from the Show the clock
domains in this order list, and then use the Move Up or Move Down to change the order in the list.
6. Click OK. SmartTime updates the Domain Browser based on your specifications. If you have added a
new clock domain, then it will include at least the three path sets as mentioned above.
See Also
Manage Clock Domains Dialog Box
Tip: You can click the icon in the SmartTime window bar to display the Add Path Analysis Set
dialog box.
16
SmartTime Static Timing Analyzer User Guide
See Also
Add Path Analysis Set Dialog Box
Using Filters
17
SmartTime Static Timing Analyzer User Guide
• Register to Register: Clock, Source Clock Edge, Destination Clock Edge, Logic Stage Count, Max
Fanout, Clock Constraint, Maximum Delay Constraint, and Multicycle Constraint.
• External Setup: Clock, Destination Clock Edge, Logic Stage Count, Max Fanout, Clock Constraint,
Input Delay Constraint, Required External Setup, Maximum Delay Constraint, and Multicycle
Constraint.
• Clock to Out: Clock, Source Clock Edge, Logic Stage Count, Max Fanout, Clock Constraint, Output
Delay Constraint, Required Maximum Clock to Out, Maximum Delay Constraint, and Multicycle
Constraint.
• Input to Output: Arrival, Required, Setup, Hold, Logic Stage Count, and Max Fanout.
• Custom Path Sets.
To customize the set of timing information in the Path List:
1. Select the set to customize.
2. Choose Customize table on the top left corner of path list to open the Customize Paths List Table
dialog box.
3. To add one or more columns, select the fields to add from the Available fields list and click Add.
4. To remove one or more columns, select the fields to remove from the Show these fields in this
order list and click Remove.
5. To change the order in which the fields appear, select fields in the Show these fields in this order list
and click Move Up or Move Down.
6. Click OK to save your changes. SmartTime updates the Timing Analysis View.
18
SmartTime Static Timing Analyzer User Guide
See Also
Customize Analysis View
19
SmartTime Static Timing Analyzer User Guide
20
SmartTime Static Timing Analyzer User Guide
is selected in this view, the Path Profile shows the percentage for all paths. By default, SmartTime only
shows one path for each Expanded Path. You can change this default in the SmartTime Options dialog box.
The Expanded Path View also includes a schematic of the path and a path profile chart for the paths
selected in the Expanded Path Summary.
Using Filters
You can use filters in SmartTime to limit the Path List content (that is, create a filtered list on the source and
sink pin names). The filtering options appear on the top of the Timing Analysis View. You can save these
filters one level below the set under which it has been created.
To use the filter:
1. Select a set in the Domain Browser to display a given number of paths, depending on your SmartTime
Options settings (100 paths by default).
2. Enter the filter criteria in both the From and To fields and click Apply Filter. This limits the display to
the paths that match your filter criteria.
21
SmartTime Static Timing Analyzer User Guide
Figure 16 · my_filter01
22
SmartTime Static Timing Analyzer User Guide
See Also
SmartTime Options
Store Filter as Analysis Set
Edit Set dialog box
23
SmartTime Static Timing Analyzer User Guide
See Also
Activating inter-clock domain analysis
Deactivating a specific inter-clock domain
Displaying inter-clock domain paths
24
SmartTime Static Timing Analyzer User Guide
See Also
Inter-Clock Domain Analysis
Deactivating a Specific Inter-Clock Domain
Displaying Inter-Clock Domain Paths
25
SmartTime Static Timing Analyzer User Guide
See Also
Inter-Clock Domain Analysis
Activating Inter-Clock Domain Analysis
Deactivating a Specific Inter-Clock Domain
26
SmartTime Static Timing Analyzer User Guide
8. Repeat steps 3 to 7 for the To option in the Set False Path Constraint dialog box, and type Clk2 in the
filter box.
9. Click OK to validate the new false path and display it in the Paths List of the Constraints Editor.
See Also
Inter-Clock Domain Analysis
Activating Inter-Clock Domain Analysis
Displaying Inter-Clock Domain Paths
Set False Path Constraint Dialog Box
27
SmartTime Static Timing Analyzer User Guide
28
SmartTime Static Timing Analyzer User Guide
Types of Reports
Using SmartTime you can generate the following types of reports:
• Timer report – This report displays the timing information organized by clock domain.
• Timing Violations report – This flat slack report provides information about constraint violations.
• Bottleneck report – This report displays the points in the design that contribute to the most
timing violations.
• Datasheet report – This report describes the characteristics of the pins, I/O technologies, and timing
properties in the design.
• Constraints Coverage report – This report displays the overall coverage of the timing constraints set
on the current design.
• Combinational Loop report – This report displays loops found during initialization.
See Also
Generating a Timing Report
Generating a Timing Violation Report
Generating a datasheet report
Generating a bottleneck report
Generating a constraints coverage report
Generating a Combinational Loop Report
See Also
Understanding Timing Reports
Timing Report Options Dialog Box
29
SmartTime Static Timing Analyzer User Guide
Header
The header lists:
• The report type
• The version of Designer used to generate the report
• The date and time the report was generated
• General design information (name, family, etc.)
Summary
The summary section reports the timing information for each clock domain.
By default, the clock domains reported are the explicit clock domains that are shown in SmartTime. You can
filter the domains and get only specific sections in the report (see Timing Report Options Dialog Box).
Path Sections
The paths section lists the timing information for different types of paths in the design. This section is
reported by default. You can deselect this option in the Timing Report Options Dialog Box.
By default, the number of paths displayed per set is 5.
You can filter the domains using the Timing Report Options dialog box.
You can also view the stored filter sets in the generated report using the timing report options. The filter sets
are listed by name in their appropriate section, and the number of paths reported for the filter set is the same
as for the main sets.
By default, the filter sets are not reported.
Clock domains
The paths are organized by clock domain.
30
SmartTime Static Timing Analyzer User Guide
Inter-clock domain
This set reports the paths from the registers clock pins of the specified clock domain to the registers data
pins in the current clock domain. Inter-domain paths are not reported by default.
Pin to pin
This set lists input to output paths and user sets. Input to output paths are reported by default. To see the
user-defined sets, use the Timing Report Options Dialog Box.
Expanded Paths
Expanded paths can be reported for each set. By default, the number of expanded paths to report is set to 1.
You can select and change the number when you specify Timing Report Options.
31
SmartTime Static Timing Analyzer User Guide
See Also
Generating a Timing Report
Timing Report Options Dialog Box
32
SmartTime Static Timing Analyzer User Guide
See Also
Understanding Timing Violation Reports
Header
The header lists:
• The report type
• The version of Designer used to generate the report
• The date and time the report was generated
• General design information (name, family, etc.)
Paths
The paths section lists the timing information for the violated paths in the design.
The number of paths displayed is controlled by two parameters:
• A maximum slack threshold to report
• A maximum number or path to report
By default, the slack threshold is 0 and the number of paths is limited. The default maximum number of
paths reported is 100.
All clocks domains are mixed in this report. The paths are listed by decreasing slack.
You can also choose to expand one or more paths. By default, no paths are expanded. For details, see the
timing violation report options.
33
SmartTime Static Timing Analyzer User Guide
See Also
Generating a Timing Violation Report
Timing Violations Report Options Dialog Box
See Also
Understanding Constraints Coverage Reports
34
SmartTime Static Timing Analyzer User Guide
• Coverage Summary
• Results by Clock Domain
• Enhancement Suggestions
Coverage Summary
The coverage summary gives statistical information on the timing constraint in the design. For each type of
timing checks (Setup, Recovery, Output, Hold and Removal), it specifies how many are Met (there is a
constraint and it is satisfied), Violated (there is a constraint and it is not satisfied), or Untested (no constraint
was found).
Clock Domain
This section provides a coverage summary for each clock domain.
35
SmartTime Static Timing Analyzer User Guide
Enhancement Suggestions
The enhancement suggestion reports, per clock domain, a list of constraints that can be added to the design
to improve the coverage. It also reports if some options impacting the coverage can be changed.
Detailed Stats
This section provides detailed suggestions regarding specific clocks or I/O ports that may require to be
constrained for every pin/port that requires checks.
Setting SmartTime Options
See Also
Understanding Bottleneck Reports
Timing Bottleneck Analysis Options Dialog Box
36
SmartTime Static Timing Analyzer User Guide
The bottleneck can only be computed if and only a cost type is defined. There are two options available:
• Path count: This cost type associates the severity of the bottleneck to the count of violating/critical
paths that traverse the instance.
• Path cost: This cost type associates the severity of the bottleneck to the sum of the timing violations
for the violating/critical paths that traverse the instance.
Device Description
The device section contains general information about the design, including:
• Design name
• Family
• Die
• Package
• Software version
Bottleneck Analysis
This section lists the core of the bottleneck information. It is divided into two columns:
• Instance name: refers to the output pin name of the instance.
• Path Count: Displays the number of violating paths which include the instance pin.
See Also
Timing Bottleneck Analysis Options Dialog Box
See Also
Understanding Datasheet Reports
Timing Datasheet Report Options Dialog Box
See Also
Understanding Combinational Loop Reports
37
SmartTime Static Timing Analyzer User Guide
See Also
Generating a Combinational Loop Report
38
SmartTime Static Timing Analyzer User Guide
Timing Concepts
Delay Models
The first step in timing analysis is the computation of single component delays. These components could be
either a combinational gate or block or a single interconnect connecting two components.
Gates that are part of the library are pre-characterized with delays under different parameters, such as input-
slew rates or capacitive loads. Traditional models provide delays between each pair of I/Os of the gate and
between rising and falling edges.
The accuracy with which interconnect delays are computed depends on the design phase. These can be
estimated using a simple Wire Load Model (WLM) at the pre-layout phase, or a more complex Resistor and
Capacitor (RC) tree solver at the post-layout phase.
39
SmartTime Static Timing Analyzer User Guide
inverse of the largest value among the maximum period of all the paths in the clock domain. The path
responsible for limiting the frequency of a given clock is called the critical path.
Setup Check
The setup and hold check ensures that the design functions as specified at the required clock frequency.
Setup check specifies when data is required to be present at the input of a sequential component in order for
the clock to capture this data effectively into the component. Timing analyzers evaluate the setup check as a
maximum timing budget allowed between adjacent sequential elements. For more details on how setup
check is processed, refer to Arrival Time, Required Time, and Slack.
See Also
Static Timing Analysis Versus Dynamic Simulation
Arrival Time, Required Time, and Slack
40
SmartTime Static Timing Analyzer User Guide
Clock Skew
The clock skew between two different sequential components is the difference between the insertion delays
from the clock source to the clock pins of these components. SmartTime calculates the arrival time at the
clock pin of each sequential component. Then it subtracts the arrival time at the receiving component from
the arrival time at the launching component to obtain an accurate clock skew.
Both setup and hold checks must account for clock skew. However, for setup check, SmartTime looks for
the smallest skew. This skew is computed by using the maximum insertion delay to the launching sequential
component and the shortest insertion delay to the receiving component.
For hold check, SmartTime looks for the largest skew. This skew is computed by using the shortest insertion
delay to the launching sequential component and the largest insertion delay to the receiving component.
SmartTime makes this distinction automatically.
Cross Probing
Design objects displayed in SmartTime can be cross-probed into other Libero SoC tools. Libero SoC allows
cross-probing from SmartTime to the Constraints Editor (but not vice versa) and from SmartTime to Chip
Planner (but not vice versa). When cross-probing from SmartTime to one of the other tools, both SmartTime
and the other tool must first be opened.
41
SmartTime Static Timing Analyzer User Guide
42
SmartTime Static Timing Analyzer User Guide
43
SmartTime Static Timing Analyzer User Guide
Cross-Probing Examples
To cross-probe from SmartTime to Chip Planner, a design macro in SmartTime is used.
44
SmartTime Static Timing Analyzer User Guide
Port Example
1. Make sure that the design has successfully completed the Place and Route step.
2. Open the SmartTime Maximum/Minimum Analysis View.
3. Open Chip Planner.
4. In the SmartTime Maximum/Minimum Analysis View, right-click the Port “CLK” in the Path and choose
Show in Chip Planner. Note that the Port “CLK” is selected and highlighted in the Chip Planner Port
View.
Note: Show in Chip Planner is grayed out if Chip Planner is not already open.
45
SmartTime Static Timing Analyzer User Guide
46
SmartTime Static Timing Analyzer User Guide
SmartTime Tutorials
47
SmartTime Static Timing Analyzer User Guide
48
SmartTime Static Timing Analyzer User Guide
49
SmartTime Static Timing Analyzer User Guide
if(EN)
Q_int<={Q_int[30:0],D};
end
end
endmodule
10. Check the HDL file to confirm that there are no syntax errors.
11. Confirm that the Verilog source file appears in the Files window, as shown in the figure below.
50
SmartTime Static Timing Analyzer User Guide
Figure 41 · Synthesis and Compile Complete - 32-Bit Shift Register with Clock Enable
51
SmartTime Static Timing Analyzer User Guide
52
SmartTime Static Timing Analyzer User Guide
53
SmartTime Static Timing Analyzer User Guide
54
SmartTime Static Timing Analyzer User Guide
55
SmartTime Static Timing Analyzer User Guide
56
SmartTime Static Timing Analyzer User Guide
Note: The Timing Numbers in these reports may vary slightly with different versions of the Libero
software, and may not be exactly the same as what you see when you run the tutorial.
57
SmartTime Static Timing Analyzer User Guide
58
SmartTime Static Timing Analyzer User Guide
Dialog Boxes
Tip: You can also click the icon in the SmartTime window bar to display the Add Path Analysis Set
dialog box.
Name
Enter the name of your path set.
59
SmartTime Static Timing Analyzer User Guide
Trace from
Select whether you want to trace connected pins from Source to sink or from Sink to source. By default,
the pins are traced Source to sink.
Source Pins
Displays a list of available and valid source pins. You can select multiple pins. To select all source pins, click
the Select All button beneath the Source Pins list.
Select All
Selects all the pins in the Source Pins list to include in the path analysis set.
Sink Pins
Displays list of available and valid pins. You can select multiple pins. To select all source pins, click the
Select All button beneath the Sink Pins list.
Select All
Selects all the pins in the Sink Pins list to include in the path analysis set.
60
SmartTime Static Timing Analyzer User Guide
Name
Specifies the name of the user-created path set.
Parent Set
Specifies the name of the parent path set to which the user-created path set belongs.
Creation filter
From
Specifies a list of source pins in the user-created path set.
To
Specifies a list of sink pins in the user-created path set.
61
SmartTime Static Timing Analyzer User Guide
Name
Specifies the name of the path you want to edit.
Creation filter
Source Pins - Displays a list of source pins in the user-created path set.
Sink Pins - Displays a list of sink pins in the user-created path set.
See Also
Using filters
62
SmartTime Static Timing Analyzer User Guide
Available Fields
Displays a list of all the available fields in the timing analysis grid.
Restore Defaults
Resets all the options in the General panel to their default values.
New Clock
You can explicitly add a new clock by clicking New Clock.
63
SmartTime Static Timing Analyzer User Guide
See Also
Managing Clock Domains
From
Specifies the starting points for false path. A valid timing starting point is a clock, a primary input, an inout
port, or a clock pin of a sequential cell.
64
SmartTime Static Timing Analyzer User Guide
Through
Specifies a list of pins, ports, cells, or nets through which the disabled paths must pass.
To
Specifies the ending points for false path. A valid timing ending point is a clock, a primary output, an inout
port, or a data pin of a sequential cell.
Comment
Enables you to provide comments for this constraint.
General
Operating Conditions
Allows you to perform maximum or minimum delay analysis based on the Best, Typical, or Worst case. By
default, maximum delay analysis is based on WORST case and minimum delay analysis is based on BEST
case.
65
SmartTime Static Timing Analyzer User Guide
Clock Domains
• Include inter-clock domains in calculations for timing analysis: Enables you to specify if
SmartTime must use inter-clock domains in calculations for timing analysis. By default, this option is
unchecked.
• Enable recovery and removal checks: Enables SmartTime to check removal and recovery time on
asynchronous signals. Additional sets are created in each clock domain in Analysis View to report the
corresponding paths.
Restore Defaults
Resets all the options in the General panel to their default values.
Analysis
Display of Paths
Limits the number of paths shown in a path set for timing analysis. The default value is 100. You must
specify a number greater than 1.
Restore Defaults
Resets all the options in the Analysis View panel to their default values.
66
SmartTime Static Timing Analyzer User Guide
Advanced
Special Situations
Enables you to specify if you need to use loopback in bi-directional buffers (bibufs) and/or break paths at
asynchronous pins.
Scenarios
Enables you to select the scenario to use for timing analysis and for timing-driven place-and-route.
Restore Defaults
Resets all the options in the Analysis View panel to their default values.
67
SmartTime Static Timing Analyzer User Guide
Name
Specifies the name of the filtered set.
See Also
Using filters
General Pane
Slack
Lets you specify whether the reported paths will be filtered by threshold, and if so what will be the maximum
slack to report. By default the paths are filtered by slack, and the slack threshold is 0.
Restore Defaults
Resets all the options in the General pane to their default values.
68
SmartTime Static Timing Analyzer User Guide
Bottleneck Pane
Bottleneck Options
Cost Type: Select the cost type that SmartTime will include in the bottleneck report. By default, path count
is selected. You may select one of the following two items from the drop-down list:
• Path count: This cost type associates the severity of the bottleneck to the count of violating/critical
paths that traverse the instance. This is the default.
• Path cost: This cost type associates the severity of the bottleneck to the sum of the timing violations
for the violating/critical paths that traverse the instance.
Limit the number of paths per section to: Specify the maximum number of paths per set type that
SmartTime will include per section in the report. The default maximum number of paths reported is 100.
Limit the number of parallel paths per section to: For each expanded path, specify the maximum number
of parallel paths that SmartTime will include in the
report. Only cells that lie on these violating paths are reported. The default number of parallel paths is 1.
Limit the number of reported instances: Specify the maximum number of cells that SmartTime will include
per section in the report. The default number of cells is 10.
Restore Defaults
Resets all the options in the Bottleneck panel to their default values.
69
SmartTime Static Timing Analyzer User Guide
Sets Pane
Value Description
Use existing user set: Displays the bottleneck information for the existing user set selected. Only paths that
lie within the name set are will be considered towards the bottleneck report.
70
SmartTime Static Timing Analyzer User Guide
Filter: Allows you to filter the bottleneck report by the following options:
• From: Reports only cells that lie on violating paths that start at locations specified by this option.
• To: Reports only cells that lie on violating paths that end at locations specified by this option.
Filter defaults to all outputs.
Restore Defaults
Resets all the options in the Paths panel to their default values.
See Also
Bottleneck Analysis
General
Format
Specifies whether or not the report will be exported as a Comma Separated Value (CSV) file or a plain text
file. By default, the Plain Text option is selected.
71
SmartTime Static Timing Analyzer User Guide
Summary
Specifies whether or not the summary section will be included in the report. By default, this option is
selected.
Analysis
Specifies the type of analysis to be included in the timing report. It can be either a Maximum Delay Analysis
report or Minimum Delay Analysis report. By default, the Maximum Delay Analysis report is included in the
timing report.
Slack
Specifies whether the reported paths will be filtered by threshold, and if so what will be the maximum slack
to report. By default, the paths are not filtered by slack.
Paths
Display of Paths
Include detailed path information in this report: Check this box to include the detailed path information
in the timing report.
Limit the number of reported paths per section to: Specify the maximum number of paths that
SmartTime will include per section in the report.
Limit the number of expanded paths per section to: Specify the maximum number of expanded paths
that SmartTime will include per section in the report.
Limit the number of parallel paths in expanded path to: For each expanded path, specify the maximum
number of parallel paths that SmartTime will include in the report. The default number of parallel paths is 1.
72
SmartTime Static Timing Analyzer User Guide
Sets
Display of Sets
Specifies whether or not the user sets will be included in the timing report.
User sets are either filters that you have created and stored on the default paths sets (Register to Register,
Inputs to Register, etc.) or Pin to Pin user sets. By default, the paths for these sets are not reported.
In addition, specify whether the Inputs to Output sets will be included in the report. By default, the Input to
Output sets are reported.
73
SmartTime Static Timing Analyzer User Guide
Clock Domains
See Also
Generating a datasheet report
Understanding datasheet reports
74
SmartTime Static Timing Analyzer User Guide
General
Format
Specifies whether or not the report will be exported as a Comma Separated Value (CSV) file or a plain text
file. By default, the Plain Text option is selected.
Analysis
Lets you specify what type of analysis will be reported in the report. By default, the report includes Maximum
Delay Analysis.
Slack
Lets you specify whether the reported paths will be filtered by threshold, and if so what will be the maximum
slack to report. By default the paths are filtered by slack, and the slack threshold is 0.
Restore Defaults
Resets all the options in the General panel to their default values.
75
SmartTime Static Timing Analyzer User Guide
Paths
Display of paths
Limit the number of reported paths: Check this box to limit the number of paths in the report. By default,
the number of paths is limited.
Limit the number of paths per section to: Specify the maximum number of paths that SmartTime will
include per section in the report. The default maximum number of paths reported is 100.
Limit the number of expanded paths per section to: Specify the maximum number of expanded paths
that SmartTime will include per section in the report. The default number of expanded paths is 0.
Limit the number of parallel paths in expanded path to: For each expanded path, specify the maximum
number of parallel paths that SmartTime will include in the report. The default number of parallel paths is 1.
Restore Defaults
Resets all the options in the Paths panel to their default values.
See Also
Generating timing violation report
Understanding timing violation report
76
SmartTime Static Timing Analyzer User Guide
create_set
Tcl command; creates a set of paths to be analyzed. Use the arguments to specify which paths to include.
To create a set that is a subset of a clock domain, specify it with the -clock and -type arguments. To
create a set that is a subset of an inter-clock domain set, specify it with the -source_clock and -
sink_clock arguments. To create a set that is a subset (filter) of an existing named set, specify the set to
be filtered with the -parent_set argument.
create_set\ -name <name>\ -parent_set <name>\ -type <set_type>\ -clock <clock name>\ -
source_clock <clock name>\ -sink_clock <clock name>\ -in_to_out\ -source <port/pin pattern>\
-sink <port/pin pattern>
Arguments
-name <name>
Specifies a unique name for the newly created path set.
-parent_set <name>
Specifies the name of the set to filter from.
-clock <clock_name>
Specifies that the set is to be a subset of the given clock domain. This argument is valid only if you also
specify the -type argument.
-type <value>
Specifies the predefined set type on which to base the new path set. You can only use this argument with
the -clock argument, not by itself.
Value Description
-in_to_out
Specifies that the set is based on the “Input to Output” set, which includes paths that start at input ports
and end at output ports.
-source_clock <clock_name>
Specifies that the set will be a subset of an inter-clock domain set with the given source clock. You can
only use this option with the -sink_clock argument.
77
SmartTime Static Timing Analyzer User Guide
-sink_clock <clock_name>
Specifies that the set will be a subset of an inter-clock domain set with the given sink clock. You can only
use this option with the -source_clock argument.
-source <port/pin_pattern>
Specifies a filter on the source pins of the parent set. If you do not specify a parent set, this option filters
all pins in the current design.
-sink <port/pin_pattern>
Specifies a filter on the sink pins of the parent set. If you do not specify a parent set, this option filters all
pins in the current design.
Examples
create_set -name { my_user_set } –source { C* } –sink { D* }
create_set -name { my_other_user_set } –parent_set { my_user_set } –source { CL* }
create_set -name { adder } –source { ALU_CLOCK } –type { REG_TO_REG } -sink { ADDER*}
create_set -name { another_set } –source_clock { EXTERN_CLOCK } –sink_clock {
MY_GEN_CLOCK }
expand_path
Tcl command; displays expanded path information (path details) for paths. The paths to be expanded are
identified by the parameters required to display these paths with list_paths. For example, to expand the first
path listed with list_paths -clock {MYCLOCK} -type {register_to_register}, use the command expand_path -
clock {MYCLOCK} -type {register_to_register}. Path details contain the pin name, type, net name, cell name,
operation, delay, total delay, and edge as well as the arrival time, required time, and slack. These details are
the same as details available in the SmartTime Expanded Path window.
expand_path
-index value
-set name
-clock clock name
-type set_type
-analysis {max| min}
-format {csv | text}
-from_clock clock name
-to_clock clock name
Arguments
-index value
Specify the index of the path to be expanded in the list of paths. Default is 1.
-analysis {max | min}
Specify whether the timing analysis is done is max-delay (setup check) or min-delay (hold check). Valid
values: max or min.
-format {csv | text}
Specify the list format. It can be either text (default) or csv (comma separated values). The former is
suited for display the latter for parsing.
-set name
Displays a list of paths from the named set. You can either use the -set option to specify a user set by its
name or use both -clock and -type to specify a set.
-clock clock name
Displays the set of paths belonging to the specified clock domain. You can either use this option along
with -type to specify a set or use the -set option to specify the name of the set to display.
-type set_type
78
SmartTime Static Timing Analyzer User Guide
Specifies the type of paths in the clock domain to display in a list. You can only use this option with the -
clock option. You can either use this option along with -clock to specify a set or use the -set option to
specify a set name.
Value Description
-from_clock clock_name
Displays a list of timing paths for an inter-clock domain set belonging to the source clock specified. You
can only use this option with the -to_clock option, not by itself.
-to_clock clock_name
Displays a list of timing paths for an inter-clock domain set belonging to the sink clock specified. You can
only use this option with the -from_clock option, not by itself.
-analysis name
Specifies the analysis for the paths to be listed. The following table shows the acceptable values for this
argument.
Value Description
-index list_of_indices
Specifies which paths to display. The index starts at 1 and defaults to 1. Only values lower than the
max_paths option will be expanded.
-format value
Specifies the file format of the output. The following table shows the acceptable values for this argument:
Value Description
Examples
Note: The following example returns a list of five paths:
puts [expand_path –clock { myclock } –type {reg_to_reg }]
79
SmartTime Static Timing Analyzer User Guide
See Also
list_paths
list_paths
Tcl command; returns a list of the n worst paths matching the arguments. The number of paths returned can
be changed using the set_options -limit_max_paths <value> command.
list_paths
-analysis <max | min>
-format <csv | text>
-set <name>
-clock <clock name>
-type <set_type>
-from_clock <clock name>
-to_clock <clock name>
-in_to_out
-from <port/pin pattern>
-to <port/pin pattern>
Arguments
-analysis <max | min>
Specifies whether the timing analysis is done for max-delay (setup check) or min-delay (hold check). Valid
values are: max or min.
-format < text | csv >
Specifies the list format. It can be either text (default) or csv (comma separated values). Text format is
better for display and csv format is better for parsing.
-set <name>
Returns a list of paths from the named set. You can either use the -set option to specify a user set by its
name or use both -clock and -type to specify a set.
-clock <clock name>
Returns a list of paths from the specified clock domain. This option requires the -type option.
-type <set_type>
Specifies the type of paths to be included. It can only be used along with -clock. Valid values are:
reg_to_reg -- Paths between registers
external_setup -- Path from input ports to data pins of registers
external_hold -- Path from input ports to data pins of registers
clock_to_out -- Path from registers to output ports
reg_to_async -- Path from registers to asynchronous pins of registers
external_recovery -- Path from input ports to asynchronous pins of registers
external_removal -- Path from input ports to asynchronous pins of registers
async_to_reg -- Path from asynchronous pins to registers
-from_clock <clock name>
Used along with -to_clock to get the list of paths of the inter-clock domain between the two clocks.
-to_clock <clock name>
Used along with -from_clock to get the list of paths of the inter-clock domain between the two clocks.
-in_to_out
Used to get the list of path between input and output ports.
-from <port/pin pattern>
80
SmartTime Static Timing Analyzer User Guide
Filter the list of paths to those starting from ports or pins matching the pattern.
-to <port/pin pattern>
Filter the list of paths to those ending at ports or pins matching the pattern.
Example
The following command displays the list of register to register paths of clock domain clk1:
puts [ list_paths -clock clk1 -type reg_to_reg ]
See Also
create_set
expand_path
set_options
remove_set
Tcl command; removes a set of paths from analysis. Only user-created sets can be deleted.
remove_set -name name
Parameters
-name name
Specifies the name of the set to delete.
Example
The following command removes the set named my_set:
remove_set -name my_set
See Also
create_set
report
Tcl command; specifies the type of reports to generate and what to include in the reports.
report -type (timing|violations | datasheet|bottleneck | constraints_coverage |
combinational_loops)
-analysis <max_or_min>\
-format (csv|text)
<filename>
timing options
-max_parallel_paths <number>
-max_paths <number>
-print_summary (yes|no)
-use_slack_threshold (yes|no)
-slack_threshold <double>
-print_paths (yes|no)
-max_expanded_paths <number>
-include_user_sets (yes|no)
-include_clock_domains (yes|no)
-select_clock_domains <clock name list>
81
SmartTime Static Timing Analyzer User Guide
-limit_max_paths (yes|no)
-include_pin_to_pin (yes|no)
bottleneck options
-cost_type (path_count|path_cost)
-max_instances <number>
-from <port/pin pattern>
-to <port/pin pattern>
-set_type <set_type>
-set_name <set name>
-clock <clock name>
-from_clock <clock name>
-to_clock <clock name>
-in_to_out
Arguments
-type
Value Description
-analysis
Value Description
-filename
Specifies the file name for the generated report.
-max_parallel_paths <number> Specifies the max number of parallel paths. Parallel paths are timing
paths with the same start and end points.
-max_paths <number> Specifies the max number of paths to display for each set. This value
is a positive integer value greater than zero. Default is 100.
-print_summary <yes|no> Yes to include and No to exclude the summary section in the timing
report.
82
SmartTime Static Timing Analyzer User Guide
Parameter/Value Description
-use_slack_threshold <yes|no> Yes to include slack threshold and no to exclude threshold in the
timing report. The default is to exclude slack threshold.
-slack_threshold <double> Specifies the threshold value to consider when reporting path slacks.
This value is in nanoseconds (ns). By default, there is no threshold
(all slacks reported).
-print_paths (yes|no) Specifies whether the path section (clock domains and in-to-out
paths) will be printed in the timing report. Yes to include path sections
(default) and no to exclude path sections from the timing report.
-max_expanded_paths <number> Specifies the max number of paths to expand per set. This value is a
positive integer value greater than zero. Default is 100.
-include_user_sets (yes|no) If yes, the user set is included in the timing report. If no, the user set
is excluded in the timing report.
-include_clock_domains (yes|no) Yes to include and no to exclude clock domains in the timing report.
-limit_max_paths (yes|no) Yes to limit the number of paths to report. No to specify that there is
no limit to the number of paths to report (the default).
-include_pin_to_pin (yes|no) Yes to include and no to exclude pin-to-pin paths in the timing report.
-from <port/pin pattern> Reports only instances that lie on violating paths that start at locations
specified by this option.
-to <port/pin pattern> Reports only instances that lie on violating paths that end at locations
specified by this option.
-clock <clock name> This option allows pruning based on a given clock domain. Only
instances that lie on these violating paths are reported.
-set_name <set name> Displays the bottleneck information for the named set. You can either
83
SmartTime Static Timing Analyzer User Guide
Parameter/Value Description
use this option or use both -clock and -type. This option allows
pruning based on a given set. Only paths that lie within the named set
will be considered towards bottleneck.
-set_type <set_type> This option can only be used in combination with the -clock option,
and not by itself. The options allows you to filter which type of paths
should be considered towards the bottleneck:
1. reg_to_reg - Paths between registers in the design
2. async_to_reg - Paths from asynchronous pins to registers
3. reg_to_async - Paths from registers to asynchronous pins
4. external_recovery - The set of paths from inputs to
asynchronous pins
5. external_removal - The set of paths from inputs to
asynchronous pins
6. external_setup - Paths from input ports to registers
7. external_hold - Paths from input ports to registers
8. clock_to_out - Paths from registers to output ports
-from_clock <clock name> Reports only bottleneck instances that lie on violating timing paths of
the inter-clock domain that starts at the source clock specified by this
option. This option can only be used in combination with -to_clock.
-to_clock <clock name> Reports only instances that lie on violating paths that end at locations
specified by this option.
-in_to_out Reports only instances that lie on violating paths that begin at input
ports and end at output ports.
Example
The following example generates a timing violation report named timing_viol.txt. The report considers an
analysis using maximimum delays and does not filter paths based on slack threshold. It reports two paths
per section and one expanded path per section.
report –type timing_violations \
-analysis max –use_slack_threshold no \
-limit_max_paths –yes \
-max_paths 2 \
-max_expanded_paths 1\
timing_viol.txt
save
Tcl command; saves all changes made prior to this command. This includes changes made on constraints,
options and sets.
save
Arguments
None
84
SmartTime Static Timing Analyzer User Guide
Example
The following script sets the maximum number of paths reported by list_paths to 10, reads an SDC file, and
save both the option and the constraints into the design project:
set_options -limit_max_paths 10
read_sdc somefile.sdc
save
See Also
set_options
set_options
SmartTime-specific Tcl command; sets options for timing analysis. Some options will also affect timing-
driven place-and-route. The same parameters can be changed in the SmartTime Options dialog box in the
SmartTime GUI.
set_options
[-max_opcond value ]
[-min_opcond value]
[-interclockdomain_analysis value]
[-use_bibuf_loopbacks value]
[-enable_recovery_removal_checks value]
[-break_at_async value]
[-filter_when_slack_below value]
[-filter_when_slack_above value]
[-remove_slack_filters]
[-limit_max_paths value]
[-expand_clock_network value]
[-expand_parallel_paths value]
[-analysis_scenario value]
[-tdpr_scenario value]
[-reset]
Arguments
-max_opcond value
Sets the operating condition to use for Maximum Delay Analysis. The following table shows the
acceptable values for this argument. Default is slow_lv.
Value Description
-min_opcond value
Sets the operating condition to use for Minimum Delay Analysis. The following table shows the acceptable
values for this argument. Default is fast_hv_lt.
85
SmartTime Static Timing Analyzer User Guide
Value Description
-interclockdomain_analysis value
Enables or disables inter-clock domain analysis. Default is yes.
Value Description
-use_bibuf_loopbacks value
Instructs the timing analysis whether to consider loopback path in bidirectional buffers (D->Y, E->Y)as
false-path {no}. Default is yes; i.e., loopback are false paths.
Value Description
-enable_recovery_removal_checks value
Enables recovery checks to be included in max-delay analysis and removal checks in min-delay analysis.
Default is yes.
Value Description
-break_at_async value
Specifies whether or not timing analysis is allowed to cross asynchronous pins (clear, reset of sequential
elements). Default is no.
Value Description
-filter_when_slack_below value
Specifies a minimum slack value for paths reported by list_paths. Not set by default.
-filter_when_slack_above value
Specifies a maximum slack value for paths reported by list_paths. Not set by default.
86
SmartTime Static Timing Analyzer User Guide
-remove_slack_filters
Removes the slack minimum and maximum set using -filter_when_slack_below and
filter_when_slack_above.
-limit_max_paths value
Specifies the maximum number of paths reported by list_paths. Default is 100.
-expand_clock_network value
Specify whether or not clock network details are reported in expand_path. Default is yes.
Value Description
-expand_parallel_paths value
Specify the number of parallel paths {paths with the same ends} to include in expand_path. Default is 1.
-analysis_scenario value
Specify the constraint scenario to be used for timing analysis. Default is Primary, the default scenario.
-tdpr_scenario value
Specify the constraint scenario to be used for timing-driven place-and-route. Default is Primary, the
default scenario.
-reset
Reset all options to the default values, except those for analysis and TDPR scenarios, which remain
unchanged.
Examples
The following script commands the timing engine to use best operating conditions for both max-delay
analysis and min-delay analysis:
set_options -max_opcond {best} -min_opcond {best}
The following script changes the scenario used by timing-driven place-and-route and saves the change in
the Libero project for place-and-route tools to see the change.
set_options -tdpr_scenario {My_TDPR_Scenario}
See Also
save
87
SmartTime Static Timing Analyzer User Guide
Glossary
arrival time
Actual time in nanoseconds at which the data arrives at a sink pin when considering the propagation delays
across the path.
asynchronous
Two signals that are not related to each other. Signals not related to the clock are usually asynchronous.
capture edge
The clock edge that triggers the capture of data at the end point of a path.
clock
A periodic signal that captures data into sequential elements.
critical path
A path with the maximum delay between a starting point and an end point. In the presence of a clock
constraint, the worst critical path between registers in this clock domain is the path with the worst slack.
exception
See timing exception.
explicit clock
Clock sources that can be traced back unambiguously from the clock pin of the registers they deserve,
including the output of a DLL or PLL.
filter
A set of limitations applied to object names in timing analysis to generate target specific sets.
launch edge
The clock edge that triggers the release of data from a starting point to be captured by another clock edge at
an end point.
minimum period
Timing characteristic of a path between two registers. It indicates how fast the clock will run when this path
is the most critical one. The minimum period value takes into consideration both the skew and the setup on
the receiving register.
parallel paths
Paths that run in parallel between a given source and sink pair.
88
SmartTime Static Timing Analyzer User Guide
path
A sequence of elements in the design that identifies a logical flow starting at a source pin and ending at a
sink pin.
path details
An expansion of the path that shows all the nets and cells between the source pin and the sink pin.
path set
A collection of paths.
paths list
Same as path set.
post-layout
The state of the design after you run Layout. In post-layout, the placement and routing information are
available for the whole design.
potential clock
Pins or ports connected to the clock pins of sequential elements that the Static Timing Analysis (STA) tool
cannot determine whether they are is enabled sources or clock sources. This type of clock is generally
associated with the use of gated clocks.
pre-layout
The state of the design before you run Layout. In pre-layout, the placement and routing information are not
available.
recovery time
The amount of time before the active clock edge when the de-activation of asynchronous signals is not
allowed.
removal time
The amount of time after the active clock edge when the de-activation of asynchronous signals is not
allowed.
required time
The time at which the data must be at a sink pin to avoid being in violation.
requirement
See timing requirement.
setup time
The time in nanoseconds relative to a clock edge during which the data at the input to a sequential element
must remain stable.
89
SmartTime Static Timing Analyzer User Guide
sink pin
The pin located at the end of the timing path. This pin is usually the one where arrival time and required time
are evaluated for path violation.
skew
The difference between the clock insertion delay to the clock pin of a sink register and the insertion delay to
the clock pin of a source register.
slack
The difference between the arrival time and the required time at a specific pin, generally at the data pin of a
sequential component.
slew rate
The time needed for a signal to transition from one logic level to another.
source pin
The pin located at the beginning of a timing path.
STA
See static timing analysis.
timing constraint
A requirement or limitation on the design to be satisfied during the design implementation.
timing exception
An exception to a general requirement usually applied on a subset of the objects on which the requirement
is applied.
timing requirement
A constraint on the design usually determined by the specifications at the system level.
90
SmartTime Static Timing Analyzer User Guide
virtual clock
A virtual clock is a clock with no source associated to it. It is used to describe clocks outside the FPGA that
have an impact on the timing analysis inside the FPGA. For example, if the I/Os are synchronous to an
external clock.
WLM
Wire Load Model. A timing model used in pre-layout to estimate a net delay based on the fan-out.
91