Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: move STA related method in STA documentation

...

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
languagepy
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
languagepy
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
languagepy
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
languagepy
simulator.addWaves([‘A’, ‘B’, ‘O’])

destroy()

This method is used to destroy the simulator object.

...