Академический Документы
Профессиональный Документы
Культура Документы
a | Sami Nuuttila
Mikko Pank
Sami Nuuttila
Abstract
This document is an attempt to give a short description of available Cadence tools
for circuit design through Europractise (2006/2007 Release) at the University of
Turku. It tries to answer two questions: What kind of tools we have? and What
are they for? Moreover, a selected set of the most important system files and
directories related to analog IC design are examined more closely.
TUCS Laboratory
Microelectronics
Table 1: Tools for digital and mixed-mode design delivered with the IC Package
From IC 5.1.41/ISR:
Cadence Design Framework II
64bit Cadence Design Framework Int
Virtuoso Simulation Environment
Virtuoso Schematic Editor Verilog Interface
Virtuoso-XL Layout Editor
Virtuoso Compactor
Virtuoso Analog Oasis Run-Time Option
Virtuoso Electronic Design for Manufacturability
Option
Spectre Verilog-A Simulation Option
Spectre-RF IC Package Modeler Option
Virtuoso Schematic Editor
Spectre-RF Substrate Coupling Analysis Option
Virtuoso Analog ElectronStorm Option
Structure Compiler
Cadence(R) RC Network Reducer Option
Dracula Design Rule Checker
Dracula Layout Vs. Schematic Verifier
Dracula Parasitic Extractor
Diva Design Rule Checker
Diva Layout Vs. Schematic Verifier
Diva Parasitic Extractor
Cadence SKILL Development Environment
Virtuoso EDIF 300 Schematic Reader/Writer
From ICC 11.2.41/USR3:
Virtuoso Chip Assembly Router
From MMSIM 6.0/ISR:
Virtuoso Spectre Circuit Simulator
Virtuoso Spectre-RF Simulation Option
Virtuoso UltraSim Full-chip Simulator
Release Information for System Admins
From AES 1.0:
Cadence Advanced Encryption Standard-64bit
From NEOCKT 3.3/ISR(3.3.4):
Virtuoso NeoCircuit DFM
ELDO Interface to Virtuoso NeoCircuit
ADS Interface to Virtuoso NeoCircuit
From VSDE 4.1/USR1:
Virtuoso Parallel Analysis Option
Virtuoso Characterization & Modeling option
for
3
the Specification-driven Environment
Table 2: Tools for analog and mixed-mode design delivered with the IC Package
hardware components. The SystemC environment is the C++ programming language with additional semantics introduced by the SystemC Class Library. This
library provides the constructs necessary to model system architecture, including
hardware timing, concurrency, and reactive behavior.
The Cadence SystemC Design and Verification environment, as part of the IncisiveTM unified simulation platform, consists of a set of simulation and debugging
capabilities that allows you to address your needs in both the design and verification of system hardware and software. The NC-SystemC simulator is a platform
for simulation and debugging SystemC models, either pure or mixed with Verilog
or VHDL.
Verifault-XL
Verifault-XL is a fault simulation system that operates within the Verilog-XL environment using the same libraries that Verilog-XL uses. Verifault-XL allows chip,
board, and system designers to simulate the faults that can occur in the hardware
represented by their design descriptions and to develop test vectors that can detect
those faults.
Verifault-XL simulates faults at the gate-and-switch, or structural, level. However,
your circuit descriptions may contain elements that are described using behavioral constructs. Therefore, Verifault-XL lets you propagate the effects of faults
through both structural and behavioral constructs, making it a true mixed-level
fault simulator.
Verifault-XL supports bit annotation, which lets you place buses in specific blocks
for timing constructs. As a result, you do not need to split the individual bits of a
bus to apply timing information to them.
Cadence HDL analysis and lint (HAL)
HAL is a design rule checker for Verilog Hardware Description Language (HDL),
Very High-speed integrated circuit Hardware Description Language (VHDL), SystemC and Mixed Language designs.
HAL helps you find coding errors early in your design process, before you simulate your design. The tool identifies coding errors and improper register transfer
level (RTL) design styles through a comprehensive analysis of your HDL source
code.
IP Model Packager
The IP Model Packager is a model export tool that creates a protected model. You
can simulate a packaged model in standard HDL simulation environments with
the model manager software that is included in the packaged model.
5
Note: To use the IP Model Packager most effectively, you should be familiar
with performing digital design and analysis using either the Verilog Hardware
Description Language (HDL), or the Very High Speed Integrated Circuit Hardware Description Language (VHDL), and you should be familiar with either the
Verilog-XL simulator or the Cadence NC simulator.
Incisive Coverage
Coverage analysis at the RTL or behavioral level is analogous to fault coverage
at the gate level. Performing coverage analysis prior to synthesis reduces the test
verification cycle by moving the process to a higher level of abstraction where the
testbench is more easily understood with regard to the code it is testing.
Without code coverage, the design engineer can only guarantee that the outputs
from functional simulation match the expected results for a given set of test vectors; there is no way to ensure the effectiveness of the test vectors. Without knowing how well the test vectors are exercising the design, the designer does not know
if more test vectors are needed, where more test vectors are needed, or when to
stop simulating. Incisive Coverage Technology enables the designer to answer all
of these questions.
Using Coverage Technology prior to synthesis is the most productive way of using the tool. The coverage tool supports coverage analysis at all levels of design
abstraction and for all Verilog/VHDL language constructs. The coverage tool enables designers and design verification engineers to generate a quantitative answer
to the question: Have we simulated our design enough to commit it to synthesis?
Incisive Coverage Technology works in conjunction with HDL simulation to quantify how well the test vectors exercise the design and to identify parts of a design
that require more testing. Coverage analysis reports identify
Design areas not completely tested,
Redundancy in testing, and
Unused portions of the design that can be removed before synthesis.
The Finite State Machine (FSM) monitoring capability gives you a unique way
of quantifying coverage of the control portions of the design. USX technology
performs a synthesis interpretation of the control logic and provides analysis using FSM representation. Together with code coverage analysis, The coverage tool
provides a comprehensive, quantitative measure of the quality of the simulation
tests applied to a design.
WRoute router
Provides traditional grid-based global and detailed routing of signal and
clock nets.
Power router
Provides the ability to create power rings and stripes, and perform power
routing.
NanoRoute router
Provides high-speed graph-based global and detailed routing for large-capacity
designs.
Geometry, connectivity, and antenna verification
Signal wire editing
Block antenna abstract creation
GDSII generation
An optional Route Accelerator license provides multi-thread capability that lets
you run WRoute and NanoRoute on multiple CPUs.
Nano Encounter Demand-Based Savings (DBS)
The Nano Encounter DBS product is a cost-saving alternative to Nano Encounter
that provides all of the major features of Nano Encounter, but for smaller designs.
Each Nano Encounter DBS license supports designs with up to 300,000 placeable instances (excluding filler cells). If your design grows beyond that limit,
Encounter can check out additional Nano Encounter DBS licenses to support the
larger design.
The Nano Encounter DBS user interface provides access to all of the major Nano
Encounter components, including NanoRoute, WRoute, SRoute, and ClockWise.
However, with the exception of WRoute, the interface does not support use of
these tools in standalone mode, and it does not support the Coyote field solver.
Additionally, support for multi-threading with Nano Encounter DBS requires a
separate Route Accelerator license for each additional thread.
NanoRoute Ultra
The NanoRoute Ultra product is a self-contained, block-level and top-level routing solution for system-on-chip (SoC) designs. It has the same features as Nano
Encounter, except for virtual prototyping and placement.
The SoC Encounter product is a full hierarchical floorplanning and routing solution. It provides a broad spectrum of features, including the following features
contained in First Encounter Ultra and Nano Encounter:
10
RTL synthesis
Virtual prototyping and placement
Hierarchical partitioning and block placement
Timing optimization
Virtual prototyping and placement
Physical synthesis optimization
WRoute router
Power router
NanoRoute router
Geometry, connectivity, and antenna verification
Signal wire editing
Block antenna abstract creation
GDSII generation
SoC Encounter also includes the following feature, which is not included in the
other Encounter products:
Sign-off signal integrity
The CeltICTM crosstalk analyzer for cell-based design prevents, calculates,
and repairs crosstalk noise caused by interconnect coupling. This tool can
also calculate and repair glitch noise and the delay effects of noise for static
timing analysis.
SoC Encounter provides an easy upgrade path from the Silicon Ensemble family,
with legacy support.
Voltage Storm PE
VoltageStorm PE is designed to help you verify that the power-grid network on
your chip does not suffer from IR drop, ground bounce, or electromigration problems.
Because VoltageStorm PE does not require the signal routing of your design to
be complete before power-grid analysis, it enables you to verify and change your
power grid early in the design cycle.
VoltageStorm PE offers the following features:
11
resistance. For resistance extraction, it contains resistance information on each interconnect layer and via; for capacitance extraction, it contains three-dimensional
interconnect models.
Run long simulations in OCEAN without starting the Cadence analog design environment graphical user interface
Run simulations from a nongraphic, remote terminal
OCEAN examples are located in
/soft/cadence/ic5033usr2/tools/dfII/samples/artist/OCEAN. See README file.
2.2.7 Virtuoso Specification-driven Environment (SdE)
The Virtuoso Specification-driven Environment (SdE) is an interactive design environment for the analysis, characterization, and verification of analog, digital,
and mixed-signal circuits. The SdE is also integrated with the Virtuoso Schematic
Editor and can be used with multiple designs simultaneously.
Note: The Virtuoso Specification-driven Environment is OpenAccess compliant.
The Virtuoso Specification-driven Environment helps you:
Set up simulation parameters
Execute simulation jobs (using parallel processing)
Generate results
Analyze results using data analysis scripts
The following tasks are performed in the environment:
Create test benches
Explore design characteristics
Run experiments and corners analyses
Perform optimization and Monte Carlo analysis
View, plot, and analyze results
Perform pass/fail validation of operational and performance specs
Create silicon-calibrated behavioral models
Create or modify plans for characterization, model calibration, etc.
Set up optimizations and create synthesis plans
17
For ease of reuse, and organizing design data and results, projects are organized
into workspaces using a lib/cell/view hierarchy. One or more related projects (or
designs) can be made available in the environment at the same time. Multiple
tests can be used to characterize a design, and a sweep analysis can vary one or
more parameters over multiple tests in a project. The Spec Sheet tool can be used
to verify whether a circuits target behavior and performance goals are met. The
environment supports distributed simulation to execute multiple tests and experiments in parallel. Silicon-calibrated behavioral models help to reduce simulation
times significantly. The environment promotes reuse of design components and
the capture of design Intellectual Property.
18
Migrate enforces all design rules of the target process and all device and wire parameters for the target circuit. However Migrate does more than design rule and
circuit parameter enforcement, it also optimizes the layout by minimizing the total layout area, reducing wire length and capacitance, and decreasing contact and
power routing resistance.
Note: Migrate does not need design rules for the source layout to operate. However, to make best use of Migrates features, you will need to have access to a .qtt
file which describes the design rules to be enforced for the target process.
Virtuoso Layout Migrate (Migrate) is fully integrated into Cadences Virtuoso layout editing tools and can perform layout migration and/or optimization directly on
your Cadence database library.
20
change variables and focus on different aspects of the design. During each successive pass, the Virtuoso custom router has a new set of parameters and a new
partially routed problem to complete. The rip-up and re-route aspect allows the
Virtuoso custom router to leave violations during a route pass and come back and
try to resolve them in successive passes. The re-entrant aspect lets you stop the
Virtuoso custom router at any point during the autoroute session, make modifications by hand and then start the Virtuoso custom router again.
The Virtuoso custom router lets you set many controls to help achieve a good routing solution. The Router Rule menu is set in order of precedence with the items
at the bottom of the menu having the greatest rule precedence.
Many of the Virtuoso custom router features are targeted for chip assembly, and
may be unnecessary when working at the device-level.
The key to success with the Virtuoso custom router is iteration and experimentation. Many users find that quickly iterating through the design many times will
result in a design close to or better than if the design were routed by hand. If
you get frustrated with the design progress, stop to review the documentation and
analyze your data.
Chip assembly is a design methodology that involves specific routing requirements that fall between the requirements for semi-custom automation and fullcustom, tight control. Using the routing tools, you can meet the requirements
demanded by a chip assembly design for manufacturing, density, design quality,
speed, noise sensitivity, and productivity.
A chip assembly design is generally described as a top-level routing task, where
the physical interconnects are created at the highest physical level. The design
flow can be tuned for chip assembly or for timing driven chip assembly. A variation of these flows might also be used.
22
2.2.17 Diva
The Diva verification product is a set of physical verification tools that lets you
find and correct design errors. Using layer processing to prepare data, this set of
verification tools checks physical design and electrical functionality and performs
layout versus schematic comparisons. This tool helps you find errors early in the
design process and lets you view them interactively to help speed error diagnosis
and correction. This product also allows you to perform incremental checks on
areas that you change.
The Diva verification tool set has five interactive products:
Design Rule Checker (iDRC)
Layout Parasitic Extractor (iLPE)
Parasitic Resistance Extractor (iPRE)
Electrical Rules Checker (iERC)
Layout Versus Schematic program (iLVS)
2.2.18 Dracula
Dracula offers a complete set of integrated applications for verifying IC layout
designs.
Design Rules Checker (DRC)
Electrical Rules Checker (ERC)
Layout Versus Schematic (LVS)
Layout Versus Layout (LVL)
Schematic Versus Schematic (SVS)
Layout Parameter Extraction (LPE)
23
2.2.19 UltraSim
UltraSimTM is a fast and multi-purpose single engine, hierarchical simulator, designed for the verification of analog, mixed signal, and digital circuits. Covering
a wide range of applications, UltraSim can be used for functional verification
of billion-transistor memory circuits, as well as for high-precision simulation of
complex analog circuits. Because of its true hierarchical simulation approach, UltraSim is faster and uses less memory than traditional circuit simulators, while
maintaining near SPICE accuracy. UltraSim has powerful deep-submicron analysis capabilities, including timing, power, noise, and reliability. UltraSim recognizes a variety of netlist formats, including HSPICE (registered trademark of
Synopsys, Inc.), Spectre, and supports RELXPERT format for reliability simulation.
The main features of UltraSim include
Plus or minus one percent accuracy with respect to SPICE using the most
accurate mode
Ten to more than 10,000 times faster than SPICE
Virtually limitless capacity for hierarchically structured designs [dynamic
random access memory (DRAM), static random access memory (SRAM),
and flash memory]
Outstanding performance with logic and mixed signal circuits [such as multipliers, adders, analog to digital converters (ADC), digital to analog converters (DAC), and phase-locked loops (PLLs)]
Pre-layout and post-layout simulation, with compaction and reduction algorithms for extracted postlayout netlists
Analog and digital simulation modes for analog and mixed signal circuit
simulation
24
Timing checks for verifying setup, hold, edge, and pulse width checks
Power analysis at the element and subcircuit level
Noise analysis, which monitors voltage overshoot (VO) and voltage undershoot (VU) effects on nodes
Reliability simulation, including hot carrier degradation, negative bias temperature instability, and aged simulation
Fully recognized HSPICE format including analysis cards
Native support for the most popular metal oxide semiconductor field-effect
transistor (MOSFET) models, including BSIM3 and BSIM4
Simulation of silicon-on-insulator (SOI) designs with the partial-depletion
MOSFET (BSIMPD) Berkeley SOI model
Support of the Cadence high-voltage MOS (HVMOS) model for high-voltage
applications, such as Flash and power circuits
Support of Spectre netlist format for transient analysis
Support of all major Spectre device models
UltraSim C-macromodel interface (UCI) for implementing user-specific analog or digital macromodels, such as PLL, memory block, analog to digital
converter (ADC), and digital to analog converter (DAC)
UltraSim reliability interface (URI) for implementing user-specific reliability models
UltraSim waveform interface (UWI) for customizing output of waveform
formats
Recognizes RELXPERT format commands for reliability simulation
Integration into the Cadence analog design environment (ADE)
Support of structural Verilog netlists
Support Verilog A models
Accept digital vector format and VCD format files
Support post-layout RC files
Consult /soft/cadence/usim41/doc/UltraSim User/UltraSim UserTOC.html and
/soft/cadence/usim41/doc/UltraSim tutorial/UltraSim tutorialTOC.html for usage
questions.
25
2.2.20 NeoCircuit
NeoCircuit enables you to size and bias a circuit. The circuit is verified using your
own simulation environment.
Within the NeoCircuit application, you can define performance specifications and
design variables for the circuit, then synthesize your circuit, or simulate a number
of points. Then back-annotate your schematic with the synthesis information.
Neocircuit provides an interface to the following items
Variables
Use the Variables page to set the device relationships and independent variables.
Simulations
In the Simulations page, you specify simulation information and extract
simulation outputs.
Goals
In the Goals page, you can enter computations on the simulation outputs
and set design goals.
Area Calculations
You can use the Areas page to create formulas for computing area for devices.
Corners
You can specify information for corners in the Corners page. The Corners
dialog box enables you to specify parameters to vary for each corner case.
Operating Regions
Use the OpRegions page to define specific expressions that ensure your devices are operating in a desired region (saturation, triode, etc.).
Results
On the Results pane, you can view the results of any synthesis run.
DFM
The DFM page enables you to specify and correlate statistical variables, and
to view the results of Monte Carlo analysis.
Diagnostics
The Diagnostics pane gives information on machine utilization, the average
time for a simulation run, and other runtime information including the total
elapsed time of the synthesis run, the number of points run thus far, the total
number of nodes in use, etc.
26
27
The contents of .profile and .bashrc files may be identical. The only difference
is that .profile file is processed by a login shell and the .bashrc by an interactive shell. If you dont want this distinction you may e.g. link one to the other
to guarantee that your environment is the same regardless of the shell type this
28
4) Type ls -a to get a list of the copied files. It should look like this:
.
..
.cdsinit
.simrc
.ucdprod
cds.lib
It is important to note that the use functions are shell-specific. Because of this
there are a few things to consider. Although most use functions can be given
(and in some cases must be given) one after the other, this is not true for all
use functions. For instance, if you have finished working with 0.13m (use hcmos9gp) technology and closed all programs, and then decide to start working
with 90nm technology. Typing use cmos090 from the same shell causes unpredicted behaviour when you start working with icfb, icms etc. This is because
the environment set with use hcmos9gp conflicts with the environment set by use
cmos090. If you notice that, for example, the menus in the Analog Design Environment or some other Cadence tool look weird, the most probable reason is
the situation described above. Therefore, always start with a fresh terminal when
you change technology. Working with two or more technologies in parallel is OK
as long as they are set with different terminals (and your machine can handle the
heavy burden). Typically the use functions are compatible with one another. The
mentioned ST technology specific use functions are the main exception to this
rule.
Typing use without any parameters gives a list of all available use functions.
All tools are not available for all technologies and due to that different set of use
functions must be given to invoke desired tools.
use ic
Tools like icfb, icms can be invoked without technology dependent environment settings and libraries. This can be used e.g. for educational purposes
without NDA problems. Includes rfExamples library that contains several
useful tutorials for simulating rf-circuits.
use alcatel
Sets the environment for Alcatel 0.35m technology. Note that with the
Alcatel technology use ic must also be given as the technology setup itself
doesnt contain any configuration for the actual tools.
use hcmos9gp
Sets the environment for STMicroelectronics 130nm technology
use cmos090
Sets the environment for STMicroelectronics 90nm technology
use icc, use anacad (or use ams), . . .
Can be used with use hcmos9gp and use cmos090 to set the enviroment
30
for optional tools like Virtuoso Custom Router or e.g. Eldo simulator from
Mentor Graphics.
NOTE: For use ic, use hcmos9gp and use cmos090 you must specify the software or the design kit version as well! It is highly recommended to create a new
working directory for the new design kit to avoid confusions between different
versions. (Otherwise, for instance your cds.lib file will be overwritten.) After this
you can add you own libraries to the end of the cds.lib file. See chapter 3.3.4,
cds.lib, for details.
Typing unidoc & after use hcmos9gp or use cmos090 provides access to technology dependent documents for CMOS 0.13m and CMOS 90nm.
The following commands can be given after use ic, use hcmos9gp, use cmos090
to invoke CIW with different set ups.
icde, which includes the schematic editor, symbol editor, and plotting
icds, which includes all of the above, plus digital simulator interfaces
icms, which includes all of the above plus mixed-signal functionality
msfb, which encompasses mixed-signal front-to-back functionality
icfb, which encompasses full-chip design functionality
In practice, icfb (or msfb) is the recommended choice as it guarantees that you
have all tools and features in full force.
3.3.1 .cdsinit
.cdsinit file is for customizing your Cadence tools. It is located in your working
directory. With .cdsinit file, you can for instance
Define specific bind keys for different programs
Set user preference options
Define SKILL procedures etc.
Actually, .cdsinit is often used just to load some specific customization files that
end with .il. For example adding the following lines to .cdsinit file allows you
to use strokes when drawing layout with the Virtuoso.
load(prependInstallPath( "etc/sted/stroke.il"))
load(prependInstallPath( "etc/sted/defstrokes.il"))
hiLoadStrokeFile("def.strokes" "Layout")
31
This establishes an interface between Calibre and Virtuoso (adds Calibre menu
in to the Virtuoso). If you get a Calibre error about not being able to initialize
layout server socket. You may need to change the socket number from 9189 to
something else (e.g. 9188). There are two cases when this error is likely to come
up 1) you are running the software on a server where some other user may already
be using the same socket number 2) you are running two technologies in parallel.
3.3.2 .cdsenv
.cdsenv file is to set application environment variables. It is located in your home
directory. If you wish to specify and save new default settings, you can do it directly by manipulating your .cdsenv file or create a new .cdsenv file to your working directory (and thereby create technology dependent default settings). Listing
the contents of your current .cdsenv file (more .cdsenv) gives you a brief overview
what can be done with .cdsenv file. Functions in .cdsenv file are given vith SKILL
language. See chapter 3.4, Skill language, for more information.
32
analogLib $CDS_INST_DIR/tools/dfII/etc/cdslib/artist/analogLib
functional $CDS_INST_DIR/tools/dfII/etc/cdslib/artist/functional
basic $CDS_INST_DIR/tools/dfII/etc/cdslib/basic
US_8ths $CDS_INST_DIR/tools/dfII/etc/cdslib/sheets/US_8ths
These files are technology independent, thus same for all technologies. To create
a new library, simply add a new line to cds.lib file. For example:
DEFINE opamps /<working directory>/opamps
pops up. Press OK and choose Edit > Exclusive lock. Now, choose Edit
> Add Library. . . and make selections you wish to make. Before exit, remember to save changes you have made and remove the exclusive lock.
Sometimes your design library may contain a lot of unnecessary cellviews. Deleting a cellview from the library with rm cellview physically removes the cellview, but does not update the list of available cellviews in the CIW. To fix this
choose CIW > File > Defragment Data > Library and make appropriate selections. Finally press OK.
More information can be found at Cadence help: Cadence Application Infrastructure User Guide => 5 Cadence Library Definition File: cds.lib
3.3.5 adsanalogsimulation
adsanalogsimulation stores the data created with Analog Design Environment,
such as netlists, Monte Carlo simulation data and psf data.
Hint. If your simulation results do not appear to be consistent with your schematics, one reason might be that simulation files in your adsanalogsimulation directory are corrupted, defragmented etc. In that case you can try to delete your entire
adsanalogsimulation directory (rm -r adsanalogsimulation) and simulate your design again (new adsanalogsimulation directory is automatically created).
3.3.6 CDS.log
CDS.log keeps track of events happened during your current session. It is located
in your home directory. It is a typical log-file that registers basically everything
you do during your session. If you run multiple parallel sessions simultaneously,
different log files are separated by .x ending (x=1,2,3. . . ) and respective lock
files with the same principle are created. For example, opening two parallel sessions produces the following log- and lock-files:
CDS.log
CDS.log.1
CDS.log.1.cdslck
CDS.log.cdslck
Hint. If your start up phase (e.g. after giving icfb &) takes much longer than
usually, the most probable reason is that the size of your CDS.log file is enormous
for some reason. Due to this, the start up can take up to five minutes. In that
case, delete all CDS.log files (rm CDS.log*). Respective lock files should
be deleted automatically when icfb (or respective) sessions are closed. Function
use ic deletes CDS.log files automatically.
34
Hint. If your icfb or whatever session crashes for some reason it can create a lock
file that prevents e.g. opening schematics in an edit-mode (opens in a read-only
mode). In that case, check if there are any lock files that are responsible for this
kind of behaviour by typing find . -name \*.cdslck. Type find .
-name \*.cdslck |xargs rm to get rid of all suspicious lock files.
3.3.7 display.drf
display.drf (display resource file) defines necessary layout layers for a given technology. A good place to store the display.drf file is your working directory, because all technologies have different one. If you have attached your library to the
correct technology file, see chapter 3.3.4, cds.lib, but display.drf file is missing,
Virtuoso opens with only one visible drawing layer (bkground). To get the layers
correct do the following: Choose CIW > Tools > Display Resource Manager. . . and press Merge. Select appropriate display.drf file From Library,
e.g. cmos090/display.drf and give the path corresponding your working directory
to Destination DRF, e.g. <working directory>/display.drf).
See Cadence help: Technology File and Display Resource File User Guide => 12
Editing, Reusing, and Merging Display Resources for more information.
Hint. By default, the Layer Selection Window (LSW) in Virtuoso contains many
unnecessary layers. To work more efficiently without having to search for a desired layer among all visible layers, do the following: Choose LSW > Edit
> Set Valid Layers. . . . Make your selections and press OK. Then choose LSW
> Edit > Save. . . . Choose either Save To Techfile or File. Techfile saves all
layers listed in the LSW as valid layers in the technology file used for this library.
File saves all layers in the LSW to a file that you can later load with the Edit Load command in the LSW.
3.4 SKILL
As was said in chapter 2.2.5, SKILL language, the applications of the SKILL
language are virtually unlimited. Using SKILL language is a wide-ranging topic
and therefore is not in the scope of this report. Here, only two examples and the
most relevant references are given.
There are many ways to use SKILL. For instance, you can type functions directly
to the command line of CIW or create a script and then load it from the CIW.
Example 1
35
If you have difficulties to access the menus that require a double click, do the following:
Type hiGetMultiClickTime( ) to the command line of CIW.
This function returns the number of milliseconds that must elapse before a mouse
click is recognized as a separate single click rather than the second click of a double click.
To set a new value, type hiSetMultiClickTime( x milliseconds ).
The valid range is 50-1000.
Example 2
Sometimes you may want to try what if scenarios like what happens if I replace
high-speed transistors with low-leakage transistors. Of course, you can do it manually or use search and replace form in virtuoso, but here is a script that does the
same thing (for 90nm technology).
Create a file my sch and rep skill.il with the following content, and save it to your
working directory.
schHiReplace( t "master" "==" "cmos090 nlvt symbol" "master" "cmos090 nhvt symbol" )
schHiReplace( t "master" "==" "cmos090 plvt symbol" "master" "cmos090 phvt symbol" )
36
Lemminkaisenkatu
14 A, 20520 Turku, Finland | www.tucs.fi
University of Turku
Department of Information Technology
Department of Mathematics
Abo
Akademi University
Department of Computer Science
Institute for Advanced Management Systems Research
ISBN 978-952-12-1924-5
ISSN 1239-1891