From 1826a6663831e26d7c3d83f565ad7f4138c237b7 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Tue, 24 Mar 2026 07:53:06 +0100 Subject: [PATCH] Convert liberty --- tests/Makefile | 2 +- tests/liberty/generate_mk.py | 43 ++++++++++++++++++++++++++++++++++++ tests/liberty/run-test.sh | 22 ------------------ 3 files changed, 44 insertions(+), 23 deletions(-) create mode 100644 tests/liberty/generate_mk.py delete mode 100755 tests/liberty/run-test.sh diff --git a/tests/Makefile b/tests/Makefile index 21ef440f6..f971ec5e5 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -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 diff --git a/tests/liberty/generate_mk.py b/tests/liberty/generate_mk.py new file mode 100644 index 000000000..35bd9335b --- /dev/null +++ b/tests/liberty/generate_mk.py @@ -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() diff --git a/tests/liberty/run-test.sh b/tests/liberty/run-test.sh deleted file mode 100755 index 1b6873f26..000000000 --- a/tests/liberty/run-test.sh +++ /dev/null @@ -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 -