3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-03-27 14:55:47 +00:00

Convert liberty

This commit is contained in:
Miodrag Milanovic 2026-03-24 07:53:06 +01:00
parent 5d4c5db895
commit 1826a66638
3 changed files with 44 additions and 23 deletions

View file

@ -73,7 +73,7 @@ MK_TEST_DIRS += ./rpc
MK_TEST_DIRS += ./memfile
#SH_TEST_DIRS += ./fmt
MK_TEST_DIRS += ./cxxrtl
#SH_TEST_DIRS += ./liberty
MK_TEST_DIRS += ./liberty
#ifeq ($(ENABLE_FUNCTIONAL_TESTS),1)
#SH_TEST_DIRS += ./functional
#endif

View file

@ -0,0 +1,43 @@
#!/usr/bin/env python3
import glob
import os
import sys
sys.path.append("..")
import gen_tests_makefile
def lib_tests():
for lib in sorted(glob.glob("*.lib")):
base = os.path.splitext(lib)[0]
gen_tests_makefile.generate_cmd_test(lib, [
f'$(YOSYS) -p "read_verilog small.v; synth -top small; dfflibmap -info -liberty {lib}" -ql {base}.log;',
f'../../yosys-filterlib - {lib} 2>/dev/null > {lib}.filtered;',
f'../../yosys-filterlib -verilogsim {lib} > {lib}.verilogsim;',
f'diff {lib}.filtered {lib}.filtered.ok;',
f'diff {lib}.verilogsim {lib}.verilogsim.ok;',
f'if [ -e {base}.log.ok ]; then '
f'$(YOSYS) -p "dfflibmap -info -liberty {lib}" -TqqQl {base}.log >/dev/null 2>&1; '
f'diff {base}.log {base}.log.ok; '
f'fi',
])
def ys_tests():
for ys in sorted(glob.glob("*.ys")):
gen_tests_makefile.generate_ys_test(ys)
def main():
def callback():
lib_tests()
ys_tests()
gen_tests_makefile.generate_custom(callback)
if __name__ == "__main__":
main()

View file

@ -1,22 +0,0 @@
#!/usr/bin/env bash
source ../common-env.sh
set -eo pipefail
for x in *.lib; do
echo "Testing on $x.."
../../yosys -p "read_verilog small.v; synth -top small; dfflibmap -info -liberty ${x}" -ql ${x%.lib}.log
../../yosys-filterlib - $x 2>/dev/null > $x.filtered
../../yosys-filterlib -verilogsim $x > $x.verilogsim
diff $x.filtered $x.filtered.ok
diff $x.verilogsim $x.verilogsim.ok
if [[ -e ${x%.lib}.log.ok ]]; then
../../yosys -p "dfflibmap -info -liberty ${x}" -TqqQl ${x%.lib}.log >/dev/null 2>&1
diff ${x%.lib}.log ${x%.lib}.log.ok
fi
done
for x in *.ys; do
echo "Running $x.."
../../yosys -q -s $x -l ${x%.ys}.log >/dev/null 2>&1
done