dummy_fill_gdsii

ipkiss3.all.dummy_fill_gdsii(filename, filling=None, target_layer=<ipkiss3.technology.TechValue object>, new_filename=None, top_cell_name=None)

Applies a rectangular dummy fill to a gds file to achieve a specified local density.

Parameters:
filename: string

GDS file of the design to apply dummy filling to.

filling: Sequence[Filler] | None, optional, default=None

A sequence of Filler objects. If not specified, a default value from the PDK is used (TECH.DUMMY_FILLING.FILLERS) or an error is raised if the PDK does not specify it.

target_layer: Layer | tuple[int, int] | None, optional, default=None

A layer which defines the bounding area of the filling operation. If not specified, a default value from the PDK is used (TECH.DUMMY_FILLING.TARGET_LAYER) or None (entire layout) is used if the PDK does not specify it.

new_filenamestr | None, optional, default=None

The filename to be given to the newly created gds fill containing the dummy elements. If None, _dummy_filled is appended to the original filename.

top_cell_name: str, optional

The name assigned to the top-level cell in the generated GDSII structure.

Returns:
new_filenamestr

The filename of the newly generated GDSII (e.g., ‘original_dummy_filled.gds’).

Examples

>>> import ipkiss3.all as i3
>>> import si_fab.all as pdk
>>>
>>> box = i3.Box(layer=pdk.TECH.PPLAYER.M1, box_size=(5, 5))
>>> new_file = i3.dummy_fill_gdsii("my_gds_file.gds", filling=[i3.Filler(cell=box)])
>>> print(f"Dummy filled gdsii file: {new_file}")