Difference between revisions of "How to get enums from Verilog parsetree"
From Verific Design Automation FAQ
(Created page with "'''Q: From the parsetree, how can I get the enums declared in a module?''' You can use the following code snippet: VeriModule *mod = ... ; VeriScope *scope = mod->GetSco...") |
(No difference)
|
Latest revision as of 09:36, 14 June 2017
Q: From the parsetree, how can I get the enums declared in a module?
You can use the following code snippet:
VeriModule *mod = ... ;
VeriScope *scope = mod->GetScope() ;
Set ids(POINTER_HASH) ;
if (scope) scope->GetDeclaredIds(ids) ;
SetIter si ;
VeriIdDef *id ;
FOREACH_SET_ITEM(&ids, si, &id) {
if (!id->IsEnumId()) continue ;
// Here id is an enum id/literal.
// id->GetInitialValue() returns the use specified initial value of the enum id
// If there is no value specified in the input RTL, you get a NULL returned.
}