File tree Expand file tree Collapse file tree 2 files changed +33
-0
lines changed
regression/verilog/modules Expand file tree Collapse file tree 2 files changed +33
-0
lines changed Original file line number Diff line number Diff line change 1+ KNOWNBUG
2+ decoder1.sv
3+
4+ ^EXIT=0$
5+ ^SIGNAL=0$
6+ --
7+ --
8+ No support for recursive module dependencies.
Original file line number Diff line number Diff line change 1+ // Example of a recursive module instantiation
2+
3+ module decoder # (parameter N = 4 ) (input [N - 1 : 0 ] binary, output [2 ** N - 1 : 0 ] unary);
4+
5+ generate
6+ if (N == 1 )
7+ assign unary = binary;
8+ else begin
9+ // generate one N-1 bit decoder recursively
10+ wire [2 ** (N - 1 )- 1 : 0 ] output_rec;
11+ decoder # (N - 1 ) decoder_rec (binary[N - 2 : 0 ], output_rec);
12+ wire top = binary[N - 1 ];
13+ assign unary = { output_rec & { 2 ** (N - 1 ){ top}} , output_rec & { 2 ** (N - 1 ){ ! top}}} ;
14+ end
15+ endgenerate
16+
17+ endmodule
18+
19+ module decoder_tb ;
20+
21+ wire [15 : 0 ] unary;
22+ decoder decoder1 (4'd5 , unary);
23+ p0 : assert final (unary == 'b0000_0000_0001_0000 ); // 16
24+
25+ endmodule
You can’t perform that action at this time.
0 commit comments