...
Méthod | Project | Synthesize | Place & Route | Bitstream | STA | Simulation | |||||
addADCLocation | X | ||||||||||
addBank |
|
|
| X |
|
| |||||
addBanks |
|
|
| X |
|
| |||||
addBlackBox |
| X |
|
|
|
| |||||
addDACLocation | X | ||||||||||
addFalsePath |
|
|
|
| X | X | |||||
addFile | X |
|
|
|
|
| |||||
addFiles | X |
|
|
|
|
| |||||
addHSSLLocation | |||||||||||
addIP | X |
|
|
|
|
| |||||
addMappingDirective |
| X |
|
|
|
| |||||
addMaxDelayPath |
|
|
|
| X | X | |||||
addMemoryInitialization |
|
|
| X |
|
| |||||
addMinDelayPath |
|
|
|
| X | X | |||||
addModule |
| X |
|
|
|
| |||||
addMulticyclePath |
|
|
|
| X | X | |||||
addObstruction | X | ||||||||||
addPLLLocation |
|
| X |
|
|
| |||||
addPad |
| X | X |
|
|
| |||||
addPads |
| X | X |
|
|
| |||||
addParameter | X |
|
|
|
|
| |||||
addParameters | X |
|
|
|
|
| |||||
addPin |
| X | X |
|
|
| |||||
addPins |
| X | X |
|
|
| |||||
addRegion | X | ||||||||||
addRingLocation |
|
| X |
|
|
| |||||
addRingLocations |
|
| X |
|
|
| |||||
addVerilogIncludeDirectories | X |
|
|
|
|
| |||||
addVerilogIncludeDirectory | X |
|
|
|
|
| |||||
addVlogDefine | X |
|
|
|
|
| |||||
addVlogDefines | X |
|
|
|
|
| |||||
addWFGLocation |
|
| X |
|
|
| |||||
applySdcFileimportSdcFile |
|
|
| X |
| ||||||
clearBanks |
| X |
|
|
| ||||||
clearFabricPrePlaceConstraints | X | ||||||||||
clearPLLs |
| X |
|
|
| ||||||
clearPads |
| X |
|
|
| ||||||
clearPins |
| X |
|
|
| ||||||
clearWFGs |
| X |
|
|
| ||||||
confineModule |
|
| X |
|
|
| |||||
constrainModule |
| X | X |
|
|
| |||||
constrainPath |
| X | X |
|
|
| |||||
createAnalyzer |
|
|
|
| X |
| |||||
createClock |
|
|
|
| X |
| |||||
createGeneratedClock |
|
|
|
| X |
| |||||
createSimulator |
|
|
|
|
| X | |||||
destroy (project) | X |
|
|
|
|
| |||||
destroy (analyzer) | X | ||||||||||
developCKGs |
|
|
|
| X |
| |||||
exportAsIPCore | X |
|
|
|
|
| |||||
exportPlacement | X | ||||||||||
exportRegions | X |
|
|
|
|
| |||||
exportSites | X |
|
|
|
|
| |||||
generateBitstream |
|
|
| X |
|
| |||||
generateSTANetlist | X |
|
|
|
|
| |||||
getAnalyzer | X | ||||||||||
getDirectory | X |
|
|
|
|
| |||||
getErrorCount | X | ||||||||||
getHierInfo | X | ||||||||||
getLowskewSignals | X |
|
|
|
|
| |||||
getProject | X | ||||||||||
getRemarkCount | X | ||||||||||
getTimingUnit | X |
|
|
|
|
| |||||
getTopCellName | X |
|
|
|
|
| |||||
getVariantName | X |
|
|
|
|
| |||||
getWarningCount | X | ||||||||||
importPlacement | X | ||||||||||
initRegister |
|
|
| X |
|
| limitLowskew | ||||
injectLowskew |
| X |
|
|
| ||||||
listAvailableLocations | X |
|
|
|
|
| |||||
load | X |
|
|
|
|
| |||||
modifyAperture | X | ||||||||||
modifyObstruction | X | ||||||||||
modifyPad | X | ||||||||||
modifyRegion |
|
| X |
|
|
| |||||
place | X |
|
|
|
|
| |||||
progress | X |
|
|
|
|
| |||||
printError | X | ||||||||||
printHierInfo | X | ||||||||||
printRemark | X | ||||||||||
PrintText | X | ||||||||||
PrintWarning | X | ||||||||||
rejectLowskew | X |
| X |
|
|
| |||||
removeFile | X |
|
|
|
|
| |||||
removeFiles | X |
|
|
|
|
| |||||
removeObstruction | X | ||||||||||
removeRegion | X | ||||||||||
removeSoftModules | X | ||||||||||
reportDesignComplexity | X | ||||||||||
reportHierarchyComplexity | X | ||||||||||
reportInstances | X |
|
|
|
|
| |||||
reportLowskewSignals | X |
|
|
|
|
| |||||
reportPorts | X |
|
|
|
|
| |||||
reportRegions | X |
|
|
|
|
| |||||
reportRegisters | X |
|
|
|
|
| |||||
resetTimingConstraints | X |
|
|
|
|
| |||||
route | X |
|
|
|
|
| |||||
save | X |
|
|
|
|
| |||||
setAnalysisConditions |
|
|
|
| X |
| |||||
setCaseAnalysis |
|
|
|
| X |
| |||||
setClockGroup |
|
|
|
| X |
| |||||
setDescription | X |
|
|
|
|
| |||||
setDeviceID |
|
|
| X |
|
| |||||
setDirectory | X |
|
|
|
|
| |||||
setFalsePath |
|
|
|
| X |
| |||||
setFocus |
|
| X |
|
|
| |||||
setGCKCount |
|
| X |
|
|
| |||||
setInputDelay |
|
|
|
| X |
| |||||
setMaxDelay |
|
|
|
| X |
| |||||
setMinDelay |
|
|
|
| X |
| |||||
setMulticyclePath |
|
|
|
| X |
| |||||
setOption | X |
|
|
|
|
| |||||
setOptions | X |
|
|
|
|
| |||||
setOutputDelay |
|
|
|
| X |
| |||||
setSite |
|
| X |
|
|
| |||||
setTopCellName | X |
|
|
|
|
| |||||
setVariantName | X |
|
|
|
|
| |||||
synthesize | X |
|
|
|
|
|
...
Code Block | ||
---|---|---|
| ||
project.addWFGLocation('wfg_0', 'CKG2.WFG_M3) |
...
importSdcFile(filePath)
This method is used to apply a Synopsys Design Constraints (SDF) file to a project for STA or TimingDriven purpose.
...
Code Block | ||
---|---|---|
| ||
project.applySdcFileimportSdcFile(./sdc_directory/constraints.sdc) |
...
Code Block | ||||
---|---|---|---|---|
| ||||
project = createProject() project.load('routed.nym') project.createClock(getClockNet('CLK'), 'clk', 8000, 0, 4000) project.developCKGs() project.createGeneratedClock(getWFGOutput('wfg_clk[1]'),getRegister('data_reg[0]'), 'clk1_div2', {'DivideBy': 2}) |
destroy() (project)
This method is used to destroy the project.
...
Code Block |
---|
Display after destruction Traceback (most recent call last): File "test.py", line 22, in <module> project.display() impulse.error: Invalid Request: Obsolete object |
destroy() (analyzer)
This method is used to destroy the analyzer.
This method takes no argument.
Example:
Code Block | ||
---|---|---|
| ||
a = project.createAnalyzer()
a.launch()
a.destroy() |
display()
This method is used to open current project in impulse graphic user interface. It can be called several times from the same Python script.
...
Code Block |
---|
project = createProject() project.load('/home/user/example/vhdl/simple/routed.nym') project.initRegister('SPI_CTRL', '0x01f4003f') project.generateBitstream('bitstream.nxb') |
...
injectLowskew(signal, [lobes])
This method is used to limit inject a lowskew signal to be used in only signal in lowskew network in specified lobes.
Arguments:
Name | Type | Description |
signal | string | name of the signal. |
lobes | string | list of specified allowed lobes for the lowskew signals. Lobes must be separated by “,” character |
Example:
Code Block |
---|
project.injectLowskew('clk') project.limitLowskewinjectLowskew('clk_right','Rx1,Rx2,Rx3,Rx4') |
...
Name | Default | Description | ||||||
'AllowCascadedGCK' | ‘No’ | ‘No’: Prohibit GCK cascade ‘Yes’: Allow GCK cascade | ||||||
'Autosave' | 'Yes' | Enable automatic protect save after each flow step. | ||||||
'BypassingEffort' | 'Medium' | Specify the DFF load and reset spreading level into the low-skew network (can be 'Low', 'Medium' or 'High'): Low: all Load and Resetare sent in low skew Medium: Impulse choose an effective balance High: all Load and Reset are routed in common parts ( high routing constraint) | ||||||
'CMICLatency' | '0' | Additional delay between 2 CMIC scans. Integer value expressed in number of BSM clock cycles. Total delay between 2 scans is: (CMICLatency+1) * 2**16 | ||||||
'CongestionEffort' | 'High' | Specify the routing resources limit per tile to leave and enter in the tile (can be 'Low', 'Medium' or 'High'):
| ||||||
'Dynamic' | 'No' | Refresh view while algorithms are running. | ||||||
'DefaultFSMEncoding' | 'OneHot' | Default encoding of finite state machine (can be 'OneHot', 'OneHotSafe', 'OneHotSafeExtra' or 'Binary'):
Example for binary encoding with 3 states:
Example for one hot encoding with 3 states:
| ||||||
'DefaultRAMMapping' | 'AUTO' | Default mapping of RAM (can be 'AUTO', 'RF', 'RAM' or 'RAM_ECC'). | ||||||
'DefaultROMMapping' | 'AUTO' | Default mapping of ROM (can be 'AUTO', 'LUT', 'RF', 'RAM' or 'RAM_ECC'). | ||||||
'DensityEffort' | 'Low' | Specify the tile instance resources allowed per tile like DFF,LUT, … (can be 'Low', 'Medium' or 'High'):
| ||||||
'DisableAdderBasicMerge' | 'No' | Disable carry optimization around adders and subtractors. | ||||||
'DisableAdderTreeOptimization' | 'No' | Disable adder mux reordering and adder tree balancing. | ||||||
'DisableAdderTrivialRemoval' | 'No' | Disable simplification of adder that could fit in 1 or 2 LUTs. | ||||||
'DisableAssertionChecking' | 'No' | Deactivate VHDL assertions. | ||||||
'DisableDSPAluOperator' | 'No' | Disable merge of ALU within inferred DSP. | ||||||
'DisableDSPFullRecognition' | 'No' | Disable inference of DSP. | ||||||
'DisableDSPPreOperator' | 'No' | Disable merge of pre-operator within inferred DSP. | ||||||
'DisableDSPRegisters' | 'No' | Disable merge of registers within inferred DSP. | ||||||
'DisableRegisterMergeInDspForAdd' | ‘No’ | Disable merge of registers in DSP when used as adder | ||||||
'DisableKeepPortOrdering' | 'No' | Disable keep port ordering used in source files when generating HDL netlists. | ||||||
'DisableLoadAndResetBypass' | 'No' | Disable load and reset signal bypass on DFF. | ||||||
'DisableRAMAlternateForm' | 'No' | Disable recognition of registered address read port. | ||||||
'DisableROMFullLutRecognition' | 'No' | Disable merge of ROM recognized as LUT with logic. | ||||||
'DisableRAMRegisters' | 'No' | Disable merge of registers within inferred RAM. | ||||||
‘ExhaustiveBitstream’ | ‘No’ | Can be used to force generation of all configurations and contexts in bitstream (can be ‘No’, ‘Config’, ‘Context’ or ‘ConfigContext’). | ||||||
'GenerateBitstreamCMIC' | 'No' | Generate bitstream with CMIC. | ||||||
‘InitializeContext’ | 'No' | Initialize all DFF, RFB and RAM of the chip. It increases the bitstream size. | ||||||
'IgnoreRAMFlashClear' | 'No' | Do not output error when recognizing a RAM with flash clear. | ||||||
'ManageAsynchronousReadPort' | 'No' | If 'Yes', detect asynchronous read port in memories and repair it in synchronous read port. The read port receive the reversed write clock. It can slow down the design and sometimes may cause invalid behavior. | ||||||
'ManageUnconnectedOutputs' | 'Error' | Undriven outputs of HDL modules are treated as ‘Error', 'Ground', 'Power' or 'Preserve’. Error: Generates an error Ground: Connect to '0' Power: Connect to '1' Preserve: Preserve attribute set to avoid optimization | ||||||
'ManageUnconnectedSignals' | 'Error' | Undriven internal signals of HDL modules are treated as ‘Error', 'Ground', 'Power' or 'Preserve’. Error: Generates an error Ground: Connect to '0' Power: Connect to '1' Preserve: Preserve attribute set to avoid optimization | ||||||
'ManageUninitializedLoops' | 'No' | Remove reset-less looped DFF causing extra-mapping and 'X' values in simulation (can be 'No', 'Power, ''Ground'). | ||||||
'MappingEffort' | 'Low' | Effort for an optimized mapping in terms of primitive instance merging and simplification (can be 'Low', 'Medium' or 'High'):
| ||||||
'MaxRegisterCount' | '2500' | Maximum number of registers handled per HDL module (not the whole design) by the synthesizer. | ||||||
‘OptimizedMux’ | ‘Yes’ | If set to 'Yes', impulse will identify and convert every mux in the corresponding optimized 4-LUT structure. | ||||||
'PartitioningEffort' | 'Medium' | Define the size of the netlist subset which will be further optimized for timing goals achievement (can be 'Low', 'Medium' or 'High') :
| ||||||
'PolishingEffort' | 'Medium' | It allows to regenerate locally a signal in TILE which in normal way should be provide by an others TILE in order to reduce utilization of routing resources.
| ||||||
'ReadyOffWithSoftReset' | ‘Yes’ | Only available for NG-ULTRA variant. It links the ready falling edge to soft reset enabling during the power off reset sequence. | ||||||
‘ReplicationApproval’ | ‘Yes’ | Allow replication in a close TILE if not possible in the current TILE.
| ||||||
'RoutingEffort' | 'Medium' | Routing Optimization level in terms of routing instances (can be 'Low', 'Medium' or 'High'):
| ||||||
‘SaveTiming' | ‘No’ | Save STA in .nym project files
| ||||||
‘Seed’ | ‘1789’ | Seed for placing algorithm start. Depending on the seed, instances are created in a different order and placed so. Can be used in order to generate several Place & Route with the same synthesized project. | ||||||
'SetRunAfterContext' | ‘No’ | Indicate the sequence in the bitstream between run (routing instances enable) and context (initialization values for DFF, RFB, RAM).
| ||||||
'SharingEffort' | 'Medium' | Enables the insertion in lowskew network signal with fanout above the SharingFanout threshold.
Medium and High have the same impact. | ||||||
'SharingFanout' | '100' | Fanout threshold to insert signal in lowskew network. This option has an impact only if SharingEffort is set to Medium or High. | ||||||
‘SimplifyRegions’ | ‘Yes’ | Clear module and region database:
| ||||||
‘SytemOutputDriven’ | 'No' | Increase placing close to the ring for instances communicating with.
| ||||||
'TimingEffort' | ‘High’ | Indicates level of iterations for TimingDriven algorithm.
| ||||||
'UnusedPads' | 'Floating' | State in which the pads must be set when not used. Values can be 'Floating','WeakPullUp', 'WeakPullDown'. Note that when the state is different from 'floating', all the pads are serialized in the bitstream. Note that ‘WeakPulldown’ value is not available on NX1H35S component. | ||||||
‘VariantAwareSynthesis’ | ‘Yes’ | If set to ‘Yes’ synthesis will automatically map to equivalent resource when specific resource is depleted. For example using DSP when there are no more CY available (can be ‘Yes’ or ‘No’). |
...
Code Block | ||
---|---|---|
| ||
simulator.addWaves([‘A’, ‘B’, ‘O’]) |
destroy()
This method is used to destroy the simulator object.
...