Cross-reference between the original RTL files and the elaborated netlist
Q: Is there a cross-reference between the original RTL design files and the elaborated netlist? We need this for our application. If any issue found in the elaborated netlist, then the user needs to locate the source of this issue. So we need to x-probe an object, such as an instance in elaborated netlist, to the RTL code.
To minimize memory consumption, there are no pointers between the parsetree and the netlist database.
The Verific Netlist objects (Instance, Net, etc.) have the Line/File origination information on them as cross-reference back to the RTL file.
So if you find that there is a problem with an Instance in the Netlist, you can get the line number and filename where that Instance originated from, by using the API Instance::Linefile() on the Instance.
In some cases, we can copy an attribute from a parsetree node to the corresponding Netlist objects. But the attribute has to be in the RTL code, and this approach costs memory too.