Hi Tim, I'm seeing something odd in 8.3.473 that I...
# magic
m
Hi Tim, I'm seeing something odd in 8.3.473 that I don't have in 8.3.462
In .462, When I import a spice file that includes a previously laid out design, the layout stays good
image.png
you see the opamp on the left and right
but in .473 this happens
image.png
the layout of the opamp is lost
what's your recommendation for dealing with cell hierarchy?
this is what I have
image.png
And the opamp is already laid out
t
Did you try the latest ? .472 has a select bug that's fixed in later version ... could be related.
t
@Matt Venn: I agree with Sylvain---There were a couple of bugs that are related to SPICE imports. Update and try again, and if you still see it happening, ping me and I'll investigate.
v
I also observed this issue few months back. Don't remember which exact version but it went away after updating magic.
m
Thanks, will try the new version
t
I also just fixed a handful of issues that have been bugging me for some time, like the layer icons not being shown as blank when a layer is made invisible, and having the "drc check" command inadvertently halt the DRC engine.
v
@Tim Edwards I have a layout saved in different location as
opamp.mag
, and I'm trying to import it into another magic layout
invamp.mag
using "import spice" option in magic. However, instead of complete layout appearing as single instance, all individual devices used in layout are showing up randomly in top-level layout, with the placements and net connections lost. Is there a way to ensure that the
opamp.mag
layout appears intact when importing it into
invamp.mag
layout using "import spice" option?
Does
opamp.mag
file need to be placed at specific path/location w.r.t. spice netlist to be imported inside magic ?
t
did you try to preload opamp.mag before the import ?
t
@vks: Why would you use "import spice" to load a layout? You use "import spice" if all you have is a schematic/SPICE netlist. If you have a .mag layout, then just use
load <cellname>
. If it's in another location, use
load <path_to/cellname>
.
@vks: Maybe you should spend some time reading the basic tutorials for magic.
v
@Tim Edwards I think I misrepresented my issue in previous reply. I am not using "import spice" to load a layout. Using it to import a spice netlist of
top-level amplifier block built around opamp and other pdk devices
(resistor). The layout of opamp block already exists hence I was expecting this layout to load as an instance while importing spice netlist of amplifier circuit in magic. But layout of opamp cell is not appearing as single instance but its internal components (mosfet, mimcap etc.) are appearing individually in top-level amplifier layout in magic. I hope this clarifies the issue now.
t
@vks: I think this will work as long as you pre-load the subcell or subcells for which you have layout, before you import the top level netlist from SPICE. Magic will check if the cell exists before trying to create it from scratch, but it's not going to go searching for it on disk.
v
@Tim Edwards Does "pre-load the subcell" means using
load <path_to/cellname>
in magic console before using import spice option to generate devices, pins for top-level layout ? Or is it something else?
t
@vks Yes, that's it.
It adds the cell to the cellmanager ( i.e. list of known cells )
v
@tnt I followed this process, but after import spice step, the layout included not just opamp layout but also all internal devices within opamp subcircuit from top-level netlist. To resolve this, I commented out all devices inside opamp subcircuit in top-level netlist and re-imported the SPICE. Now, I have the desired op-amp layout along with the other devices from the top-level netlist as expected. But no pins appeared in layout, had to generate them manually using 'add text' option in magic. If this the correct way or is there any other way where no changes need to be done in spice netlist before importing in magic ?
t
Tim would have to confirm, but after reading the related code, I'm just not sure it's a supported use case at all. The fact that if the cell exists, it keeps it is more like a happy coincidence. The pins, you mean the top level ones ?
v
Yes, pins from top-level netlist