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