Logism MIPS ALU的设计
【实验任务】
一、8位可控加减法器
结合给定一位加法器,设计8位串行加减法器。(补码运算)
二、4位线性进位74182
设计超前进位产生器74182。
三、4位快速加法器
结合超前进位产生器与所学知识,设计4位并行的快速加法器。
四、16位快速加法器。
结合超前进位产生器和4位并行快速加法器,设计16位并行快速加法器。
五、32位快速加法器
结合超前进位产生器和4位/16位并行快速加法器,设计32位并行快速加法器。
六、算数逻辑运算单元ALU
设计具有13个指定功能的算数逻辑运算单元ALU

【实验进度表格】
一、8位可控加减法器
1、结合所给的一位加法器,复制八个将其首位拼接起来。
2、由于要求能控制加法和减法,结合其为补码运算,将y每一位的输入对sub求异或,sub=1的时候,输入的数据即为-y的反码,再将sub送入预先进位位,实现了对y操作数诸位取反和末尾加一的过程,从而完成减法操作
电路图如下:


二、4位线性进位74182
n位串行加法电路中数与仅为输出的逻辑表达式如下:

假设,,上式可以转换为

从而可得到每一位的进位生成函数和进位传递函数。
电路图如下:

三、4位快速加法器
我们有,,结合74182
电路图如下:

四、16位快速加法器。
结合四位快速加法器和74182
电路图如下:

五、32位快速加法器
结合四位快速加法器和74182
电路图如下:

六、算数逻辑运算单元ALU
1、首先将指令分离出来

2、运用自带的移位器对0、1、2号功能做移位

3、运用自带的乘法器和除法器完成3、4号功能要求的乘法、除法运算。

4、运用32位加减法运算器,结合无符号溢出位进位/借位,有符号溢出为最高位和次高位的异或运算,结合分离出来的5和6,实现5、6号功能。

5、运用自带的32位逻辑门完成7、8、9、10号功能

6、运用自带的比较器完成11、12号功能

比较器的输出位宽为1,需要用位扩展器将其扩展为32位(高位补0)

7、运用数据选择器将所有输出拼起来

总电路图如下:

测试结果如下:

【设计过程、实验心得、意见建议】
本次实验设计了CPU中的ALU,设计的时候要注意在使用系统自带的运算器的时候注意调整其属性(移位类型,有无符号比较),否则可能会使实验出错。

