-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathex-basics-enum.v
45 lines (29 loc) · 881 Bytes
/
ex-basics-enum.v
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
// Declare enum type
typedef enum logic [$clog2(4)-1:0] {
STATE_A,
STATE_B,
STATE_C,
STATE_D
} state_t;
module top;
// Declare variables
state_t state;
logic result;
initial begin
// Enum lable literals
state = STATE_A; $display( "STATE_A = %d", state );
state = STATE_B; $display( "STATE_B = %d", state );
state = STATE_C; $display( "STATE_C = %d", state );
state = STATE_D; $display( "STATE_D = %d", state );
// Comparisons
state = STATE_A;
result = ( state == STATE_A );
$display( "( STATE_A == STATE_A ) = %x", result );
result = ( state == STATE_B );
$display( "( STATE_A == STATE_B ) = %x", result );
result = ( state != STATE_A );
$display( "( STATE_A != STATE_A ) = %x", result );
result = ( state != STATE_B );
$display( "( STATE_A != STATE_B ) = %x", result );
end
endmodule