expand type operator support

This commit is contained in:
Zachary Snow
2020-01-11 20:35:51 -05:00
parent b58248fc2c
commit 2bd24b6086
10 changed files with 232 additions and 138 deletions
+3
View File
@@ -12,6 +12,7 @@
module top;
typedef logic [16:1] Word;
Word Ram[0:9];
type(Ram) RamPair [2];
integer ints [3:0];
typedef struct packed { logic x, y, z; } T;
logic [$size(T)-1:0] foo;
@@ -22,6 +23,8 @@ module top;
$display($bits(foo));
`EXHAUST(Ram);
`EXHAUST(RamPair);
`EXHAUST(RamPair[0]);
`EXHAUST(Word);
`EXHAUST(integer);
`EXHAUST(bit);
+20
View File
@@ -15,6 +15,26 @@ module top;
$display(1);
$display(160);
$display(2, 2, 10);
$display(0, 0, 0);
$display(1, 1, 9);
$display(1, 1, 9);
$display(0, 0, 0);
$display(-1, -1, -1);
$display(3);
$display(2);
$display(320);
$display(10, 10, 16);
$display(0, 0, 16);
$display(9, 9, 1);
$display(9, 9, 16);
$display(0, 0, 1);
$display(-1, -1, 1);
$display(2);
$display(1);
$display(160);
$display(16, 16, 1'bx);
$display(16, 16, 1'bx);
$display(1, 1, 1'bx);
+55
View File
@@ -0,0 +1,55 @@
module top;
initial begin
logic x;
$display($bits(x));
begin
logic [0:$bits(x)] x;
$display($bits(x));
begin
logic [0:$bits(x)] x;
$display($bits(x));
end
end
end
initial begin
logic x;
$display($bits(type(x)));
begin
logic [0:$bits(type(x))] x;
$display($bits(type(x)));
begin
logic [0:$bits(type(x))] x;
$display($bits(type(x)));
end
end
end
initial begin
logic x;
$display($bits(x));
begin
logic [0:$bits(type(x))] x;
$display($bits(x));
begin
logic [0:$bits(type(x))] x;
$display($bits(x));
end
end
end
initial begin
logic x;
$display($bits(type(x)));
begin
logic [0:$bits(x)] x;
$display($bits(type(x)));
begin
logic [0:$bits(x)] x;
$display($bits(type(x)));
end
end
end
endmodule
+27
View File
@@ -0,0 +1,27 @@
module top;
initial begin
$display(1);
$display(2);
$display(3);
end
initial begin
$display(1);
$display(2);
$display(3);
end
initial begin
$display(1);
$display(2);
$display(3);
end
initial begin
$display(1);
$display(2);
$display(3);
end
endmodule