Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
TANNER ('$TOOLS
INDEX
S.No.
TITLE
Page No.
1.
2.
3.
4.
S-EDIT
11
5.
T-SPICE
23
6.
W-EDIT
25
7.
L-EDIT
28
8.
43
Integrated circuit layout, also known IC layout, IC mask layout, or mask design, is the representation of
an integrated circuit in terms of planar geometric shapes which correspond to the patterns of metal, oxide, or
semiconductor layers that make up the components of the integrated circuit.
When using a standard process - where the interaction of the many chemical, thermal, and photographic
variables are known and carefully controlled - the behavior of the final integrated circuit depends largely on
the positions and interconnections of the geometric shapes. A layout engineer's job is to place and connect
all the components that make up a chip so that they meet all criteria. Typical goals are performance, size,
and manufacturability.
The layout must pass a series of checks in a process known as verification. The two most common checks in
the verification process are Design Rule Checking (DRC), and Layout Versus Schematic (LVS). When all
verification is complete the data is translated into an industry standard format, typically GDSII, and sent to a
semiconductor foundry. The process of sending this data to the foundry is called tapeout due to the fact the
data used to be shipped out on a magnetic tape. The foundry converts the data into another format and uses
it to generate the photomasks used in a photolithographic process of semiconductor device fabrication.
In the earlier, simpler, days of IC design, layout was done by hand using opaque tapes and films, much like
the early days of PCB design. Modern IC Layout is done with the aid of IC layout editor software, or even
automatically using EDA tools, including place and route tools or schematic driven layout tools. The
manual operation of choosing and positioning the geometric shapes is informally known as "polygon
pushing".
Fundamentals
Integrated circuit design involves the creation of electronic components, such as transistors, resistors,
capacitors and the metallic interconnect of these components onto a piece of semiconductor, typically
silicon. A method to isolate the individual components formed in the substrate is necessary since the
substrate silicon is conductive and often forms an active region of the individual components. The two
common methods are p-n junction isolation and dielectric isolation. Attention must be given to power
dissipation of transistors and interconnect resistances and current density of the interconnect, contacts and
vias since ICs contain very tiny devices compared to discrete components, where such concerns are less of
an issue. Electromigration in metallic interconnect and ESD damage to the tiny components are also of
concern. Finally, the physical layout of certain circuit subblocks is typically critical, in order to achieve the
desired speed of operation, to segregate noisy portions of an IC from quiet portions, to balance the effects of
heat generation across the IC, or to facilitate the placement of connections to circuitry outside the IC.
Design steps
A typical IC design cycle involves several steps:
1.
2.
3.
4.
5.
5
6. Design review
7. Layout
8. Layout verification
9. Static timing analysis
10. Layout review
11. Design For Test and Automatic test pattern generation
12. Design for manufacturability (IC)
13. Mask data preparation
14. Wafer fabrication
15. Die test
16. Packaging
17. Post silicon validation
18. Device characterization
19. Tweak (if necessary)
20. Datasheet generation Portable Document Format
21. Ramp up
22. Production
23. Yield Analysis / Warranty Analysis Reliability (semiconductor)
24. Failure analysis on any returns
25. plan for next generation chip using production information if possible
Digital design
Roughly speaking, digital IC design can be divided into three parts
ESL design: This step creates the user functional specification. The user may use a variety of
languages and tools to create this description. Examples include a C/C++ model, SystemC,
SystemVerilog Transaction Level Models.
RTL design: This step converts the user specification (what the user wants the chip to do) into a
register transfer level (RTL) description. The RTL describes the exact behavior of the digital circuits
on the chip, as well as the interconnections to inputs and outputs.
Physical design: This step takes the RTL, and a library of available logic gates, and creates a chip
design. This involves figuring out which gates to use, defining places for them, and wiring them
together.
Note that the second step, RTL design, is responsible for the chip doing the right thing. The third step,
physical design, does not affect the functionality at all (if done correctly) but determines how fast the chip
operates and how much it costs.
RTL design
This is the hardest part, and the domain of functional verification. The spec may have some terse
description, such as encodes in the MP3 format or implements IEEE floating-point arithmetic. Each of these
innocent looking statements expands to hundreds of pages of text, and thousands of lines of computer code.
It is extremely difficult to verify that the RTL will do the right thing in all the possible cases that the user
may throw at it. Many techniques are used, none of them perfect but all of them useful extensive logic
simulation, formal methods, hardware emulation, lint-like code checking, and so on.
A tiny error here can make the whole chip useless, or worse. The famous Pentium FDIV bug caused the
results of a division to be wrong by at most 61 parts per million, in cases that occurred very infrequently. No
one even noticed it until the chip had been in production for months. Yet Intel was forced to offer to replace,
for free, every chip sold until they could fix the bug, at a cost of $475 million (US).
Physical design
Here are the main steps of physical design. In practice there is not a straightforward progression considerable iteration is required to ensure all objectives are met simultaneously. This is a difficult problem
in its own right, called design closure.
Floorplanning: The RTL of the chip is assigned to gross regions of the chip, input/output (I/O) pins
are assigned and large objects (arrays, cores, etc.) are placed.
Logic synthesis: The RTL is mapped into a gate-level netlist in the target technology of the chip.
Placement: The gates in the netlist are assigned to nonoverlapping locations on the die area.
Logic/placement refinement: Iterative logical and placement transformations to close performance
and power constraints.
Clock insertion: Balanced buffered clock trees are introduced into the design.
Routing: The wires that connect the gates in the netlist are added.
Postwiring optimization: Remaining performance (Timing Closure), noise (Signal Integrity), and
yield (Design for Manufacturability) violations are removed.
Design for manufacturability: The design is modified, where possible, to make it as easy and
efficient as possible to produce. This is achieved by adding extra vias or adding dummy
metal/diffusion/poly layers wherever possible while complying to the design rules set by the
foundry.
Final checking: Since errors are expensive, time consuming and hard to spot, extensive error
checking is the rule, making sure the mapping to logic was done correctly, and checking that the
manufacturing rules were followed faithfully.
Tapeout and mask generation: the design data is turned into photomasks in mask data preparation.
Process corners
Process corners provide digital designers the ability to simulate the circuit while accounting for variations in
the technology process.
Analog design
Before the advent of the microprocessor and software based design tools, analog ICs were designed using
hand calculations. These ICs were basic circuits, op-amps are one example, usually involving no more than
ten transistors and few connections. An iterative trial-and-error process and "overengineering" of device
size was often necessary to achieve a manufacturable IC. Reuse of proven designs allowed progressively
more complicated ICs to be built upon prior knowledge. When inexpensive computer processing became
available in the 1970s, computer programs were written to simulate circuit designs with greater accuracy
than practical by hand calculation. The first circuit simulator for analog ICs was called SPICE (Simulation
Program with Integrated Circuits Emphasis). Computerized circuit simulation tools enable greater IC design
complexity than hand calculations can achieve, making the design of analog ASICs practical. The
computerized circuit simulators also enable mistakes to be found early in the design cycle before a physical
device is fabricated. Additionally, a computerized circuit simulator can implement more sophisticated
device models and circuit analysis too tedious for hand calculations, permitting Monte Carlo analysis and
process sensitivity analysis to be practical. The effects of parameters such as temperature variation, doping
concentration variation and statistical process variations can be simulated easily to determine if an IC design
is manufacturable. Overall, computerized circuit simulation enables a higher degree of confidence that the
circuit will work as expected upon manufacture.
Using the ratios of resistors, which do match closely, rather than absolute resistor value.
Using devices with matched geometrical shapes so they have matched variations.
Making devices large so that statistical variations becomes an insignificant fraction of the overall
device property.
Segmenting large devices, such as resistors, into parts and interweaving them to cancel variations.
Using common centroid device layout to cancel variations in devices which must match closely
(such as the transistor differential pair of an op amp).
Fortunately for IC design, the absolute values of the devices are less critical than the identical matching of
device performance. However, this fabrication variability forces certain design techniques and prevents the
use of other design techniques familiar to the board-level designer.
10
Introduction
This document gives a rough overview of how to design & simulate things with Tanner Tools. There are
four basic steps:
1.
2.
3.
4.
10
11
S-EDIT
Simulating Schematics in S-EDIT
Run Tanner Tools S-Edit, Tanners schematic entry program.
File -> new design
Type the design name and locate it in a folder and click ok11
12
Add libraries from libraries toolbarAdd (all.tanner), it includes complete library components.
This all folder is located at:
My Documents\Tanner EDA\Tanner Tools v13.0\Libraries\All
12
13
13
14
Give a name to cell0: (Inverter)
15
Click on devices for CMOS Inverter designSelect pmos and click on Instance
With mouse device will attached, place it by single click, right click on workspace or done to go back
15
16
Similarly we can paste Nmos ->
Select misc from library toolbar, and paste Vdd and Gnd
16
17
Select SPICE_Elements then voltagesource, Type of voltage can be changed by instance cell, as follows
18
Just click on open node of device and wire the nodes accordingly
19
19
20
Now include SPICE_commands (printvoltage) from library &
Connect this to input and output port to check waveform
20
21
Paste this include command anywhere at workspace
To move a component anywhere at workspace, click on component, then by pressing scroll button, it can be
moved anywhere.
Now circuit is complete. Just save it.
For simulation of design go to Setup-> spice_simulation
22
22
23
T-SPICE
It will automatically invoke T-Spice software
24
24
25
W-EDIT
Waveform can be checked Using W-Edit; It will automatically invoked at the time of running T-spice
Waveform:
Input and outputs are overlapped in this waveform, we can separate it by Expand chart
25
26
Now check the waveform
26
27
27
28
L-EDIT
CMOS Inverter Structure: -
29
Path for TDB File
C:\Documents and Settings\Administrator\My Documents\Tanner EDA\Tanner Tools v13.0\L-Edit and
LVS\Tech\Mosis\morbn20.tdb
And Click OK
30
31
Before designing layout we need to remember following equations
N Diffusion = N select and Active (1)
P Diffusion = P select and Active - (2)
From layer palette, we can select layer then for drawing layer we need to switch at Drawing boxes as
follows
31
32
Now draw P select over Active with keeping in mind Lambda based design rules
33
33
34
If we are violating any Design rule then it will be shown in Error verification navigator
34
35
Now we need to draw Body terminal, Gate contact
After designing Body terminal (n select+ active+metal1+active contact), we need to design Gate contact
In case of Poly Layer, we need to draw Poly contact
35
36
36
37
Similarly we can design N MOS; and after connecting these two, CMOS layout will look like as follows
38
38
39
Now select Extract standard rule set, and click on pencil
Now we need to include Extract file, and Spice output file at desired location
Location for .ext file is
C:\Documents and Settings\Administrator\My Documents\Tanner EDA\Tanner Tools v13.0\L-Edit and
LVS\Tech\Mosis\morbn20.ext
39
40
Define location for output files
40
41
Click ok, now go to extract button
We can open this spice file in T-Spice and can perform desired analysis
We need to include hp05.md file for analysis
41
42
After saving spice file, we can simulate it, W-Edit will invoked and we can check the response:
42
43
LVS
(Layout Vs Schematic)
We got two output files (one from S-Edit and second from L-Edit), Now we can compare results by using
LVS
Double click on LVS, and file -> new &
Select file type-> LVS setup, then ok
We need to browse spice netlist files for layout netlist and Schematic netlist
43
44
44