Vlsi
Vlsi
Submitted To : Submitted By :
Mr.Mukesh Yadav Mahipal Khoja
Assistant Professor 16ESBCS007
DEPARTMENT OF CSE
1. Introduction 01
2.Design and study basic gate in CADENCE tools 06
Figure 1.1: An inverter cell with three views: layout, schematic, and symbol.
The step Create the Design consists of drawing schematic views of all cells and blocks. The
schematic view contains transistor symbols and maybe other components such as resistors and
capacitances, and wires connecting them. From the schematic view the symbol view is created
(almost automatically) so that the cell can be used on a higher level in the hierarchy.
1.5 Simulation
The simulation tool is started directly from the schematic editor and all the necessary net lists
describing the design will be created. A simulation is usually performed in a test bench, which is
also a schematic, with the actual design included as an instance. The test bench also includes
signal sources and power supply. Busing parameters for the properties of the components used it
is possible to quickly analyze the design for a vide range of variables.
The simulator is run from with in Affirma Analog Circuit Design Environment which is a tool
that handles the interface between the user and the simulator. The current version of Cadence
used at the department uses the AffirmaSpectre Circuit Simulator. The simulator offers a wide
range of analyses (DC, frequency sweep, transient, noise, etc.) and the results can be presented
graphically and be saved. The results (voltage levels, currents, noise, etc.) can be fed into a
calculator which can present various parameters of the analyzed circuit - delay time, rise time,
slew rate, phase margin, and many other interesting properties. It is also possible to setup
algebraic expressions of in or output signal which can be plotted as a function of some other
variable.
Now, wire the elements together. Choose Add • Wire (narrow). Click on each component and
draw a wire to where it should connect. It is a good idea to make sure every net (wire) in a design
has a name. Otherwise, you’ll have a tough time tracking down a problem later on one of the
unnamed nets. Every netting your schematic is connected to a named pin or to power or ground
except the net between the two series mom’s transistors. Choose Add • Wire name… Enter mid
or something like that as the name, and click on the wire to name it. Choose Design • Check and
Save to save your schematic. You’ll probably get one warning about a “solder dot on crossover”
at the 4-way junction on the output node. Thesis annoying because such 4-way junctions are
normal and common. Choose Check •Rules Setup… and click on the Physical tab in the dialog.
Change Solder OnCrossOverfrom “warning” to “ignored” and close the dialog. Then Check and
Save again and the warning should be gone. If you have any other warnings, fix them. A
common mistakes wires that look like they might touch but don’t actually connect. Delete the
wire and redraw it. Poke around the menus and familiarize yourself with the other capabilities of
the schematic editor.
A schematic is easier to read when familiar symbols are used instead of generic boxes. Modify
the symbol to look like Figure 3. Pay attention to the dimensions of the symbol; the overall
design will look more readable if symbols are of consistent sizes The green body of the NAND is
formed from an open C-shaped polygon, a semicircle, and a small circle. To form the semicircle,
choose Add • Shape • Arc. Experiment with the arc drawing tool. Similarly, Add • Shape • Line
to make the polygon and Add •Shape • Circle to make the output bubble. Move the lines and
terminals around to make it pretty. The Edit • Stretch command may be helpful. Finally, choose
Add • Selection Box… and choose Automatic. This creates a red box around the symbol that will
define where to click to select the symbol when it appears in another schematic.
NOT Gate
Next, design a NOT gate. Name it inv. Draw the cmos_sch and the symbol, as shown
in Figure 5. Make the pMOS width 10 λ and the nMOS width 7 λ.
Determine the related positions of Hard Blocks:- The performance is highly affected
Amoeba Placement: - Observe the result of cells and Hard Blocks placement
Figure 3.6: Amoeba Placement
Power Route:-Connect the power pins of standard cells to the global power lines
Figure 3.10: Power Route
Add IO Filler
Fill the gap between PADs:- Connect the PAD power rings
Library
Layer Metal1
TYPE ROUTING;
WIDTH 0.28;
MAXWIDTH 8;
AREA 0.202;
SPACING 0.28;
PITCH 0.66;
DIRECTION VERTICAL;
THICKNESS 0.26;
ANTENNACUMDIFFAREARATIO 5496;
EDGECAPACITANCE 9.1e-05;
END Metal1
Unit
Site
Routing Pitch
Default Direction
Via Rule
the module name should be the same as the “cell name” of the Hard Block
Getting Started
Design/Design Import
Verilog Files: your gate-level netlist
Tot Cell
LEF Files (*.lef): including all the LEF
files of cell libraries & hard blocks
LIB Files (*.lib):
Max Timing Libraries
Min Timing Libraries
Common Model Libraries
IO Assignment File: *.ioc
Figure 4.4: Import Design <Design>
Import Design<Timing>
Capacitance Table File
Timing Constraint File: *.sdc
Power Nets
Ground Nets
Footprints for In-Place
Layout Optimization (IPO) and Clock Tree Synthesis (CTS)
QX Tech File
QX Library Directory
Figure 4.7: Import Design <Misc.> and Floorplan View
Place/Place
PAD Pins
Route/SRoute
Figure 5.1: Physical Design combined with Layout Verification is part of the final steps in the VLSI
design flow of a system.
The physical design stage of the VLSI design flow is also known as the “place and route” stage.
This is based upon the idea of physically placing the circuits, which form logic gates and
represent a particular design, in such a way that the circuits can be fabricated. This is followed by
connecting the logic with routing (metal). The logic is connected in such a way as to form the
function that was designed prior to physical design. For example, if the output of NAND logic is
connected to the input of INVERTER logic, then the design has been routed to create AND logic.
Each piece of individual logic is placed and connected in a manner that will result in a function
being created that will perform a particular task intended by the system designer. This is a
generic, high level description of the physical design (place/route) stage. Within the physical
design stage, a complete flow is implemented as well. This flow will be described more
specifically, and as stated before, several EDA companies provide software or CAD tools for this
flow. Synopsys® software for the physical design process is called Astro™. The overall goal of
this tool/software is to combine the inputs of a gate-level netlist, standard cell library, along with
timing constraints to create and placed and routed layout. This layout can then be fabricated,
tested, and implemented into the overall system that the chip was designed for.
The first of the main inputs into Astro™ is the gate-level netlist, which can be in the form of
Verilog or VHDL. This netlist is produced during logical synthesis, which takes place prior to the
physical design stage as indicated by Fig 1. Logical synthesis is the combination of the
functional design and logic design stages of the VLSI design flow. The logic synthesis combines
the inputs of RTL code and design constraints to output a final gate-level netlist which can be
interpreted by the physical design tool. The RTL (Register Transfer Level) code is a description
of the architecture or function of the design in terms of data flow between registers [5]. The data
flow between the registers is implemented using combinational logic such as AND, NAND, INV,
etc. The logic synthesis optimizes this combinational logic between the registers based upon the
other input to the logic synthesis tool, which are the design timing constraints. This input
contains timing parameters such as clock speeds and delays that are associated with the inputs
and outputs of the design. These constraints are the result of a system specification for the design
being created The logic synthesis tool is capable of merging the function of a design
implemented through RTL code in the form of Verilog and VHDL as well as the timing
constraints of the design to create an optimized gate-level netlist. The gate-level netlist is then
tested and simulated to verify the logic functionality of the design. Once the design has been
verified, the netlist can then be used by Astro™ to begin the physical design process. This
process is shown in Fig 2 and shows the details behind some of the stages outlined in the generic
VLSI design flow of Fig 1. As described previously, the physical design stage can be seen as the
bridge between front-end design which has just been described and the back-end design flow. A
physical design engineer will assume that the VHDL code and logic synthesized to a target
library has already been completed, and a final gate level netlist has been created. This initial
netlist is also assumed to have been functionally simulated to prove that netlist going into
physical design performs the function given in the system specification. The netlist is considered
“golden” and is the starting/reference point for all stages in the physical design process and
beyond. Meaning that once physical design is complete, the final netlist that is created, which has
all of the components needed (timing/clocks) will be functionally compared to the original netlist
to insure that function has not been changed.
The second of the main inputs into Astro™ is a standard cell library. This is a collection of logic
functions such as OR, AND, XOR, etc. The representation in the library is that of the physical
shapes that will be fabricated.
Figure 5.2: Detailed flow of design steps prior to physical design of system
This layout view or depiction of the logical function contains the drawn mask layers required to
fabricate the design properly. However, the place and route tool does not require such level of
detail during physical design. Only key information such as the location of metal and
input/output pins for a particular logic function is needed. This representation used by Astro™ is
considered to be the abstract version of the layout and the comparison is shown in Fig 3. Every
desired logic function in the standard cell library will have both a layout and abstract view. Most
standard cell libraries will also contain timing information about the function such as cell delay
and input pin capacitance which is used to calculated output loads. This timing information
comes from detailed parasitic analysis of the physical layout of each function at different
process, voltage, and temperature points (PVT). This data is contained within the standard cell
library and is in a format that is usable by Astro™. This allows Astro™ to be able to perform
static timing analysis during portions of the physical design process. It should be noted that the
physical design engineer may or may not be involved in the creating of the standard cell library,
including the layout, abstract, and timing information. However, the physical design engineer is
required to understand what common information is contained within the libraries and how that
information is used during physical design. Other common information about standard cell
libraries is the fact that the height of each cell is constant among the different functions. This
common height will aid in the placement process since they can now be linked together in rows
across the design. This concept will be explained in detail during the placement stage of physical
design.
Figure 5.3: Comparison of layout and abstract views of a logic function. Synopsys
Standard cell libraries can be generated manually or supplied by vendors. There are several
vendors in the EDA industry that supply standard cell libraries based upon a specific process
node and technology such as 0.25um or 0.13um. If generated manually, the cells will need to be
prepared for the physical design process through library preparation which is a separate topic not
discussed in this paper. The physical design engineer assumes that a standard cell library is
available and compatible with Astro™ whether the library was created by a library group or
supplied by a vendor. Other libraries needed during place and route to supplement the design are
input/output (I/O) libraries as well as other custom cells such as RAMs and IP cores that can be
reused.
The third of the main inputs into Astro™ are the design constraints. These constraints are
identical to those which were used during the front-end logic synthesis stage prior to physical
design. These constraints are derived from the system specifications and implementation of the
design being created. Common constraints among most designs include clock speeds for each
clock in the design as well as any input or output delays associated with the input/output signals
of the chip. These same constraints using during logic synthesis are used by Astro™ so that
timing will be considered during each stage of place and route. The constraints are specific for
the given system specification of the design being implemented.
Now that the origin of the three main inputs to Astro™, gate-level netlist, standard cell library,
and design constraints, are realized, what does Astro™ do? An overview of Astro™, since it is a
place and route tool, is to say that it does exactly what was previously stated in the generic VLSI
design flow: the tool places and routes. However, there are some other aspects that need to be
discussed prior to the details of the physical design flow through Astro™. Once this background
information is discussed, the detailed flow can be presented and can be better understood. As
presented previously, a standard cell library is one of the main inputs to Astro™. However, other
libraries are needed as well to make a design complete. The final place and routed layout will
probably contain macro cells such as RAM or IP blocks and pad cells (Input/Output), which
allow signals to enter and exit the chip.
Prior to placement of the standard cells, the placement of all macro, IP blocks, and pad cells
needs to be defined. The tool then places the standard cells automatically based upon the timing
of the design, which is given by the design constraints. Along with the timing, the ability to
connect each standard cell as described in the gate-level netlist is also taken into account so that
overall wire length (RC affect) is reduced. The pins on the standard cells are then physically
connected during the routing stage of the process. This is also based on timing due to the fact that
more timing critical nets such as clocks should have the shortest lengths and non-critical nets can
afford to be longer. This concept is represented by Fig. 4.
The timing driven placement of cells takes advantage of the common cell height and locates the
standard cells into “placement rows”. Within the rows, cells that are part the timing critical path
based upon the design constraints will be placed closer together so that interconnect delays are
reduced. These placement rows can either be abutted or non-abutted rows. As shown by Fig. 5,
one drawback to non-abutted rows is increase in area due to the gap between standard cell
placement rows. If the rows were abutted, then the cells on the top row would need to be flipped
so that the VDD lines would merge as opposed to VSS shorting with VDD if they are not
flipped. The most common approach is to implement abutted rows to reduce area as well as
increase the metal size of the VDD or VSS connections.
Figure 5.5: Timing driven placement of standard cells on non-abutted rows. Synopsys
Now that the basic concept of placement has been understood, the background of routing can be
established. In many technologies, there are several levels of aluminum or copper metal that can
be used to provide the connections between all of the cells in the design. When going from one
layer to another, a “via” must be used to make the connection. To prevent metal shorting together
during routing, each metal layer has a preferred direction, either horizontal or vertical. Typically
in routing, the first metal layer is horizontal. As the metal layers increase, the direction alternates
so that any two consecutive metal layers will always be perpendicular to one another. To route
standard cells together, the router uses a grid or routing track to maneuver from point A to point
B. Due to design rules imposed by a fabrication vendor (foundry), the metal routes need to have
a certain minimum width and spacing in order to be manufactured correctly. The routing tracks
are designed to make sure that these width and spacing requirements are achieved. The problem
of routing congestion can then occur if there are more connections to be made than routing tracks
available.
This background information on placement and routing only sketches some of the things that can
be done during the physical design process. There are other problems that need addressed during
the flow in order to complete a design. These problems include what to do in the likely case the
critical paths of the design do not meet the timing requirements of the system or how to connect
all of the register clock pins in the design so that the design is synchronized correctly. The
remainder of the design flow will show how Astro™ can be used to deal with all of these
problems to produce a final place and routed design with all timing constraints achieved.
The next step is to attach reference libraries to the design library. These reference libraries, as
discussed previously, contain the standard cells, macro cells, pad cells, and/or reusable IP core
cells that are being implemented into the design.