dummy_fill_gdsii_box
- ipkiss3.all.dummy_fill_gdsii_box(filename, fill_cell, target=None, ignore=None, density=0.5, design_buffer=10.0, edge_buffer=10.0, 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.
- fill_cell: Box
The basic element (tile) used for filling. Only Boxes are supported. The layer of this Box determines the layer on which the dummy elements are drawn.
- target: Layer | tuple[int, int] | None
A layer which defines the bounding area of the filling operation.
- ignore: list[Layer | tuple[int, int]] | None
List of layers to exclude/ignore during the fill operation. Elements on these layers will not be taken into account.
- density: float, optional, default=0.5
Target density (0.0 to 1.0). Determines the pitch of the fill pattern.
- design_buffer: float, optional, default=10.0
Keep-out distance (buffer) around existing design features where no dummy elements will be placed.
- edge_buffer: float, optional, default=10.0
The margin to reserve along the inside edges of the bounding box.
- 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_box("my_gds_file.gds", fill_cell=box) >>> print(f"Dummy filled gdsii file: {new_file}")