How could I use Boolean in semi hierachical mode instead of flat mode in layer_process.rbm?

edited May 2013 in Ruby Scripting
Hi, Matthias:
I caculated a hug Boolean operation in the real chip. The polygon count is near the 1b. The layer_process Boolean operations are flat mode, these operations may occupy memory over 128GB. There is no computer to run the script on my hand. But I ran the Boolean operation on the Edit>Layer>Boolean Operation in semi hierachical mode. It's fluently and very few memory usage. The ruby script concept may be
1. Go to each cell to do layer_process.
2. Or each polygons in final step.
I met one question is the how I can choice idividual cell on ruby script?


  • edited November -1

    Hi Arided,

    the boolean operations of KLayout are not optimized for huge chips. Using the per-cell semihierarchical operation may work, but in the general case that will not render the correct result. The reason is that in order to do it correctly, the algorithm has to consider cross-hierarchy interactions and optimize the hierarchy for the specific case, i.e. by creating variants.

    Hierarchical processing for big layouts is the domain of commercial DRC engines with an extensive research background. Please don't expect KLayout to compete with such tools.

    A simple solution is tiling which I employ for the XOR tool, but right now there is no tiling for the interactive booleans (but that is on my TODO list).



Sign In or Register to comment.