Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: add preAnalyze method + move STA related methods from nxpython user manual

...

Table of Contents
minLevel1
maxLevel7

General

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
analyzer = project.createAnalyzer()
analyzer.launch()
analyzer.destroy()

launch(parameters)

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.

preAnalyze()

This method is used to analyze timing constraints without running the static timing analysis.

This method takes no argument.

Example:

Code Block
languagepy
project.createClock(target = 'getClockNet(CLK)', name ='clk', period = 8, rising = 0, falling = 4)
analyzer = project.createAnalyzer()
analyzer.preAnalyze()

developCKGs()

This method automatically creates a generated clock constraint on each output of the PLLs and WFGs in current project. This constraint is used by timing driven algorithms and static timing analysis.

...

clearTimingConstraints()

This method is used to reset clear all design constraints from the current project.
Reseted Cleared constraints can be clocks, generated clocks, derived clocks of PLLs and WFGs, input delays, output delays, clock groups, analysis case, false paths, multicycle paths, min delay paths, and max delays paths.

...

Code Block
p.createClock(target=getClockNet('clk1'),name='clk1',period=20.000,rising=0,falling=10.000) #Clk1 is created with 50 MHz frequency
p.resetTimingConstraintsclearTimingConstraints()

Clock Creation

createClock( target = ‘target', name = ‘name’, period = ]0, ], rising = [0,period[, falling = ]rising, rising+period] )

...