...
Code Block |
---|
project = createProject() project.translateAperture('SUB_REGION_0',1,2) project.translateAperture(3,4) |
Static Timing Analysis related methods
This section presents the methods related to the analyzer object. The object controls the static timing analysis.
destroy()
This method is used to destroy the analyzer object.
This method takes no argument.
Once the analyzer is destroyed every python variable referencing it becomes obsolete so nxpython behavior is safe.
Example:
Code Block | ||
---|---|---|
| ||
project = createProject()
project.load('/home/user/example/vhdl/simple/routed.nym')
analyzer = project.createAnalyzer()
analyzer.launch()
analyzer.destroy() |
...
This method is used to run the static timing analysis.
The analyzer computes a maximum of 'searchPathsLimit' paths for each domain, considering only the paths which slack is less than or equal to 'maximumSlack'.
Temperature and voltage can also be supplied to adjust timing values.
When not given, the parameters take their default values.
Arguments:
...
Name
...
Type
...
Description
...
parameters
...
dictionary
...
Keys are the names of the parameters to set (see following table), values must match the type specified.
Available Parameters:
...
Name
...
Type
...
Description (Default value in bold)
...
searchPathLimit
...
unsigned
...
maximum number of paths computed for each domain.
(default value is 10)
...
maximumSlack
...
integer
...
maximum reportable slack in ps.
(default is unlimited)
...
conditions
string
...
‘bestcase’ : Voltage = typical core voltage + 0.1V
Temperature = -40°C
'typical’ : Voltage = typical core voltage
Temperature = 25°C
‘worstcase’ : Voltage = typical core voltage - 0.1V
Temperature = 125°C
Example:
Code Block | ||
---|---|---|
| ||
analyzer = project.createAnalyzer()
parameters = { 'searchPathLimit': 15, 'conditions': 'worstcase'}
analyzer.launch (parameters)
parameters = { 'searchPathLimit': 15, ‘maximumSlack’ : 500, 'conditions': 'worstcase' }
analyzer.launch (parameters) |
Note |
---|
The project step must be at the minimum “prepared” to run this method. |
Launching timing analyzer steps
Step 1, Creating Analyzer:
If a targeted design is already routed, user can launch static timing analysis by creating a timing analyzer. The analyzer can be created using the following command:
Code Block | ||
---|---|---|
| ||
analyzer = project.createAnalyzer() |
Step 2, Launching Static Timing Analysis:
Static Timing Analysis can be launched using the following command:
Code Block |
---|
analyzer.launch()
or
analyzer.launch(parameters) |
Please check the previous section launch(parameters) for more information on how to use the launch() function.
Step 3, Generating Static Timing Analysis reports:
In nxpython, a number of reports (.timing) can be produced presenting the results in the form of timing domains, critical paths, violation details, etc... The explanation of these reports can be found in the section Timing reports.
Simulation related methods
...
Code Block | ||
---|---|---|
| ||
simulator.addWaves([‘A’, ‘B’, ‘O’]) |
destroy()
This method is used to destroy the simulator object.
...