Is GDS-II even capable of dealing with circles (in form
of center, radius)? I thought circles were all N-sided
polygons, once you get to GDS-II data (or in some CAD
universes, even in the native data structure).
That looks to me like 2.5Gb (at 1 bit per pixel),
which is kind of chubby for an image file. It might
be overflowing some limit in a png->tiff conversion
That's one way to get a null .tif file I reckon - just
give up for files…
Maybe looking at the sequence of events in interactive
would help? Even more so, if there were an output log that
puts the commands executed, out in Ruby or Python syntax.
(Layers) show only selected
(Layers) pick target layer
Is there no way to force a "reload"? In other tools I've seen
"trigger all callbacks" or "refresh" but not always easy to
Or maybe you have to close the script editing session
and reopen it from within the exist…
Tungsten plug vias can dominate net resistance. Don't know if parasitic R extract deals with vertical via resistance or only in-layer l/w*Rs. If not then you may need to make the via a "device" that will cough up the R. Breaking one net in…
I don't know what your desired, or your technology
proper DBU may be.
When I see this:
(100, 333.33333333333337), (100, 166.66666666666669)
I have to wonder whether you're asserting a number
with precision beyond your DBU, and it's displayed at
I personally favor an all-markers approach where every
device that's placed intentionally, incorporates a unique
marker in its PCell which the extract deck uses to make
the "recognition call" (backed up by a "recognizer" for
Is the problem that, in a system where "contact" could
stop on either P2, P1 or Active, that there is no logic
that says -which-? That is, looks like contactP2,
and contactP1 would both be valid as written, maybe
there should be (contact…
It still bothers me that there is no logic to recognize the device itself. The terminals, OK. But terminals of what? I see where you assign the model name "arbitrarily".
Maybe it's just that I'm used to working in bipolar technologies whe…
Those were my attempt to explain how I do things.
If they were klayout functions, they might be useful but
I also anticipated some risky behaviors (such as a 45
turning into a not-exactly-45 due to rounding errors or
something like that). Or circ…
If they are truly so closely spaced that they would flag the generic rule (which I know can be absurdly large - I've seen 50um on a 180nm process) and truly at same potential, why not just bridge the gap with more NWell and make it all one piece?
Another thought - I see the extraction of
connectivity, but isn't there some need to
"recognize" the device as such? I don't see
logic for that (what makes the NPN an
NPN, to the extraction?).
In more elaborate kits and tools I'm used…
Can you somehow display each of those logical
layers that you are outputting, and see whether
any of them are not giving you what you think?
Maybe one is "malformed" and breaking the
Your collector contact should be the stack of contact, Nplus, Nwell, buriedN. You do not have the N+ and contact in your logic. It's possible that contact to NWell could be a Schottky contact depending on surface doping unless you impose N+. Also (c…
If you want to touch only one point, I believe Partial
(stretch) will move a vertex to the next grid-snap by
hand. Not sure about multiple-selected vertices, you
would have to play to see whether it does what you
A "snap all vertices to …
Are merged polygons maintained as separate
objects in some sort of "bundle", that you could
do this? I thought the merged-object replaces
And if this is the case, can a merged-polygon be
un-merged back to its original…
Punching through multiple metal layers would normally be a thing to avoid by process construction. You stop oxide etch on the first metal it hits and stop metal etch on oxide or silicon, in "normal" silicon processing.
Vias normally are h…
In my work I've built the layer tables by hand from
paper sources, but haven't I seen that there's some
facility to import Cadence techfile info?
If there is, that'd be the easy way, presuming the
foundry wants to talk to you. If there isn't, th…
Freeze for how long? It might be stuck searching locations, or have a location in the search-path that is waiting to time out for not-found?
Have you looked into what the search-path is, and inspected the current search-path string for stuff that i…
I couldn't find the Change All function in my 0.26.8
installation, but I would simply use the "q" property
editor on the selected set, make sure I had the pane
for Center / Size (if rectangles) selected, change
the attribute of interest i…
If your klayout DRC runset equals the Cadence
(or Caliber, as many "Cadence centric" foundries
use Caliber as the golden tape-in tool) then the
tape-in check should be a "nothing to see" event.
But then somebody would have had…
I would like to see, somewhere in the release collateral,
a complete list of all packages required (with version)
or better yet, some "pull scripts" that would ensure that
the dependencies are all in place or make it so. Like
apt for Ubun…
I occasionally have to go back to the schematic
and update the length and segments properties
to reflect the "observed layout reality". This would
be one of your your "local" options, appropriate if
the schematic reflecting as-l…
I would suggest that the default version be something
more toward the "trailing edge" so that other tools and
older versions can have a chance of working. What is
the value of following Autodesk's deliberate version-
churning too closely? …
The solution may lie in the rules logic, like check
that (topMet*silox)==145 as a pad specific rule,
rather than looking for 150x150 metal alone,
supplementing the more generic width/space
The pad rule is really about the window, extra…
I'll take this opportunity to advocate for a truly generic extractor.
I would like to be able to arbitrarily define an arbitrary number of pins with arbitrary layer_logictext "pin recognizers" and a layer_logictext "type recognizer&q…