Cheesing#

class Cheesing(multi_poly: MultiPolygon, all_nocheese_gds: list, lib: GdsLibrary, minx: float, miny: float, maxx: float, maxy: float, chip_name: str, edge_nocheese: float, layer: int, is_neg_mask: bool, datatype_cheese: int, datatype_keepout: int, fab: bool, logger: Logger, max_points: int, precision: float, cheese_shape: int = 0, shape_0_x: float = 5e-05, shape_0_y: float = 5e-05, shape_1_radius: float = 2.5e-05, delta_x: float = 0.0001, delta_y: float = 0.0001)[source]#

Create a cheese cell based on input of no-cheese locations.

Create the cheesing based on the no-cheese multi_poly.

Parameters:
  • multi_poly (shapely.geometry.multipolygon.MultiPolygon) – The area on chip per layer for no-cheese.

  • all_nocheese_gds (list) – The same as multi_poly, but a list to be used for gdspy.

  • lib (gdspy.GdsLibrary) – Holds all of the cells for export.

  • minx (float) – Chip minimum x location.

  • miny (float) – Chip minimum y location.

  • maxx (float) – Chip maximum x location.

  • maxy (float) – Chip maximum y location.

  • chip_name (str) – User defined chip name.

  • edge_nocheese (float) – Keep a buffer around the perimeter of chip, that will not need cheesing.

  • layer (int) – Layer number for calculating the cheese.

  • is_neg_mask – Export a negative mask for chip and layer of init. If False, export a positive mask.

  • datatype_cheese (int) – User defined datatype, considered a sub-layer number for where to place the cheese output.

  • datatype_keepout (int) – User defined datatype, considered a sub-layer number for where to place the keepout of cheese.

  • fab (bool) –

    To determine if the cells are meant for fabrication versus showing iterative information used in a “developer” mode. If false, show the intermediate steps in the exported gds file. If true, show the geometries on either neg_datatype_fabricate or pos_datatype_fabricate.

    Example: # denotes the layer number

    delete for negative mask- TOP_main_#_NoCheese_99, TOP_main_#_one_hole delete for positive mask- TOP_main_#_NoCheese_99, TOP_main_#_one_hole,

    ground_main_#

  • max_points (int) – Used in gdspy to identify max number of points for a Polygon.

  • precision (float) – Used in gdspy to identify precision.

  • logger (logging.Logger) – Used to give warnings and errors.

  • cheese_shape (int, optional) – 0 is rectangle. 1 is circle. Defaults to 0.

  • shape_0_x (float, optional) – The width will be centered at (x=0,y=0). Defaults to 0.000050.

  • shape_0_y (float, optional) – The height will be centered at (x=0,y=0). Defaults to 0.000050.

  • shape_1_radius (float, optional) – The radius of circle. Defaults to 0.000025.

  • delta_x (float, optional) – The spacing between holes in x.

  • delta_y (float, optional) – The spacing between holes in y.

Methods

apply_cheesing() GdsLibrary[source]#

Prototype, not complete.

Need to populate self.lib with cheese holes.