From 0aa59165a124bc0b726f4d282e7c3466e4071142 Mon Sep 17 00:00:00 2001 From: Zachary Snow Date: Sun, 30 May 2021 22:07:51 -0400 Subject: [PATCH] fix size of empty strings to be one byte --- src/Convert/TypeOf.hs | 2 +- test/basic/dimensions.sv | 4 ++++ test/basic/dimensions.v | 4 ++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Convert/TypeOf.hs b/src/Convert/TypeOf.hs index e2b320e..0963f5b 100644 --- a/src/Convert/TypeOf.hs +++ b/src/Convert/TypeOf.hs @@ -225,7 +225,7 @@ typeof (String str) = return $ IntegerVector TBit Unspecified [r] where r = (RawNum $ len - 1, RawNum 0) - len = if null str then 1 else 8 * unescapedLength str + len = if null str then 8 else 8 * unescapedLength str typeof other = lookupTypeOf other -- length of a string literal in characters diff --git a/test/basic/dimensions.sv b/test/basic/dimensions.sv index b234c97..c73b06d 100644 --- a/test/basic/dimensions.sv +++ b/test/basic/dimensions.sv @@ -34,6 +34,10 @@ module top; $display($size(Ram[0])); $display($bits(foo)); + $display("bits %0d", $bits("AB")); + $display("bits %0d", $bits("A")); + $display("bits %0d", $bits("")); + $display("args %b", $size(RamPair, 1)); $display("args %b", $size(RamPair, 1'b1)); $display("args %b", $size(RamPair, '1)); diff --git a/test/basic/dimensions.v b/test/basic/dimensions.v index d1fa992..1c18807 100644 --- a/test/basic/dimensions.v +++ b/test/basic/dimensions.v @@ -31,6 +31,10 @@ module top; $display(16); $display(3); + $display("bits %0d", $bits("AB")); + $display("bits %0d", $bits("A")); + $display("bits %0d", $bits("")); + $display("args %b", 2); $display("args %b", 2); $display("args %b", 2);