mirror of https://github.com/zachjs/sv2v.git
drop attributes attached to nested generate regions
This commit is contained in:
parent
24ab7aee24
commit
7808819c48
|
|
@ -20,6 +20,8 @@
|
|||
declarations after inlining
|
||||
* Fixed inlining of interfaces and interface-bound modules containing port
|
||||
declarations tagged with an attribute
|
||||
* Fixed stray attributes producing invalid nested output when attached to
|
||||
inlined interfaces and interface-bounds modules
|
||||
* Fixed `` `resetall `` not resetting the `` `default_nettype ``
|
||||
|
||||
### Other Enhancements
|
||||
|
|
|
|||
|
|
@ -139,6 +139,8 @@ collectDescriptionsM = mapM_
|
|||
breakGenerate :: ModuleItem -> [ModuleItem] -> [ModuleItem]
|
||||
breakGenerate (Generate genItems) items =
|
||||
foldr breakGenerateStep items genItems
|
||||
breakGenerate (MIAttr _ (Generate genItems)) items =
|
||||
foldr breakGenerateStep items genItems
|
||||
breakGenerate item items = item : items
|
||||
|
||||
breakGenerateStep :: GenItem -> [ModuleItem] -> [ModuleItem]
|
||||
|
|
@ -1064,8 +1066,14 @@ traverseNestedGenItemsM mapper = fullMapper
|
|||
traverseNestedGenItems :: Mapper GenItem -> Mapper GenItem
|
||||
traverseNestedGenItems = unmonad traverseNestedGenItemsM
|
||||
|
||||
innerGenItems :: ModuleItem -> Maybe [GenItem]
|
||||
innerGenItems (MIAttr _ item) = innerGenItems item
|
||||
innerGenItems (Generate items) = Just items
|
||||
innerGenItems _ = Nothing
|
||||
|
||||
flattenGenBlocks :: GenItem -> [GenItem]
|
||||
flattenGenBlocks (GenModuleItem (Generate items)) = items
|
||||
flattenGenBlocks (GenModuleItem item)
|
||||
| Just items <- innerGenItems item = items
|
||||
flattenGenBlocks (GenFor _ _ _ GenNull) = []
|
||||
flattenGenBlocks GenNull = []
|
||||
flattenGenBlocks other = [other]
|
||||
|
|
|
|||
|
|
@ -76,6 +76,7 @@ module ModuleB(is);
|
|||
bn.tick;
|
||||
endtask
|
||||
initial $display("Hello I'm ModuleB %0d!", WIDTH);
|
||||
(* this_attribute_is_ignored *)
|
||||
ModuleBNested #(WIDTH) bn(is);
|
||||
endmodule
|
||||
|
||||
|
|
@ -96,6 +97,7 @@ endmodule
|
|||
module top;
|
||||
logic inp;
|
||||
|
||||
(* this_attribute_is_ignored *)
|
||||
Interface intfX[2:0](inp);
|
||||
|
||||
ModuleA #(0) xa2(intfX[2]);
|
||||
|
|
|
|||
Loading…
Reference in New Issue