Is it possible to tell spectre to save all nodes or terminal currents within a certain subckt? It's trivial in Hspice, you could do
save all Xtop.Xsub.*
I believe there's even a way to use the wildcards to get it to only do the top-level within that subcircuit, but I don't recall it..
Any ideas? How would it be done through the ADE, without messing with the netlist?
a quick >spectre -h save
will reveal that it is trivial in spectre as well:
Spectre has similar syntax - see "spectre -h save". So it's trivial in spectre too. You have to do it via an include file though in ADE. The reason is that the wildcards are based on the netlist names, rather than the schematic names - although I believe there's an enhancement request to add support for this on the UI.
You can (on the Options->Save All) choose to save voltages using "lvlpub" and then specify nestlvl - which means that it will save the top N levels of hierarchy. But if you only want to save lower levels, the best approach would be to have an include (included via Setup->Model Libraries, say) with a save statement in.
That's what I was hoping to hear.. this will help me a lot.
How about AMS?
I find that the best way with spectre and the ADE is to put the full pathname of the include file in the Defintion files field under Simulation Files. (Model Libraries was suggested, but I think this is more meaningful).
Could someone post an example of save commands for AMS and the best location to specify the file for inclusion (which field in ADE to use)?
Referring to the use save-statement to save operating points for specify transistors located within a hierarchy. I had been using the include statement method (e.g., create a file and add the file via Setup->Model Libraries in Analog Design Environment window) but ran into problem with the use of wildcard.
In my test bench, I have a circuit block that is used five times within a hierarchy and they are name IDBA. I want to save the operating condition for a transition (P18) within the circuit block and I included this statement "save DUT.ILNA.IDBA\.P18:oppoint" hoping with the intention of having spectre save the operating points for the transistos P18 in all the five copies.
Unfortunately, the operating points for all five transistors were not saved and executing the command "OP("/IDUT.ILNA.IDBA.P18" "gm") returned nil. If I changed the save-statement to "save DUT.ILNA.IDBA\.P18:oppoint" then the OP command would return a number. Do I have to have a separate save-statement for each instance of IDBA? Or I have to use another symbol as a wild card?