Impulse 23.1 Release Note
1 What's New
Enhanced Logs refactoring
STA execution now 3x times faster than before
STA constraints analysis now possible without launching STA
New Hierarchy Complexity reporting method
Now possible to modify Pad configuration after Routed Design
New DFF merged statistics reporting method
Improved Preplace IP methodology
2 GUI
Improved contextual help and tooltips
UI improvements including:
Reporting integration
Deeper Window Customization
Feedback integrated to each tool
New High Contrast Theme added to the Accessibility options
3 Python
3.1 Console
nxpython
New -i argument activates the Interactive Console mode which allows the user to navigate into a project after script execution
nxipython
Activates the Interactive Console mode which allows the user to navigate into a project after script execution
3.2 SetOption()
SharingFanout
Allows user to set a minimum fanout trigger in order to inject every signal above this value into lowskew, e.g.
getProject().setOption('SharingFanout', '100')
3.3 Methods
reportHierarchyComplexity()
o Generates a report and a hierarchyComplexity.json file providing the logic cone complexity for each hierarchy level and by clock domain
• modifyPad()
Allows user to modify pad configuration at any step of Impulse Design Flow Please note that only part of the pad configuration can be changed
getProject().modifyPad('input[0]', {'drive':'8', 'slewRate':'Medium', 'termination':'25', 'terminationReference':'VT', 'inputDelayOn':True, 'inputDelayLine':3, 'turbo':False, 'inputSignalSlope':0.4, 'outputCapacity':2 })
reportDFFStatistics()
Prints a table reporting DFF merging statistics
getProject().reportDFFStatistics()
exportSites()
This method has been modified and now generates a .json file.
modifyAperture()
Modifies dimensions of the global aperture, deprecating the following:
setAperture(column1, row1, column2, row2)
adjustAperture(above, left, right, below)
translateAperture(horizontal, vertical)
addRegion()
Adds a new region with the specified name and dimensions and optionally sets the region to exclusive, deprecating the following:
createRegion(name, column1, row1, column2, row2[, exclusive])
modifyRegion()
Modifies dimensions of the specified region and optionally sets the region exclusive, deprecating the following:
setAperture(regionName, column1, row1, column2, row2)
removeRegion()
Removes specified region, deprecating the following:
destroyRegion(name)
addObstruction()
Adds a new obstruction with specified name and dimensions and optionally sets the obstruction for place and/or route, deprecating the following:
createObstruction(name, column1, row1, column2, row2[, place, route])
modifyObstruction()
Modifies dimensions of the specified region and optionally sets the obstruction for place and/or route
removeObstruction()
Removes specified region, deprecating the following:
destroyObstruction(name)
Preplace IP
Preplace IP methodology changed: The .nym file is no longer used. A .json and a .gcl file are now generated and used instead of .nym file to prevent version number conflicts
saveIP(‘PreplaceIPname.json’) generate .json
addBlackBox() use .json file
4 Static Timing Analysis (STA)
NanoXplore Design Constraints (NXDC)
preAnalyze()
Analyses all timing constraints without launching Static Timing Analysis (STA) and generates timingConstraints.rpt and timingConstraints.json files
a = p.createAnalyzer() a.preAnalyze()
5 NXLibrary
5.1 NG-ULTRA
NX_SOC_INTERFACE_WRAP
The following signal has been renamed:
Impulse22.3:
fabric_llpp1_arqos_s1_o: out std_logic_vector(3 downto 0);
Becomes:
Impulse23.1:
fabric_llpp1_arqos_s_o: out std_logic_vector(3 downto 0);NX_BD
NX_BD default value mode changed to global lowskewNX_DDFR_U
Dual Data Rate deported DFF can be instantiated
6 Known Issues
ExportAsIPCore:
Multiple emitters can appear in generated synthesized netlist due to std_logic_vector name conflicts
6.1 Fixed Bugs
Substractor optimization
Bad logic could be generated by the AdderTreeOptimization option
Preplace IP
WFG are no longer replicated when instantiating several Preplace IP connected to the same clock/reset
Simplified input/output interfaces are now supported
DSP
Bad DSP inference has been corrected for: Z = (A * B) + (D concat C)
Reset could be connected but not activated
NX_XFIFO_64x18 was leading to placement issues
7 Requirements and Setup
Before installing Impulse, please ensure your system meets the following specifications:
Table 1: System Requirements
7.1 Supported Operating Systems
NanoXplore supports the following operating systems
RedHat Enterprise Linux 64-bit:
CentOS 7
CentOS 8
Note: If a 64-bit Linux machine is not available, you can install VirtualBox with CentOS 7 or CentOS 8 to use Impulse
Note: WSL on Windows is not supported yet
Python
Running Impulse requires Python 3.6 installed on a Linux 64-bit machine.
Warning: Other Python versions are not supported yet.
7.2 Supported Devices
The following sections list all supported architectures.
Table 2: Supported Architectures
7.3 Compatible Third-Party Tools
Table 3: Third-Party Tools
7.4 Accessing NX Product Licensing
Visit https://support.nanoxplore.com and sign-in.
Request to sign a SLA and provide license information
Download Impulse
Install NX License Daemon
© NanoXplore 2022