算
算算
算
术
术术
术
逻
逻逻
逻
辑
辑辑
辑
部
部部
部
件
件件
件
设
设设
设
计
计计
计
蒋 小 龙
2001.7.5
1
声
声声
声
明
明明
明
作此资料为本人个人行为,此资料版权为本人所有。
你可以任意使用,但你非经本人允许不得对此资料内容作任何修改。
你因使用此资料所带来任何收益,本人均不染指;因使用此资料所引起的任何不良后果,本人不承担任
何形式的责任。
出版物引用,但请注明!
蒋 小 龙
2001.7.5
2
目
目目
目
录
录录
录
声 明 …………………………………………………………………………………… 1
0、 约定 …………………………………………………………………………………… 3
1、 一位 加法 器 …………………………………………………………………………… 4
2、 4 位加 法 器 …………………………………………………………………………… 4
3、 4 位超 前 进 位链 ……………………………………………………………………… 5
4、 16 位 超前 进 位链 ……………………………………………………………………… 6
5、 更多 位超 前 进位 链 …………………………………………………………………… 8
6、 算术 运算 设 计 ………………………………………………………………………… 9
7、 逻辑 操作 设 计 ………………………………………………………………………… 10
8、 标识 位 ………………………………………………………………………………… 10
9、 设计示例 1 —— 16 位 7 功能算术逻辑部件 …… ……… ……………… …………… 12
10、设计示例 2 —— 4 位16 功能算术逻辑部件 … ……… …………… ………………… 15
后 记 …………………………………………………………………………………… 20
个人介绍 ……………………………………………………………………………… 21
3
0
00
0、约定
、约定、约定
、约定
运算数据:
A:操作数、位串;
B:操作数、位串;
D:结果数据、位串,与操作数位宽同;
Ci:进位、一位,以前操作所产生,本次操作视情况考虑;
Co:进位、一位,本次操作产生;
C:进位、位串,由操作数生成的进位,不会比操作数位宽小;
G:进位生成、位串,与操作数位宽同,具体意义见文中;
P:进位传输、位串, 与操作数位宽同,具体意义见文中。
运算符:
+:对其两边的数据作加法操作: A + B;
-:用左边的数据减去右边的数据作; A - B
-:对跟在其后的数据作取补操作,即用 0 减去跟在其后的数据; - B
&:对其两边的数据按位作与操作; A & B
#:对其两边的数据按位作或操作; A # B
@:对其两边的数据按位作异或操作; A @ B
~:对跟在其后的数据作按位取反操作; ~ B
对运算符的约定只在文中论述的时候有效。
设计示例用 VerilogHDL 语言实现,所有的东西符合 VerilogHDL 语法。如有疑问,请参阅 VerilogHDL
资料。
4
1
11
1、一位加法器
、一位加法器、一位加法器
、一位加法器
考虑一位全加器。如右图示真值表,D、Co 逻辑表达式为:
D = A @ B @ Ci (1-1)
Co = A & B # A & Ci # B & Ci (1-2)
= A & B # (A # B) & Ci (1-3)
不难作出其逻辑图,此处省略。
一位全加器又称“保留进位加法器”。
因其简单,是研究其它高性能、高速加法器的
基础。因其简单、快速,是构成其它高速处理
部件的基本元件。其符号如右。
由真值表可知,若将各位取反,并无影响。
2
22
2、
、、
、4
44
4 位加法器
位加法器位加法器
位加法器
四位加法器可以采用四个一位全加器级连成串行进位加法器。如上图示:
对于这种方式,因高位运算必须等低位进位来到后才能进行。因此,它的延迟非常可观。高速运算肯定
无法胜任。
对串行进位加法器研究可得:运算的延迟是由于进位的延迟。基于此,减小进位的延迟非常有效。
下面讨论的超前进位链能有效减少进位的延迟,它由进位门产生进位,各进位彼此独立,不依赖于进位
传播。因此,它的延迟非常小、速度非常高。
既然进位已经解决,则加法器值
D = A @ B @ C (2-1)
不存在问题。
由此可见,进位的解决是核心。