杭电 2016 计算机组成原理,杭电计算机组成原理多功能ALU设计实验

本次实验详细介绍了如何使用VerilogHDL设计一个多功能ALU,包括创建工程、编写ALU模块代码、数据选择及输出模块等步骤。通过软件仿真验证了设计的正确性,并在FPGA上进行了硬件测试,最终实现了对32位数据的正确处理。实验结果符合预期,验证了设计的正确性和实用性。
摘要由CSDN通过智能技术生成

《杭电计算机组成原理多功能ALU设计实验》由会员分享,可在线阅读,更多相关《杭电计算机组成原理多功能ALU设计实验(6页珍藏版)》请在人人文库网上搜索。

1、杭州电子科技大学计算机学院实验报告课程名称:计算机组成原理 实验项目:多功能ALU设计实验 指导教师: 实验位置: 姓 名: 班 级: 学 号: 日 期:2015年4月29日 实验目的(1) 学习多功能ALU的工作原理,掌握运算器的设计方法。(2) 掌握运用Verilog HDL进行行为描述与建模的技巧和方法。实验环境Xilinx ISE Design Suite 13.4实验内容(算法、程序、步骤和方法)(1) 创建工程,编写ALU模块代码。(2) 编写对A、B数据进行选择的模块代码。(3) 编写选择输出数据模块代码。(4) 设置顶层文件,并将三个模块代码导入。(5) 设置输入信号,进行软件。

2、仿真并记录仿真波形。(6) 生成BIT文件并下载入FPGA中,进行硬件测试。(7) 记录测试结果。(接上)实验内容(算法、程序、步骤和方法)(1) ALU模块代码,利用三八译码器,将我们将要操作的对象,进行分别的处理。module ALU_TOP(A,B,F,ZF,OF,ALU_OP);input 31:0 A,B;input 2:0 ALU_OP;output ZF,OF;output 31:0 F;reg 31:0 F;reg ZF,OF;reg 5:0 i;reg C;reg 32:0 CF;always (ALU_OP or A or B)begincase(ALU_OP)3b000:。

3、begin CF=A&B; end3b001:begin CF=A|B; end3b010:begin CF=AB; end3b011:begin CF=AB; end3b100:begin CF=A+B; end3b101:begin CF=A-B; end3b110:begin CF=(AB); end3b111:begin CF=BA; endendcaseF31:0=CF31:0;C=CF32;ZF=0;for(i=0;i32;i=i+1)ZF=ZF|Fi;ZF=ZF;OF=A31B31F31C;endendmodule(2) 输入数据选择模块代码,根据实验指导书上的对于32位数据的处。

4、理方式。module Choice(AB_SW,A,B);input 2:0 AB_SW;output 31:0 A,B;reg 31:0 A,B;wire 2:0 AB_SW;always ( * )begincase(AB_SW)3b000:begin A=32h0000_0000;B=32h0000_0000;end3b001:begin A=32h0000_0003;B=32h0000_0607;end3b010:begin A=32h8000_0000;B=32h8000_0000;end3b011:begin A=32h7FFF_FFFF;B=32h7FFF_FFFF;end3b1。

5、00:begin A=32hFFFF_FFFF;B=32hFFFF_FFFF;end3b101:begin A=32h8000_0000;B=32hFFFF_FFFF;end3b110:begin A=32hFFFF_FFFF;B=32h8000_0000;end3b111:begin A=32h1234_5678;B=32h3333_2222;enddefault:begin A=32h9ABC_DEF0;B=32h1111_2222;endendcaseendendmodule(3) 输出数据选择模块代码,根据实验指导书上的对于32位数据的处理方式。module CLED(F_LED_SW。

6、,LED,F,ZF,OF);input 31:0 F;input ZF,OF;input 2:0 F_LED_SW;output 7:0 LED;reg 7:0 LED;wire 31:0 F;wire 2:0 F_LED_SW;wire ZF,OF;always ( * )begincase(F_LED_SW)3b000:LED=F7:0;3b001:LED=F15:8;3b010:LED=F23:16;3b011:LED=F31:24;default:begin LED7=ZF;LED0=OF;LED6:1=6b0;endendcaseendendmodule(4) 顶层设计模块代码:mo。

7、dule ALU(AB_SW,ALU_OP,F_LED_SW,LED);input 2:0 AB_SW,ALU_OP,F_LED_SW;output 7:0 LED;wire 2:0 AB_SW,ALU_OP,F_LED_SW;wire 31:0 A,B,F;wire ZF,OF;wire 7:0 LED;Choice C1(AB_SW,A,B);ALU_TOP A1(A,B,F,ZF,OF,ALU_OP);CLED C2(F_LED_SW,LED,F,ZF,OF);endmodule数据记录和计算仿真波形:结论(结果)实验的结果满足要求,在板子上正确的体现。数值比较大,我们利用了计算机上的自带的程序员高级计算器验证了我们的实验的正确性。试验心得与小结本实验,根据实验报告解决处理32位数据输入的办法,输出的办法,我们可以很好的利用板子的自身的按钮,展开我们的实验,并且需要很好的调用我们编写的各个模块的,在板子上展现出了处理后的正确的结果。面对环境问题的时候我们可以想象出不同的解决的方案,可以代替现有的条件的不足,也是一个比较好的解决的思路。指导教师评议成绩评定: 指导教师签名。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
倾情奉献,完全可以照抄。实验一 运算器实验实验二 移位运算实验实验三 存储器读写和总线控制实验附加实验 总线控制实验实验五 微程序设计实验 一、实验目的: 1. 掌握运算器的组成及工作原理; 2. 了解4位函数发生器74LS181的组合功能,熟悉运算器执行算术操作和逻辑操作的具体实现过程; 3. 验证带进位控制的74LS181的功能。 二、预习要求: 1. 复习本次实验所用的各种数字集成电路的性能及工作原理; 2. 预习实验步骤,了解实验中要求的注意之处。 三、实验设备: EL-JY-II型计算机组成原理实验系统一套,排线若干。 ... ... ... 八、行为结果及分析: 实验数据记录如下表: DR1 DR2 S3S2S1S0 M=0(算术运算) M=1 Cn=1无进位 Cn=0有进位 (逻辑运算) 理论值 实验值 理论值 实验值 理论值 实验值 04H 06H 0 0 0 0 F=(04) F=(04) F=(05) F=(05) F=(05) F=(05) 04H 06H 0 0 0 1 F=(0A) F=(0A) F=(0B) F=(0B) F=(FC) F=(FC) 04H 06H 0 0 1 0 F=(FD) F=(FD) F=(FE) F=(FE) F=(00) F=(00) 04H 06H 0 0 1 1 F=(FF) F=(FF) F=(00) F=(00) F=(FD) F=(FD) 04H 06H 0 1 0 0 F=(04) F=(04) F=(05) F=(05) F=(F9) F=(F9) 04H 06H 0 1 0 1 F=(0A) F=(0A) F=(0B) F=(0B) F=(F9) F=(F9) 04H 06H 0 1 1 0 F=(FD) F=(FD) F=(FE) F=(FE) F=(FD) F=(FD) 04H 06H 0 1 1 1 F=(FF) F=(FF) F=(00) F=(00) F=(00) F=(00) 经过比较可知实验值与理论值完全一致。 此次实验的线路图的连接不是很难,关键是要搞清楚运算器的原理,不能只是盲目的去连线。在线路连接完成后,就按照要求置数,然后查看结果,与理论值比较。如果没有错误就说明前面的实验中没有出现问题;否则,就要重新对照原理图检查实验,找出错误,重新验证读数。 九、设计心得、体会: 这次课程设计我获益良多,平时我们能见到的都是计算机的外部结构,在计算机组成原理的学习中,逐步对计算机的内部结构有了一些了解,但始终都停留在理论阶段。而在本次实验,让我们自己设计8位运算器并验证验证运算器功能发生器(74LS181)的组合功能,让我对运算器的内部结构有了更深的了解,并且对计算机组成原理也有了更深层次的理解,同时这次课程设计还锻炼了我的实验动手能力,也培养了我的认真负责的科学态度。 这次课程设计要求连线仔细认真,不能有半点错误,在刚做这个实验的时候,我就由于粗心没有正确的设置手动开关SW-B和ALU-B,导致存入的数据不正确。 我在连线过程中也自己总结出了避免出错的方法,就是在接线图上将已经连接好的部分作上记号,连接完后再检查一遍各个分区的条数是否和实验接线图上的一样,如果一样就可以进行下面的实验步骤,就算出错了,改起来也容易多了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值