EE 466/586 VLSI Design: School of EECS Washington State University Pande@eecs - Wsu.edu
EE 466/586 VLSI Design: School of EECS Washington State University Pande@eecs - Wsu.edu
VLSI Design
Partha Pande
School of EECS
Washington State University
pande@eecs.wsu.edu
Lecture 21
Arithmetic circuits
Adopted from Digital Integrated Circuits by Jan M Rabaey
A Generic Digital Processor
MEM ORY
INPUT-OUTPUT
CONTROL
DATAPATH
Building Blocks for Digital Architectures
Arithmetic unit
- Bit-sliced datapath (adder, multiplier, shifter, comparator, etc.)
Memory
- RAM, ROM, Buffers, Shift registers
Control
- Finite state machine (PLA, random logic.)
- Counters
Interconnect
- Switches
- Arbiters
- Bus
An Intel Microprocessor
9-1 Mux
5-1 Mux
a g64
CARRYGEN
node1
SUMSEL
sum sumb
REG
ck1 to Cache
9-1 Mux
2-1 Mux
SUMGEN s0
+ LU s1
b
LU : Logical
Unit
1000um
Bit 3
Data-Out
Multiplexer
Bit 2
Data-In
Register
Adder
Shifter
Bit 1
Bit 0
‘define PLUS 0
‘define MINUS 1
‘define AND 2
‘define OR 3
‘define NOT 4
module alu(fcode,op0,op1,result,oflo);
parameter n=16, flen=3; input [flen-1:0] fcode; [n-1:0] op0, op1; output [n-1:0] result; output
oflo;
assign
{oflo,result} =
(fcode == ‘PLUS) ? (op0 + op1) :
(fcode == ‘MINUS) ? (op0 - op1) :
(fcode == ‘AND) ? (op0 & op1) :
(fcode == ‘OR) ? (op0 | op1) :
(fcode == ‘NOT) ? (~op0) : 0;
endmodule
Bit-Sliced Datapath
From register files / Cache / Bypass
Multiplexers
Shifter
Adder stage 1
Wiring
Loopback Bus
Loopback Bus
Loopback Bus
Adder stage 2
Wiring
Bit slice 63
Bit slice 2
Bit slice 1
Bit slice 0
Adder stage 3
Sum Select
Sum
The Binary Adder
A B
Sum
S = A ⊕ B ⊕ Ci
S0 S1 S2 S3
td = O(N)
tadder = (N-1)tcarry + tsum
VDD
Ci A B
A B
A
B
Ci B
VDD
A
X
Ci
Ci A S
Ci
A B B VDD
A B Ci A
Co B
28 Transistors
Limitations
Tall PMOS transistor stacks present in both carry- and
sum-generation circuits.
The intrinsic load capacitance of the C0 signal is large and
consists of two diffusion and six gate capacitances, plus the
wiring capacitance
The signal propagates through two inverting stages in the
carry-generation circuit.
Features
The first gate of the carry-generation circuit is
designed with the Ci signal on the smaller PMOS
stack
NMOS and PMOS transistors connected to Ci are
placed as close as possible to the output of the gate.
In stage k of the adder, signals Ak and Bk are available and
stable long before Ci,k
Capacitances of the internal nodes is the transistor chain are
precharged or discharged in advance.
Inversion Property
A B A B
Ci FA Co Ci FA Co
S S
A0 B0 A1 B1 A2 B2 A3 B3
S0 S1 S2 S3
VDD VDD A
A B B A B Ci B
Kill
"0"-Propagate A Ci
Co
Ci S
A Ci
"1"-Propagate Generate
A B B A B Ci A
24 transistors
The Mirror Adder
• The NMOS and PMOS chains are completely symmetrical.
A maximum of two series transistors can be observed in the carry-
generation circuitry.
• When laying out the cell, the most critical issue is the minimization
of the capacitance at node Co. The reduction of the diffusion
capacitances is particularly important.
• The capacitance at node Co is composed of four diffusion
capacitances, two internal gate capacitances, and six gate
capacitances in the connecting adder cell .
• The transistors connected to Ci are placed closest to the output.
• Only the transistors in the carry stage have to be optimized for
optimal speed. All transistors in the sum stage can be minimal
size.
Transmission Gate Full Adder
P
VDD
VDD Ci
A
P S Sum Generation
A A P Ci
A P VDD
B B
VDD A
P
P Co Carry Generation
Ci Ci Ci
A
Setup P
The propagate signal, which is the XOR of inputs A and B, is used to select
the true or complementary value of the input carry as the new sum output
Based on the propagate signal, the output carry is either set to the input
carry, or either one of the inputs A or B.