How to reduce file size when using boolean on layer
User LayoutEditorReduced Saturday 16th July 2022
Hi! I have found that when using boolean on layer, file size is largely increased.
Why this case happened? And do we have any good way not to increase the file size by using boolean on layer?
Jürgen LayoutEditorFull Saturday 16th July 2022
The effect on the file size with a BoolOnLayer operation strongly depends on your design. A BoolOnLayer operation will descend into referred cell and respect shapes on the designated layer there. However, the result of the Boolean Operation is stored in the current displayed cell. So this removing of hierarchy will increase the file size similar as after an flat of cell hierarchy. Design with a flat hierarchy will in contrast to it hardly effected in the file size.
You can perform the Boolean Operation within the referred cell instead of inside the top cell to reduces this effect. But always with adding shapes to the design as the BoolOnLayer does it the file size will increase.
User LayoutEditorReduced Saturday 16th July 2022Attachments: (only for registered users) test_before boolean.GDS test_after boolean.GDS
Thank you! I have attached the example file where we see the file size extreamly increases. The real pattern of two arrays have more patterns.
In the actual file, by doing boolean on layer once, the file size increases by 4M bite. Could you give me any good advice? For the actual file, it is difficult to make the patterns by only referring and repeating single cell in terms of time.
Jürgen LayoutEditorFull Saturday 16th July 2022Attachments: (only for registered users) testbefore_boolean_improved.gds
For that example it would be better to create a cell *D* with a single placement of cell *A* and a small array of cell *B* (5 times in Y-axis), do a Boolean operation in cell *D* and place cell *D* (50 times in x-axis) in cell *C*. This will increase the file just by 150 bytes.
User LayoutEditorReduced Sunday 17th July 2022
Thank you for the replying. In my real case, positions of B arrays are not repeated in a regular way like this example. So, I would like to do Boolean on layer after placing arrays of B but I have found the problem of data size. Do you have any other improvement for it? Thank you so much in advance.
Jürgen LayoutEditorFull Sunday 17th July 2022
In case both arrays are irregular, the result will not have any regularities and any single resulting polygon needs to be save in the GDS. The file size will significant increase and there is no way to avoid it.
However, in case you have any light regularity, use it to keep the design simple and small.
User LayoutEditorReduced Tuesday 19th July 2022
Thank you for replying. Do we have any treatment to reduce file size after making patterns by boolean on layer in the case? For example, can the made patterns be changed to something that do not need large data size?
Jürgen LayoutEditorFull Tuesday 19th July 2022
That is individual to your design. If the Boolean Operation results in a repetitive structure you can use the group feature to store it only once and place a cell reference at each location. Also of course you can store it compressed as a .gds.gz or in oasis format that has a compression build in if activated in the setup. But this last step would effect the design size on disc, not the design size in memory when loaded.