mirror of
https://github.com/YosysHQ/yosys.git
synced 2026-09-06 03:52:06 +02:00
roundtrip-src.sh checks that an `srcs` section survives write/read and a design push/pop unchanged, and that -readable resolves the handles. no-pipe-leaf.sh checks that fusing locations never bakes a '|'-joined string into a twine leaf.
21 lines
885 B
Bash
21 lines
885 B
Bash
set -euo pipefail
|
|
|
|
mkdir -p temp
|
|
|
|
${YOSYS} -p "read_rtlil src-twines.il; write_rtlil temp/src-twines-write.il"
|
|
tail -n +2 temp/src-twines-write.il > temp/src-twines-write-nogen.il
|
|
diff src-twines.il temp/src-twines-write-nogen.il
|
|
|
|
${YOSYS} -p "read_rtlil src-twines.il; design -push; design -pop; write_rtlil temp/src-twines-push.il"
|
|
tail -n +2 temp/src-twines-push.il > temp/src-twines-push-nogen.il
|
|
diff src-twines.il temp/src-twines-push-nogen.il
|
|
|
|
${YOSYS} -p "read_rtlil src-twines.il; write_rtlil -readable temp/src-twines-resolved.il"
|
|
grep '\\src' temp/src-twines-resolved.il | LC_ALL=C sort > temp/src-twines-resolved.srcs
|
|
cat > temp/src-twines-expected.srcs <<EOT
|
|
attribute \\src "everything.v:1.1-1.10"
|
|
attribute \\src "everything.v:2.5-2.8"
|
|
attribute \\src "everything.v:1.1-1.10|everything.v:2.5-2.8"
|
|
EOT
|
|
diff temp/src-twines-expected.srcs temp/src-twines-resolved.srcs
|