diff --git a/src/Convert/UnbasedUnsized.hs b/src/Convert/UnbasedUnsized.hs index ed208e5..790a3cc 100644 --- a/src/Convert/UnbasedUnsized.hs +++ b/src/Convert/UnbasedUnsized.hs @@ -188,6 +188,8 @@ convertExpr _ (Cast te e) = Cast te $ convertExpr SelfDetermined e convertExpr _ (Concat exprs) = Concat $ map (convertExpr SelfDetermined) exprs +convertExpr context (Pattern [(":default", e @ UU{})]) = + convertExpr context e convertExpr _ (Pattern items) = Pattern $ zip (map fst items) diff --git a/test/basic/unbased_unsized_default.sv b/test/basic/unbased_unsized_default.sv new file mode 100644 index 0000000..4712d97 --- /dev/null +++ b/test/basic/unbased_unsized_default.sv @@ -0,0 +1,11 @@ +module Example(inp); + input [4][5] inp; + initial #1 $display("%b", inp); +endmodule + +module top; + Example e1('{default:'0}); + Example e2('{default:'1}); + Example e3('{default:'x}); + Example e4('{default:'z}); +endmodule diff --git a/test/basic/unbased_unsized_default.v b/test/basic/unbased_unsized_default.v new file mode 100644 index 0000000..e81923d --- /dev/null +++ b/test/basic/unbased_unsized_default.v @@ -0,0 +1,11 @@ +module Example(inp); + input [19:0] inp; + initial #1 $display("%b", inp); +endmodule + +module top; + Example e1({20 {1'sb0}}); + Example e2({20 {1'sb1}}); + Example e3({20 {1'sbx}}); + Example e4({20 {1'sbz}}); +endmodule