mirror of
https://github.com/YosysHQ/yosys
synced 2026-04-28 23:03:39 +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 += ./opt_share
|
||||||
MK_TEST_DIRS += ./fsm
|
MK_TEST_DIRS += ./fsm
|
||||||
MK_TEST_DIRS += ./memlib
|
MK_TEST_DIRS += ./memlib
|
||||||
#SH_TEST_DIRS += ./bram
|
MK_TEST_DIRS += ./bram
|
||||||
#SH_TEST_DIRS += ./svinterfaces
|
#SH_TEST_DIRS += ./svinterfaces
|
||||||
MK_TEST_DIRS += ./xprop
|
MK_TEST_DIRS += ./xprop
|
||||||
MK_TEST_DIRS += ./select
|
MK_TEST_DIRS += ./select
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,10 @@ import argparse
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import random
|
import random
|
||||||
|
import glob
|
||||||
|
|
||||||
|
sys.path.append("..")
|
||||||
|
import gen_tests_makefile
|
||||||
|
|
||||||
debug_mode = False
|
debug_mode = False
|
||||||
|
|
||||||
|
|
@ -287,9 +291,11 @@ if args.seed is not None:
|
||||||
else:
|
else:
|
||||||
seed = (int(os.times()[4]*100) + os.getpid()) % 900000 + 100000
|
seed = (int(os.times()[4]*100) + os.getpid()) % 900000 + 100000
|
||||||
|
|
||||||
print("PRNG seed: %d" % seed)
|
print("bram PRNG seed: %d" % seed)
|
||||||
random.seed(seed)
|
random.seed(seed)
|
||||||
|
|
||||||
|
os.makedirs("temp", exist_ok=True)
|
||||||
|
|
||||||
for k1 in range(args.count):
|
for k1 in range(args.count):
|
||||||
dsc_f = open("temp/brams_%02d.txt" % k1, "w")
|
dsc_f = open("temp/brams_%02d.txt" % k1, "w")
|
||||||
sim_f = open("temp/brams_%02d.v" % 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):
|
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))
|
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