Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This document provides examples for the NX testcase template Testcase Template using the argparser feature.

...

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

...

Code Block
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.

Multi Seed

Hereafter Here below is a shell script in order to launch a test with multiple seed seeds (random or user list)

Code Block
#!/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 

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 nxpython_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

...