66
Understanding the Interplay Between Boards, Executives, and Company Performance January 16, 2015 Data at a Glance: - 127,000 individual business leaders - Company affiliation, board membership, and biographies - 9,000 companies - Includes company characteristics and various board perquisites - Up to 14 years of data (2000-2014) - leadership & board changes - extensive lists of self-identified peer companies - executive compensation & equity plans WEBINAR WILL BEGIN SHORTLY Submit your proposal by Monday, February 2, 2015. Learn more at http://wcai.wharton.upenn.edu/research Presentation recording and slide deck will be made available on the WCAI website by Monday, January 19th

第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

  • Upload
    others

  • View
    19

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 1页

第七章 数据通路与控制单元

(一) 大多数数字电路按功能可分为:

(1)数据通路(如加法器、乘法器、移位器)、

(2)存储器、(3)控制电路、(4)I/O、(5)互连

存储器

数据通路

控制电路

输入

输出

互连

一般的数字处理器

Page 2: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 2页

构成数字系统结构的基本模块

运算单元- 位片式数据通路 (加法器, 乘法器, 移位器, 比较器, 等.)

存储器

- RAM, ROM, 缓冲器, 移位寄存器

控制电路

- 有限状态机 (PLA, 随机逻辑.)-计数器

互连

- 开关- 判断器- 总线

Page 3: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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 个如下的整数执行单元

Page 4: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 4页

位片式(Bit-Sliced )设计

Bit 3

Bit 2

Bit 1

Bit 0

控制信号

完全相同的瓦片式处理单元

寄存器

加法器

移位器

多路开关

数据输出

数据输入

Page 5: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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

Page 6: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 6页

Itanium 处理器的整数数据通路

Page 7: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 7页

(二) 数据通路的特点: (它在很大程度上决定了整个系统的性能)

规整性:(Bit-slice)优化版图

局域性:(时间、空间,算子相邻布置)版图紧凑

正交性:(数据流、控制流)规整的布线

层次化: 高位-低位,多位-少位

模块化: 包括各种 IP 模块

1

2

n

1

2

n

1

2

n

1

2

n

数据输入

数据输出

控制信号

Page 8: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 8页

全加器(Full-Adder)

A B

Cout

Sum

Cin Fulladder

第一节 加法器

加法器常常是限制速度的部件。加法器的优化可在逻辑级和电路级进行

传播Ci=0

传播Ci=0

传播Ci=1

传播Ci=1

进位取消

进位取消

进位产生

进位产生

Page 9: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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 ++=

Page 10: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 10页

为了利于具体实现,常常定义一些中间信号(注意它们与 Cin 无关):

进位产生(Generate)信号:

进位取消(Delete) 信号:

进位传播 (Propagate) 信号: 或

ABG =

BAD−−

=

BAP +=BAP ⊕=C inPGPGoutCarry +=− ),(

C inPPGS ⊕=),(

同样可以建立起 S 和 Cout 与 D、P 之间的关系

进位产生、进位取消、进位传播信号

Page 11: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 11页

(2)组合逻辑加法器:1. 复杂门:

CBACBACBAABCSUM +⋅+⋅+= 16个管子ACBCABCarry ++= 10个管子

反相(每个反相器 2 个管子) 6 个管子

共 32 个管子(省管子,但管子串联)

Page 12: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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

Page 13: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 13页

该电路的特点:

(1)利用 信号来产生 ,不用 门,在不减慢

进位产生的情况下可减少管子数(共 28 个管子)

(2)在“ 进位产生”与“ 和位产生 ”电路中存在很长的串联 PMOS 管,

进位输出信号的负载包括本级的两个扩散电容和驱动下一级的

六个栅电容以及布线电容。

(3) 的比 迟产生。

(4)使进位路径的延时减到最小是设计高速加法器的主要目标:

1. 连接 Cin 的管子(关键路径上的管子)尽可能放在靠近门的

输出端

2. 在这一加法器的进位链中可以利用加法器的反相特性来消除

反相门。

outCarry − SUM XOR

SUM Carry

CCbCaba

CCba

outinin

SUMinbain

=⋅+⋅+⋅

=⊕⊕=⊕⊕

____

__

Page 14: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 14页

A B

S

CoCi FA

A B

S

CoCi FA

加法器的反相特性

CCbCaba

CCba

outinin

SUMinbain

=⋅+⋅+⋅

=⊕⊕=⊕⊕

____

__

Page 15: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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)

Page 16: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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

Page 17: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 17页

结构优化

Page 18: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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 个晶体管

Page 19: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 19页

镜像(Mirror) 加法器Stick Diagram

CiA B

VDD

GND

B

Co

A Ci Co Ci A B

S

Page 20: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 20页

该电路的特点:

(1)消除了进位反相门。

(2)巧妙实现进位的“传播/产生/消除”功能,同时减少面积和延时。

(3)不同于传统的 “ 对偶 ” 拓扑,而是 “ 对称 ” 或 “ 镜像 ”,有利于

   版图实现。选择合适的 P 管和 N 管的尺寸,可保证相同的上升和

   下降时间。

(4)在进位产生电路中,最多有两个管子串联。

(5)共 24 个管子。

(6)在设计该加法器的版图时,应当使    节点上的电容较小。

   该节点上的电容包括本级的四个扩散电容和两个栅电容,以及

   下一级加法器的六个栅电容。减少扩散电容特别重要。

(7)连接 Cin 的管子连到接近门的输出端处。

(8)只有在进位电路中的管子需要优化尺寸以改善速度,在“和”位电

   路中的管子可以采用最小尺寸。

CARRY

Page 21: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 21页

镜像加法的尺寸设计

有效扇出 ~ 2

Page 22: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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

=⋅+⋅+⋅

=⊕⊕=⊕⊕

____

__

Page 23: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 23页

全加器的实现

标准CMOS实现 多路开关(Multiplex)实现

Page 24: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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)传输门加法器:

产生“中间信号”与“反相信号”

Page 25: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 25页

传输门加法器:

1. 共24个管子,输出既有 ,又有它们的反信号。

2. 和 的延时时间相同。

3. 无阈值损失

4. 若速度不重要时可用反相器形成

CarrySUM ,SUM Carry

BA⊕

BA⊕

BA⊕BA⊕

BA⊕

Page 26: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 26页

CPL ( Complement Pass Transistor Logic) 加法器

Page 27: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 27页

DPL实现的全加器

Page 28: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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

预充电

放电放电

进位

Page 29: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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. 曼彻斯特进位链的动态实现

动态门实现

Page 30: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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 成平方关系

Page 31: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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

Page 32: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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 成近似线性关系,而不是平方关系

Page 33: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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

Page 34: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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 段加法器 延时的和

(成线性关系)。

Page 35: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 35页

CoCi

Gi

DiPi

Pi

VDD

静态门实现 MUX(传输门)实现

2. 曼彻斯特进位链的静态实现

进位传播信号 P 由传输管实现

进位产生信号 G 由上拉电路实现,

进位清除信号(kill)由下拉电路实现

Page 36: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 36页

(3)加速进位的方法:

1. 加缓冲级(以减少串联放电管的数目)

曼彻斯特进位链的限制:放电时管子串联,

因此有必要 插入缓冲器

2. 旁通进位:

a) 的放电可以直接通过旁通管进行(举例)C i

Page 37: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 37页

b)多路旁通

c)无冲突电路

d)输入端处反相器移至中间

ppppT

pT

ppppT

32103

32

32101

)(=

=

=

{

Page 38: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 38页

3. 静态方式

a)不需要时钟、预充电,可异步工作,一旦给出运算数

进位链马上工作,由此可提高速度。

b)采用 CMOS , 可降低功耗

c)无阈值损失

d)如进位链较长时,应在 … 回路上插入缓冲级。

ba,

CC ii 1, −

Page 39: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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)

Page 40: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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

Page 41: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 41页

逐位(行波)进位与旁路进位(Carry Skip)比较

N

tp

ripple adder

bypass adder

4..8

增加进位旁路一般使面积增加 10% 至 20%

进位旁路加法器的总进位传播时间仍与位数 N 成正比,但比例系数较串行进位加法器为小。N 较小时,因为旁路的额外开销使采用旁路进位收益不大。一般 N 在 4~8 之间采用旁路进位。

Page 42: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 42页

每一旁路级的最优位数取决于(1)旁路进位路径的延时,(2)旁路进位延时与逐位进位延时的比(3)对进位链的缓冲要求等。

Cin Cout

进一步减少延时的方法:

(1)各组的位数依次递增可进一步减少分组数和延时(2) 旁路还可以嵌套(各组位数可以不同)。

第1层旁路

第2层旁路

1 2 3 4 5

Page 43: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 43页

Page 44: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 44页

Page 45: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 45页

延时模型

具有 Carry-Skip 的 Manchester 进位链

Page 46: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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

Page 47: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 47页

条件求和加法器

Page 48: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 48页

条件求和加法器

Page 49: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 49页

条件求和加法器

条件求和电路

Multiplexer

Page 50: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 50页

条件单元

Multiplexer 双端电平恢复电路 单端电平恢复电路

CPL 类型电路实现的

条件求和加法器

同样也可以用DPL电路实现

Page 51: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 51页

TG Conditional Sum

• 传输门串联在一起

• 链的长度 = 1 + log n2

加法器输入 32 位“进位”或“和”信号输出

条件单元 Mux Mux Mux Mux Mux

寄生电容

信号传播方向

Page 52: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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

Page 53: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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%

Page 54: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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)

能否进一步优化?

Page 55: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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才到达本级的进位输入,因此在两条信号

路径之间相差一个延时时间,故本级的位数可以比前一级多一级。

Page 56: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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

(此外,还可考虑利用加法器的反信号特性来加快速度。)

Page 57: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 57页

0 20 40 60N

50

40

30

20

10

tp

逐位进位加法器

线性选择加法器

平方根选择加法器

Page 58: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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

++

+++=

Page 59: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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 )有效。

Page 60: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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,,⋅⋅⋅−+⋅⋅⋅⋅⋅⋅+−−+−+=

−−+−+=−+=

Page 61: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 61页

组合门 CLA

Page 62: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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)

Page 63: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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

Page 64: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 64页

tp∼ Ntp∼ log2(N)

对数CLA

Page 65: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 65页

特点:1. 逻辑层数正比于 因此传播延时也正比于

2. 门的扇入被限制

3. 门的扇出可能大,需加Buffer4. 一旦得到进位,可在常数时间内求得 “和”( )

5. 版图紧凑

Nlog2

S

Nlog2

Page 66: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 66页

BLA加法器部件

Page 67: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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 级

Page 68: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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 加法器

Page 69: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 69页

平均来说 ,一个超前进位加法器要比一个逐位进位加法器

的面积大 100%,但位数较多时,它有快得多的速度。

因此,对于大的位数 N , 首先选用超前进位加法器而不用

进位旁路加法器或进位选择加法器。

究竟 N 为何值时应选用何种加法器,这在很大程度上取决

于工艺和电路设计。

Page 70: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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

(八)树结构加法器

Page 71: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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 加法器

Page 72: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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

Page 73: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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 混合式平行加法器

Page 74: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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

Page 75: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 75页

• 需要较少的晶体管及布线:

》因此功耗较少

• 输入负载较少。

• 但重新生成缺失的进位:

》会产生额外的门延时

》需要额外的扇出

• 复杂的预计算会成为关键路径。

Full Tree 与 Sparse Tree 的比较

Sparse tree

Page 76: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 76页

(6)其他树结构

Page 77: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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

进位传播

进位产生

求和

Page 78: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 78页

多米诺CMOS(NMOS)门实现进位链

以进位 为例C3

•••=C3

采用动态电路可减少

电容,因此比静态实

现具有更快的速度

除了进位产生电路以外,其余管子均可采用接近最小尺寸的管子

Page 79: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 79页

• 变换传统的 G,P

晶体管堆叠的限制

Page 80: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 80页

高速 的产生)(3 CC out

Page 81: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 81页

(十)其它加法器

(1)采用 NP-logic 实现加法器

(管子数少,速度快)

(2)NORA 加法器

Page 82: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 82页

(3)MODL(Multi Output Domino Logic)加法器

Page 83: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 83页

(4)CVSL 全加器

Page 84: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 84页

(5)位串联加法器:

由一个加法器、三个移位寄存器和一个一位的Register 构成(硬件、布线少,

的延时相同,完成 n 位加法需 n 个时钟周期)CarrySUM ,

Page 85: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 85页

Φ

Φ

(十一)流水线加法器

流水线结构可消除加法器延时与位数 N 之间的依赖关系:

(1)把寄存器插入在加法器的进位路径上,使加法器的关键

路径和时钟周期减小到产生单个进位与“和”位的路径和

延时。一个 N 位加法器需要 N 个时钟周期,但每个时钟

周期可产生一个结果,这成为“位级”(bit-level )流水线。

(2)NORA 流水线加法器

1. 加法器的偶数位和奇数位分别由 NORA 电路的 块

和 块以及 C MOS实现。

2. 在每一级内部可以采用 NP-逻辑来连接。

3. 进一步可在“进位”产生与“和位”产生之间插入寄存器。

2

Page 86: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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 可以是连续串联,也可以是重叠的两个进位块

Page 87: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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

Page 88: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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)

Page 89: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

2004-11-3 清华大学微电子所《数字大规模集成电路》 周润德 第7章(1)第 89页

DEC的Alpha 21064 中的Hybrid Adder

Page 90: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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 使管子数减少,可使功耗小于

逐位进位加法器。

Page 91: 第七章 数据通路与控制单元 - read.pudn.comread.pudn.com/downloads52/sourcecode/windows/179692... · 2004-11-3 清华大学微电子所《数字大规模集成电路》

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

µ