Training Package User Manual

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 Nxmap 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 nxmap, 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.

  • Nxmap 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:

  • NXMAP_PATH=[path to nxpython and nxmap3 bin 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:

  • nxmap_script.py: script to launch by nxpython nxmap_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 Nxmap 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: nxmap project files.

    • *.vhd: netlists.

    • *.sdf: Backannoted SDF files.

    • Bitstream.nxb: bitstream binary file.

Results

This directory is divided in nxmap 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 nxmap 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

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 nxmap3

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) (VARIANT)

Example

make run_simu CATEGORY=ClockConstraint NAME=GeneratedClock ARGUMENT=ClockConstraint BACKANNOTED=Yes VARIANT=LARGE

Table: run_simu Makefile command

Open_simu

Command

open_simu

Description

Open a simu through ModelSim

Parameters

CATEGORY NAME (ARGUMENT) (BACKANNOTED) (VARIANT)

Example

make open_simu CATEGORY=ClockConstraint NAME=GeneratedClock ARGUMENT=ClockConstraint BACKANNOTED=Yes 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) (VARIANT)

Example

make open_simu_result CATEGORY=ClockConstraint NAME=GeneratedClock ARGUMENT=ClockConstraint BACKANNOTED=Yes 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) (VARIANT) (SEVERITY)

Example

make report_simu_result CATEGORY=ClockConstraint NAME=GeneratedClock ARGUMENT=ClockConstraint BACKANNOTED=Yes 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) (VARIANT)

Example

make open_simu_report CATEGORY=ClockConstraint NAME=GeneratedClock ARGUMENT=ClockConstraint BACKANNOTED=Yes 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.

Main window overview



Menu

Software Path/Command

Action

Software Path/Command

Description

Change the NxMap 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 Nxmap Function or a Nx Component among all tests.

Shortcut

CTRL+Q

Makefile command

 

Table: Find Nxmap 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.

Test management window overview

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 nxmap3.

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

© NanoXplore 2022