《杭电计算机组成原理多功能alu设计实验3》由会员分享,可在线阅读,更多相关《杭电计算机组成原理多功能alu设计实验3(6页珍藏版)》请在金锄头文库上搜索。
1、杭州电子科技大学计算机学院实验报告推进学校内涵建设深化年各项工作和“三乐两校”主题教育活动的开展,进一步繁荣校园文化,搭建具有时代特征大学生特点的文化艺术活动平台,促进学院间师生的友谊课程名称:计算机组成原理 实验项目:多功能ALU设计实验 指导教师: 实验位置: 姓 名: 班 级: 学 号: 日 期:2015年4月29日 实验目的(1) 学习多功能ALU的工作原理,掌握运算器的设计方法。(2) 掌握运用Verilog HDL进行行为描述与建模的技巧和方法。实验环境Xilinx ISE Design Suite 13.4实验内容(算法、程序、步骤和方法)(1) 创建工程,编写ALU模块代码。(
2、2) 编写对A、B数据进行选择的模块代码。(3) 编写选择输出数据模块代码。(4) 设置顶层文件,并将三个模块代码导入。(5) 设置输入信号,进行软件仿真并记录仿真波形。(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;r
3、eg 5:0 i;reg C;reg 32:0 CF;always (ALU_OP or A or B)begincase(ALU_OP)3b000: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
4、)ZF=ZF|Fi;ZF=ZF;OF=A31B31F31C;endendmodule(2) 输入数据选择模块代码,根据实验指导书上的对于32位数据的处理方式。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=32h8
5、000_0000;B=32h8000_0000;end3b011:begin A=32h7FFF_FFFF;B=32h7FFF_FFFF;end3b100: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;ende
6、ndcaseendendmodule(3) 输出数据选择模块代码,根据实验指导书上的对于32位数据的处理方式。module CLED(F_LED_SW,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;def
7、ault:begin LED7=ZF;LED0=OF;LED6:1=6b0;endendcaseendendmodule(4) 顶层设计模块代码:module 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位数据输入的办法,输出的办法,我们可以很好的利用板子的自身的按钮,展开我们的实验,并且需要很好的调用我们编写的各个模块的,在板子上展现出了处理后的正确的结果。面对环境问题的时候我们可以想象出不同的解决的方案,可以代替现有的条件的不足,也是一个比较好的解决的思路。指导教师评议成绩评定: 指导教师签名: