算术运算单元ALU的设计与实现
算术运算单元ALU的设计与实现 这是2018年大三时的一个课程设计,在这里把相关技术和用到的知识分享给大家。(由于编者水平有限可能存在错误的地方,欢迎大家指正)题目给出的要求如下: 一、设计题目及要求 要求: 1.进行两个四位二进制数的运算。 2.算术运算:A+B,A-B,A+1,A-1 3.逻辑运算:A and B,A or B,A not, A xor B 注意:从整体考虑设计方案,优化资源的利用 二、设计过程及内容 2.1总体设计 ALU算术运算单元由以下几个部分构成: 图1 ALU运算单元系统结构图 为了尽可能减少资源的使用(或以相同的资源增加更多的功能),在此系统的基础上,增加基于寄存器的分时复用输入模块进行改进。 图2 基于分时复用方法的ALU运算单元结构 ①输入模块 该模块用于两个四位二进制数的输入。通过使用实验箱的拨码开关,输入高低电平,表示二进制的 1和0,四组拨码开关组合可以表示一个四位二进制数。 ②逻辑运算单元 该模块用于两个四位二级制数的逻辑运算。通过列出一位二进制数逻辑运算的真值表(含有四种不同的逻辑运算功能),得出了一位二进制数逻辑运算单元的表达式(已使用卡诺图化简)。将按照逻辑表达式连接好的多个一位二进制逻辑运算单元进行组合,可得到多位二进制数逻辑运算单元。 通过使用“真值表+卡诺图”的方法将所有的逻辑运算的表达式融合在一起进行化简