Hello Everyone, Magic reading GDS files: Magic th...
# magic
m
Hello Everyone, Magic reading GDS files: Magic throws some errors when reading our large Caravan GDS file. The errors are below:
Copy code
Error while reading cell "LNA" (byte position 667929024): Warning:  Cell LNA boundary was redefined.
Error while reading cell "LNA" (byte position 667929024): Warning:  Cell LNA boundary was redefined.
Error while reading cell "LNA" (byte position 667929024): Warning:  Cell LNA boundary was redefined.
Error while reading cell "LNA" (byte position 667929024): Warning:  Cell LNA boundary was redefined.
Error while reading cell "LNA" (byte position 667929024): Warning:  Cell LNA boundary was redefined.
Error while reading cell "LNA" (byte position 667929024): Warning:  Cell LNA boundary was redefined.
Error while reading cell "LNA" (byte position 667929024): Warning:  Cell LNA boundary was redefined.
CIF file read warning: Input off lambda grid by 1/5; snapped to grid.
If I flatten the GDS, then Magic reads it no problem. With no errors. I would like to maintain higherarchy for LVS extraction so would anyone have any recommendations on what is causing the errors and how to resolve them? Thanks a lot!
m
Copy code
Error while reading cell "LNA" (byte position 667929024): Warning:  Cell LNA boundary was redefined.
This is an often seen warning. It happens when layers exceed magic’s boundary layer and the boundary is automatically extended.
Copy code
CIF file read warning: Input off lambda grid by 1/5; snapped to grid.
This may be more of a problem if the data in question is a mask layer. If it’s text or a marker, you can ignore it. Or move it on grid.
m
@Mitch Bailey Thank you for your help! Hmmm….that is good information to know. I realized I forgot to say that when Magic “finishes” loading the GDS, there is simply nothing in the viewing window…it’s like it didn’t load anything.
m
Huh. Haven’t seen that. What I have seen is that magic doesn’t display at full zoom at first and only shows the top cells and layers. If you select a box using left and right mouse buttons and hit
x
with all the layers visible, does it show anything in the box?
m
I pressed
f
, typed
select top cell
and then
x
and nothing showed up
I might have missed something if you haven’t seen that before. I will try again tomorrow.
👍 1
@Mitch Bailey I tried again and there is still nothing in the magic window.
It’s really odd. If I select the top cell (
select top cell
) it’s small. Only about 5umx5um.
Oh, wait, if I run
load <top hiegherarchy name>
than it’s there…interesting. So I guess it’s just not loading it, though it’s reading it.
👍 1
@Mitch Bailey New info: I had some
<defunct>
cells in the gds which I didn’t think mattered since they are simply Klayout markers indicating the cell was generated from a library that is no longer present, however, when I resaved the gds without the library context which removes the
<defunct>
marker, now the gds loads the top level cell and also reads the GDS is less than half the time… do you have any thoughts?
m
Sorry, I dont’t, @Tim Edwards?
t
@Micah Tseng: GDS files are libraries and they don't actually define a concept of a "top level cell". When magic reads a GDS file, it tries to figure out if there is one cell that is at the root of all other cells in the file. If there is, then it knows it has found the top level cell, and it will load it automatically. If not, then (I think this is the implemented behavior) if there is a cell that has the same name as the file (without the extension), then it will load that. If neither is true, then magic figures it's looking at a library of cells and won't automatically load anything. In that case you'll end up with a blank window after loading the GDS. If so, you can run the command
cellname top
to get a list of top-level cells, and from that list you can select the cell that you want to load, and load it with the
load <cellname>
command.
m
@Tim Edwards Thank you for your detailed reply! That all makes sense. Then how would saving without context (https://www.klayout.de/forum/discussion/2013/cannot-change-cell-name solution at the bottom of the page) then change the GDS so that magic can read it in less than half the time?
t
Most likely it's because if magic sees an instance used but not defined in the GDS, it will save its position, continue to read ahead in the file looking for the cell, and then if it can't find it, it will flag an error. Then it returns to the original position and continues reading. All that back-and-forth in the file stream adds up.
m
Ah, that is fascinating
Thanks for explaining!!