Hi Jim,
you can use master or any other branch, but without warranty.
The usual approach (and the one favoured by GitHub) is: features are developed in branches. When they are considered stable enough they are integrated into the master (pull request). Hence the master is kind of "latest greatest", but with a certain risk of being spoiled. There are also forks from other user with their own masters and branches. Don't confuse them with the ones from the KLayout project.
But eventually, when the master is considered to have a sufficient quality, a release is made by creating a release tag (https://github.com/KLayout/klayout/releases). A release is a snapshot which is then turned into Windows binaries, Linux packages, PyPI wheels etc. This this is a lengthy process and I don't want to do this too often.
Matthias
Hi haru_f,
This is a test case which works for my version (intentionally messed up a little to test the algorithm):
circuit NOR3 (A=A,B=B,C=C,OUT=OUT,VSS=VSS,VDD=VDD); device PMOS $5 (S=$2,G=A,D=OUT) (L=0.27,W=1.1); device PMOS $4 (S=$21,G=A,D=O…
Hi wimbur,
going to sleep should never damage a GDS. The GDS gets saved during "Save", that's it.
There are ways to damage a GDS, like saving too big polygons (>8k points) without limiting their vertex count (see writer options). Or …
Hi haru_f,
Essentially the algorithm should be universal. Is it possible to paste a layout-extracted netlist for a NOR3x3 stage (before join_symmetric_nets) so I can take a look?
I assume that NOR3x is identical to NAND3x if you swap NMOS/PMOS and…
Hi haru_f,
I have prepared a feature which I think will help you. Here is a brief description:
http://www.klayout.org/downloads/master/doc-qt4/manual/lvs_tweaks.html#h2-178
I'm going to release this soon. Maybe you can give it a try. A preliminar…
Hi,
please format your code so it becomes readable. A line with triple backticks before and after the code is enough.
But if you have a Python module which generates your code - why not importing this module into KLayout and using it directly rath…
Hi
I'm a bit confused: I tried with a testcase I prepared myself. But the error_corners.polygons(1.dbu) look a bit different for me (note the offset).
(Image)
The offset is implied by the "1.dbu" argument of "polygons". So I…
Hi Mattia,
I think the request is to have a method which provides this feature during layout.
There is no such feature yet. KLayout isn't precisely Altium Designer. If you really want the feature, you need to find someone who implements it. KLayou…
Hi Thomas,
Thanks for tracking this down. But this is really weird ... I forgot to ask which system you're on. Is this Windows? I'm trying on Linux.
Matthias
Hi,
I'm about to release a new version (tomorrow I think) with an option to limit the number of shapes.
If you want to try: https://www.klayout.org/downloads/master/ contains preliminary (unsigned) builds for Windows (look for 0.26.4 versions).
M…
Hi Jim,
true ... I just don't know how to tell apart digital from analog designers in my code (popup: "are you a digital guy?", answers: "yes", "no" and "don't care") :)
I just introduced "tolerances&q…
Hi,
there is no measurement function yet to give you the "real value" in the context of DRC. It's basically possible to analyse the markers produced (this is an edge pair and the minimum distance of the edges could be taken as "real …
Hi,
yes, that's possible. But not within the framework of LVS.
LVS is just a wrapper around the scripting API, so you can basically code a script which does this.
The problem is that there is no infrastructure for this application yet: no file for…
Hi Tom,
I'm sorry, but this is exactly the thing Ruby or Python was made for.
You can essentially edit a drawn polygon coordinates in a text edit box. You could paste the coordinates from one Polygon into this box so make the polygon look like the…
Thanks! But I still love Ruby :)
Just one remark regarding this solution: the code above does not take the "M" parameter into account. For a fully compatible Spice reader, the code should read "M" as well and multiply W with M. …
Hi Thomas,
unfortunately not directly as MOS3 and MOS4 are different devices and basically the forth terminal is part of the functional description. Imagine it's tied to the wrong potential - in this case the transistor would not work.
The "s…
Hi
1.) "Merge" will convert the shapes into polygons first and for a zero-width path, these polygons vanish because they have no area. Zero-width paths are not valid mask objects anyway, so I wonder why you have them. If you want to repre…
Hi rajan,
The bounding box is a cell property, so the easiest way is this script:
from klayout import dblayout = db.Layout()layout.read('test.gds')print(str(layout.top_cell().dbbox()))
This script should be fast - essentially it's just the read t…
Hi mikamar,
std::bad_alloc, you'd need more memory. Do you use 64bit already? I'd say a decent PC with 16G of memory and a 64bit OS (preferably Linux) should be sufficient even for bigger cases. An option which isn't uncommon is to book cloud resou…
Maybe you started KLayout in viewer mode?
On Windows, there are three Start menu entries: one for Editor, one for Viewer and one for the mode you picked as default (in the settings). If your default mode is viewer mode in the admin installation, th…
Hi Itamar,
here is a sample which prints the contacts. It uses a "recursive shape iterator" to capture contacts from child cells too. They need to be transformed to top level if you want them to appear is seen from top.
ly = pya.CellView…
Hi Thomas,
To be frank, I don't fully unterstand the logic of your code. There seems to be a lot of experimental code and the lonely @target_view line at the end of evalSection does not make sense.
Basically I like the idea of a progress, but I'd …
Thanks for the patch ... but that would mean - in case of multiple specifications in "through" - if one "through" component is empty, none of them is considered, right?
I wonder how you can split your script if your backend step…
Very good :)
Actually "-prefix" is very similar to what you need in autoconf too. As KLayout's build is qmake based I can't make good use of autoconf, hence the build script.
Instead of using prefix you can also copy "bin-released&q…
Hi Jim,
Yes, there is such a thing.
In KLayout, currently there is no nice support for texts, but you can let DRC give you a layer with small markers (2x2 DBU) indicating the position of selected texts. You can use this layer with "interact&q…
Come on ... you can't be the only person on earth not getting a GitHub account ... :)
To solve your problem, you can either use (note "self")
gate_ox = MaterialData.new([], self)
or simply:
gate_ox = nil
In the second case, you can us…