diff options
author | Clifford Wolf <clifford@clifford.at> | 2019-05-06 16:03:15 +0200 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2019-05-06 16:03:15 +0200 |
commit | d97c644bc140655853854a09400383afc4b084d5 (patch) | |
tree | 30213ad7f4f900f54b936ff4a45a80f073a3ea17 /tests | |
parent | ec39cfd0ad8c0d3d5757c7a8736952e74dd6dd79 (diff) | |
download | yosys-d97c644bc140655853854a09400383afc4b084d5.tar.gz yosys-d97c644bc140655853854a09400383afc4b084d5.tar.bz2 yosys-d97c644bc140655853854a09400383afc4b084d5.zip |
Add tests/various/chparam.sh
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/various/chparam.sh | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/various/chparam.sh b/tests/various/chparam.sh new file mode 100644 index 000000000..9bb8d81db --- /dev/null +++ b/tests/various/chparam.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +trap 'echo "ERROR in chparam.sh" >&2; exit 1' ERR + +cat > chparam1.sv << "EOT" +module top #( + parameter [31:0] X = 0 +) ( + input [31:0] din, + output [31:0] dout +); + assign dout = X-din; +endmodule + +module top_props #( + parameter [31:0] X = 0 +) ( + input [31:0] dout +); + always @* assert (dout != X); +endmodule + +bind top top_props #(.X(123456789)) props (.*); +EOT + +cat > chparam2.sv << "EOT" +module top #( + parameter [31:0] X = 0 +) ( + input [31:0] din, + output [31:0] dout +); + assign dout = X-din; + always @* assert (dout != 123456789); +endmodule +EOT + +if ../../yosys -q -p 'verific -sv chparam1.sv'; then + ../../yosys -q -p 'verific -sv chparam1.sv; hierarchy -chparam X 123123123 -top top; prep -flatten' \ + -p 'sat -verify -prove-asserts -show-ports -set din[0] 1' \ + -p 'sat -falsify -prove-asserts -show-ports -set din[0] 0' + + ../../yosys -q -p 'verific -sv chparam2.sv; hierarchy -chparam X 123123123 -top top; prep -flatten' \ + -p 'sat -verify -prove-asserts -show-ports -set din[0] 1' \ + -p 'sat -falsify -prove-asserts -show-ports -set din[0] 0' +fi +../../yosys -q -p 'read_verilog -sv chparam2.sv; hierarchy -chparam X 123123123 -top top; prep -flatten' \ + -p 'sat -verify -prove-asserts -show-ports -set din[0] 1' \ + -p 'sat -falsify -prove-asserts -show-ports -set din[0] 0' + +rm chparam1.sv +rm chparam2.sv |