ImageVerifierCode 换一换
格式:DOCX , 页数:44 ,大小:940.86KB ,
资源ID:2964011      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2964011.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机组成原理实验报告.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机组成原理实验报告.docx

1、计算机组成原理实验报告电子科技大学计算机科学与工程学院标 准 实 验 报 告(实验)课程名称: 计算机组成原理综合实验课程 电子科技大学教务处制表电 子 科 技 大 学实 验 一 报 告学生姓名:ZYZ 学 号:* 指导教师:CAG实验地点:主楼A2-411 实验时间:2016年11月20日一、实验室名称:A2-411。二、实验项目名称:Verilog设计简介。三、实验学时:实验学时是3学时。四、实验原理:Verilog设计硬件电路需要创建工程,模块和约束文件。一位二选一多路器的实验原理图和真值表如下图1所示:二选一多路器的逻辑表达式为,根据逻辑表达式可得电路图如图2所示:五、实验目的通过本实

2、验,掌握用Verilog HDL硬件描述语言设计硬件电路的基本方法和FPGA开发板的基本使用。实现32位2选1多路选择器、5位2选1多路选择器、32位寄存器堆、ALU等部件的设计,掌握其基本方法和技能,加深对所学知识的理解。六、实验内容基本器件的设计:32位2选1多路选择器5位2选1多路选择器32位寄存器堆ALU七、实验器材(设备、元器件):1.安装了Xilinx ISE Design Suite 13.4的PC机一台2.FPGA开发板:Anvyl Spartan6/XC6SLX453.计算机与FPGA开发板通过JTAG(Joint Test Action Group)接口连接,其连接方式如图

3、3所示。图 3 PC计算机与FPGA开发板的连接八、实验步骤1.新建工程(New Project)启动ISE Design Suite 13.4软件,然后选择菜单FileNew Project,弹出New Project Wizard对话框,选择Verilog Module,并在对话框中输入工程名ALU,并指定工作路径D:ALU。2.基本功能器件的设计与实现(1)32位2选1多路选择器在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择New Source命令,创建一个Verilog Module模块,名称为:MUX32_2_1,此时开发环境的工程管理区中将有一个MUX32_2_1(MUX32

4、_2_1.v)模块,双击该模块,然后在源代码编辑区编写实现该模块的代码:module MUX32_2_1(input 31:0 A,input 31:0 B, input Sel,output31:0 O );assign O = Sel? B : A;endmodule代码输入完成后,在工程管理区选中要检查的模块,检查Verilog HDL语法( Synthesize XST Check Syntax)。检查通过后,进行Verilog HDL代码综合。在工程管理区的View中选择Implementation,并选中MUX32_2_1模块,进行综合(Synthesize)。综合通过后,查看RT

5、L层电路(Synthesize XST View RTL Schematic),结果如图4所示。对模块MUX32_2_1进行仿真(Simulation),在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择New Source命令,在New Source Wizard对话框中选择Verilog Test Fixture,输入测试文件名:MUX_32_2_1_tb,单击Next按钮,进入下一个对话框,选择要测试的模块MUX_32_2_1,点击Next按钮,再点击Finish按钮,ISE会在源代码编辑区自动生成测试模块的代码。在模块MUX_32_2_1_tb中添加如下测试代码:module MUX

6、32_2_1_tb; reg 31:0 A; reg 31:0 B; reg Sel; wire 31:0 O; / Instantiate the Unit Under Test (UUT) MUX32_2_1 uut ( .A(A), .B(B), .Sel(Sel), .O(O) ); initial begin / Initialize Inputs A = 0; B = 0; Sel = 0; / Wait 100 ns for global reset to finish #100; / Add stimulus here A = 32000000000; B = 32h00000

7、000; Sel = 1b0; #100; A = 32000000000; B = 32h00000000; Sel = 1b1; #100; A = 32000000000; B = 32h00000001; Sel = 1b1; #100; end endmodule然后进行仿真,将工程管理区中View选项设置为Simulation,仿真参数设置完后,选中MUX32_2_1_tb模块,双击Simulate Behavioral Model,得到仿真结果,如图5所示:图 5模块MUX32_2_1的仿真结果(2)5位2选1多路选择器在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择New

8、Source命令,创建一个Verilog Module模块,名称为:MUX5_2_1,此时开发环境的工程管理区中将有一个MUX5_2_1(MUX5_2_1.v)模块,双击该模块,然后在源代码编辑区编写实现该模块的代码:然后输入其实现代码:module MUX5_2_1(input 4:0 A,input 4:0 B, input Sel,output4:0 O );assign O = Sel? B : A;endmodule在ISE集成开发环境中,进行语法检查( Synthesize XST Check Syntax),检查通过后,对模块MUX5_2_1进行综合(Synthesize XST

9、 View RTL Schematic),得到RTL视图,结果如图6所示。图 6模块MUX5_2_1的综合(Synthesize)结果在ISE集成开发环境中,对模块MUX5_2_1进行仿真(Simulation)。首先输入如下测式代码: module MUX5_2_1_tb; reg 4:0 A; reg 4:0 B; reg Sel; wire 4:0 O; / Instantiate the Unit Under Test (UUT) MUX32_2_1 uut ( .A(A), .B(B), .Sel(Sel), .O(O) ); initial begin / Initialize I

10、nputs A = 0; B = 0; Sel = 0; / Wait 100 ns for global reset to finish #100; / Add stimulus here A = 500001; B = 500000; Sel = 1b0; #100; A = 500001; B = 500000; Sel = 1b1; #100; A = 500000; B = 500001; Sel = 1b1; #100; end endmodule然后进行仿真,仿真结果如图7所示。图 7模块MUX32_2_1的仿真结果(3)32位寄存器堆在工程管理区任意位置单击鼠标右键,在弹出的菜

11、单中选择New Source命令,创建一个Verilog Module模块,名称为:RegFile,输入其实现代码: module RegFile( input 4:0 Rn1, Rn2, Wn, input Write, input 31:0 Wd, output 31:0 A, B, input Clock ); reg 31:0 Register1:31; assign A = ( Rn1 = 0 )? 0: RegisterRn1; assign B = ( Rn2 = 0 )? 0: RegisterRn2; always ( posedge Clock) begin if (Wri

12、te) & ( Wn != 0) RegisterWn = Wd; end endmodule语法通过后,对模块RegFile进行综合(Synthesize XST View RTL Schematic),得到RTL视图,结果如图8所示。图 8模块RegFile的综合(Synthesize)结果进行语法检查( Synthesize XST Check Syntax),检查通过后,对模块RegFile进行仿真(Simulation),输入如下测式代码: module RegFile_tb; / Inputs reg 4:0 Rn1; reg 4:0 Rn2; reg 4:0 Wn; reg Wr

13、ite; reg 31:0 Wd; reg Clock; / Outputs wire 31:0 A; wire 31:0 B; / Instantiate the Unit Under Test (UUT) RegFiel uut ( .Rn1(Rn1), .Rn2(Rn2), .Wn(Wn), .Write(Write), .Wd(Wd), .A(A), .B(B), .Clock(Clock) ); initial begin / Initialize Inputs Rn1 = 0; Rn2 = 0; Wn = 0; Write = 0; Wd = 0; Clock = 0; / Wai

14、t 100 ns for global reset to finish #100; / Add stimulus here Rn1 = 0; Rn2 = 1; Wn = 1; Write = 1; Wd = 2; Clock = 1; / Wait 100 ns for global reset to finish #100; Rn1 = 0; Rn2 = 0; Wn = 2; Write = 1; Wd = 3; Clock = 1; / Wait 100 ns for global reset to finish #100; Rn1 = 1; Rn2 = 0; Wn = 0; Write = 0; Wd = 1; Clock = 1; / Wait 100 ns for

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1