当前课程知识点:数字集成电路分析与设计 > Designing Arithmetic Building Blocks I > 4. Adder: Logic Design I > Video
接下来我将介绍逻辑设计考虑
这是4位逐位进位加法器
我们可以通过
一个由P控制的多路选择器进行旁路
使Ci0到Ci3直接连接来绕过这个电路
BP等于P0P1P2P3
这是旁路进位加法器或者进位跳跃加法器
设计思路是如果P0、P1、P2、P3都等于1
Co3直接等于Ci
否则就进位取消或者进位产生
问题是这样有效果吗?
如果选择不是传播
那么这个电路无法起到加速效果?
我们能从这种
结构中获益吗?
我来分析一下,这是16位旁路进位加法器
这是个多路选择器
这里和这里,这是进位输入
来自上一级或这里
这是关键路径
从这里到这里
然后通过多路选择器
然后通过多路选择器到这里
T_adder等于tsteup
即得到P和G的时间
加上Mt_carry,
t_carry为得到
第一级进位的时间
然后加上N/M-1倍的t_bypass
t_bypass代表多路选择器的延时
所以一共有N/M-1个多路选择器
这个,这个和这个
然后加上M-1倍t_carry
这个扣掉的“1”
表示最后一级进位的延时
然后加上t_sum
tsetup是产生P和G所需要的固定时间
t_bypass,通过一级多路选择器的延时
t_carry,一级的进位延时,t_sum,
最后一级计算“和”所需要的时间
我的问题是
这个旁路进位加法器
关键路径的表达式正确吗?
为什么这是关键路径?我们在这里
这里和这里插入
由P0、P1、P2和P3控制的多路选择器
为什么延迟是这个?
看起来有点奇怪
但我可以给你们看一个例子,这样会更清楚
这里是16位旁路进位加法器
这是输入A
这是另一个输入B
这是低位,这是高位
如果A等于1111……16个1
B等于1000……1个1和15个0
因此当进行加法的时候
1先和1相加
这个的关键路径等于这个
选择信号就是
P0P1P2P3,等于0
因此Carry可以通过这条通路
这种情况下
这里的select等于1
因为这里P0P1P2P3等于1
然后通过这个和这个
所以这条红色的路径
实际上是这个情况下的关键路径
在这种情况下就不一样了
你可以看到A等于11111……16个1
B等于10000010……
如果我们进行加法运算
我们先从这一位开始
1+1=0,进位等于1
因为这是组合逻辑
所以我们并行地进行计算
这个接下来通过这里和这里
因为select等于1
同时所以通过这里和这里
因为这是组合逻辑
所以这一点的计算
也已经完成了
所以在这种情况下
我们可以发现
棕线和黑线同时传播
黑线更长
但是黑线
仍然比红线更短
还有个例子
这是A和B
这是1这也是1
所以有三段
这个,这个和这个
这时我们可以看到
蓝线是最长的
然而这个仍然比
上一张胶片中的红线更短
这里我们有两条路径
黑线和红线
虽然这个更长
但是黑线仍然
比上一张中的红线更短
这就是为什么
这是关键路径
这是这个
表达式的示意图
这张胶片展示的是
传统逐位进位加法器
和进位旁路加法器的对比
你可以看到X轴代表位数,Y轴表示传播延时
你可以看到当位数较少时
逐位进位加法器更快
旁路进位加法器的延时增加速度
也就是这条线的斜率
比逐位进位加法器更小
这就为什么当N比较大时
旁路进位加法器的延时
比逐位进位加法器更小
延时相等的交点位于4和8位之间
取决于所使用的工艺
所以当位数大于4时
旁路进位加法器的优势体现出来了
比逐位进位加法器快
接下来我将介绍另一个加法器
叫做线性进位选择加法器
这个加法器的基本思想
是我们可以假设来自上一级的进位输入
例如我们假设
输入信号等于0,或者等于1.
因此我们可以生成
每一位的进位输出
之后我们等到上一级
真正的进位输出到达
再据此在C0和C1见
选择真正的输出
然后再送给“和”产生电路
我来分析这个电路的功能
这是16位线性
进位选择加法器
这是进位选择加法器的关键路径
从这里通过多路选择器到
“和”产生电路
这个电路的延时
可以表示成t_adder=tsetup
+M*t_carry+N/M*tmux+t_sum
M*t_carry代表
从这到这的延时
N/M*tmux代表
信号传输通过
多路选择器的延时
t_sum是最后一级的延时
这个例子是线性进位
选择电路的时间分析
例如我们假设tsetup等于1单位时间
t_carry等于1单位时间
tmux等于1单位时间
t_sum等于1单位时间
这样这是时间1
信号通过0进位
和1进位之后
是5单位时间
然后6单位时间
Ci1到来
然后是7、8、9
最后是10单位时间
所以10单位时间后
我们能得到这个16位线性进位
选择加法器的结果
这里有个问题
你们可以看到在这个情况下
或者在这个情况下
信号需要等待进位输出到来
我们怎么优化这个?
有什么办法能让我们
尽量减少产生“和”的时间?
确实有办法
我刚刚介绍了线性进位选择加法器
接下来我将介绍
平方根进位选择加法器
在这里我们可以看到
我们假设在第一级有两位
第二级有3位
第三级4位
这里有5位
这是20位平方根
进位选择加法器
在3单位时间时
来自前一级的进位输出到来
4单位时间时这个信号来到这
同时这个的进位输出到来
在5单位时间时这也是一样的
最后你会发现
只需要9单位时间
就能获得20位平方根
进位选择加法器的结果
因此与这个相比
在线性进位选择加法器中
我们需要使用10单位时间来生成结果
这里我们只用9单位时间就能得到
平方根进位选择加法器的结果
所以在这个例子里
平方根进位选择加法器的关键路径
等于tsetup+M*t_carry
M实际上是第一级的位数
加上sqrt(2*N)*tmux+t_sum
我们需要证明这个公式
那么怎么证明?
就像这样
如果假设位数是N
一共有P级,第一级M位
每级多1位
所以N=M+M+1+…+M+P-1
化简之后
我们可以得到N=M*P+P*(P-1)/2
N等于P^2/2+P*(M-1/2)
所以如果M
比级数P足够小
N约等于P*P/2
将这个公式中的
P用N表示
我们可以得到
tadd=tsetup
+M*t_carry+sqrt(2N)
tmux+t_sum
所以与这个相比
我们就能得到结果
这解释了为什么
tadd与位数的平方根成正比
这张胶片是
逐位进位加法器
线性进位选择加法器
和平方根进位选择加法器的
延时的比较
你可以看到
当位数足够大的时候
平方根加法器的延时最小
-1
--文档
-1.Introduction to Digital IC
--Video
-2.Architecture of Digital Processor
--Video
-3.Full Custom Design Methodology
--Video
-4.Semicustom Design Methodology
--Video
-5.Quality Metric of Digital IC
--Video
-6.Summary and Textbook Reference
--Video
-7.HW--作业
-7.PPT
--补充材料1
--补充材料2
-Key Points Review of Last Lecture
--Video
-1.Introduction
--Video
-2.The Diode
--Video
-3.The MOSFET Transistor
--Video
-4.Secondary Effects
--Video
-5.Summary and Textbook Reference
--Video
-6.HW--作业
-6.PPT
--补充材料
-Key Points Review of Last Lecture
--Video
-1.Introduction
--Video
-2.Static Behavior
--Video
-3.HW--作业
-3.PPT
--补充材料
-Key Points Review of Last Lecture
--Video
-1.Dynamic Behavior I
--Video
-2.Dynamic Behavior II
--Video
-3.Power Dissipation
--Video
-4. Summary and Textbook Reference
--Video
-5.HW--作业
-5.PPT
--补充材料
-1.Introduction
--Video
-2.Static CMOS Design I
--Video
-3.Static CMOS Design II
--Video
-4.HW--作业
-4.PPT
--补充材料
-Key Points Review of Last Lecture
--Video
-1.Static CMOS Design III
--Video
-2.Static CMOS Design IV
--Video
-3.Dynamic CMOS Design
--Video
-4.Summary
--Video
-5.HW--作业
-5.PPT
--补充材料
-1.Introduction I
--Video
-2.Introduction II
--Video
-3. Static Latches and Registers I
--Video
-4.Static Latches and Registers II
--Video
-5.Static Latches and Registers III
--Video
-6.HW--作业
-6.PPT
--补充材料
-1.Key Points Review
--Video
-2.Dynamic Latches and Registers I
--Video
-3.Dynamic Latches and Registers II
--Video
-4.Dynamic Latches and Registers III
--Video
-5.Pulse Register
--Video
-6.Pipelining
--Video
-7.Schmitt Trigger
--Video
-8.Summary and Textbook Reference
--Video
-9.HW--作业
-9.PPT
--补充材料
-1. Introduction
--Video
-2. Adder: Full Adder (Definition)
--Video
-3. Adder: Circuit Design
--Video
-4. Adder: Logic Design I
--Video
-5. Adder: Logic Design II
--Video
-6. Adder: Summary
--Video
-7.HW--作业
-7.PPT
--补充材料
-1. Key Points Review
--Video
-2. Multiplier
--Video
-3. Shifter
--Video
-4. Summary and Textbook Reference
--Video
-5. HW--作业
-5. PPT
--补充材料
-1. Introduction
--Video
-2. Capacitance
--Video
-3. Resistance
--Video
-4. Electrical Wire Models
--Video
-5. Summary and Textbook Reference
--Video
-6. HW--作业
-6. PPT
--补充材料
-1. Introduction
--Video
-2. Capacitive Parasitics
--Video
-3. Capacitive Parasitics II
--Video
-4. Resistive Parasitics
--Video
-5. Summary and Textbook Reference
--Video
-6. HW--作业
-6. PPT
--补充材料
-1. Assignment Solving
--Video
-2. The teaching assistants want to say
--Video
-1. Problem 1
--Video
-2. Problem 2
--Video
-3. Problem 3
--Video
-4. Problem 4
--Video
-5. Problem 5
--Video
-6. Problem 6
--Video
-7. Problem 7
--Video
-1. Problem 8
--Video
-2. Problem 9
--Video
-3. Problem 10
--Video
-4. Problem 11
--Video
-5. Problem 12
--Video
-6. Problem 13
--Video
-7. Problem 14
--Video