Upload
others
View
19
Download
0
Embed Size (px)
Citation preview
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 1页
第七章 数据通路与控制单元
(一) 大多数数字电路按功能可分为:
(1)数据通路(如加法器、乘法器、移位器)、
(2)存储器、(3)控制电路、(4)I/O、(5)互连
存储器
数据通路
控制电路
输入
输出
互连
一般的数字处理器
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 2页
构成数字系统结构的基本模块
运算单元- 位片式数据通路 (加法器, 乘法器, 移位器, 比较器, 等.)
存储器
- RAM, ROM, 缓冲器, 移位寄存器
控制电路
- 有限状态机 (PLA, 随机逻辑.)-计数器
互连
- 开关- 判断器- 总线
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 3页
Intel 微处理器的数据通路
9-1
Mux
9-1
Mux
5-1
Mux
2-1
Mux
ck1
CARRYGEN
SUMGEN+ LU
1000um
b
s0
s1
g64
sum sumb
LU : LogicalUnit
SUM
SEL
a
to Cache
node1
RE
G
Itanium 有 6 个如下的整数执行单元
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 4页
位片式(Bit-Sliced )设计
Bit 3
Bit 2
Bit 1
Bit 0
控制信号
完全相同的瓦片式处理单元
寄存器
加法器
移位器
多路开关
数据输出
数据输入
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 5页
位片式(Bit-Sliced)数据通路
Adder stage 1
Wiring
Adder stage 2
Wiring
Adder stage 3
Bit slice 0
Bit slice 2
Bit slice 1
Bit slice 63
Sum Select
Shifter
Multiplexers
Loopback Bus
From register files / Cache / Bypass
To register files / Cache
Loopback Bus
Loopback Bus
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 6页
Itanium 处理器的整数数据通路
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 7页
(二) 数据通路的特点: (它在很大程度上决定了整个系统的性能)
规整性:(Bit-slice)优化版图
局域性:(时间、空间,算子相邻布置)版图紧凑
正交性:(数据流、控制流)规整的布线
层次化: 高位-低位,多位-少位
模块化: 包括各种 IP 模块
1
2
n
1
2
n
1
2
n
1
2
n
数据输入
数据输出
控制信号
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 8页
全加器(Full-Adder)
A B
Cout
Sum
Cin Fulladder
第一节 加法器
加法器常常是限制速度的部件。加法器的优化可在逻辑级和电路级进行
传播Ci=0
传播Ci=0
传播Ci=1
传播Ci=1
进位取消
进位取消
进位产生
进位产生
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 9页
S A B Ci⊕ ⊕=
A= BCi ABCi ABCi ABCi+ + +
Co AB BCi ACi+ +=
A B
Cout
Sum
Cin Fulladder
(一)简单加法器
(1)二进制加法运算:CBASUM ⊕⊕=
)( BAABCarry Cin ++=
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 10页
为了利于具体实现,常常定义一些中间信号(注意它们与 Cin 无关):
进位产生(Generate)信号:
进位取消(Delete) 信号:
进位传播 (Propagate) 信号: 或
ABG =
BAD−−
=
BAP +=BAP ⊕=C inPGPGoutCarry +=− ),(
C inPPGS ⊕=),(
同样可以建立起 S 和 Cout 与 D、P 之间的关系
进位产生、进位取消、进位传播信号
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 11页
(2)组合逻辑加法器:1. 复杂门:
CBACBACBAABCSUM +⋅+⋅+= 16个管子ACBCABCarry ++= 10个管子
反相(每个反相器 2 个管子) 6 个管子
共 32 个管子(省管子,但管子串联)
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 12页
2. 利用输出进位产生“和”位
(“ 和 ” 位与“ 进位 ” 子电路
之间共享逻辑)
CBAABCarryCarryCBAABCSUM
)()(
++=+++=
A B
B
A
Ci
Ci A
X
VDD
VDD
A B
Ci BA
B VDD
A
B
Ci
Ci
A
B
A CiB
Co
VDD
S
Co_
S_
S
Co
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 13页
该电路的特点:
(1)利用 信号来产生 ,不用 门,在不减慢
进位产生的情况下可减少管子数(共 28 个管子)
(2)在“ 进位产生”与“ 和位产生 ”电路中存在很长的串联 PMOS 管,
进位输出信号的负载包括本级的两个扩散电容和驱动下一级的
六个栅电容以及布线电容。
(3) 的比 迟产生。
(4)使进位路径的延时减到最小是设计高速加法器的主要目标:
1. 连接 Cin 的管子(关键路径上的管子)尽可能放在靠近门的
输出端
2. 在这一加法器的进位链中可以利用加法器的反相特性来消除
反相门。
outCarry − SUM XOR
SUM Carry
CCbCaba
CCba
outinin
SUMinbain
=⋅+⋅+⋅
=⊕⊕=⊕⊕
____
__
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 14页
A B
S
CoCi FA
A B
S
CoCi FA
加法器的反相特性
CCbCaba
CCba
outinin
SUMinbain
=⋅+⋅+⋅
=⊕⊕=⊕⊕
____
__
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 15页
(二)逐位(行波、串行)进位(Ripple Carry Adder)(1) 结构:由 N 个一位加法器串联而成,第 i 级的
用来产生第 i+1 级的 和
(2) 特点: 结构直观简单,运行速度慢,最坏情形下关键路径的
延时:
N 位逐位进位加法器的延时正比 于加法器的位数 N :设计时优化 比优化 更为重要
outCarry −SUM Carry
τττ sumcarryNadder +−= )1(
τ carry τ sum
FA FA FA FA
A0 B0
S0
A1 B1
S1
A2 B2
S2
A3 B3
S3
Ci,0 Co,0
(= Ci,1)
Co,1 Co,2 Co,3
td = O(N)
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 16页
(3) 优化进位链的方法:同时利用正信号和反信号
CCbCaba
CCba
outinin
SUMinbain
=⋅+⋅+⋅
=⊕⊕=⊕⊕
____
__
A B
B
A
Ci
Ci A
X
VDD
VDD
A B
Ci BA
B VDD
A
B
Ci
Ci
A
B
A CiB
Co
VDD
S
Cin
A B
S
Cout全加器Cin
S
Cout全加器
Cin
A B
全加器
S
Cout
_
_
_
全加器Cin
_
A B_ _
S
Cout
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 17页
结构优化
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 18页
VDD
Ci
A
BBA
B
A
A B进位取消Kill
进位产生Generate
“1”-进位传播Propagate
“0”-进位传播Propagate
VDD
Ci
A B Ci
Ci
B
A
Ci
A
BBA
VDD
SCo
3. 改进的加法器设计 (非对偶,但对称或“镜像”)
ABG =
BAD−−
=
BAP ⊕=
改进的镜像加法器
镜像CMOS 加法器( Mirror Adder)24 个晶体管
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 19页
镜像(Mirror) 加法器Stick Diagram
CiA B
VDD
GND
B
Co
A Ci Co Ci A B
S
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 20页
该电路的特点:
(1)消除了进位反相门。
(2)巧妙实现进位的“传播/产生/消除”功能,同时减少面积和延时。
(3)不同于传统的 “ 对偶 ” 拓扑,而是 “ 对称 ” 或 “ 镜像 ”,有利于
版图实现。选择合适的 P 管和 N 管的尺寸,可保证相同的上升和
下降时间。
(4)在进位产生电路中,最多有两个管子串联。
(5)共 24 个管子。
(6)在设计该加法器的版图时,应当使 节点上的电容较小。
该节点上的电容包括本级的四个扩散电容和两个栅电容,以及
下一级加法器的六个栅电容。减少扩散电容特别重要。
(7)连接 Cin 的管子连到接近门的输出端处。
(8)只有在进位电路中的管子需要优化尺寸以改善速度,在“和”位电
路中的管子可以采用最小尺寸。
CARRY
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 21页
镜像加法的尺寸设计
有效扇出 ~ 2
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 22页
4. 小结:组合逻辑加法器的优化:
a)加大 stage 中的管子尺寸以提高 的驱动能力。
b)减小 信号驱动的管子的尺寸(在 Stage中)
,以减小 信号的负载。
c)尽量使 的线短,并少用扩散层作为布线层。
d)把 信号驱动的管子放在靠近输出端。
Carry outCarry −outCarry − SUM
outCarry −outCarry −
inCarry −e)通过仔细模拟决定管子尺寸。
f) 结构优化:使一个全加器的所有输入反相将使它的所有输出反相(这一特性称为加法器的反相特性)。
CCbCaba
CCba
outinin
SUMinbain
=⋅+⋅+⋅
=⊕⊕=⊕⊕
____
__
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 23页
全加器的实现
标准CMOS实现 多路开关(Multiplex)实现
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 24页
A
B
P
Ci
VDDA
A A
VDD
Ci
A
P
AB
VDD
VDD
Ci
Ci
Co
S
Ci
P
P
P
P
P
Sum Generation
Carry Generation
Setup
产生“和”
产生“进位输出”
(3)传输门加法器:
产生“中间信号”与“反相信号”
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 25页
传输门加法器:
1. 共24个管子,输出既有 ,又有它们的反信号。
2. 和 的延时时间相同。
3. 无阈值损失
4. 若速度不重要时可用反相器形成
CarrySUM ,SUM Carry
BA⊕
BA⊕
BA⊕BA⊕
BA⊕
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 26页
CPL ( Complement Pass Transistor Logic) 加法器
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 27页
DPL实现的全加器
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 28页
(三)曼彻斯特进位链( Manchester Carry Chain )
(1)基本原理(以动态实现为例):
由 ,可考虑用 组成控制信号来控制
一个传输门,使进位信号 在本位 的控制下,直接由低位
向高位传输,产生 而不必等待各位“ 和 ” 的运算结果。
为预充电信号,且 ,
CbabaC iiiiii 1)( −++= ba ii ,Ci 1− ba ii ,
CiΦ1 kCkpCpkpkC iiiiiiiiii 11 −− +⋅=+⋅= 1≠kp ii
(保证 不会经 管和 管直接
接地放电, 注意: 只能由 级的
控制信号接地, 它与 级的关系是只能
向 传输)
由上式可推导出:
,
Ci 1− pi k i1−i
iCi
Ci 1−
bak iii ⋅= bap iii ⊕=
Vcc
CiΦ1
Ki
Ci-1
Pi
预充电
放电放电
进位
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 29页
(2)曼彻斯特进位链的实现
G2
φ
C3
G3Ci,0
P0
G1
VDD
φ
G0
P1 P2 P3
C3C2C1C0
采用动态逻辑降低复杂性和加快速度
预充电时所有中间节点被预充至 VDD ,求值时有条件放电。进位链传输管只用 N 管,节点电容很小,为四个扩散电容。
进位链的分布 RC 本质使传播延时与位数 N 的平方成正比,因此有必要插入缓冲器。
从输出端到输入端通过进位链管子的放电电流逐步加大,因此从输出端到输入端逐步
加大进位链管子的尺寸可提高速度。
CoCi
Gi
Pi
VDD
φ
φ
1. 曼彻斯特进位链的动态实现
动态门实现
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 30页
RCNNi
jj
N
iiP RCt 2
)1(69.0)0
(0
69.0 +
=== ∑∑ =
)]()()()([69.0
4210432103
210210100
RRRRCRRRRCRRRCRRCRCt P
++++++++
++++++=
Ro R1 R2 R3 R4
放电C0 C1 C2 C3 C4
OUT
进位链最坏情况下的延时可用下图的 RC 网络模型来表示:
延时与 N 成平方关系
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 31页
设具有最小尺寸管子的电阻(最大电阻)为 R4 = R,
电容(最小电容)为 C4 = C
令ki
iki
iC
CR
R 11,1 =+=+
kkkkkkkkk
kkkkkCRCCRCCCR
CCCCRCCCCCRt
kRC
kk
kkkRC
P
4234
44322
23234444334322
43211432100
/)12345(69.0
/])1()1(
)1()1[(69.0
])()()()([69.0
++++=
++++++
+++++++++=
++++++
+++++++++=
当 k 值很大时,延时与级数 N 成近似线性关系,而不是平方关系
确定曼彻斯特进位链的尺寸
Ro R1 R2 R3 R4
放电 C0 C1 C2 C3 C4OUT
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 32页
1 1.5 2 2.5 k k
延时( 归一至 0.69RC )面积(以最小管子的面积为单位)
1 1.5 2 2.5
速度和面积与 k 值的关系
1. 当 k 值在1~1.5时,延时有较大下降,而面积增加不大。
2. 当 k 值很大时,延时与级数 N 成近似线性关系,而不是平方关系
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 33页
曼彻斯特进位链
反相器/求和 行
生成进位传播(P)以及进位产生(G) 行
Pi + 1 Gi + 1 φ
Ci
Pi Gi φ
Ci - 1Ci + 1
VDD
GND
Stick Diagram
G2
φ
C3
G3Ci,0
P0
G1
VDD
φ
G0
P1 P2 P3
C3C2C1C0
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 34页
确定曼彻斯特进位链的尺寸 Stick Diagram
进位传播
/ 进位产生 行
反相器 / 求和 行
Cfix :在节点处的固定电容(PMOS管的
扩散区,金属连线,以及反相器)
~15 fF
C 单位尺寸晶体管的电容~ 2 fF/um
R 单位尺寸晶体管的电阻~ 2 fF/um
G2
φ
C3
G3Ci,0
P0
G1
VDD
φ
G0
P1 P2 P3
C3C2C1C0
PMOS预充电管及反相器可为单位尺寸
当 C W > C fix 时,增加进位链晶体管的尺寸
对延时只有很小的改善,却增加了前一级的负载
• 进位链的长度限制为 m = 4 ~ 8
• 通常的解决办法:插入反相器,使整个 N 位
加法器的延时是 N /m 段加法器 延时的和
(成线性关系)。
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 35页
CoCi
Gi
DiPi
Pi
VDD
静态门实现 MUX(传输门)实现
2. 曼彻斯特进位链的静态实现
进位传播信号 P 由传输管实现
进位产生信号 G 由上拉电路实现,
进位清除信号(kill)由下拉电路实现
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 36页
(3)加速进位的方法:
1. 加缓冲级(以减少串联放电管的数目)
曼彻斯特进位链的限制:放电时管子串联,
因此有必要 插入缓冲器
2. 旁通进位:
a) 的放电可以直接通过旁通管进行(举例)C i
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 37页
b)多路旁通
c)无冲突电路
d)输入端处反相器移至中间
ppppT
pT
ppppT
32103
32
32101
)(=
=
=
{
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 38页
3. 静态方式
a)不需要时钟、预充电,可异步工作,一旦给出运算数
进位链马上工作,由此可提高速度。
b)采用 CMOS , 可降低功耗
c)无阈值损失
d)如进位链较长时,应在 … 回路上插入缓冲级。
ba,
CC ii 1, −
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 39页
FA FA FA FA
P0 G0 P1 G1 P2 G2 P3 G3
Co,3Co,2Co,1Co,0Ci,0
FA FA FA FA
P0 G0 P1 G1 P2 G2 P3 G3
Co,2Co,1Co,0Ci,0
Co,3
Mul
t iple
xer
BP=PoP1P2P3
原理: 如果 (P0 、 P1 、 P2 和 P3 均 = 1)则 Co3 = C0, 否则主路径进位消除或进位产生
(四)Carry Skip Adder (Carry-Bypass Adder)
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 40页
(四)Carry Skip AdderN 位串行加法器分成 组,每组 位,若每位加法器
的进位产生时间为 ,旁路进位时间为 , 则加法器总的求和时间为:
MN M
tcarry tbypass
Carrypropagation
SetupBit 0–3
Sum
M bits
tsetup
tsum
Carrypropagation
SetupBit 4–7
Sum
tbypass
Carrypropagation
SetupBit 8–11
Sum
Carrypropagation
SetupBit 12–15
Sum
tadder = tsetup + M tcarry + (N/M-2)tbypass + (M-1)tcarry + tsum
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 41页
逐位(行波)进位与旁路进位(Carry Skip)比较
N
tp
ripple adder
bypass adder
4..8
增加进位旁路一般使面积增加 10% 至 20%
进位旁路加法器的总进位传播时间仍与位数 N 成正比,但比例系数较串行进位加法器为小。N 较小时,因为旁路的额外开销使采用旁路进位收益不大。一般 N 在 4~8 之间采用旁路进位。
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 42页
每一旁路级的最优位数取决于(1)旁路进位路径的延时,(2)旁路进位延时与逐位进位延时的比(3)对进位链的缓冲要求等。
Cin Cout
进一步减少延时的方法:
(1)各组的位数依次递增可进一步减少分组数和延时(2) 旁路还可以嵌套(各组位数可以不同)。
第1层旁路
第2层旁路
1 2 3 4 5
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 43页
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 44页
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 45页
延时模型
具有 Carry-Skip 的 Manchester 进位链
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 46页
(五)条件求和加法器
(1)单元电路
以及产生 的电路
(2)四位条件加法器
1. 各位的 信号被送到高位用来
选择高位的
2. 选择的实现是通过传输门(MUX)
3. 的产生与前级无关
4. 如果在相串联的传输门中的寄生电容可以忽略不计,则
这种加法器可以有较快的速度。
(3)32位条件加法器:
个串联管
,0 baS ⊕= ,1 baS ⊕= ,0 abC = baC +=1
,a b
,0 abC = baC +=1
,0 baS ⊕= ,1 baS ⊕=,0 abC = baC +=1
CCSS 1010 ,,,
63211 loglog 22 =+=+ n
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 47页
条件求和加法器
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 48页
条件求和加法器
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 49页
条件求和加法器
条件求和电路
Multiplexer
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 50页
条件单元
Multiplexer 双端电平恢复电路 单端电平恢复电路
CPL 类型电路实现的
条件求和加法器
同样也可以用DPL电路实现
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 51页
TG Conditional Sum
• 传输门串联在一起
• 链的长度 = 1 + log n2
加法器输入 32 位“进位”或“和”信号输出
条件单元 Mux Mux Mux Mux Mux
寄生电容
信号传播方向
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 52页
Setup
"0" Carry Propagation
"1" Carry Propagation
Multiplexer
Sum Generation
Co, k-1 C o,k+ 3
"0"
"1"
P,G
Carry Vector
(六)进位选择加法器
(1)基本原理 (线性进位选择加法器)
1. 由两个Ripple Adder(或其它加法器)的进位链构成,一个加法器的最低位进位 ,
另一个加法器的最低位进位 。这两个加法器的进位链分别计算出对应不同
值的两个“进位输出” 。
2. 一个MUX 选择这两个“进位输出” 中的一个作为最终(正确)的“ 进位输出” ,
这个MUX 的控制( 选择 )信号是前级的 进位输出 Carry-out。
0=Cin
1=Cin Cin
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 53页
线性进位选择加法器的关键路径与求和时间
0
1
Sum Generation
Multiplexer
1-Carry
0-Carry
Setup
Ci,0 Co,3 Co,7 Co,11 Co,15
S0–3
Bit 0–3 Bit 4–7 Bit 8–11 Bit 12–15
0
1
Sum Generation
Multiplexer
1-Carry
0-Carry
Setup
S4–7
0
1
Sum Generation
Multiplexer
1-Carry
0-Carry 0-Carry
Setup
S8–11
0
1
Sum Generation
Multiplexer
1-Carry
Setup
S12–15
ttttt summuxMN
carryMsetupadd +⎟⎠⎞
⎜⎝⎛++=
进位选择加法器的总进位传播时间仍与位数 N 成
正比,但比逐位进位加法器快。硬件开销为一个额外的进位路径和一个MUX,大
约比一个逐位进位加法器多30%
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 54页
Setup
"0" Carry
"1" Carry
Multiplexer
Sum Generation
"0"
"1"
Setup
"0" Carry
"1" Carry
Multiplexer
Sum Generation
"0"
"1"
Setup
"0" Carry
"1" Carry
Multiplexer
Sum Generation
"0"
"1"
Setup
"0" Carry
"1" Carry
Multiplexer
Sum Generation
"0"
"1"
Bit 0-3 Bit 4-7 Bit 8-11 Bit 12-15
S0-3 S4-7 S8-11 S12-15
Ci,0
(1)
(1)
(5)(6) (7) (8)
(9)
(10)
(5) (5) (5)(5)
能否进一步优化?
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 55页
假设N 位的加法器含有 P 个级,且第一级加是 M 位,后续级逐级增加一位,
于是:
)21(
22)1(
)1()2()1(2
−+=−
+=
−+++++++=
MPPPMP
PMMMMN
P
L
若 ,(如 M = 2, N = 64), 则NM <<
2)
21(
2
22 PP MPN ≈−+=
于是
此时延时正比于 (亚线性关系),而不是 (线性关系)
当 N 很大时,延时几乎变为常数。
NP 2=N2 N
平方根进位选择加法器的延时:
(2) 进一步优化方法:(平方根进位选择加法器)
考虑到前级的进位输出要经过一个MUX才到达本级的进位输入,因此在两条信号
路径之间相差一个延时时间,故本级的位数可以比前一级多一级。
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 56页
平方根进位选择加法器的求和时间
Setup
"0" Carry
"1" Carry
Multiplexer
Sum Generation
"0"
"1"
Setup
"0" Carry
"1" Carry
Multiplexer
Sum Generation
"0"
"1"
Setup
"0" Carry
"1" Carry
Multiplexer
Sum Generation
"0"
"1"
Setup
"0" Carry
"1" Carry
Multiplexer
Sum Generation
"0"
"1"
Bit 0-1 Bit 2-4 Bit 5-8 Bit 9-13
S0-1 S2-4 S5-8 S9-13
Ci,0
(4) (5) (6) (7)
(1)
(1)
(3) (4) (5) (6)
Mux
Sum
S14-19
(7)
(8)
Bit 14-19
(9)
(3)
ttttt summuxNcarryMsetupadd +++= 2
(此外,还可考虑利用加法器的反信号特性来加快速度。)
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 57页
0 20 40 60N
50
40
30
20
10
tp
单
位
延
时
逐位进位加法器
线性选择加法器
平方根选择加法器
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 58页
(七)超前进位( Carry Lookahead)加法器
(1)基本原理:利用 “ 进位产生 ” 和 “ 进位传播 ” 信号
, 或
( 当 时 )
( 当 时 )
(2)组合门 CLA 1. 方框图
2. 由复杂门构成,各门的输入端数目 4 3. 四级与四级间是 ripple 加法
4.
gi pi
bag iii = bap iii +=bap iii ⊕=
CpgC iiii 1−+=
CbaS iiii 1−⊕⊕= bap iii +=
CpS iii 1−⊕= bap iii ⊕=
≤
CppppgpppgppgpgC
in01230123
1232333
++
+++=
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 59页
位置
位置
在以下情况下存在输出进位:
- 在 i +1 级上产生
- 在 i 级上产生并传播通过 i +1 - 同时传播通过 i 和 i +1 级
一般地,
进位递归式的展开可以一直继续下去,如果展开 k 次,就得到两个层次的 AND-OR 结构,可见,每一位的进位输出只与最初的进位输入有关,而与比它低位的其他进位输入无关,因此加法时间与位数 N 无关。
但AND 的扇入 = k + 1,OR 的扇入 = k+ 1,于是有 k + 1 个 MOS 晶体管堆叠。因此, 当位数 N 较大时,电路的大扇入会使速度变慢,如
采用较简单的门来实现,就会要求较多的逻辑层次。而且某些信号的扇出还有可能进一步地增加,使加法器的延时加大。同时,加法器的实现面积也会随位数 N 的增加而增加。因此这一超前进位只对小的 N 值( N <=4 )有效。
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 60页
超前进位的基本原理
Co k, f A k Bk Co k, 1–, ,( ) Gk P kCo k 1–,+= =
AN-1, BN-1A1, B1
P1
S1
• • •
• • • SN-1
PN-1Ci, N-1
S0
P0Ci,0 Ci,1
A0, B0
CpppgppgpgCpgpgCpgC
ikkkkkkkk
kokkkkkokkko
0,01211
)2,11(1,,⋅⋅⋅−+⋅⋅⋅⋅⋅⋅+−−+−+=
−−+−+=−+=
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 61页
组合门 CLA
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 62页
Co k, Gk Pk Gk 1– Pk 1– Co k 2–,+( )+=
Co k, Gk Pk Gk 1– P k 1– … P1 G0 P0 Ci 0,+( )+( )+( )+=
展开超前进位方程
全部展开:
Co,3
Ci,0
VDD
P0
P1
P2
P3
G0
G1
G2
G3
静态复合电路实现超前进位(Carry lookahead)
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 63页
(3)BLA (Binary Look-ahead Carry Adder): 预组合CLA (对数 Look-ahead Adder , Brent-Kung 加法器)
, 或
(当 时)
定义: 为如下算子:
可以证明: 符合组合律,
bag iii = bap iii +=
bap iii ⊕=CpgC iiii 1−+=
CpS iii 1−⊕=
bap iii ⊕=
Θ ),(),(),( ,,,, pgpg ppgpg +=ΘΘ
),( PG ii),( 11 pg 1=i= if
= =),(),( 11 PGpg iiii −−Θ),(),(),( 1111 pgpgpg iiii Θ•••ΘΘ −− ni ≤≤2if
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 64页
tp∼ Ntp∼ log2(N)
对数CLA
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 65页
特点:1. 逻辑层数正比于 因此传播延时也正比于
2. 门的扇入被限制
3. 门的扇出可能大,需加Buffer4. 一旦得到进位,可在常数时间内求得 “和”( )
5. 版图紧凑
Nlog2
S
Nlog2
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 66页
BLA加法器部件
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 67页
(4)Ling 加法器(可显著减少硬件)
进位产生信号: 另定义: {进位传播信号:
以上实现共 5 项,最多需 5 输入的与门,共 19 个输入
ttttctttgttgtggtcgcgpgcpgc
in 01231230231323
3232)33(32333++++=
+=++=+=
注意: 意味着 { 因此可以得出:
1=g i1=ci
11 =−+= cch iii
cch iii 1−+=
BAP iii ⊕=
GPT iii +=BAG iii =
phpc iiii =−1
thc iii =
thgh iiii 11 −−+=
Ci-1 Ci
Si
Ai Bi
Pi , Gi
Ti , hi
第 i 级
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 68页
ttthttgtgggh 012012021233 ++++=
以上实现共 5 项,最多需 4 输入的与门,
共 14 个输入
一旦 已知,可以由下式求出“和”:
它比原来的 要稍微复杂一些。
由此可以推导出:
thpcps iiiiii 111 −−⊕=−⊕=hi 1−
cps iii 1−⊕=
Ci-1 Ci
Si
Ai Bi
Pi , Gi
Ti , hi
第 i 级
减少了晶体管堆叠的高度(或宽度)
减少了输入数
Ling 加法器
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 69页
平均来说 ,一个超前进位加法器要比一个逐位进位加法器
的面积大 100%,但位数较多时,它有快得多的速度。
因此,对于大的位数 N , 首先选用超前进位加法器而不用
进位旁路加法器或进位选择加法器。
究竟 N 为何值时应选用何种加法器,这在很大程度上取决
于工艺和电路设计。
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 70页
(1)16-bit radix-2 Kogge-Stone tree 加法器(A
0, B
0)
(A1,
B1)
(A2,
B2)
(A3,
B3)
(A4,
B4)
(A5,
B5)
(A6,
B6)
(A7,
B7)
(A8,
B8)
(A9,
B9)
(A10
, B10
)
(A11
, B11
)
(A12
, B12
)
(A13
, B13
)
(A14
, B14
)
(A15
, B15
)
S 0 S 1 S 2 S 3 S 4 S 5 S 6 S 7 S 8 S 9 S 10 S 11 S 12 S 13 S 14 S 15
(八)树结构加法器
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 71页
(A0,
B0)
(A1,
B1)
(A2,
B2)
(A3,
B3)
(A4,
B4)
(A5,
B5)
(A6,
B6)
(A7,
B7)
(A8,
B8)
(A9,
B9)
(A10
, B10
)
(A11
, B11
)
(A12
, B12
)
(A13
, B13
)
(A14
, B14
)
(A15
, B15
)
S 0 S 1 S 2 S 3 S 4 S 5 S 6 S 7 S 8 S 9 S 10 S 11 S 12 S 13 S 14 S 15
(2)Brent-Kung Tree 加法器
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 72页
(a0,
b 0)
(a1,
b 1)
(a2,
b 2)
(a3,
b 3)
(a4,
b 4)
(a5,
b 5)
(a6,
b 6)
(a7,
b 7)
(a8,
b 8)
(a9,
b 9)
(a10
, b10
)
(a11
, b11
)
(a12
, b12
)
(a13
, b13
)
(a14
, b14
)
(a15
, b15
)
S0
S1
S2
S3
S4
S5
S6
S7
S8
S9
S10
S11
S12
S13
S14
S15
(3)16-bit radix-4 Kogge-Stone Tree
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 73页
x15 x14 x13 x12 x11 x10 x9 x8 x7 x6 x5 x4 x3 x2 x1 x0
s15 s14 s13 s12 s11 s10 s9 s8 s7 s6 s5 s4 s3 s2 s1 s0
Brent-Kung
Brent-Kung
Kogge-Stone
(4)Brent-Kung / Kogge-Stone 混合式平行加法器
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 74页
(5)Sparse Trees 加法器
(a0,
b 0)
(a1,
b 1)
(a2,
b 2)
(a3,
b 3)
(a4,
b 4)
(a5,
b 5)
(a6,
b 6)
(a7,
b 7)
(a8,
b 8)
(a9,
b 9)
(a10
, b10
)
(a11
, b11
)
(a12
, b12
)
(a13
, b13
)
(a14
, b14
)
(a15
, b15
)
S1
S3
S5
S7
S9
S11
S13
S15
S0
S2
S4
S6
S8
S10
S12
S14
16-bit radix-2 sparse tree with sparseness of 2
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 75页
• 需要较少的晶体管及布线:
》因此功耗较少
• 输入负载较少。
• 但重新生成缺失的进位:
》会产生额外的门延时
》需要额外的扇出
• 复杂的预计算会成为关键路径。
Full Tree 与 Sparse Tree 的比较
Sparse tree
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 76页
(6)其他树结构
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 77页
(九)多米诺加法器
VDD
Clkk
Pi:i-k+1
Pi-k:i-2k+1
Pi:i-2k+1
VDD
Clkk
Gi:i-k+1
Pi:i-k+1
Gi-k:i-2k+1
Gi:i-2k+1
VDD
Clk
Gi:0
Clk
Sum
VDD
Clkd
Clk
Gi:0
Clk
Si1
Clkd
Si0
Keeper
进位传播
进位产生
求和
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 78页
多米诺CMOS(NMOS)门实现进位链
以进位 为例C3
•••=C3
采用动态电路可减少
电容,因此比静态实
现具有更快的速度
除了进位产生电路以外,其余管子均可采用接近最小尺寸的管子
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 79页
• 变换传统的 G,P
晶体管堆叠的限制
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 80页
高速 的产生)(3 CC out
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 81页
(十)其它加法器
(1)采用 NP-logic 实现加法器
(管子数少,速度快)
(2)NORA 加法器
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 82页
(3)MODL(Multi Output Domino Logic)加法器
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 83页
(4)CVSL 全加器
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 84页
(5)位串联加法器:
由一个加法器、三个移位寄存器和一个一位的Register 构成(硬件、布线少,
的延时相同,完成 n 位加法需 n 个时钟周期)CarrySUM ,
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 85页
Φ
Φ
(十一)流水线加法器
流水线结构可消除加法器延时与位数 N 之间的依赖关系:
(1)把寄存器插入在加法器的进位路径上,使加法器的关键
路径和时钟周期减小到产生单个进位与“和”位的路径和
延时。一个 N 位加法器需要 N 个时钟周期,但每个时钟
周期可产生一个结果,这成为“位级”(bit-level )流水线。
(2)NORA 流水线加法器
1. 加法器的偶数位和奇数位分别由 NORA 电路的 块
和 块以及 C MOS实现。
2. 在每一级内部可以采用 NP-逻辑来连接。
3. 进一步可在“进位”产生与“和位”产生之间插入寄存器。
2
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 86页
(十二)宽字(> 32 位)加法器:基于CLA原理和 “ Block Carry ”Block A
Block B
Block BA
jA iA
jB iB
GB PB GA PA
GBA PBA
(GB, PB)(GA, PA)
(GBA, PBA)
GBA = GB + GAPB
PBA = PBPA
Block A 与Block B 可以是连续串联,也可以是重叠的两个进位块
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 87页
C48 C32 C16
C0
4 位超前进位产生单元
4 位超前进位产生单元
C12 C8 C4
P,G P,G P,G P,G12~15 8~11 4~7 0~3
P,G P,G P,G P,G48~63 32~47 16~31 0~15
P, G0~63
16 位 CLA
运用 16 个 4 位加法器与 5 个超前进位产生单元构成一个 64 位CLA
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 88页
(十一)混合式加法器
(1)RCA 与 CLA 结合
(2)CLA 与进位选择加法器结合
(3)DEC Alpha 21064 中的 Hybrid Adder 64 位加法器:
• 组合:
》8位tapered预充电Manchester进位链,其中包括 Cin = 0 及 Cin = 1
》32位LSB进位超前(低32位)
》32位MSB条件求和加法器(高32位)
》最高有效位采用进位选择
》采用以Latch为基础的时序(timing)
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 89页
DEC的Alpha 21064 中的Hybrid Adder
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 90页
(十二)加法器小结
(1)Ripple(逐位进位) 加法器:
1. 面积小,简单,相对较快,应首先考虑使用。
2. 易改成流水线加法器。
(2)Carry Look Ahead (CLA) 加法器:1. 非常快的非流水线加法器。
2. 功耗相对较大。
(3)Manchester 加法器:
1. 规则,较小,较快。
2. 适合于全定制设计的数据通路,字宽从 16~ 32位。
(4) Conditional Sum Adder: 1. 联合 Carry Select Adder 并通过优化,可得到最快的加法器。
2. 减小内部摆幅,以及采用CPL 使管子数减少,可使功耗小于
逐位进位加法器。
2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 91页
(5)Carry-Select Adder:1. 较快的 n 位加法器。
2. 容易用Ripple Adder 和 MUX 组装。
3. 面积较大。
(6)Carry Save Adder (保留进位加法器):1. 适合流水线结构。
2. 适合中等大小的 n( 因为 n 越大,则所要求的CSA 越多)。
(7)传输门加法器:
用在要求 和 传输时间必须是接近的情形
(如在乘法阵列中)。
(8)位串联加法器:
1. 加法器数目和信号布线少。
2. 曾广泛用于信号处理(2 – 5 工艺),现用来减少功耗,减小芯片尺寸。
3. 此原理可用来把 n 位加法器分割成较小的加法器。
(9)宽字(> 32 位)加法器:
基于CLA原理和 “ Block Carry ”,用于浮点 ALU。
SUM Carry
µ