mirror of
https://github.com/YosysHQ/yosys
synced 2025-08-09 04:31:25 +00:00
Add optional SEED=n command line option to Makefile, and -S n command line option to test scripts, for deterministic regression tests.
This commit is contained in:
parent
d8ad889594
commit
f4240cc8a4
14 changed files with 175 additions and 24 deletions
|
@ -1,5 +1,6 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import argparse
|
||||
import sys
|
||||
import random
|
||||
from contextlib import contextmanager
|
||||
|
@ -36,7 +37,16 @@ def random_expression(depth = 3, maxparam = 0):
|
|||
return op + '(' + recursion() + ', ' + recursion() + ')'
|
||||
raise
|
||||
|
||||
for idx in range(100):
|
||||
parser = argparse.ArgumentParser(formatter_class = argparse.ArgumentDefaultsHelpFormatter)
|
||||
parser.add_argument('-S', '--seed', type = int, help = 'seed for PRNG')
|
||||
parser.add_argument('-c', '--count', type = int, default = 100, help = 'number of test cases to generate')
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.seed is not None:
|
||||
print("PRNG seed: %d" % args.seed)
|
||||
random.seed(args.seed)
|
||||
|
||||
for idx in range(args.count):
|
||||
with open('temp/uut_%05d.v' % idx, 'w') as f:
|
||||
with redirect_stdout(f):
|
||||
print('module uut_%05d(output [63:0] %s);\n' % (idx, ', '.join(['y%02d' % i for i in range(100)])))
|
||||
|
|
|
@ -1,14 +1,26 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
OPTIND=1
|
||||
count=100
|
||||
seed="" # default to no seed specified
|
||||
while getopts "c:S:" opt
|
||||
do
|
||||
case "$opt" in
|
||||
c) count="$OPTARG" ;;
|
||||
S) seed="-S $OPTARG" ;;
|
||||
esac
|
||||
done
|
||||
shift "$((OPTIND-1))"
|
||||
|
||||
rm -rf temp
|
||||
mkdir -p temp
|
||||
echo "generating tests.."
|
||||
python3 generate.py
|
||||
python3 generate.py -c $count $seed
|
||||
|
||||
cd temp
|
||||
echo "running tests.."
|
||||
for ((i = 0; i < 100; i++)); do
|
||||
for ((i = 0; i < $count; i++)); do
|
||||
echo -n "[$i]"
|
||||
idx=$( printf "%05d" $i )
|
||||
../../../yosys -qq uut_${idx}.ys
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue