3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-04-25 05:13:34 +00:00
yosys/tests/liberty/generate_mk.py
Miodrag Milanovic 604df0d7fb Cleanup
2026-03-26 08:14:16 +01:00

44 lines
1.2 KiB
Python

#!/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} > {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; '
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,
[f"YOSYS_FILTERLIB ?= {gen_tests_makefile.yosys_basedir}/yosys-filterlib"])
if __name__ == "__main__":
main()