Depending on how many variants, perhaps you want to
use cell copy and rename, in the Navigator pane, to make
the uniqueness by naming and retargeting the instance?
I've got no advice for you about scripting, but why not just
make a copy, open the layout, put the Navigator pane visible
and use the Delete Cell, Deep Delete function to remove
everything you don't want from the database?
If the layout is nicel…
This all leads me back around to my desire for an
"assertion based" extraction (as opposed to a logic
applied to an assembly of shapes).
A boundary polygon tagged with device-type text,
and pin features (e.g. contact) tagged with pin-nam…
You can use Partial mode to select and then Delete a
vertex or vertices, and/or move around the ones that
remain.
The vertices are not positioned by some global setting,
they are hand placed (or converted from some other
tool's hand placement I su…
As it happens, one of my chips under design right now
uses a "Epi FET" for a bias current feed, and this is not
like any explicitly designed, gain-element JFET. It is just
a region of N-epi pinched between two ISO (P+) bars,
running nearl…
Found an example layout for a 40V PJFET. There is an
asymmetric field plate feature. If I can find your email I'll
send you the .gds and layer assignments.
I am wondering whether a scheme for "select" to pre-figure
extents, could work for both texts -and- my interest in making
a "constrained selectable area" for layout cells that is defined
by a intra-cell object (like Cadence's us…
The PJFETs I have used, used a simple bar of emitter (N+)
across the channel implant, and its ends, outside the
channel stripe, contact the collector region. So although
the front and back gate are separate they are electrically
common.
In a JI te…
For what little it's worth...
If the objects are touching they aren't usually considered
to be a spacing error, but rather pieces of a whole.
I think you might want to do a minuscule shrink (like
just one DBU) and then the gaps would get flagged
…
The "window of selectability" can still be tricky, especially
if you're zoomed out working with large text. I have upped
the setting to 16 pixels to make it a little easier to
grab, but I still "misfire" a lot....
(Image)
I have run into trouble using paths relating to the non-grid
vertices of the "hull". I have moved to a style where I build
polygon "paths" out of ortho and diagonal on-grid "sticks"
and merge them.
I think that a coo…
I don't know from Apple, but in Windows (and especially
with aftermarket mouses) there is often a sensitivity /
speed / velocity sensitivity settings-panel you can get to.
Maybe there is some layer like that, that you can get at?
I wonder whether the "duplicate" command can be used
in your Python script? That is meant to make second, third, ...
in the same location. Maybe it works cleaner (if it is a
Python accessible function)?
I can draw three identical same la…
I've got zero Python skillz, but I see nothing that would
(to me) increment "i" in the "for" statement, or say by
how much.
Maybe add a bit of "telemetry" such as an "echo $i" (per
whatever is Python syntax)…
Thanks, Matthias,
This would do the job. I was unaware of this tool.
Now I note that the operation is yet another, but "orthogonal"
"flip side" of the traditional "chop" function (separate as polygon
object from inter…
If you put a minuscule "box" object on the same layer and
inside the path's edge-edge extents, and select them both,
the Merge function will combine them into a polygon.
(Image)
I don't know whether an array of primitive objects is treated
as an instance but the select-filter might be the handle you
are looking for?
(Image)
If arrayed primitives are not able to be separated from single
primitives in this way, perhaps y…
Up top on the banner is a "move" "button" that does
regular move (click here, click there). There is also (I
have been told) an infix-style move but I don't know how
to find / use that.
I think my "move" bindkey is me…
You could cut (subtract) along the inner vertical edges and
stretch (Partial) to re-butt the ends of the horizontal edges?
At least that's how I'd do it, by hand knowing only what I know.
If your question was how to script it, I got nuthin'.
Wondering whether this might be some discrepancy between the database that the markers were generated from, and the database called out to display them against?
Seems peculiar that no "complaint" would be emitted, when you tried, if it is…
You can do this through the Cells subwindow, which can be set to either alphabetical or hierarchical sorting.
Ctrl-S works for me on a selected instance. So does Display>Show As New Top menu action.
A JFET extractor would be ideal but a MOS extractor could
probably be convinced to work you might need to make a
bogus "active_area" polygon to satisfy the logic?).
Me, I really prefer text-tagged features (like "D" would be:
…
What is peculiar in my view, is that the merged version gives the same error #1 - I would expect that the new polygon would not have the vertices to trigger those errors anymore.
Laurent, if you would like to send me the same DB I would like to loo…
From the marker form I have to wonder whether there
are "trivial notches" (e.g. rounding error in the merge of
the 2 verticals and the horizontal).
A very close in (to min DBU at least) zoom inspection?
And what happens if you merge thos…
The Tanner-based foundry I am working with also has problems with the $ character inserted when multiple instances of different attributes but same master, or same name but different master-source (like importing "contact10x10" twice becau…
I would like to add my support for "long tail" compatibility.
One of my over-arching interests in klayout is that it can be
"stood up" (compiled) for a wide range of systems / OSes.
I have zero, or less than zero, need to chase…