support size casts with complex size expressions

This commit is contained in:
Zachary Snow
2019-09-25 23:59:47 -04:00
parent 1584f39045
commit dcca974fbc
4 changed files with 39 additions and 23 deletions
+5
View File
@@ -1,4 +1,5 @@
module top;
parameter WIDTH = 32;
initial begin
logic [31:0] w = 1234;
int x = -235;
@@ -16,6 +17,10 @@ module top;
$display("%b %b", x, 40'(x));
$display("%b %b", y, 40'(y));
$display("%b %b", z, 40'(z));
$display("%0d %0d", w, ($clog2(WIDTH))'(w));
$display("%0d %0d", x, ($clog2(WIDTH))'(x));
$display("%0d %0d", y, ($clog2(WIDTH))'(y));
$display("%0d %0d", z, ($clog2(WIDTH))'(z));
end
localparam bit foo = '0;
localparam logic [31:0] bar = 32'(foo);
+4
View File
@@ -20,6 +20,10 @@ module top;
$display("%b %b", x, {8'hFF, x});
$display("%b %b", y, {8'b0, y});
$display("%b %b", z, {35'b0, z});
$display("%0d %0d", w, w[4:0]);
$display("%0d %0d", x, $signed(x[4:0]));
$display("%0d %0d", y, $signed(y[4:0]));
$display("%0d %0d", z, z[4:0]);
end
localparam [0:0] foo = 0;
localparam [31:0] bar = 32'b0;