diff --git a/ivtest/gold/decl_before_use1-iverilog-stderr.gold b/ivtest/gold/decl_before_use1-iverilog-stderr.gold new file mode 100644 index 000000000..4ac31fc85 --- /dev/null +++ b/ivtest/gold/decl_before_use1-iverilog-stderr.gold @@ -0,0 +1,3 @@ +ivltests/decl_before_use1.v:4: error: Could not find variable ``v'' in ``test'' +ivltests/decl_before_use1.v:5: error: Unable to bind wire/reg/memory `v' in `test' +2 error(s) during elaboration. diff --git a/ivtest/gold/decl_before_use2-iverilog-stderr.gold b/ivtest/gold/decl_before_use2-iverilog-stderr.gold new file mode 100644 index 000000000..b9c66eb78 --- /dev/null +++ b/ivtest/gold/decl_before_use2-iverilog-stderr.gold @@ -0,0 +1,3 @@ +ivltests/decl_before_use2.v:3: error: Net w is not defined in this context. +ivltests/decl_before_use2.v:6: error: Unable to bind wire/reg/memory `w' in `test' +2 error(s) during elaboration. diff --git a/ivtest/gold/decl_before_use3-iverilog-stderr.gold b/ivtest/gold/decl_before_use3-iverilog-stderr.gold new file mode 100644 index 000000000..cca909053 --- /dev/null +++ b/ivtest/gold/decl_before_use3-iverilog-stderr.gold @@ -0,0 +1,2 @@ +ivltests/decl_before_use3.v:4: error: event not found. +1 error(s) during elaboration. diff --git a/ivtest/gold/decl_before_use4-iverilog-stderr.gold b/ivtest/gold/decl_before_use4-iverilog-stderr.gold new file mode 100644 index 000000000..0fea6bfee --- /dev/null +++ b/ivtest/gold/decl_before_use4-iverilog-stderr.gold @@ -0,0 +1,3 @@ +ivltests/decl_before_use4.v:4: error: Unable to bind wire/reg/memory `e' in `test' +ivltests/decl_before_use4.v:4: error: Failed to evaluate event expression 'e'. +2 error(s) during elaboration. diff --git a/ivtest/gold/decl_before_use5-iverilog-stderr.gold b/ivtest/gold/decl_before_use5-iverilog-stderr.gold new file mode 100644 index 000000000..732e678fd --- /dev/null +++ b/ivtest/gold/decl_before_use5-iverilog-stderr.gold @@ -0,0 +1,2 @@ +ivltests/decl_before_use5.v:4: error: Unable to bind wire/reg/memory `w' in `test' +1 error(s) during elaboration. diff --git a/ivtest/ivltests/decl_before_use1.v b/ivtest/ivltests/decl_before_use1.v new file mode 100644 index 000000000..8f338b72a --- /dev/null +++ b/ivtest/ivltests/decl_before_use1.v @@ -0,0 +1,11 @@ +module test(); + +initial begin + v = 1; + $display("%b", v); + $display("FAILED"); +end + +reg v; + +endmodule diff --git a/ivtest/ivltests/decl_before_use2.v b/ivtest/ivltests/decl_before_use2.v new file mode 100644 index 000000000..3eeb619c3 --- /dev/null +++ b/ivtest/ivltests/decl_before_use2.v @@ -0,0 +1,12 @@ +module test(); + +assign w = 1; + +initial begin + $display("%b", w); + $display("FAILED"); +end + +wire [7:0] w; + +endmodule diff --git a/ivtest/ivltests/decl_before_use3.v b/ivtest/ivltests/decl_before_use3.v new file mode 100644 index 000000000..8fed35387 --- /dev/null +++ b/ivtest/ivltests/decl_before_use3.v @@ -0,0 +1,10 @@ +module test(); + +initial begin + ->e; + $display("FAILED"); +end + +event e; + +endmodule diff --git a/ivtest/ivltests/decl_before_use4.v b/ivtest/ivltests/decl_before_use4.v new file mode 100644 index 000000000..8daa94218 --- /dev/null +++ b/ivtest/ivltests/decl_before_use4.v @@ -0,0 +1,12 @@ +module test(); + +initial begin + @(e); + $display("FAILED"); +end + +event e; + +initial ->e; + +endmodule diff --git a/ivtest/ivltests/decl_before_use5.v b/ivtest/ivltests/decl_before_use5.v new file mode 100644 index 000000000..cb92f23a0 --- /dev/null +++ b/ivtest/ivltests/decl_before_use5.v @@ -0,0 +1,10 @@ +module test(); + +initial begin + $display("%b", w); + $display("FAILED"); +end + +localparam w = 8'hAA; + +endmodule diff --git a/ivtest/ivltests/decl_before_use6.v b/ivtest/ivltests/decl_before_use6.v new file mode 100644 index 000000000..36770556d --- /dev/null +++ b/ivtest/ivltests/decl_before_use6.v @@ -0,0 +1,20 @@ +module test(); + +localparam w = 8; + +task t; + reg [w:1] v; + localparam w = 2; + begin + v = 8'hAA; + $display("%b", v); + if (v === 8'hAA) + $display("PASSED"); + else + $display("FAILED"); + end +endtask; + +initial t; + +endmodule diff --git a/ivtest/regress-vvp.list b/ivtest/regress-vvp.list index eada3433a..7d8711ec4 100644 --- a/ivtest/regress-vvp.list +++ b/ivtest/regress-vvp.list @@ -60,6 +60,12 @@ constfunc17 vvp_tests/constfunc17.json constfunc18 vvp_tests/constfunc18.json constfunc19 vvp_tests/constfunc19.json constfunc20 vvp_tests/constfunc20.json +decl_before_use1 vvp_tests/decl_before_use1.json +decl_before_use2 vvp_tests/decl_before_use2.json +decl_before_use3 vvp_tests/decl_before_use3.json +decl_before_use4 vvp_tests/decl_before_use4.json +decl_before_use5 vvp_tests/decl_before_use5.json +decl_before_use6 vvp_tests/decl_before_use6.json delayed_sfunc vvp_tests/delayed_sfunc.json dffsynth vvp_tests/dffsynth.json dffsynth-S vvp_tests/dffsynth-S.json diff --git a/ivtest/vvp_tests/decl_before_use1.json b/ivtest/vvp_tests/decl_before_use1.json new file mode 100644 index 000000000..e3452b26a --- /dev/null +++ b/ivtest/vvp_tests/decl_before_use1.json @@ -0,0 +1,6 @@ + +{ + "type" : "CE", + "source" : "decl_before_use1.v", + "gold" : "decl_before_use1" +} diff --git a/ivtest/vvp_tests/decl_before_use2.json b/ivtest/vvp_tests/decl_before_use2.json new file mode 100644 index 000000000..07ec7d5f1 --- /dev/null +++ b/ivtest/vvp_tests/decl_before_use2.json @@ -0,0 +1,6 @@ + +{ + "type" : "CE", + "source" : "decl_before_use2.v", + "gold" : "decl_before_use2" +} diff --git a/ivtest/vvp_tests/decl_before_use3.json b/ivtest/vvp_tests/decl_before_use3.json new file mode 100644 index 000000000..0fa1baa38 --- /dev/null +++ b/ivtest/vvp_tests/decl_before_use3.json @@ -0,0 +1,6 @@ + +{ + "type" : "CE", + "source" : "decl_before_use3.v", + "gold" : "decl_before_use3" +} diff --git a/ivtest/vvp_tests/decl_before_use4.json b/ivtest/vvp_tests/decl_before_use4.json new file mode 100644 index 000000000..4c367891b --- /dev/null +++ b/ivtest/vvp_tests/decl_before_use4.json @@ -0,0 +1,6 @@ + +{ + "type" : "CE", + "source" : "decl_before_use4.v", + "gold" : "decl_before_use4" +} diff --git a/ivtest/vvp_tests/decl_before_use5.json b/ivtest/vvp_tests/decl_before_use5.json new file mode 100644 index 000000000..36e14fe11 --- /dev/null +++ b/ivtest/vvp_tests/decl_before_use5.json @@ -0,0 +1,6 @@ + +{ + "type" : "CE", + "source" : "decl_before_use5.v", + "gold" : "decl_before_use5" +} diff --git a/ivtest/vvp_tests/decl_before_use6.json b/ivtest/vvp_tests/decl_before_use6.json new file mode 100644 index 000000000..17376ea6f --- /dev/null +++ b/ivtest/vvp_tests/decl_before_use6.json @@ -0,0 +1,5 @@ + +{ + "type" : "normal", + "source" : "decl_before_use6.v" +}