Logism · MIPS运算器设计 实验

实验 MIPS运算器设计

 

 

设计要求:

利用前面实验封装好的32位加法器以及 Logisim 平台中现有运算部件,构建一个32位算术逻辑运算单元(禁用 Logisim 系统自带的加法器,减法器),可支持算术加、减、乘、除,逻辑与、或、非、异或运算、逻辑左移、逻辑右移、算术右移运算,支持常用程序状态标志(有符号溢出 OF 、无符号溢出 UOF ,结果相等 Equal

  1. 搭建【四位先行进位芯片CLA74182】

  2. 在上一步基础上,搭建【4位快速加法器】

  3. 在上一步基础上,搭建【32位快速加法器】

  4. ALU内部功能模块搭建,引脚与各功能如下

        将加、减、乘、除,逻辑与、或、非、异或运算、逻辑左移、逻辑右移、算术右移分别进行运算并得到结果,通过多路选择器将所选运算方式对应的结果给Result,乘除运算时将高位结果或余给Result2,其余情况Result2结果为0

实验目的:

        学生理解算术逻辑运算单元(ALU)的基本构成,掌握 Logisim 中各种运算组件的使用方法,熟悉多路选择器的使用,能利用前述实验完成的 32 位加法器、 Logisim 中的运算组件构造指定规格的 ALU 单元。

方案设计:

        A.宏观设计

                a.  加减法溢出判断
                b.  两数比较模块
                c.  算数 / 逻辑 左右移动 
                d.  基础运算模块
                e.  支持模块-32位加法器
                f.   支持模块-CAL74182芯片
                g.  支持模块-四位快速加法器

        B.实验步骤

从小到大开展电路构建,到ALU设计区进行分模块设计,步步为营

                a.CAL74182


                b.四位快速加法器

 
                c.  32位加法器

 
                d.   ALU-位移模块:y取0-4即可,题目要求

 
                e.  ALU-运算模块


                f.  ALU-溢出检测模块


                g.  ALU-比较模块:结果需要位拓展保持32位


                h.MUX选择输出模块
这里是无奈之举,做好所有运算结果,然后选择部分输出

        C.故障调试

                a.MUX在连线密集时候,出现重叠连线导致提交报错,在编辑布线过程中要格外小心
(MUX连起来时候,结点会变成圆形,有时候会和器件叠加在一起,不拖动极难发觉出错)
                b.对减的时候要取补码处理,忘了又炸了一次
                c.进位溢出判断是一个藏着很深的bug,无符号加减法溢出位永远是0,判断溢出应该是看运真实数值得出
                d.位移取得第5位就可以了,多的不要
 

电路优点:功能丰富,集成度高
电路缺点:我们这个设计是同时启用所有运算部件,最后根据请求来选择输出部分数据;而不是看需要什么运算来启用部分组件,这会导致额外的资源支出

 

成果展示:

心得体会:

        这次搭建的电路极多,设计量大,电路逻辑复杂,bug频出而且极难调整,甚至都没有可用的参考资料,对心理素质是极大的考验;通过严谨的分析和思考,在最终成果上能够有所突破,令我感到慰藉,这是对攻坚精神的最好诠释。通过本次实验深刻理解了各类运算芯片的使用方法,是一次收获颇丰的实践过程。

  • 18
    点赞
  • 225
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
MIPS运算器设计实验是一项涉及到计算机硬件的实验,主要是设计一个能够支持MIPS指令集的运算器。MIPS(Microprocessor without Interlocked Pipeline Stages)指令集是一种精简指令集(RISC)架构,被广泛应用于嵌入式系统、计算机网络、数字图像处理等领域。 MIPS运算器设计实验的具体步骤如下: 1. 确定运算器的基本功能:MIPS运算器主要包括算术逻辑单元(ALU)、寄存器文件、控制单元等,需要确定这些部分的基本功能以及它们之间的连接方式。 2. 设计ALU:ALU是MIPS运算器的核心部件,负责实现各种算术逻辑运算,如加减乘除、按位与、按位或、按位异或等。需要确定ALU的输入输出格式、运算方式以及运算结果的处理方式。 3. 设计寄存器文件:寄存器文件是MIPS运算器的一个重要组成部分,用于存储运算器中的数据和指令。需要确定寄存器文件的大小、输入输出格式以及访问方式。 4. 设计控制单元:控制单元是MIPS运算器的指挥中心,控制各个部件的工作流程,实现指令的解码和执行。需要确定控制单元的输入输出格式、指令解码方式以及控制信号的产生方式。 5. 实现MIPS指令集:根据MIPS指令集的要求,实现各种指令的运算过程,包括算术运算、逻辑运算、分支跳转、数据传输等。 6. 测试和调试:对MIPS运算器进行测试和调试,保证其能够正常运行,并满足设计要求。 以上是MIPS运算器设计实验的基本步骤,需要学生具备一定的计算机硬件基础和编程能力,才能完成该实验
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

影月丶暮风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值