Sentaurus Process
14. Special Focus: Using Mask Information From GDSII Files

14.1 Overview
14.2 Reading the Layout Information
14.3 Using Layout Information in the Process Flow

Objectives

14.1 Overview

In an efficient process simulation setup flow, mask information is separated from the process simulation flow. This allows for the simulation of different devices in one layout, and an easy exchange of layout. To facilitate such a workflow, Sentaurus Process can read mask information from a GDSII file.

See the Silicon WorkBench Interface module for an alternative way of working with GDSII files.

The example project used in this section can be investigated from within Sentaurus Workbench in the directory Applications_Library/GettingStarted/sprocess/GDSreader.

14.2 Reading the Layout Information

Sentaurus Process reads the GDSII file using the icwb command, in which you must specify the file name, the cell name, the mapping of cell names and cell numbers, and the coordinates of the simulation domain:

icwb gds.file= @pwd@/BICMOSinverter.gds cell= Inverter \
layer.numbers= {1:0 2:0 3:0 4:0 5:0 6:0 7:0 8:0 9:0} \
layer.names= {NWELL NPDIFF PPDIFF NPLUG POLY PBASE EMIT METAL CONT}\
stretches= {nmosstretch = {229.0 4744.0 1531.0 4744.0} \
            pmosstretch = {683.0 8629.0 2749.0 8629.0} } \
sim2d= "$xmin $ymin $xmax $ymax" scale= 1e-3

Here, the name NWELL is assigned to layer 1:0, the name NPDIFF is assigned to layer 2:0, and so on. There must be as many layer names as layer numbers. Stretches are optional and are used to parameterize the layout. In this example, the stretches parameterize the gate lengths for an NMOS device and a PMOS device. For stretches to be used in a given simulation, they must cross the simulation domain given by sim2d or sim3d for two-dimensional and three-dimensional domains, respectively.

The simd2d option indicates that the process simulation will be performed for a cutline given by the coordinates $xmin...$ymax, which are defined earlier in the process simulation input as:

set xmin 1000.0
set ymin 4100.0
set xmax 1000.0
set ymax 6200.0

The coordinate system here is the layout coordinate system, where x points to the right-hand side and y points up. The scale argument in the command scales from the layout units (nanometer) to the units used in Sentaurus Process (micrometer).

14.3 Using Layout Information in the Process Flow

To use the layout information, you need to create masks from the GDS layers. You can do this for all layers using the icwb.create.all.masks command, which creates two masks for each layer: one with positive polarity and one with negative polarity.

The mask names are the same as the layer names, with either _p or _n appended to indicate the polarity. All masks are stored in a TDR file when such a file is written, and the file can be used at a later step.

See the Silicon WorkBench Interface module for an interactive way of transferring mask information to Sentaurus Process.

main menu    |   module menu    |   << previous section    |   next section >>