Testcase ReadMe

Testcase ReadMe

This document gives examples for the NX testcase template using argparser feature.

This template is used in TrainingPackage testcases.

You can download the template on the following link / Version 22.1.0.1-v0:

https://files.nanoxplore.com/f/defc884200414b059150/?dl=1

 


//Author : K.CHOPIER
//Company: NanoXplore
//Contact: support@nanoxplore.com



//Description


The aim of this package is to provide to NanoXplore user a script template in order to implement a design in a standard format.
The template is made to ease user implementation and ease NX support to debug a project.


//Commands


//Commands to manage package

nxpython nxmap_script.py -h : get help nxpython nxmap_script.py -i : get info about default values and allowed values nxpython nxmap_script.py -c : clean directory removing all generated directories and files nxpython nxmap_script.py -a : create a zip file of this archive after cleaning it

//Commands to launch test:

nxpython nxmap_script.py --variant NG-LARGE : Launch the script for NG-LARGE variant nxpython nxmap_script.py --variant NG-LARGE --argument USE_DSP : Launch the script for NG-LARGE variant with argument "USE_DSP" which is used in sub_scripts nxpython nxmap_script.py --variant NG-LARGE --progress synthesized : Launch the script for NG-LARGE variant reloading synthesized project from previous run with same variant and same argument nxpython nxmap_script.py --variant NG-LARGE --suffix try_1 : Launch the script for NG-LARGE variant adding a suffix in the project name. Useful in case of multiple tries changing scripts. nxpython nxmap_script.py --variant NG-LARGE --topcellname switch_counter --topcelllib work : Launch the script for NG-LARGE variant for a different top cell than the default one. Useful in case of unitary run before top run nxpython nxmap_script.py --variant NG-LARGE --timingdriven Yes : Launch the script for NG-LARGE variant with TimingDriven enabled nxpython nxmap_script.py --variant NG-LARGE --seed 3557 : Launch the script for NG-LARGE variant with a different seed nxpython nxmap_script.py --variant NG-LARGE --sta placed1_routed3 --stacondition typical_worstcase : Launch the script for NG-LARGE variant generating sta after Prepared and Routed steps in typical and worstcase conditions nxpython nxmap_script.py --variant NG-LARGE --bitstream Yes : Launch the script for NG-LARGE variant generating a bitstream at the end nxpython nxmap_script.py --variant NG-LARGE --options RoutingEffort.Low_MappingEffort.Medium : Launch the script for NG-LARGE variant with nxmap options RoutingEffort set to Low and MappingEffort set to Medium nxpython nxmap_script.py --variant NG-LARGE --constraints No : Launch the script for NG-LARGE variant without any synthesis, placing or routing constraints defined in project.constraints.py

//Tree


//Input folders and files

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: created project once launched. logsPython : all logs and reports. *.nym : nxmap project files. *.vhd : netlists. *.sdf : Backannoted SDF files. bitstream.nxb : bitstream binary file.

 

Multi Seed

Heareafter a shell script in order to launch a test with multiple seed (random or user list)

#!/bin/bash #1st arg: number of tests #2nd arg: "random"/"list" #Example 1: ./multi_seed.sh 3 random => Generates 3 tests with random values in range [1;10000] #Example 2: ./multi_seed.sh 5 list => Generates 2 tests with values in list seed_list #To generate a CSV report launch the following command: #Example: python compare_sta.py switch_NG-MEDIUM_ Routed worstcase => Generates a CSV report for all folders containing "switch_NG-MEDIUM_" parsing STA files generated at Routed step in worstcase conditions nxpython_path=/home/groups/soft/nxdesignsuite/integration/nxmap-dbg/lastdevversion/lastdevbuild/bin/nxpython seed_list="13 19" for (( i=0; i< $1; i++)) do if [[ $2 == "random" ]] then seed=$(( RANDOM % 10000 )) $nxpython_path nxmap_script.py --seed $seed --suffix $seed elif [[ $2 == "list" ]] then seed_list_split=($seed_list) seed=${seed_list_split[$i]} $nxpython_path nxmap_script.py --seed $seed --suffix $seed else echo "Unrecognized mode $2. It must be random or list" fi done

© NanoXplore 2025