Commit 485ffffa by qcorradi Committed by Zachary Snow

always kw conversion visits items with attributes

* Fixing a bug where always_* are not converted when attributed
* Added tests and updated Changelog for the attributed always_* fix
parent a129e3bc
...@@ -8,6 +8,8 @@ ...@@ -8,6 +8,8 @@
static prefixes, which could cause deep recursion and run out of memory on static prefixes, which could cause deep recursion and run out of memory on
some designs some designs
* Fixed overzealous removal of explicitly unconnected ports (e.g., `.a()`) * Fixed overzealous removal of explicitly unconnected ports (e.g., `.a()`)
* Fixed an issue that left `always_comb`, `always_latch`, and `always_ff`
unconverted when tagged with an attribute
* Fixed unneeded scoping of constant function calls used in type lookups * Fixed unneeded scoping of constant function calls used in type lookups
* `/*/` is no longer interpreted as a self-closing block comment, e.g., * `/*/` is no longer interpreted as a self-closing block comment, e.g.,
`$display("a"/*/,"b"/* */);` previously printed "ab", but now prints "a" `$display("a"/*/,"b"/* */);` previously printed "ab", but now prints "a"
......
...@@ -198,6 +198,8 @@ traverseModuleItem item@(MIPackageItem (Function _ _ x decls _)) = do ...@@ -198,6 +198,8 @@ traverseModuleItem item@(MIPackageItem (Function _ _ x decls _)) = do
traverseModuleItem item@(MIPackageItem (Task _ x decls _)) = do traverseModuleItem item@(MIPackageItem (Task _ x decls _)) = do
insertElem x $ Proc [] (ports decls) insertElem x $ Proc [] (ports decls)
return item return item
traverseModuleItem (MIAttr attr item) =
MIAttr attr <$> traverseModuleItem item
traverseModuleItem other = return other traverseModuleItem other = return other
toEvent :: (Bool, [Expr]) -> Event toEvent :: (Bool, [Expr]) -> Event
......
module top;
reg a, b, c;
(* test *) always_ff @(posedge a)
c <= b;
(* test *) always_latch
if (c)
b <= 1;
(* test *) always_comb
a = b;
endmodule
module top;
reg a, b, c;
(* test *) always @(posedge a)
c <= b;
(* test *) always @*
if (c)
b <= 1;
(* test *) always @*
a = b;
endmodule
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment