I added a patch to dbOASISWriter.cc to implement a write-step feature. For example, when write step = 2, it skips the OAS file header and outputs only specified cells, writing their data into byte arrays. This step can be performed in parallel using…
This is the final data before the mask-making process, and I think it might contain several OPC layers. I work at Fudan University, and OPC-related tasks are handled by another team, so I am not very familiar with it. I apologize for not being able …
16 cores intel cpu
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Intel(R) Xeon(R) Gold 6132 CPU @ 2.60GHz
stepping : 4
microcode : 0x2000050
cpu MHz : 1000.023
cache size : 19712…
For an OAS file, for example, if there are 10 layers, is it possible to use multiple processes to open this OAS file simultaneously, with each process reading one layer, and then combine them at the end? By using multiprocessing, can the loading spe…
My workflow is divided into several steps.Each step requires reading the original OAS as the basis for validation.Therefore, a single file will be opened multiple times.In some cases, the OAS file is approximately 2~3 GB and takes about 20 minutes t…
Thank you very much.
I check the source code to find a way to avoid area dependency.
Is the related function in dbEdgeProcessor.cc?
I found ProjectionCompare (e)) maybe relate to it, but no sure.
Could you give me any suggestion?
2319 i…
Hi Matthias,
Thank you for the reply verify much.
I found the output of results is depend to the area.
I modified the sample code. (only first point)
Area of A is bigger in test 1.
And area of A is smaller in test2.
pts = [ pya.Point(-101, -100…
Hi Matthias,
You are correct.
I reviewed the oasis case again and found the polygons in this case are same.
So oasis use displacement record to compress it.
I think it's efficient to represent multiple shapes as oasis.
So I have another question.
…
Hi tlima,
Thanks for your suggestion.
In my case, the top name of tile gds is unknown, so I have to read it first to scan top name. Also, it's name maybe confict with cell name in main chip.
This is why I need 'import other file' function, which c…
Great!!!
I have wanted this feature for long time.
Now, I have to use boost.python to change klayout code and map out klayout classed as python module.
Hi Matthias,
I tried your suggestion,
Do the operation first on all files while writing temporary files (2000 read + 2000 OASIS writes). Then read again and combine the layouts in non-editable mode.
For step 2, I open layout in editable mode, then…
you could write a.py file like
import pya
layout = pya.Layout()
layout.read('c:\Training\123.gds.gz')
for ly_id in layout.layer_indices():
ly_info = layout.get_info(ly_id)
print(ly_info.to_s())
then using klayout to load a.py like,
kla…
Hi Matthias,
I add patch to output clip results as order. when no data in clip bbox, it will return cell idx 0.
Maybe you could add an option in next release.
diff --git a/src/dbClip.cc b/src/dbClip.ccindex 55ab499..3f8aaa5 100644--- a/src/dbClip.…
Hi Matthias,
You are right, clip function use STL map.
However, there are two problems.
1. the output results looks sorted the bbox of cut results, not the input bboxes.
2. if input bboxes cut nothing, no result will output. Then the count of output…
Thanks Matthias,
I add a function in src/gsiDeclRdb.cc
const std::string &database_tag_name(const rdb::Database *db, rdb::id_type tag)
{
return db->tags ().tag (tag).name ();
}
Now I could get tag name for RVE db. Maybe you could conside…
Hi Matthias,
Thanks for your reply.
We use old linux (centos 4.6) with file version 4.10, which could not detect OASIS.
However, I add API for klayout to report file type before reading the stream.
extern std::string stream_format(const std::str…