ASIC Design and Applications Overview
ASIC Design and Applications Overview
UNIT- IV
Floor planning and placement: Goals and objectives, Measurement
of delay in Floor planning, Floor planning tools, Channel definition,
I/O and Power planning and Clock planning.
Placement: Goals and Objectives, Min-cut Placement algorithm,
Iterative Placement Improvement, Time driven placement methods,
Physical Design Flow.
UNIT- V
Floor Planning and Placement and Routing: Physical Design, CAD Tools,
System Partitioning, Estimating ASIC size, partitioning methods. Floor
planning tools, I/O and power planning, clock planning, placement algorithms.
Global Routing, Local Routing, Detail Routing, Special Routing, Circuit
Extraction and DRC.
Text Books:
1. Michael John Sebastian Smith, “Application - Specific Integrated Circuits”, Addison- Wesley
Professional, 2005
2. Khosrow Golshan Conexant Systems, Inc. 2007 Springer Science Business Media “Physical Design
Essentials” An ASIC Design Implementation Perspective
Reference Books:
1. Neil H.E. Weste, David Harris, and Ayan Banerjee, “CMOS VLSI Design: A Circuits and Systems
Perspective”, Addison Wesley/ Pearson education 3rdedition, 2011
2. Vikram Arkalgud Chandrasetty, “VLSI Design: A Practical Guide for FPGA and ASIC Implementations”
Springer, ISBN: 978-1-4614-1119-2. 2011
3. Rakesh Chadha, Bhasker J, “An ASIC Low Power Primer”, Springer, ISBN: 978-14614-4270-7.
Unit I
Introduction: Types of ASIC Design, ASIC Design Flow, FPGA design Flow, Programmable
logic device, ASIC cell libraries.
CMOS Logic: Data path Logic Cells: Data Path Elements, Adders, Multiplier, Arithmetic
Operator, I/O cells.
(05+05) Hrs
Introduction
• ASIC design is a methodology of cost and size reduction of an electronic circuit, product or system through
miniaturization and integration of individual components and their functionality into a single element – an
Application Specific Integrated Circuit (ASIC).
• An electronic product commonly consists of many integrated circuits (ICs) which are interconnected together
to perform a particular function. For example, It was expensive (component cost and assembly cost) and bulky
(all those components required space).
• As competition intensified, the requirement for lower cost and smaller size drove the need for consolidation
and integration of all those individual components into a single ASIC, reducing not only overall cost and size
of the smoke detector but also improving its reliability (fewer parts, fewer things to go wrong).
• Recently, VLSI CMOS has played a crucial role in placing millions of transistors on a single chip, providing
digital system designers with an ability to implement a vast number of gates with complex functionality on a
single IC.
• According to Moore’s Law, the number of gates or transistors doubles after every 18 months and is growing to
extremely high densities per IC. Rapidly growing technology in logic, parallelization, CAD tools, and memory
promises continued advancement in the next 15 years.
• With the help of CAD tools, high-level descriptions can be translated into specific functions such as registers,
microcontrollers, ALU, control units and more.
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 7
Application – Specific Integrated Circuits [ASIC]
• Modern ASICs combine multiple complex blocks in a single package, including analog elements such as an
amplifier, ADC, PLL and digital elements such as a microcontroller, OTP, ROM, EEPROM, RAM, and other
building blocks. These types of ICs are known as System On Chip (SoC).
• The analog section of the ASIC is designed using primarily transistor-level design techniques and manual
layout processes.
• The digital section of the chip is designed primarily using hardware description languages such as
VHDL/Verilog followed by automated Place and Route (PnR) layout process.
• A Full custom ASIC is one which includes some (possibly all) logic cells that are customized and all
mask layers that are customized.
• A microprocessor is an example of a full-custom IC.
• Designers spend many hours squeezing the most out of every last square micron of microprocessor chip
space by hand.
• Customizing all of the IC features in this way allows designers to include analog circuits,
optimized memory cells, or mechanical structures on an IC, for example.
• Full-custom ICs are the most expensive to manufacture and to design.
• The manufacturing lead time (the time required just to make an IC not including design time) is
typically eight weeks for a full-custom IC.
• These specialized full-custom ICs are often intended for a specific application so, we might call
some of them as full custom ASICs.
• In a full-custom ASIC an engineer designs some or all of the logic cells, circuits, or layout
specifically for one ASIC. This means the designer avoids using pretested and pre characterized cells
for all or part of that design.
• This might be because existing cell libraries are not fast enough, or the logic cells are not small
enough or consume too much power.
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 13
Application – Specific Integrated Circuits [ASIC]
✓ Semi-Custom ASICs
• ASICs , for which all of the logic cells are predesigned and some (possibly all) of the mask
layers are customized are called semi custom ASICs.
• Using the predesigned cells from a cell library makes the design , much easier.
• There are two types of semicustom ASICs
(i) Standard-cell–based ASICs
(ii) Gate-array–based ASICs.
PMOS
NMOS
Inputs Outputs
FIXED Programmable
AND gate OR gate
Programmable Fixed
AND gate OR gate
• Here, the inputs of AND gates are programmable. That means each AND gate has both normal and
complemented inputs of variables. So, based on the requirement, we can program any of those inputs. So, we
can generate only the required product terms by using these AND gates.
• Here, the inputs of OR gates are not of programmable type. So, the number of inputs to each OR gate will be of
fixed type. Hence, apply those required product terms to each OR gate as inputs. Therefore, the outputs of PAL
will be in the form of sum of products form.
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 40
Application – Specific Integrated Circuits [ASIC]
• Example:
• The given two functions are in sum of products form.
There are two product terms present in each Boolean
function. So, we require four programmable AND
gates & two fixed OR gates for producing those two
functions. The corresponding PAL is shown in the
following figure.
• The programmable AND gates have the access of
both normal and complemented inputs of variables. In
the above figure, the inputs X, , Y, , Z & , are available
at the inputs of each AND gate. So, program only the
required literals in order to generate one product term
by each AND gate.
• The symbol ‘X’ is used for programmable
connections.
• Here, the inputs of OR gates are of fixed type. So, the
necessary product terms are connected to inputs of
each OR gate. So that the OR gates produce the
respective Boolean functions. The symbol ‘.’ is used
for fixed connections.
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 41
Application – Specific Integrated Circuits [ASIC]
Inputs Outputs
Programmable Programmable
AND gate OR gate
• Here, the inputs of AND gates are programmable. That means each AND gate has both normal and
complemented inputs of variables. So, based on the requirement, we can program any of those inputs. So, we
can generate only the required product terms by using these AND gates.
• Here, the inputs of OR gates are also programmable. So, we can program any number of required product
terms, since all the outputs of AND gates are applied as inputs to each OR gate. Therefore, the outputs of PAL
will be in the form of sum of products form.
FPGA
(FIELD PROGRAMMABLE GATE ARRAYS)
• FPGA provide the next generation in the programmable logic devices.
• The word Field in the name refers to the ability of the gate arrays to be programmed for a specific
function by the user instead of by the manufacturer of the device.
• The word Array is used to indicate a series of columns and rows of gates that can be programmed by
the end user.
• As compared to standard gate arrays, the field programmable gate arrays are larger devices.
• The basic cell structure for FPGA is some what complicated than the basic cell structure of standard
gate array. The programmable logic blocks of FPGA are called Configurable Logic Block (CLB).
• The FPGA architecture consists of three types of configurable elements-
(i) IOBs – a perimeter of input/output blocks
(ii) CLBs- a core array of Configurable Logic Blocks/Logic blocks
(iii) Resources for interconnection (i.e. Programmable interconnect)
Architecture of FPGA
• The IOBs provide a programmable interface between the internal, array of logic blocks
(CLBs) and the device’s external package pins.
• CLBs perform user-specified logic functions, and the interconnect resources carry signals
among the blocks.
• A configurable program stored in internal static memory cells determines the logic functions
and the interconnections. The configurable data is loaded into the device during power-up
reprogramming function.
• FPGA devices are customized by loading configuration data into internal memory cells.
• The FPGA device can either actively read its configuration data out of an external serial or
byte-wide parallel PROM (master modes), or the configuration data can be written to the
FPGA devices (slave and peripheral modes).
• A CLB is the basic building block of an FPGA. It’s a logic cell that can be configured or
programmed to perform specific functions. These building blocks are connected to the
interconnect block.
• A CLB can be implemented using LUT or multiplexer-based logic. In LUT-based logic, the
block consists of a look-up table, a D flip-flop, and a 2:1 multiplexer. Flip flops are used as
storage elements. The multiplexer selects the appropriate output.
• Each CLB is made up of a certain number of slices.
• Slices are grouped in pairs and arranged in columns. The number of CLBs in a device varies,
according to the vendor and the family of the device. For example, Xilinx’s Spartan 3E FPGA
contains four slices. Each slice is made up of two LUTs and two storage elements.
• The function of the LUT is to implement logic, whereas the dedicated storage elements can
be flip-flops or latches. The CLBs are arranged in an array of rows and columns.
✓ Programmable Interconnect
• The interconnect is the programmable network of signal pathways existing between the inputs and
outputs of a device’s functional elements. This is also known as routing.
• There are several types of routing including local routing for interconnection between:
- LUTs
- Flip-flops and general routing matrix
- General-purpose routing for interconnection between the rows and columns of CLBs
- I/O routing for the purpose of pin-swapping or locking
• Basically, the routing network consists of connecting wires with programmable switches, which can
be configured using any of the programming technologies. There are basically two types of routing
architectures. They are:
- Island Style Routing (also known as Mesh Routing)
- Hierarchical Routing
• In Island style routing architecture, the logic blocks are arranged in a two-dimensional array and
are interconnected using a programmable routing network. This type of routing is widely used in
commercial FPGAs.
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 52
Application – Specific Integrated Circuits [ASIC]
✓ I/O block
• Input/output blocks (IOBs) offer programmable
unidirectional or bidirectional interfaces
between the package pins and the device’s
internal logic.
• There are three signals present within an IOB:
1. The input path to carry data from the pad to
the respective line.
2. The output path that carries data from the
internal logic to the IOB pad via a
multiplexer and a three-state driver.
3. The three-state path, which determines the
output driver’s state of high impedance
• All of the signals come with the option of an
inverter.
5. Floor planning: The first step in the physical design is arrange all the blocks of the circuit on the
chip
6. Placement: In this step, the location of the logic cells in a block are set.
7. Routing: Once the placement of the blocks and cells is completed, then it is time to create the
connections between the cells and the blocks.
8. Extraction: The next step is to determine the resistance and capacitance of the interconnections
previously made, since they decide the delay of the signal. Also, the delays are calculated at this
stage.
9. Post-layout Simulation: Once the physical design is complete, the circuit is again tested for
working. The delays previously calculated are also taken into consideration for the simulation
process.
10. Design Rule Check (DRC): Final step is to verify the layout of the entire circuit and check whether
it complies with the design rule specifications.
Economics of ASICs
• On a parts only basis, an FPGA is more expensive per-gate than an MGA, which is in turn more expensive than
a CBIC
• The key is that the fixed cost of the CBIC is higher than the MGA which is higher than the FPGA
✓ Design cost
✓ Fabrication cost
• Total product (or part) cost is a function of fixed cost, variable cost, and the number of products (parts) sold:
total part cost = fixed part cost + variable cost per part X volume of parts
• Example, assume:
• FPGA fixed cost is $21,800, part cost is $39
• MGA fixed cost is $86,000, part cost is $10
• CIBC fixed cost is $146,000, part cost is $18
FIXED COST
• The fixed cost is independent of the sales volume, the number of products sold. An important component of
the fixed cost of an integrated circuit is the effort in time and manpower it takes to produce the design.
• This design cost is strongly influenced by the complexity of the design, the aggressiveness of the
specifications, and the productivity of the designer.
• Advanced design methodologies that automate major parts of the design process can help to boost the latter.
Bringing down the design cost in the presence of an ever increasing IC complexity is one of the major
challenges that is always facing the semiconductor industry.
• Additionally, one has to account for the indirect costs, the company overhead that cannot be billed directly to
one product. It includes amongst others the company’s research and development (R&D), manufacturing
equipment, marketing, sales, and building infrastructure.
VARIABLE COST
• This accounts for the cost that is directly attributable to a manufactured product, and is hence proportional to
the product volume. Variable costs include the costs of the parts used in the product, assembly costs, and
testing costs. The total cost of an integrated circuit is now
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 62
Application – Specific Integrated Circuits [ASIC]
• However created, each cell in an ASIC cell library must contain the following:
✓ A physical layout
✓ A behavioral model
✓ A Verilog/VHDL model
✓ A detailed timing model
✓ A test strategy
✓ A circuit schematic
✓ A cell icon
✓ A wire-load model
✓ A routing model
FIGURE 1: A datapath adder. (a) A full-adder (FA) cell with inputs (A and B), a carry in, CIN, sum output,
S, and carry out, COUT. (b) A 4-bit adder. (c) The layout, using two-level metal, with data in m1 and
control in m2. In this example the wiring is completed outside the cell; it is also possible to design the
datapath cells to contain the wiring. Using three levels of metal, it is possible to wire over the top of the
datapath cells. (d) The datapath layout.
• Figure 1(c) shows a layout of the ADD cell. The A inputs, B inputs, and S outputs all use m1 interconnect
running in the horizontal direction—we call these data signals.
• Other signals can enter or exit from the top or bottom and run vertically across the datapath in m2—we call
these control signals.
• We can also use m1 for control and m2 for data, but we normally do not mix these approaches in the same
structure.
• Control signals are typically clocks and other signals common to elements.
• For example, in Figure 1(c) the carry signals, CIN and COUT, run vertically in m2 between cells.
• To build a 4-bit adder we stack four ADD cells creating the array structure shown in Figure 1(d). In this case
the A and B data bus inputs enter from the left and bus S, the sum, exits at the right, but we can connect A, B,
and S to either side if we want.
• The layout of buswide logic that operates on data signals in this fashion is called a datapath . The module
ADD is a datapath cell or datapath element .
• Just as we do for standard cells we make all the datapath cells in a library the same height so we can adjoin
other datapath cells on either side of the adder to create a more complex datapath.
• When people talk about a datapath they always assume that it is oriented so that increasing the size in bits
makes the datapath grow in height, upwards in the vertical direction, and adding different datapath elements to
increase the function makes the datapath grow in width, in the horizontal direction—but we can rotate and
position a completed datapath in any direction we want on a chip.
• What is the difference between using a datapath, standard cells, or gate arrays? Cells are placed together in
rows on a CBIC or an MGA, but there is no generally no regularity to the arrangement of the cells within the
rows—we let software arrange the cells and complete the interconnect.
• Datapath layout automatically takes care of most of the interconnect between the cells with the following
advantages:
- Regular layout produces predictable and equal delay for each bit.
- Interconnect between cells can be built into each cell.
• There are some disadvantages of using a datapath:
- The overhead (buffering and routing the control signals, for example) can make a narrow (small
number of bits) datapath larger and slower than a standard-cell (or even gate-array) implementation
- Datapath cells have to be predesigned (otherwise we are using full-custom design) for use in a wide
range of datapath sizes. Datapath cell design can be harder than designing gate-array macros or
standard cells.
- Software to assemble a datapath is more complex and not as widely used as software for assembling
standard cells or gate arrays.
• There are some newer standard-cell and gate-array tools that can take advantage of regularity in a design and
position cells carefully.
• The problem is in finding the regularity if it is not specified. Using a datapath is one way to specify
regularity to ASIC design tools.
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 71
Application – Specific Integrated Circuits [ASIC]
FIGURE 2: Symbols for a datapath adder. (a) A data bus is shown by a heavy line (1.5 point) and a bus
symbol. If the bus is n -bits wide then MSB = n – 1. (b) An alternative symbol for an adder. (c) Control
signals are shown as lightweight (0.5 point) lines.
Adders
• Addition is one of the basic operation perform in various processing like counting, multiplication
and altering.
• Adders can be implemented in various forms to suit different speed and density requirements. The
truth table of a binary full adder is shown in Figure, along with some functions that will be of
use during the discussion of adders. Adder inputs: A, B, Carry input.
• Output: SUM
• Carry output: CARRY
• Generate signal: G (A B); occurs when
CARRY is internally generated within
adder.
• Propagate signal: P (A + B); when it is
1, C is passed to CARRY.
• In some adders A, B is used as the P
term because it may be reused to
generate the sum term.
✓ Example: n = 32
• Number of inputs = ?
• Truth table rows = ?
• Equations with huge number of terms
✓ Iterative array takes advantage of the regularity to make design feasible
✓ Addition Development:
• Half-Adder(HA), a 2-input bit-wise addition functional block,
• Full-Adder(FA), a 3-input bit-wise addition functional block,
• Ripple Carry Adder, an iterative array to perform binary addition
• Carry-Look-AheadAdder (CLA), a hierarchical structure to improve performance.
• Carry Select Adder
• Carry Skip Adder
• Carry Save Adder
X Y C S
S Y C Y
✓ The K-Map for S, C is:
0
11 0 1
X 12 3 X 2
13
✓ This is a pretty trivial map! By inspection:
S= X Y + X Y = X Y
S = (X + Y ) (X + Y )
✓ and
C = XY
C = ((XY ))
✓ These equations lead to several implementations.
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 78
Application – Specific Integrated Circuits [ASIC]
Z 1 1 1 1
X 0 0 1 1
+Y +0 +1 +0 +1
CS 01 10 10 11
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 81
Application – Specific Integrated Circuits [ASIC]
Equations: Full-Adder
Sequential Adder
BinaryAdders
Augend 1011 Ai
0011
Addend Bi
1110
Sum Si
0011
Carry out Ci+1
C3 C2 C1
FA FA FA FA C0
C4 S3 S2 S1 S0
74LS283
✓ Critical delay
• The propagation of carry from low to high order stages
• 1111 + 0001 is the worst case addition
• Carry must propagate through all bits
Ripple-Carry Adders
✓ Critical Delay
• The propagation of carry from low to high order stages
Cin
4 stage adder
0 A 1 N+1
0 B A0 S0 2
N Cin B0 C1 2
Cout
0 A N+2
0 B 1 A1 S1 3
B1 C2 4
late arriving two gate delays
signal to compute Cout A2 S2 5
B2 C3 6
A3 S3 7
B3 Cout 8
Ai B i
Gi
Pi
C
i
Ci+1 Si
• Ci+1 = Gi + Ci Pi
• Consider the 4-bit ripple carry adder circuit above. Here the sum S3 can be produced as soon as
the inputs A3 and B3 are given.
• But carry C3 cannot be computed until the carry bit C2 is applied whereas C2 depends on
C1.
• Therefore to produce final steady-state results, carry must propagate through all the states. This
increases the carry propagation delay of the circuit.
• The propagation delay of the adder is calculated as “the propagation delay of each gate times
the number of stages in the circuit”.
• For the computation of a large number of bits, more stages have to be added, which makes the
delay much worse. Hence, to solve this situation, Carry Look-ahead Adder was introduced.
• In this adder, the carry input at any stage of the adder is independent of the carry bits generated at
the independent stages.
• Here the output of any stage is dependent only on the bits which are added in the previous stages
and the carry input provided at the beginning stage.
• Hence, the circuit at any stage does not have to wait for the generation of carry-bit from the
previous stage and carry bit can be evaluated at any instant of time.
Carry-Lookahead Implementation
Ai B i
Gi
Pi
C
i
Ci+1 Si
✓ Carry-lookahead adder
• 4 four-bit adders with internal carry lookahead
• Second level carry lookahead unit extends lookahead to 16 bits
4 4 4 4 4 4 4 4
P3 G3 C3 P2 G2 C2 P1 G1 C1 P0 G0
C16 C4 C0 C0
Lookahead Carry Unit @0
@4
P3-0 G3-0
@3 @5
Carry-Select Adder
✓ Redundant hardware to make carry calculation go faster
• Compute two high-order sums in parallel while waiting for carry-in
• One assuming carry-in is 0 and another assuming carry-in is 1
• Select correct result once carry-in is finally computed
C8 4-bit adder 0
[7:4] adder
low
C8 S7 S6 S5 S4 S3 S2 S1 S0
Multiplier
• In many digital signal processing operations - such as correlations, convolution, filtering, and
frequency analysis - one needs to perform multiplication.
• The most basic form of multiplication consists of forming the product of two positive binary
numbers.
• This may be accomplished through the traditional technique of successive additions and shifts, in
which each addition is conditional on one of the multiplier bits. Here is an example.
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 100
Application – Specific Integrated Circuits [ASIC]
• The multiplication process may be viewed to consist of the following two steps:
- Evaluation of partial products.
- Accumulation of the shifted partial products.
• It should be noted that binary multiplication is equivalent to a logical AND operation.
• Thus evaluation of partial products consists of the logical ANDing of the multiplicand and the
relevant multiplier bit.
• Each column of partial products must then be added and, if necessary, any carry values passed to the
next column.
• There are a number of techniques that may be used to perform multiplication.
• In general, the choice is based on factors such as speed, throughput, numerical accuracy, and area.
• As a rule, multipliers may be classified by the format in which data words are accessed, namely:-
- Serial form
- Serial/parallel form
- Parallel form
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 101
Application – Specific Integrated Circuits [ASIC]
• Thus Pk are the partial product terms called summands. There are mn summands, which are
produced in parallel by a set of mn AND gates.
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 102
Application – Specific Integrated Circuits [ASIC]
• For 4-bit numbers, the expression above may be expanded as in the table below,
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 104
Application – Specific Integrated Circuits [ASIC]
• Cell shown in Figure is a cell that may be used to construct a parallel multiplier.
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 105
Application – Specific Integrated Circuits [ASIC]
• Figure on next slide depicts the multiplier array with the partial products enumerated.
• The Multiplier can be drawn as a square array, as shown here, Figure is the most convenient for
implementation.
• In this version the degeneration of the first two rows of the multiplier are shown.
• The first row of the multiplier adders has been replaced with AND gates while the second row
employs half-adders rather than full adders.
• This optimization might not be done if a completely regular multiplier were required (i.e. one array
cell).
• In this case the appropriate inputs to the first and second row would be connected to ground, as
shown in the previous slide.
• An adder with equal carry and sum propagation times is advantageous, because the worst-case
multiply time depends on both paths
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 106
Application – Specific Integrated Circuits [ASIC]
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 107
Application – Specific Integrated Circuits [ASIC]
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 108
Application – Specific Integrated Circuits [ASIC]
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 109
Application – Specific Integrated Circuits [ASIC]
• Example for implementation of 4x4 multiplier (4-bit) using Wallace Tree Multi-plication
methods
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 110
Application – Specific Integrated Circuits [ASIC]
• Considering the product P3, it may be seen that it requires the summation of four partial products
and a possible column carry from the summation of P2.
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 111
Application – Specific Integrated Circuits [ASIC]
• NOTES
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 112
Application – Specific Integrated Circuits [ASIC]
Arithmetic Operator
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 113
Application – Specific Integrated Circuits [ASIC]
Datapath Operators
Figure 2.32 shows symbols for some other datapath elements. The combinational datapath
cells, NAND, NOR, and so on, and sequential datapath cells (flip-flops and latches) have standard-
cell equivalents and function identically. I use a bold outline (1 point) for datapath cells instead of
the regular (0.5 point) line I use for scalar symbols. We call a set of identical cells a vector of
datapath elements in the same way that a bold symbol, A , represents a vector and A represents a
scalar.
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 114
Application – Specific Integrated Circuits [ASIC]
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 115
Application – Specific Integrated Circuits [ASIC]
I/O cells
Figure 2.33 shows a three-state bidirectional output buffer (Tri-State ® is a registered trademark of
National Semiconductor). When the output enable (OE) signal is high, the circuit functions as a
noninverting buffer driving the value of DATAin onto the I/O pad. When OE is low, the output transistors
or drivers, M1 and M2, are disconnected. This allows multiple drivers to be connected on a bus. It is up
to the designer to make sure that a bus never has two drivers-a problem known as contention.
In order to prevent the problem opposite to contention a bus floating to an intermediate voltage
when there are no bus drivers-we can use a bus keeper or bus-hold cell (TI calls this Bus-Friendly logic).
A bus keeper normally acts like two weak (low drive-strength) cross-coupled inverters that act as a latch
to retain
the last logic state on the bus, but the latch is weak enough that it may be driven easily to the opposite
state. Even though bus keepers act like latches, and will simulate like latches, they should not be used as
latches, since their drive strength is weak.
Transistors M1 and M2 in Figure 2.33 have to drive large off-chip loads. If we wish to change the
voltage on a C = 200 pF load by 5 V in 5 ns (a slew rate of 1 Vns^1) we will require a current in the
output transistors of
I DS = C (dV /d t ) = (200*10 ^-12 ) (5/5*10 ^-9 ) = 0.2 A or 200 mA.
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 116
Application – Specific Integrated Circuits [ASIC]
Such large currents flowing in the output transistors must also flow in the power supply bus and can
cause problems. There is always some inductance in series with the power supply, between the point at
which the supply enters the ASIC package and reaches the power bus on the chip. The inductance is due to
the bond
wire, lead frame, and package pin. If we have a power-supply inductance of 2 nH and a current changing
from zero to 1 A (32 I/O cells on a bus switching at 30 mA each) in 5 ns, we will have a voltage spike on
the power supply (called power-supply bounce ) of
L (dI /d t ) = (2*10^-9 )(1/(5*10^-9 )) = 0.4 V.
We do several things to alleviate this problem: We can limit the number of simultaneously
switching outputs (SSOs), we can limit the number of I/O drivers that can be attached to any one VDD and
GND pad, and we can design the output buffer to limit the slew rate of the output (we call these slew-rate
limited I/O pads). Quiet-I/O cells also use two separate power supplies and two sets of I/O drivers: an AC
supply (clean or quiet supply) with small AC drivers for the I/O circuits that start and stop the output
slewing at the beginning and end of an output transition, and a DC supply (noisy or dirty supply) for the
transistors that handle large currents as they slew the output.
The three-state buffer allows us to employ the same pad for input and output bidirectional I/O.
When we want to use the pad as an input, we set OE low and take the data from DATAin. Of course, it is
not necessary to have all these features on every pad: We can build output-only or input-only pads.
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 117
Application – Specific Integrated Circuits [ASIC]
Keywords: Tri-State® is a registered trademark of National Semiconductor) • drivers • contention • bus keeper or
bus-hold cell (TI calls this Bus-Friendly logic) • slew rate • power supply bounce • simultaneously switching
outputs (SSOs) • quiet-I/O • bidirectional I/O • open-drain • level shifter • electrostatic discharge, or ESD •
electrical overstress(EOS) • ESD implant• human-body model(HBM) • machine model(MM) • charge-device
model (CDM, also called device charge–discharge) • latch-up • undershoot • overshoot • guard rings
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 118
Application – Specific Integrated Circuits [ASIC]
Cell Compilers
The process of hand crafting circuits and layout for a full-custom IC is a tedious, time-consuming, and error-prone
task. There are two types of automated layout assembly tools, often known as a silicon compilers. The first type produces a
specific kind of circuit, a RAM compiler or multiplier compiler , for example. The second type of compiler is more flexible,
usually providing a programming language that assembles or tiles layout from an input command file, but this is full-custom
IC design.
They can build a register file from latches or flip-flops, but, at 4.56.5 gates (1826 transistors) per bit, this is an
expensive way to build memory. Dynamic RAM (DRAM) can use a cell with only one transistor, storing charge on a
capacitor that has to be periodically refreshed as the charge leaks away. ASIC RAM is invariably static (SRAM), so we do
not need to refresh the bits. When we refer to RAM in an ASIC environment we almost always mean SRAM. Most ASIC
RAMs use a six-transistor cell (four transistors to form two cross-coupled inverters that form the storage loop, and two more
transistors to allow us to read from and write to the cell). RAM compilers are available that produce single-port RAM (a
single shared bus for read and write) as well as dual-port RAMs , and multiport RAMs . In a multi-port RAM the compiler
may or may not handle the problem of address contention (attempts to read and write to the same RAM address
simultaneously). RAM can be asynchronous (the read and write cycles are triggered by control and/or address transitions
asynchronous to a clock) or synchronous (using the system clock).
In addition to producing layout we also need a model compiler so that we can verify the circuit at the behavioral
level, and we need a netlist from a netlist compiler so that we can simulate the circuit and verify that it works correctly at the
structural level. Silicon compilers are thus complex pieces of software. We assume that a silicon compiler will produce
working silicon even if every configuration has not been tested. This is still ASIC design, but now we are relying on the fact
that the tool works correctly and therefore the compiled blocks are correct by construction .
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 119
Application – Specific Integrated Circuits [ASIC]
Questions
1. Explain the ASIC Design flow with a neat flow chart.
2. Differentiate channel and channel less gate array based ASIC design.
3. Illustrate internal structure of Configurable Logic Block (CLB) with an example.
4. Discuss field programmable gate array with a neat diagram.
5. Illustrate Programmable Logic Array and Programmable Array Logic design with an example.
6. Illustrate the information of ASIC cell Library with an example.
7. What is CBICs? State the important features of CBICs.
8. Differentiate between Full custom, Semi-Custom, FPGA and Gate Array based ASIC
Design Styles.
9. Discuss the Economics of the ASIC Design.
10. Discuss the fixed and Variable cost of ASIC Design.
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 120
Application – Specific Integrated Circuits [ASIC]
Questions
1. Calculate the logical effort for 2 input NAND and NOR gate, and show logical effort for inverter is equal
to 1.
2. Assume 4-bit multiplicand 𝑎3𝑎2𝑎1𝑎0 and 4-bit multiplier 𝑏3𝑏2𝑏1𝑏0 produce partial products and sum
of partial product and represent same using half adder and full adder.
3. Discuss any two techniques used to reduce the number of adders and delay in multiplier.
4. Explain the reduction of partial products in array multiplier using canonical signed digit (CSD).
5. Discuss how to predict the delay in single stage and multistage cells.
6. Discuss how the delay is reduced using Carry save adder (CSA) and Ripple carry adder (RCA) with neat
Datapath layout.
7. Explain 4-bit Ripple Carry Binary Adder and Carry-Lookahead Logic with proper example.
8. Describe the flow of 4x4 multiplier (4-bit) using Wallace Tree Multi-plication method.
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 121
Application – Specific Integrated Circuits [ASIC]
Mr. Hemanth T S [Link], Assistant Professor, Dept. of E&CE, AIET, Moodbidri. 122