SystemVerilog enum of logic bit int
Table of Contents
This section provides the examples to declare SystemVerilog enum of logic type, enum of bit type and enum of int type
enum of logic type example
module enum_datatype;
//declaration
enum logic [3:0] { red=0, green=1, blue=4, yellow, white=6, black=9 } Colors;
initial begin
Colors = Colors.first;
for(int i=0;i < 6;i++) begin
$display("Colors :: Value of %0s is \t= %0d",Colors.name(),Colors);
Colors = Colors.next;
end
end
endmodule
Simulator Output
Colors :: Value of red is = 0 Colors :: Value of green is = 1 Colors :: Value of blue is = 4 Colors :: Value of yellow is = 5 Colors :: Value of white is = 6 Colors :: Value of black is = 9
enum of bit type example
module enum_datatype;
//declaration
enum bit [3:0] { red=0, green=1, blue=4, yellow, white=6, black=9 } Colors;
initial begin
Colors = Colors.first;
for(int i=0;i < 6;i++) begin
$display("Colors :: Value of %0s is \t= %0d",Colors.name(),Colors);
Colors = Colors.next;
end
end
endmodule
Simulator Output
Colors :: Value of red is = 0 Colors :: Value of green is = 1 Colors :: Value of blue is = 4 Colors :: Value of yellow is = 5 Colors :: Value of white is = 6 Colors :: Value of black is = 9
enum of int type example
module enum_datatype;
//declaration
enum int { red=0, green=1, blue=4, yellow, white=6, black=9 } Colors;
initial begin
Colors = Colors.first;
for(int i=0;i < 6;i++) begin
$display("Colors :: Value of %0s is \t= %0d",Colors.name(),Colors);
Colors = Colors.next;
end
end
endmodule
Simulator Output
Colors :: Value of red is = 0 Colors :: Value of green is = 1 Colors :: Value of blue is = 4 Colors :: Value of yellow is = 5 Colors :: Value of white is = 6 Colors :: Value of black is = 9
