ERROR: A cell with name triangle already exists (position=596, record number=43, cell=triangle)
dump_gds2 output_demo.gds | grep '"'
shows that the gds contains multiple struct with the same name.
So the question is not how to make klayout re…
Considering how easy it is to compile klayout yourself, try that route.
You’ll also be able to run klayout in a debugger in case you still have coredumps.
Get the apple c++ compiler:
https://mac.install.guide/commandlinetools/4
xcode-select –-install
Get some package dependencies:
brew install qt5
brew install git
brew install ruby
brew install python
Get the klayout source code:
git clone https://g…
I’ve been using klayout on an M1 MacBook since that machine came out.
Install homebrew or anaconda clang and qt (both qt5 and qt6 work) packages, get the klayout sources from GitHub and you’re a 12min compile away from always using the latest and g…
Could you give some context ?
Any specific reason why you want to do that inside klayout using a script ?
This can also be done with klayout's buddy tools strm2gds/strm2oas, which will take care of uniquification.
strm2oas a.gds,b.gds.gz,c.oas coll…
I was referring to the this lefdefref pdf:
http://coriolis.lip6.fr/doc/lefdef/lefdefref/lefdefref.pdf 5.8 May 2017
No “golden” gds/oas, because OpenRoad uses klayout to generate that.
To see how OpenRoad draws this testcase use ‘openroad -gui test.…
Matt’s attached reproducer is a valid testcase and the WIDTHTABLE property is described in the lefdefref5.8 on page 104 with some examples.
Essentially it’s a superset of the existing MINWIDTH functionality.
LEF58_MINWIDTH is implemented,
LEF58_WIDTHTABLE is not, it's a different property.
On a related note:
The testcase uses klayout with def2stream.py to convert lef/def and merge it with gds.
This can be also be achieved by using klayout's strm2gds b…
The oasis spec (you might find the draft in web-archives) requires n-strings for cell names.
n-strings must only contain printable ascii (21-7E), which excludes space, tabs and all other control characters and have a length > 0.
Since some databa…
Sorry, I'm not familiar with msys.
But googling your errors, it seems this was still allowed with c++11, so -std=c++11 might help.
PS: If you use ``` in a line before and after code or log output, it's going to be easier to read.
You can edit old po…
You can use https://github.com/klayoutmatthias/dump_oas_gds2 to get an ascii view of gds and oasis files.
Duplicate cells are an error for both gds and oasis, so a small test case will be highly appreciated to fix any potential issue in the klayout …
The oasis spec deliberately removed all text magnification, rotation, positioning and font selection that was possible in gds.
For physical verification the text string and it's coordinates is all that's needed.
There are various gds viewers that c…
Here's some information about the granddaddy of the mask data formats.
Appendix E: EBES Format
https://www.rulabinsky.com/cavd/text/chape.html
But by now everybody should have gotten on the oasis.mask bandwagon.
Is it time to switch to OASIS.MASK?
…
Instead of a file property, I think S_TOP_CELL only makes sense as a property for CELLNAME. Multiple CELLNAME in the cellname table of a strict oasis file can have a S_TOP_CELL property, all but unresolved references have the S_CELL_OFFSET property…
The idea behind oasis S_TOP_CELL and S_BOUNDING_BOX, S_BOUNDING_BOX_AVAILABLE properties was to allow a viewer to load the top cell and the first level bounding boxes to show these while continuing to load the rest of the file in the background. But…
You can use the four arrow buttons at the bottom of the layer view to "move" the selected layers to get the order you want.
I thought I remembered to be able to do that with a mouse click and drag, but couldn't get that to work. I would ha…
What is your use case ?
Gds and oasis don’t have a syntax for instance or net names. P&R tools or def2gds converter have options to convert instance/net names into either TEXT on a certain layer:datatype or store it as properties.
For tapeout …
If you google "def gds map encounter" you will find an example here:
https://community.cadence.com/cadence_technology_forums/f/digital-implementation/37024/layer-map-file-for-gds-transfer-to-virtuoso
If you don't want to build it yourself, just use the x86 dmg files, they work just fine.
On Mac, once you have Xcode command line tools and homebrew qt, ruby, python installed,
thanks to Kazzz's macbuild scripts, building KLayout yourself is as eas…
Klayout x86 works just fine on M1 using Rosetta (besides the 2d view).
The mac build scripts curtesy of Kazzz work on a M1 and Kazzz has a branch that has them updated for Monterey. But on M1 6 unit tests coredump and 10 other ones are failing. Mat…