support type lookup of genvars

This commit is contained in:
Zachary Snow 2020-08-01 20:14:40 -06:00
parent 698e3b0b54
commit 3834b9f109
3 changed files with 23 additions and 1 deletions

View File

@ -38,7 +38,11 @@ traverseDeclM decl = do
CommentDecl{} -> return decl'
traverseModuleItemM :: ModuleItem -> Scoper Type ModuleItem
traverseModuleItemM = traverseTypesM $ traverseNestedTypesM traverseTypeM
traverseModuleItemM (Genvar x) = do
insertElem x $ IntegerAtom TInteger Unspecified
return $ Genvar x
traverseModuleItemM item =
traverseTypesM (traverseNestedTypesM traverseTypeM) item
traverseGenItemM :: GenItem -> Scoper Type GenItem
traverseGenItemM = traverseGenItemExprsM traverseExprM

View File

@ -62,4 +62,12 @@ module top;
$display("%b %d %d %d", y, y, $left(y), $right(y));
$display("%b %d %d %d", z, z, $left(z), $right(z));
end
for (genvar i = 0; i < 2; ++i)
initial begin
type(i) a;
a = ~i;
$display("%b %d %d %d", i, i, $left(i), $right(i));
$display("%b %d %d %d", a, a, $left(a), $right(a));
end
endmodule

View File

@ -75,4 +75,14 @@ module top;
$display("%b %d %d %d", y, y, 31, 0);
$display("%b %d %d %d", z, z, 31, 0);
end
generate
genvar i;
for (i = 0; i < 2; i = i + 1)
initial begin : block5
localparam a = ~i;
$display("%b %d %d %d", i, i, 31, 0);
$display("%b %d %d %d", a, a, 31, 0);
end
endgenerate
endmodule