MCell Rule Switch

Introduction

MCell rule switch allows multiple device rule settings for users to choose from while creating and editing layout. One setting will be designated the "default" setting. Additional settings are contained in the technology file, and the default is specified in the MCell.rc file.

Defining Rules for ruleSwitch in the Technology File

The ruleSwitch rules are defined in the technology file just as the default or global rules for the device are defined. They are contained in the device definition below the default rules with the keyword ruleSwitch.

Figure 1: Technology File Definition

Setting the Default Rule Switch in the MCell.rc File

The MCell.rc file is an ASCII file for defining MCell resources. It is located and loaded from the MCellRcDirectory setting which is defined in the [Preference] section of the laker.rc file, as follows:

[Preference]
MCellRcDirectory = $directory

where $directory is the path where the MCell.rc file is located. The MCell.rc file is loaded when Laker is launched. If the MCell.rc file is not specified, Laker will look for it in the working directory. The only time is it loaded is when Laker is invoked.

The rule switch default is specified with UserDefRuleSwitch as shown below:

Figure 2: Setting the Default Rule Switch


• An equal sign "=" must be used between DeviceName and DefRuleSwitchName. LibName and DeviceName are keys and DefRuleSwitchName is the value.
• The wildcard character "*" is supported in the LibName and DeviceName fields to support all libraries and/or devices.
• The first rule matched with the library-device pair will be used. If the specified rule switch is not defined in that device, the next matched rule will be used. In the case of no matching rules, the Default rule will be used.

Using Rule Switch When Creating an MCell

Changing from one predefined rule setting to another when creating devices is simple. To create a transistor with a different set of rules than the default, invoke Create -> Transistor and review the Global Rule cyclic selections. It automatically displays the default rule setting, which in the figure below is "Default". If the default was specified with UserDefRuleSwitch in the MCell.rc file, that setting would show as the default. To change rule settings, select one of the choices and place the transistor to see the differences.

 

Figure 3: Create Transistor Form


Summary

The MCell rule switch feature provides a mechanism for allowing users to realize versions of a particular MCell that vary with one or more rule setting differences without having to create a new MCell device. The user has the ability to switch between rule sets when placing the device. Users may create any number of rule sets for a given device, and have the ability to change the default rule set with a setting in the MCell.rc file. Rule sets may easily be added or modified with the Technology File Editor.