mirror of
https://github.com/YosysHQ/yosys
synced 2026-03-23 04:49:15 +00:00
Convert bram tests
This commit is contained in:
parent
e7cc04954d
commit
a54c0149bf
3 changed files with 24 additions and 50 deletions
|
|
@ -61,7 +61,7 @@ MK_TEST_DIRS += ./share
|
|||
MK_TEST_DIRS += ./opt_share
|
||||
MK_TEST_DIRS += ./fsm
|
||||
MK_TEST_DIRS += ./memlib
|
||||
#SH_TEST_DIRS += ./bram
|
||||
MK_TEST_DIRS += ./bram
|
||||
#SH_TEST_DIRS += ./svinterfaces
|
||||
MK_TEST_DIRS += ./xprop
|
||||
MK_TEST_DIRS += ./select
|
||||
|
|
|
|||
|
|
@ -4,6 +4,10 @@ import argparse
|
|||
import os
|
||||
import sys
|
||||
import random
|
||||
import glob
|
||||
|
||||
sys.path.append("..")
|
||||
import gen_tests_makefile
|
||||
|
||||
debug_mode = False
|
||||
|
||||
|
|
@ -287,9 +291,11 @@ if args.seed is not None:
|
|||
else:
|
||||
seed = (int(os.times()[4]*100) + os.getpid()) % 900000 + 100000
|
||||
|
||||
print("PRNG seed: %d" % seed)
|
||||
print("bram PRNG seed: %d" % seed)
|
||||
random.seed(seed)
|
||||
|
||||
os.makedirs("temp", exist_ok=True)
|
||||
|
||||
for k1 in range(args.count):
|
||||
dsc_f = open("temp/brams_%02d.txt" % k1, "w")
|
||||
sim_f = open("temp/brams_%02d.v" % k1, "w")
|
||||
|
|
@ -303,3 +309,19 @@ for k1 in range(args.count):
|
|||
for k2 in range(lenk2):
|
||||
create_bram(dsc_f, sim_f, ref_f, tb_f, k1, k2, random.randrange(2 if k2+1 < lenk2 else 1))
|
||||
|
||||
configs = sorted(set(
|
||||
os.path.basename(f).replace("brams_", "").replace(".txt", "")
|
||||
for f in glob.glob("temp/brams_*.txt")
|
||||
))
|
||||
|
||||
def create_tests():
|
||||
for i in configs:
|
||||
for j in configs:
|
||||
if i != j:
|
||||
gen_tests_makefile.generate_cmd_test(
|
||||
f"bram_{i}_{j}",
|
||||
f"bash run-single.sh {i} {j} >/dev/null 2>&1"
|
||||
)
|
||||
|
||||
gen_tests_makefile.generate_custom(create_tests)
|
||||
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
source ../common-env.sh
|
||||
|
||||
# run this test many times:
|
||||
# MAKE="make -j8" time bash -c 'for ((i=0; i<100; i++)); do echo "-- $i --"; bash run-test.sh || exit 1; done'
|
||||
|
||||
set -e
|
||||
|
||||
OPTIND=1
|
||||
count=5
|
||||
seed="" # default to no seed specified
|
||||
debug=""
|
||||
while getopts "c:dS:" opt
|
||||
do
|
||||
case "$opt" in
|
||||
c) count="$OPTARG" ;;
|
||||
d) debug="-d" ;;
|
||||
S) seed="-S $OPTARG" ;;
|
||||
esac
|
||||
done
|
||||
shift "$((OPTIND-1))"
|
||||
|
||||
rm -rf temp
|
||||
mkdir -p temp
|
||||
|
||||
echo "generating tests.."
|
||||
python3 generate.py $debug -c $count $seed
|
||||
|
||||
{
|
||||
echo -n "all:"
|
||||
for i in $( ls temp/brams_*.txt | sed 's,.*_,,; s,\..*,,;' ); do
|
||||
for j in $( ls temp/brams_*.txt | sed 's,.*_,,; s,\..*,,;' | grep -v $i ); do
|
||||
echo -n " temp/job_${i}_${j}.ok"
|
||||
done; done
|
||||
echo
|
||||
for i in $( ls temp/brams_*.txt | sed 's,.*_,,; s,\..*,,;' ); do
|
||||
for j in $( ls temp/brams_*.txt | sed 's,.*_,,; s,\..*,,;' | grep -v $i ); do
|
||||
echo "temp/job_${i}_${j}.ok:"
|
||||
echo " @bash run-single.sh ${i} ${j}"
|
||||
echo " @echo 'Passed memory_bram test ${i}_${j}.'"
|
||||
echo " @touch \$@"
|
||||
done; done
|
||||
} > temp/makefile
|
||||
|
||||
echo "running tests.."
|
||||
${MAKE:-make} -f temp/makefile
|
||||
|
||||
exit 0
|
||||
Loading…
Add table
Add a link
Reference in a new issue