772_1739331556031
772_1739331556031
Module3
AvailaibleShruthi
at: V,VTU HUB
Asst Prof, Dept. of(Android
ECE, GMIT App)
VLSI Design 17EC63
1. Gate Area Ag
Ag = L W
L and W defines channel length and width respectively. They are scaled by factor
1/α.
Thus Agis scaled by 1/α2.
Ԑoxis the permittivity of gate oxide and D is the thickness of gate oxide (thinox).
1
Thus Cois scaled by =𝛽
1/β
3. Gate Capacitance Cg
Gate capacitance is given by, Cg = CoL W
Thus Cgis scaled by β*1/α2= β/α2
4. Parasitic Capacitance Cx
Cxis proportional to Ax/d
Where d depletion width around source or drain, it is scaled by 1/α. A x is area of
depletion region around source and drain, it is scaled by 1/α 2
Thus Cx is scaled by (1/α2)/(1/α) = 1/α
AvailaibleShruthi
at: V,VTU HUB
Asst Prof, Dept. of(Android
ECE, GMIT App)
VLSI Design 17EC63
7. Gate Delay Td
Tdis proportional to Ron. Cg
Ron is scaled to 1 and Cg is scaled by β/α2
Thus Td is scaled to 1*β/α2= β/α2
AvailaibleShruthi
at: V,VTU HUB
Asst Prof, Dept. of(Android
ECE, GMIT App)
VLSI Design 17EC63
Summary of Scaling effects of all the 3 models is given in the table below
AvailaibleShruthi
at: V,VTU HUB
Asst Prof, Dept. of(Android
ECE, GMIT App)
VLSI Design 17EC63
AvailaibleShruthi
at: V,VTU HUB
Asst Prof, Dept. of(Android
ECE, GMIT App)
VLSI Design 17EC63
It has a unit which processes data when applied at one port and gives output at
second port.
It is also possible that both data ports can be combined to form a single bidirectional
port if storage facility is available in the data path.
AvailaibleShruthi
at: V,VTU HUB
Asst Prof, Dept. of(Android
ECE, GMIT App)
VLSI Design 17EC63
The data path can be decomposed into having main subunits as it will be helpful in
deciding the possible floor plan.
The sub units can be linked with different bus architecture. It can be either one-bus,
two-bus or three-bus architecture.
One bus architecture:
1. Both operands (A & B) are sent from registers, operated in the ALU and result
which is shifted is returned to another register. All these happen in same clock
period.
During the design process, care must be taken for allocating layers to various data
path and guidelines. The guidelines are as follows:
Metal can cross poly or diffusion
Poly crossing diffusion form a transistor.
Whenever lines touch on the same level an interconnection is formed
Simple contacts can be used to join diffusion or poly to metal.
Buried contacts or a butting contacts can be used to join diffusion and poly
If 2nd metal layer is available, this can cross over any layer and can be used
for power rails.
Two metal layers may be joined using a via
Each layer has particular electrical properties which must be taken into
account
For CMOS layouts, p-and n-diffusion wires must not directly join each other
nor may they cross either a p-well or an n-well boundary
Design of 4 bit shifter
To drive each cross bar switch - 16 control signals SC00 to SC15 are provided to each
transistor switch.
Arrangement is general and can be expanded to accommodate n-bit inputs/outputs.
In this arrangement any input can be connected to any or all the outputs.
If all switches are closed all inputs are connected to all outputs and it forms a short
circuit.
As it needs 16 control signal it increases the complexity and to reduce the
complexity, the switch gates are coupled in groups (in this case it is grouped into 4)
Here 4 groups of 4 is formed which corresponds to shift 0, shift 1, shift 2 and shift 3
bits.This arrangement is called ‘barrel shifter’. (In this only 4 control signals is
needed)
AvailaibleShruthi
at: V,VTU HUB
Asst Prof, Dept. of(Android
ECE, GMIT App)
VLSI Design 17EC63
The interbus switches have their gate inputs connected in a staircase fashion in
groups of four and there are now four shift control inputs which must be mutually
exclusive in the active state.
CMOS transmission gates may be used in place of the simple pass transistor
switches if appropriate. Barrel shifter connects the input lines representing a word to
a group of output lines with the required shift determined by its control inputs (sh0,
sh1, sh2, sh3). Control inputs also determine the direction of the shift. If input word
has n – bits and shifts from 0 to n-1 bit positions are to be implemented.
Block diagram of barrel shifter and shifting of data is shown in the table.
Illustration of the Design Process
Regularity: It is an essentiality of any design. It reduces design efforts required for a
system. Regularity of any particular design can be gauged as
𝑇𝑜𝑡𝑎𝑙 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑡𝑟𝑎𝑛𝑠𝑖𝑠𝑡𝑜𝑟𝑠 𝑜𝑛 𝑡ℎ𝑒 𝑐ℎ𝑖𝑝
𝑅𝑒𝑔𝑢𝑙𝑎𝑟𝑖𝑡𝑦 =
𝑁𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑡𝑟𝑎𝑛𝑠𝑖𝑠𝑡𝑜𝑟 𝑐𝑖𝑟𝑐𝑢𝑖𝑡𝑠 𝑡ℎ𝑎𝑡 𝑚𝑢𝑠𝑡 𝑏𝑒 𝑑𝑒𝑠𝑖𝑔𝑛𝑒𝑑 𝑖𝑛 𝑑𝑒𝑡𝑎𝑖𝑙
For 4×4 bit barrel shifter, regularity factor is given by
16
𝑅𝑒𝑔𝑢𝑙𝑎𝑟𝑖𝑡𝑦 =
1
In case of barrel shifter it needs only one transistor designing and the same
can be applied to all the 16 transistors.
Higher the regularity lesser will be the design effort. Good system design achieve
regularity factor of 50 or 100.
AvailaibleShruthi
at: V,VTU HUB
Asst Prof, Dept. of(Android
ECE, GMIT App)
VLSI Design 17EC63
In any column we observe, there are 3 input. This number represents 3 inputs i.e.,
the corresponding input bits and previous carry/carry in
If we consider kth column, it includes Ak, Bk representing input bits. Ck-1
represents previous carry
There are 2 outputs, sum and new carry. i.e., in Kth column Sk and Ck
respectively.
AvailaibleShruthi
at: V,VTU HUB
Asst Prof, Dept. of(Android
ECE, GMIT App)
VLSI Design 17EC63
To form n-bit adder, n adder elements must be cascaded with carry-out of 1 element
with carry-in of next most significant bit.
The adder element can be implemented using multiplexer either in nMOS or CMOS
technology. This method of implementation is easy to follow and results obtained are
in the required forms.
Implementation of adder using MUX (pass transistor ) is shown in the last page.
Below figure shows the stick diagram of the same.
AvailaibleShruthi
at: V,VTU HUB
Asst Prof, Dept. of(Android
ECE, GMIT App)
VLSI Design 17EC63
AvailaibleShruthi
at: V,VTU HUB
Asst Prof, Dept. of(Android
ECE, GMIT App)
VLSI Design 17EC63
AvailaibleShruthi
at: V,VTU HUB
Asst Prof, Dept. of(Android
ECE, GMIT App)
VLSI Design 17EC63
Here propagate signal from ex-or gate is used to drive the transmission gate which
acts like a controlling signal to propagate the carry signal. Only when P signal is
high TG will be enabled and propagates Ck-1
When P signal is 0 hen depending on the input A and B carry will be generated.
The nMOS and pMOS pass transistor will generate the carry signal. (When A=B=1,
carry is generated and when A=B=0 carry is not generated.)
This is a direct realization which leads to the concept of carry chain and leads to
popular arrangement known as Manchester carry chain.
It is a fast adder circuit, it is a carry propagate adder in which the delay taken by the
carry to reach the last stage of output is reduced.
As seen in the previous concept of passing the carry the transmission gate, the path
can be precharged by the clock
Then the path can be gated by the n-type pass transistor.
When clock is 0, output will be charged to logic high due to pMOS. When clock is 1
pMOS will be off. If Pkis high, then the carry will be propagate.
If Pk is 0, then Ck-1 will not be propagated.
AvailaibleShruthi
at: V,VTU HUB
Asst Prof, Dept. of(Android
ECE, GMIT App)
VLSI Design 17EC63
AvailaibleShruthi
at: V,VTU HUB
Asst Prof, Dept. of(Android
ECE, GMIT App)
VLSI Design 17EC63
Note: except the first group all other groups have mux. If M is the number of groups the
number of mux for n bit adder will be (M-1) and delay observed is (M -1)K2.
Carry Skip Adder:
In a Ripple Carry Adder, if the input bits Ai and Bi are different for all position i,
then the carry signal is propagated at all positions (thus never generated), and the
addition is completed when the carry signal has propagated through the whole adder.
In this case, the Ripple Carry Adder is as slow as it is large. Actually, Ripple Carry
Adders are fast only for some configurations of the input words, where carry signals
are generated at some positions
Carry Skip Adders take advantage both of the generation or the propagation of the
carry signal.
They are divided into blocks, where a special circuit detects quickly if all the bits to
be added are different. This signal is called ‘block propagation signal’
AvailaibleShruthi
at: V,VTU HUB
Asst Prof, Dept. of(Android
ECE, GMIT App)
VLSI Design 17EC63
If in the block, if A & B bits differ then the output i.e., block propagation signal = 1.
If it is 1 then carry entering the block can bypass and transmit the carry to the block
through multiplexer.
Fig below shows 24 bit adder with 4 blocks and each block has 6 adder elements.
Let K1 represents the time needed by the carry signal to propagate through an adder
cell, and K2 the time it needs to skip over one block. Suppose the N-bit Carry Skip
Adder is divided into M blocks, and each block contains P adder cells. The actual
addition time of a Ripple Carry Adder depends on the configuration of the input
words. The completion time may be small but it also may reach the worst case, when
all adder cells propagate the carry signal.
In the same way, we must evaluate the worst carry propagation time for the Carry
Skip Adder. One of the worst case of carry propagation is depicted in Figure.
AvailaibleShruthi
at: V,VTU HUB
Asst Prof, Dept. of(Android
ECE, GMIT App)
VLSI Design 17EC63
In these blocks, the carry signals propagate almost simultaneously (we must account
for the multiplexer delays).
For the above condition the time to compute addition is given by
T = 2 (P – 1) K1 + (M – 2) K2
Note: in the first block except the first bit all other bits have for carry propagation hence it
(P – 1) and as the same is observed for last block it is 2(P-1) and delay is K1. Also the input
carry signal does not skip over the first and last block hence K2 is multiplied with (M-2).
Carry Look Ahead Adder:
This is another method to improve the throughput time of adder.
Here the prediction of carry is done and based on this designing is done.
With the carry generate Gk= AkBk and carry propagate Pk= (AkXORBk)Cinthe carry
propagation can be avoided and carry outputs can be calculated.
If n (number of adder) is large, the carry output bits increases and expression larger
and complex. Thus ‘carry look ahead adder’ and ‘ripple carry adder’ are clubbed
together. This can be seen in the block diagram.
From the above equation we see that carry out C3 can be calculated in prior without
the need of need of carry being propagated through the adder cells.
AvailaibleShruthi
at: V,VTU HUB
Asst Prof, Dept. of(Android
ECE, GMIT App)
VLSI Design 17EC63
B inputs A inputs
Cin
Carry Look Ahead Adder
Cout
Each adder block has a 4 bit CLA(Carry Look Ahead) unit and is shown below.
G3 P3 G2 P2 G1 P1 G0 P0
C3 Cin
CLA UNIT
C2 C1 C0
From the CLA unit carry outputs C0, C1, C2 and C3 can be simultaneously determined.
In this C0, C1, C2 are required to determine the sum and will not ripple through.
However C3 will propagate to the next block.
By observing the expression for C0, C1, C2 and C3 the last term in the equation become
zero when Cin = 0.
Thus to increase the speed, the expression for C3 can be written as
C3 = γ + π
Where π = P3P2P1P0Cin and
γ = G3 +P3G2+ P3P2G1 +P3P2P1G0
Here the term γ is independent of Cin and π becomes 0 when Cin = 0. Hence the speed
of adder can be minimized by using these 2 defined functions γ and π.
The implementation is shown in the block diagram. The carry outputs C3, C7 and
C11 are propagated sequentially. This propagation delay can be reduced by using γ
and π outputs, where C3, C7 and C11 are computed seperately.
AvailaibleShruthi
at: V,VTU HUB
Asst Prof, Dept. of(Android
ECE, GMIT App)
VLSI Design 17EC63
AvailaibleShruthi
at: V,VTU HUB
Asst Prof, Dept. of(Android
ECE, GMIT App)
VLSI Design 17EC63
AvailaibleShruthi
at: V,VTU HUB
Asst Prof, Dept. of(Android
ECE, GMIT App)