Table Of Contents

Previous topic

gdsCAD.utils

Next topic

gdsCAD Versions

This Page

gdsCAD.templates

Templates for automating the design of different wafer styles.

Note

Copyright 2009-2012 Lucas Heitzmann Gabrielli

Copyright 2013 Andrew G. Mark

gdsCAD (based on gdspy) is released under the terms of the GNU GPL

Class Summary

Wafer Classes

Wafer_GridStyle(name[, cells, block_gap]) The base wafer style consisting of blocks of patterned features.
Wafer_Style1(name[, cells, block_gap]) A 2” wafer divided into 10mmx10mm squares
Wafer_Style2(name[, cells, block_gap]) A 2” wafer divided into 5mmx5mm squares
Block(name, cell, size[, spacing, edge_gap, ...]) Creates a rectangular block with alignment marks, label, and many copies of the cell.

Alignment Marks

AlignmentMarks(styles[, layers]) Create alignment marks.
Verniers(styles[, layers]) Create vernier alignment tools.

Module Definitions

Templates for automating the design of different wafer styles.

Note

Copyright 2009-2012 Lucas Heitzmann Gabrielli

Copyright 2013 Andrew G. Mark

gdsCAD (based on gdspy) is released under the terms of the GNU GPL

gdsCAD.templates.AlignmentMarks(styles, layers=1)[source]

Create alignment marks.

Parameters:
  • styles – a character, or a seq of characters indicating the style of mark(s) desired
  • layers – an integer or a list of integers of layer(s) on which to place the mark of the corresponding entry in styles
Returns:

A cell with the requested marks

Example:

# Make matching marks on layers 1 and 2
AlignmentMarks(('A', 'C'), (1,2))        

The marks are stored in the file CONTACTALIGN.GDS

A:(layer1): 300 x 300 um B:(layer2): C:(layer3): 600x400um

class gdsCAD.templates.Block(name, cell, size, spacing=None, edge_gap=0, prefix='')[source]

Bases: gdsCAD.core.Cell

Creates a rectangular block with alignment marks, label, and many copies of the cell.

Parameters:
  • name – The block name
  • cell – The cell to tile within the block
  • size – the width and height in physical units of the block
  • spacing – 2D vector of the spacing between cells. When omitted spacing is based on the cell bounding box.
  • edge_gap – distance to leave around the perimeter of the block
  • prefix – A string to add to the beginning of the cell name used for the printed label, the address of the block location.

A block contains two alignment mark clusters (alignment marks + verniers) at the bottom corners, a label based on the cell name, and a grid of many copies of the cell.

class gdsCAD.templates.RangeBlock_1D(name, cells, size, edge_gap=0, prefix='')[source]

Bases: gdsCAD.core.Cell

A block section for which the the artwork in cols varies

Parameters:
  • name – The cell name
  • cells – A list of cells to tile
  • size – the width and height in physical units of the block
  • spacing – 2D vector of the spacing between cells. When omitted spacing is based on the cell bounding box.
  • edge_gap – distance to leave around the perimeter of the block
  • prefix – A string to add to the beginning of the cell name used for the printed label, the address of the block location.

A block contains two alignment mark clusters (alignment marks + verniers) at the bottom corners, a label based on the cell name, and a grid of many copies of the cell.

class gdsCAD.templates.StripArray(start, end, size, gap, angle=None, align='center', layer=None, datatype=None)[source]

Bases: gdsCAD.core.Elements

Create a row of rectangular strips.

Parameters:
  • layer – the layer to add the edge to
  • start – the starting pt for the array of strips
  • end – the finish pt for the array of strips
  • size – the width and length of the strips
  • gap – the space between strips
  • angle – the amount by which to rotate the strips (0 is perp)
  • align – string indicating how to align the strips relative center/top/bottom to the start-end line
Returns:

Elements of the strips.

gdsCAD.templates.Verniers(styles, layers=1)[source]

Create vernier alignment tools.

Parameters:
  • styles – a character ‘A’ or ‘B’, or a list of characters indicating the style of mark(s) desired
  • layers – an integer or a list of integers of layer(s) on which to place the mark of the corresponding entry in styles
Returns:

A cell with the requested marks

Example:

#Make a pair of matching verniers on layers 1 and 2
ver = Verniers(('A', 'B'), (1,2)) 

The marks are stored in the file VERNIERS.GDS

215 x 203 um

class gdsCAD.templates.Wafer_GridStyle(name, cells=None, block_gap=400)[source]

Bases: gdsCAD.core.Cell

The base wafer style consisting of blocks of patterned features.

Parameters:
  • name – The name of the new wafer cell
  • cells – a list of cells that will be tiled to fill the blocks the cells will be cycled until all blocks are filled.
Block_gap:

the distance to leave between blocks

Returns:

A new wafer Cell

Spacing between cells in a block is determined automatically based on the cell bounding box, or by using the attribute cell.spacing if it is available.

add_aligment_marks()[source]

Create alignment marks on all active layers

add_blocks()[source]

Create blocks and add them to he wafer Cell

add_dicing_marks()[source]

Create dicing marks

add_label(label)[source]

Create a label

add_orientation_text()[source]

Create Orientation Label

add_wafer_outline()[source]

Create Wafer Outline

align_pts = None
block_size = None
wafer_r = None
class gdsCAD.templates.Wafer_Style1(name, cells=None, block_gap=400, *args, **kwargs)[source]

Bases: gdsCAD.templates.Wafer_GridStyle

A 2” wafer divided into 10mmx10mm squares

class gdsCAD.templates.Wafer_Style2(name, cells=None, block_gap=400)[source]

Bases: gdsCAD.templates.Wafer_GridStyle

A 2” wafer divided into 5mmx5mm squares