fix loop in logic indirection typing

This commit is contained in:
Zachary Snow 2021-01-26 15:39:41 -05:00
parent b22cd210a4
commit 821b8bc947
3 changed files with 30 additions and 1 deletions

View File

@ -115,7 +115,8 @@ traverseModuleItem ports scopes =
, AlwaysC AlwaysComb $ Asgn AsgnOpEq Nothing lhs (Ident x)
]
where
t = TypeOf expr
t = Net (NetType TWire) Unspecified
[(DimsFn FnBits $ Right expr, RawNum 1)]
x = "sv2v_tmp_" ++ shortHash (lhs, expr)
-- rewrite port bindings to use temporary nets where necessary
fixModuleItem (Instance moduleName params instanceName rs bindings) =

14
test/basic/wire_reg.sv Normal file
View File

@ -0,0 +1,14 @@
module top(inp, out);
input wire inp;
reg data;
always @* data = inp;
output logic [1:0] out;
parameter ON = 1;
generate
if (ON) begin : blk
assign out[0] = data;
always @* out[1] = data;
end
endgenerate
endmodule

14
test/basic/wire_reg.v Normal file
View File

@ -0,0 +1,14 @@
module top(inp, out);
input wire inp;
reg data;
always @* data = inp;
output reg [1:0] out;
parameter ON = 1;
generate
if (ON) begin : blk
always @* out[0] = data;
always @* out[1] = data;
end
endgenerate
endmodule