klayout fails to read CELLNAME S_CELL_OFFSET property on windows when it's value is > 4GB #2073
This issue has been fixed with 0.30.3
https://github.com/KLayout/klayout/issues/2073
You should know for which technology this gds was built, no ?
If you have stdcell routing with via, you can deduce metal/via layers by “looking” at the layout.
strm2gds/oas use the same database as klayout.
I'm not aware of any open source tool using multithreading, if anybody heard of one, let me know.
No tool is even using double buffering to decouple gunzip and data parsing/database building.
In 2020 …
Thanks to OpenRoad there are publicly available testcases.
Unfortunately efabless went out of business, so the mpw files are harder to find now.
2.5GB gzipped or not gzipped can be read/written by strm2gds/oas in 12/14/11 seconds
This is using a 20…
Multiple, not gzipped 3GB gds ?
P&R or mask data ?
70 sec for 3GB is as fast as a single thread reader can read gds.
a) in my experience, if the files are in a file server (not a local disk) gds.gz files read/write faster since they’re 1/5th th…
Could you be a little bit more specific ?
What do you consider "time-consuming" ?
How big are your files, are they gzipped or not ?
How long does it take to "collect" them ?
Which "uniquification" (blend-mode) strategy…
Since klayout uses GitHub source code hosting and issue tracker, why not also use "Discussions" ?
OpenRoad and clipper2 have these enabled.
The latter also takes advantage of the feature to move issues to discussions.
This keeps the issue …
It would help if you could either share the file or if you can’t, narrow the problem down til you can provide more info.
Use klayout to make the file smaller while still failing.
Try other tools that read oasis like https://github.com/wrcad/xictools…
google "klayout drawing bitmap".
It's AI generated summary is not bad and also points you to forum entries where Matthias outlines how the rendering works.
For trying to understand and navigate a large code base, I would recommend to run v…
The layer stack info is in a tech lef and the mapping to gds/oasis layer/datatype is defined in a map file.
klayout already reads both file types, it "just" has to "fill out the layer stack form".
Another approach is to "gu…
klayout -ne reads a 1GB oas using cblocks (1.4GB uncompressed) in < 60s using 1.5GB of memory on a Mac M1. Testcase is the 700k stdcell bsg_chip from the public ispd24 contest, routed/stdcell filled with OpenRoad, uniquely referenced 36 times, no…
What do you run klayout on ?
Windows/Linux/Mac, what kind of cpu/corecount, how much memory ?
What kind of design ?
P&R data ? Maybe with hierarchical fill ? Or fractured (mask) data ?
Please see this discussion on how to provide some informat…
a) I usually change files before opening them again, in this case a cache won’t help at all.
What’s your use case for opening the same file again and again ?
b) What kind of oasis file size and read times do you experience ?
To see klayout read time…
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…