aboutsummaryrefslogtreecommitdiffstats
path: root/tests/simple
diff options
context:
space:
mode:
authorclairexen <claire@symbioticeda.com>2020-08-18 17:38:07 +0200
committerGitHub <noreply@github.com>2020-08-18 17:38:07 +0200
commit4aa0dc4dc76a02ec0281c0596880a3ef8609bacd (patch)
treed6491088d162dd89be8e510395100d0b79b59e72 /tests/simple
parenta9681f4e0648046fcef5c2e11165cc2e8aa5acf7 (diff)
parent2ee0b8ebeacb8f4324545bbbc5003ddc3d96a6c5 (diff)
downloadyosys-4aa0dc4dc76a02ec0281c0596880a3ef8609bacd.tar.gz
yosys-4aa0dc4dc76a02ec0281c0596880a3ef8609bacd.tar.bz2
yosys-4aa0dc4dc76a02ec0281c0596880a3ef8609bacd.zip
Merge pull request #2338 from zachjs/const-branch-finish
Propagate const_fold through generate blocks and branches
Diffstat (limited to 'tests/simple')
-rw-r--r--tests/simple/const_branch_finish.v39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/simple/const_branch_finish.v b/tests/simple/const_branch_finish.v
new file mode 100644
index 000000000..8166688e6
--- /dev/null
+++ b/tests/simple/const_branch_finish.v
@@ -0,0 +1,39 @@
+`define CONSTANT_CHECK \
+ if (WIDTH === 'bx) begin \
+ $display("FAIL"); \
+ $finish; \
+ end
+
+module top;
+ parameter WIDTH = 32;
+ integer j;
+ initial begin
+ `CONSTANT_CHECK
+ if (WIDTH == 32) begin : procedural_conditional_block
+ `CONSTANT_CHECK
+ end
+ case (WIDTH)
+ 32: `CONSTANT_CHECK
+ default: ;
+ endcase
+ for (j = 0; j < 2; j = j + 1) begin : procedural_loop_block
+ `CONSTANT_CHECK
+ end
+ end
+ generate
+ begin : unconditional_block
+ initial `CONSTANT_CHECK
+ end
+ if (WIDTH == 32) begin : conditional_block
+ initial `CONSTANT_CHECK
+ end
+ case (WIDTH)
+ 32: initial `CONSTANT_CHECK
+ default: ;
+ endcase
+ genvar i;
+ for (i = 0; i < 2; i = i + 1) begin : loop_block
+ initial `CONSTANT_CHECK
+ end
+ endgenerate
+endmodule