Copyright
All the contents of this document are protected by the copyright law. They may not be disclosed to third parties or copied or duplicated in any form without consent of NanoXplore.
Introduction
Aim of document
This document is intended to guide users on Training_package environment.
The Training_package environment is a help for customers as it provides several tests. These tests are meant to use a NxPython function, instantiate a Nx component or show a design example.
To be more user friendly, some features are added to the environment as Makefile and GUI.
For any kind of help or error reporting, please contact NanoXplore support team at support@nanoxplore.com.
Package installation
The following installations must be done to be compliant with the whole environment:
Python 3.6 - On CentOS machine, please launch the following commands:
sudo yum install rh-python36
PyQt5 - On CentOS machine, please launch the following commands:
sudo yum install qt5-qtbase-devel
sudo yum install python3-qt5
The environment is dedicated to be used in a Linux OS.
Operation
The environment is based on Makefile use and the GUI is only a graphical interface which sends Makefile targets in the Linux terminal.
It is recommended to check frequently the Linux terminal when using the GUI as some key information can be displayed.
Commands
In order to get all info about all Makefile targets, please enter the following command:
make
In order to launch the GUI, please enter the following command:
python3 Training_Gui.py
System errors
If one of the following error messages appears when performing a command, please send the associated command:
“Warning **: Error retrieving accessibility bus address”
sudo apt-get install at-spi-core
Directory content
The directory is divided in multiple sub-directories and files to be clearer.
Files
Makefile
This is the Makefile which contains many targets in order to manage every test from the main directory.
For instance, it gives the ability to launch a test through NxPython, open a test through Impulse, open logs, etc,…
Test_Plan.csv
This table file contains all available tests in the training environment. Each test gets the following information:
Category, Test and Argument names.
Compliant variants.
Description and Results.
NxPython function and Nx components.
Training_Gui.py
This is the script to launch in order to open the training GUI.
Training_Transcript.sh
This script is automatically generated when launching Makefile commands through the GUI. It gives the ability to perform the same actions without using the GUI.
Path.mk
This is the configuration file for the Makefile and the GUI. It is used to configure some paths and commands related to needed software. In the GUI, these parameters values are only default ones and can be changed.
The only available parameters to configure are the following:
NXDESIGNSUITE_PATH=[path to nxpython and impulse bin directory]
NXDESIGNSUITE_MODEL_PATH=[path to modelsim NX libraries directory]
NXBASE2_PATH=[path to nxbase2_cli directory]
TEXT_EDITOR_CMD=[text editor command to open a text file]
TABLE_EDITOR_CMD=[table editor command to open a csv file]
Directories
Doc
This is where documentation is stored.
Test
All tests are stored with the path “test/[category]/[test]/”.
Then each test directory gets the following files and directories:
nxpython_script.py: script to launch by
nxpython nxpython_script.py <options>
project_variables.py: all variables used for the test are defined.
src: all needed RTL sources.
sub_scripts: all needed python files to create the project.
project_ios.py: defined banks voltages and pads configurations.
project_files.py: defined RTL files.
project_parameters.py: defined top generic parameters.
project_options.py: defined NxPython options.
project_constraints.py: defined constraints for synthesis or P&R.
project_class.py: chip class.
script.py: main script.
[top_cell]_[variant](_[options]): created project once launched.
LogsPython: all logs and reports.
*.nym: nxpython project files.
*.vhd/*.v: netlists.
*.sdf: Backannoted SDF files.
Bitstream.nxb: bitstream binary file.
Results
This directory is divided in nxpython directory containing result files from nxpython command and simu directory containing result files from vsim command. A result file contains all printed messages.
All result files are sorted variant by variant.
Reports
This directory is divided in nxpython directory, containing result files from nxpython command, and simu directory, containing result files from vsim command. A report file contains a summary of its associated result as parameters, option, used resources, reported timings etc …
All result files are sorted variant by variant.
Makefile commands
Hereafter, a list of multiple Makefile commands.
All commands must be launched as follows:
make [command] [parameter0]=[parameter0_value] [parameter1]=[parameter1_value]
Parameters under brackets “()” are optional. That means a default value is set but can be overridden.
The following table describes the exhaustive list of values and the default values for each optional parameter:
Parameter | Available values | Default value | Description |
ARGUMENT | ‘’ | Argument launched with nxpython script | |
BACKANNOTED | Yes No | Yes | Simulation run is launched in backannoted mode or not |
NETLIST | VHDL Verilog | VHDL | Backannoted simulation is done with VHDL or Verilog netlist |
VARIANT | NG-MEDIUM NG-LARGE NG-ULTRA NG-MEDIUM-EMBEDDED NG-LARGE-EMBEDDED NG-ULTRA-EMBEDDED | NG-MEDIUM | Used variant |
PROGRESS | native synthesized_1 synthesized_2 placed_1 placed_2 placed_3 placed_4 placed_5 routed_1 routed_2 routed_3 | routed_3 | Progress of bitstreaming flow |
SEVERITY | REMARK WARNING ERROR | WARNING | Severity in reporting |
Information
Info
Command | info |
Description | Get information about the version |
Parameters | |
Example | make info |
Table: info Makefile command
Test_list
Command | test_list |
Description | Get list of tests by category, name and argument |
Parameters | |
Example | make test_list |
Table: test_list Makefile command
Package management
Open_test_plan
Command | open_test_plan |
Description | Open Test_Plan.csv |
Parameters | |
Example | make open_test_plan |
Table: open_test_plan Makefile command
Archive_test
Command | archive_test |
Description | Create a .zip archive for a test in the parent directory |
Parameters | CATEGORY NAME |
Example | make archive_test CATEGORY=ClockConstraint NAME=GeneratedClock |
Table: archive_test Makefile command
Test management
Edit_script_files
Command | edit_script_files |
Description | edit all python sub-scripts of a project |
Parameters | CATEGORY NAME |
Example | make edit_script_files CATEGORY=ClockConstraint NAME=GeneratedClock |
Table: edit_script_files Makefile command
Edit_src_files
Command | edit_src_files |
Description | edit all RTL sources of a project |
Parameters | CATEGORY NAME |
Example | make edit_src_files CATEGORY=ClockConstraint NAME=GeneratedClock |
Table: edit_src_files Makefile command
Launch_test
Command | launch_test |
Description | Launch a test through nxpython |
Parameters | CATEGORY NAME (ARGUMENT) (VARIANT) |
Example | make launch_test CATEGORY=ClockConstraint NAME=GeneratedClock ARGUMENT=ClockConstraint VARIANT=LARGE |
Table: launch_test Makefile command
Open_test
Command | open_test |
Description | Open a test through Impulse |
Parameters | CATEGORY NAME (ARGUMENT) (VARIANT) (PROGRESS) |
Example | make open_test CATEGORY=ClockConstraint NAME=GeneratedClock ARGUMENT=ClockConstraint VARIANT=LARGE PROGRESS=placed |
Table: open_test Makefile command
Open_log
Command | open_log |
Description | Open all .log files in project log directory |
Parameters | CATEGORY NAME (ARGUMENT) (VARIANT) |
Example | make open_log CATEGORY=ClockConstraint NAME=GeneratedClock ARGUMENT=ClockConstraint VARIANT=LARGE |
Table: open_log Makefile command
Open_rpt
Command | open_rpt |
Description | Open all .rpt files in project log directory |
Parameters | CATEGORY NAME (ARGUMENT) (VARIANT) |
Example | make open_rpt CATEGORY=ClockConstraint NAME=GeneratedClock ARGUMENT=ClockConstraint VARIANT=LARGE |
Table: open_rpt Makefile command
Open_timing
Command | open_timing |
Description | Open all .timing files in project log directory |
Parameters | CATEGORY NAME (ARGUMENT) (VARIANT) |
Example | make open_timing CATEGORY=ClockConstraint NAME=GeneratedClock ARGUMENT=ClockConstraint VARIANT=LARGE |
Table: open_timing Makefile command
Simulation Management
Run_simu
Command | run_simu |
Description | Run a simu through ModelSim |
Parameters | CATEGORY NAME (ARGUMENT) (BACKANNOTED) (NETLIST) (VARIANT) |
Example | make run_simu CATEGORY=ClockConstraint NAME=GeneratedClock ARGUMENT=ClockConstraint BACKANNOTED=Yes NETLIST=VHDL VARIANT=LARGE |
Table: run_simu Makefile command
Open_simu
Command | open_simu |
Description | Open a simu through ModelSim |
Parameters | CATEGORY NAME (ARGUMENT) (BACKANNOTED) (NETLIST) (VARIANT) |
Example | make open_simu CATEGORY=ClockConstraint NAME=GeneratedClock ARGUMENT=ClockConstraint BACKANNOTED=Yes NETLIST=VHDL VARIANT=LARGE |
Table: open_simu Makefile command
Result Management
Open_result
Command | open_result |
Description | Open result file |
Parameters | CATEGORY NAME (ARGUMENT) (VARIANT) |
Example | make open_result CATEGORY=ClockConstraint NAME=GeneratedClock ARGUMENT=ClockConstraint VARIANT=LARGE |
Table: open_result Makefile command
Report_result
Command | report_result |
Description | Generate report file from the result file |
Parameters | CATEGORY NAME (ARGUMENT) (VARIANT) (SEVERITY) |
Example | make report_result CATEGORY=ClockConstraint NAME=GeneratedClock ARGUMENT=ClockConstraint VARIANT=LARGE SEVERITY=ERROR |
Table: report_result Makefile command
Open_report
Command | open_report |
Description | Open result file |
Parameters | CATEGORY NAME (ARGUMENT) (VARIANT) |
Example | make open_report CATEGORY=ClockConstraint NAME=GeneratedClock ARGUMENT=ClockConstraint VARIANT=LARGE |
Table: open_report Makefile command
Simulation Result Management
Open_simu_result
Command | open_simu_result |
Description | Open simu result file |
Parameters | CATEGORY NAME (ARGUMENT) (BACKANNOTED) (NETLIST) (VARIANT) |
Example | make open_simu_result CATEGORY=ClockConstraint NAME=GeneratedClock ARGUMENT=ClockConstraint BACKANNOTED=Yes NETLIST=VHDL VARIANT=LARGE |
Table: open_simu_result Makefile command
Report_simu_result
Command | report_simu_result |
Description | Generate simu report file from the result file |
Parameters | CATEGORY NAME (ARGUMENT) (BACKANNOTED) (NETLIST) (VARIANT) (SEVERITY) |
Example | make report_simu_result CATEGORY=ClockConstraint NAME=GeneratedClock ARGUMENT=ClockConstraint BACKANNOTED=Yes NETLIST=VHDL VARIANT=LARGE SEVERITY=ERROR |
Table: report_simu_result Makefile command
Open_simu_report
Command | open_simu_report |
Description | Open simu report file |
Parameters | CATEGORY NAME (ARGUMENT) (BACKANNOTED) (NETLIST) (VARIANT) |
Example | make open_simu_report CATEGORY=ClockConstraint NAME=GeneratedClock ARGUMENT=ClockConstraint BACKANNOTED=Yes NETLIST=VHDL VARIANT=LARGE |
Table: open_simu_report Makefile command
Bistream management
Load_bitstream
Command | load_bitstream |
Description | Load a bitstream through NxBase2 |
Parameters | CATEGORY NAME (ARGUMENT) (VARIANT) |
Example | make load_bitstream CATEGORY=ClockConstraint NAME=GeneratedClock ARGUMENT=ClockConstraint VARIANT=LARGE |
Table: load bitstream Makefile command
GUI interface
For each window, all actions are available in the bar menu. Some of them get shortcuts and some of them get quick buttons.
Only these actions will be described in this document as quick buttons do exactly the same action as the associated menu bar action.
Main window
Overview
The Test_Plan.csv file is displayed as a table as a central widget.
Menu
Software Path/Command
Action | Software Path/Command |
Description | Change the NxDesignSuite path, NxBase2 path, text editor command or table editor command. |
Shortcut | |
Makefile command |
Table: Table Editor GUI action
If no text editor has been configured in the configuration file config.cfg, the default one is “libreoffice”.
If no text editor has been configured in the configuration file config.cfg, the default one is “nedit”.
Info
Action | Info |
Description | It gives information about this software version. |
Shortcut | |
Makefile command |
Table: Info GUI action
Quit
Action | Quit |
Description | Quit the window and the software. |
Shortcut | CTRL+Q |
Makefile command |
Table: Quit GUI action
Test
Find Nxmap Function / Nx Component
Action | Find |
Description | Find a NxPython Function or a Nx Component among all tests. |
Shortcut | CTRL+Q |
Makefile command |
Table: Find NxPython Function / Nx Component GUI action
Only a pattern is needed meaning this is a research of a string containing the word and not a research of the whole word.
Test Management
Action | Test Management |
Description | Open the Test Management Window. |
Shortcut | CTRL+T |
Makefile command |
Table: Test Management GUI action
Database
Open Test Plan
Action | Test Management |
Description | Open Test_Plan.csv |
Shortcut | |
Makefile command | open_test_plan |
Table: Open Test Plan GUI action
Test management window
Overview
All information about the test stored in the Test_Plan.csv is displayed in a more readable way.
Menu
Quit
Action | Quit |
Description | Quit the window. |
Shortcut | CTRL+Q |
Makefile command |
Table: Quit GUI action
File
Edit Files
Action | Open Timing |
Description | Open a Notepad editor in order to edit source and script files of the test. |
Shortcut | |
Makefile command |
Table: Edit Files GUI action
Test
Launch Test
Action | Launch Test |
Description | Launch a test through nxpython. |
Shortcut | CTRL+L |
Makefile command | launch_test |
Table: Launch Test GUI action
Open Test
Action | Launch Test |
Description | Open a test through Impulse. |
Shortcut | CTRL+O |
Makefile command | open_test |
Table: Open Test GUI action
Open Log
Action | Open Log |
Description | Open .log files in project log directory. |
Shortcut | |
Makefile command | open_log |
Table: Open Log GUI action
Open Rpt
Action | Open Rpt |
Description | Open .rpt files in project log directory. |
Shortcut | |
Makefile command | open_rpt |
Table: Open Rpt GUI action
Open Timing
Action | Open Timing |
Description | Open .timing files in project log directory. |
Shortcut | |
Makefile command | open_timing |
Table: Open Timing GUI action
Open Result
Action | Open Result |
Description | Open the result file of the test. |
Shortcut | |
Makefile command | open_result |
Table: Open Result GUI action
Before opening a result file, the test has to be launched.
Open Report
Action | Open Report |
Description | Open the report file of the test. |
Shortcut | |
Makefile command | open_report |
Table: Open Report GUI action
Before opening a report file, the test has to be launched.
Open Simu Result
Action | Open Simu Result |
Description | Open the result simu file of the test. |
Shortcut | |
Makefile command | open_simu_result |
Table: Open Result GUI action
Before opening a simu result file, the simu has to be run.
Open Simu Report
Action | Open Report |
Description | Open the report simu file of the test. |
Shortcut | |
Makefile command | open_simu_report |
Table: Open Report GUI action
Before opening a simu report file, the simu has to be run.
Bitstream
Load Bitstream
Action | Archive Test |
Description | Load a bitstream through NxBase2 |
Shortcut | |
Makefile command | load _bitstream |
Table: Load Bitstream GUI action
Database
Archive Test
Action | Archive Test |
Description | Create a .zip archive of the test in the parent directory. |
Shortcut | |
Makefile command | archive_test |
Table: Archive Test GUI action