Most often i come across people saying that voltages of internal nets can't be saved from the dspf netlist or layout generated netlist. Extracted view is the solution to save internal nets, because they can go click on the net in GUI to instruct tool to save it, they believe.
While i agree they have found a solution to save an internal net for a layout generated solution, but the downside of generating and using an extracted view are given below:
1> Extraction runs (like QRC, Starrc etc.,) take longer to dump the extracted view since the tool has to map the extracted components to the PDK component and retain the connectivity and to restructure the layout looks out of it.
2>Consumes more disk space.
3>Simulation time is longer since simulator has to regenerate netlist from the extracted view.
Also i have come across people saying, a pin has to be brought out from the desired net to be probed. I would say it's pretty simple to save internal nets form the layout generated netlist. Before heading to give to the solution please do "
spectre -h save" in your terminal. That would give you some idea about saving an internal nets.
In this blog i am taking DSPF as an example, because that's what people find most difficult to deal with. To know the DSPF format please refer to this
DSPF link.
Find for "|NET" in the shared link. In the shared link "BF" is an internal net. Just add below given code in your spectre netlist, DSPF netlist has to be included in it, if |NET BF voltage has to be saved.
save BF
If there is a test bench about it and it's instance is, let's say, I45 then add below line in your netlist.
save I45.BF
If the DSPF netlist having internal net deep-down hierarchy like "|NET XAnatop/XSwitchedcap/out" and there is a testbench,I45, for it. Below is the line to save that net to be put in spectre netlist
save I45.XAnatop/XSwitchedcap/out
I hope i was helpful. Please drop comments if you need any further help :)