File: case_expr_const.v

package info (click to toggle)
yosys 0.52-2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 69,796 kB
  • sloc: ansic: 696,955; cpp: 239,736; python: 14,617; yacc: 3,529; sh: 2,175; makefile: 1,945; lex: 697; perl: 445; javascript: 323; tcl: 162; vhdl: 115
file content (49 lines) | stat: -rw-r--r-- 1,249 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// Note: case_expr_{,non_}const.v should be modified in tandem to ensure both
// the constant and non-constant case evaluation logic is covered
module case_expr_const_top(
	// expected to output all 1s
    output reg a, b, c, d, e, f, g, h
);
    initial begin
        case (2'b0)
            1'b0:    a = 1;
            default: a = 0;
        endcase
        case (2'sb11)
            2'sb01:  b = 0;
            1'sb1:   b = 1;
        endcase
        case (2'sb11)
            1'sb0:   c = 0;
            1'sb1:   c = 1;
        endcase
        case (2'sb11)
            1'b0:    d = 0;
            1'sb1:   d = 0;
            default: d = 1;
        endcase
        case (2'b11)
            1'sb0:   e = 0;
            1'sb1:   e = 0;
            default: e = 1;
        endcase
        case (1'sb1)
            1'sb0:   f = 0;
            2'sb11:  f = 1;
            default: f = 0;
        endcase
        case (1'sb1)
            1'sb0:   g = 0;
            3'b0:    g = 0;
            2'sb11:  g = 0;
            default: g = 1;
        endcase
        case (1'sb1)
            1'sb0:   h = 0;
            1'b1:    h = 1;
            3'b0:    h = 0;
            2'sb11:  h = 0;
            default: h = 0;
        endcase
    end
endmodule