欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOCX文档下载
 

杭电计组实验8

  • 资源ID:189016820       资源大小:127.67KB        全文页数:10页
  • 资源格式: DOCX        下载积分:15积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要15积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

杭电计组实验8

杭州电子科技大学计算机学院实验报告实验项目:课程名称:计算机组成原理与系统结构设计姓名:学号:同组姓名:学号:实验位置(机号):自己的笔记本实验日期:指导教师:实验 内容 (算 法、程 序、 步骤 和方 法)一、实验目的(1)掌握灵活应用Verilog HDL进行各种描述与建模的技巧和方法。(2)学习在ISE中设计生成M恶魔人员IP核的方法。(3)学习存储器的结构及读写原理,掌握存储器的设计方法。二、实验仪器ISE工具软件三、步骤、方法在实验三六的基础上,编写CPU模块,实现8条指定的R型指令。(1)启动ISE工具软件,选择File->New Project,输入工程名shiyan8,默认选择后,点击 Next按钮,确认工程信息后点击Finish按钮,创建一个完整的工程(2)新建一个工程,将实验二实现的ALU模块,实验四实现的寄存器模块,实验七实现 的指令存储器和取指令模块的七文件复制到工程目录下,并添加到工程中。(3)修改寄存器模块,以使r0内容恒置全零且只读。(4)复制实验七的指令存储器模块的ipcore_dir目录至新工程,并添加ROM_B.xco文件; 再修改ROM_B的初始化关联文件为新工程下的*.coe文件。(7)同样类似创建shiyan8的CPU模块,完成创建后。编辑程序源代码,引用ALU模块、 寄存器堆模块,取指令模块实例。并定义一组信号将各模块有序连接。然后编译。并进行 运行,观察是否正确。(9)在工程官理区将View类型设置成Simulation,在任意位置右击,选择New Source命 令,选择Verilog Test Fixture选项。点击Next,点击Finish,完成。编写实shiyan8的仿真 代码,观察仿真波形,如果验证逻辑有误,则修改代码,重新编译,仿真,直至正确。(10)由于实验八并未链接实验板,所以后面的链接实验板的步骤此处没有。一,操作过程实验过程和描述:1、PC模块module pc(inst_code,clk,reset,PC,PC_new);input clk;output wire 31:0inst_code;input reset;output reg31:0PC;output 31:0PC_new;assign PC_new=PC+4;rom FA0(clk,PC7:2,inst_code);always(posedge clk or posedge reset)beginif(reset) begin PC<=32'H00000000;endelse begin PC<=PC_new;endend2、ROM模块module rom(clk,addr,douta);input clk;操作过程及结果input 7:2addr;output 31:0douta;rom_a your_instance_name (.clka(clk), / input clka.addra(addr7:2), / input 5 : 0 addra.douta(douta) / output 31 : 0 douta);Endmodule3译码器模块module yimaqi(OP,func,write_reg,ALU_OP);input 5:0OP;input 5:0func;output reg write_reg;output reg 2:0ALU_OP;always(*)beginif(OP=6'b000000)begincase(func)6'b100000:ALU_OP=3'B100;6'b100010:ALU_OP=3'B101;6'b100100:ALU_OP=3'B000;6'b100101:ALU_OP=3'B001;6'b100110:ALU OP=3'B010;6'b100111:ALU_OP=3'B011;6'b101011:ALU_OP=3'B110;6'b000100:ALU_OP=3'B111;endcasewrite_reg=(func=0)?1'b0:1'b1;endendendmodule4、寄存器模块modulejicunqidui(R_Addr_A,R_Addr_B,Clk,W_Addr,W_Data,R_Data_A,R_Data_B,Reset,Write_reg); input Clk,Reset;input wire Write_reg;input wire4:0R_Addr_A;input wire4:0W_Addr;input wire4:0R_Addr_B;input wire31:0W_Data;reg 31:0REG_Files31:0;output wire0:31R_Data_A;output wire0:31R_Data_B;integer i=0;always(posedge Clk or posedge Reset)beginif(Reset)beginfor(i=0;i<=31;i=i+1)REG_Filesi<=32'b0;endelsebeginif(Write_reg) REG_FilesW_Addr<=W_Data;endendassign R_Data_A=REG_FilesR_Addr_A;assign R_Data_B=REG_FilesR_Addr_B;Endmodule5、ALUmodule ALU(A,B,ALU_OP,F,ZF,OF);input 31:0A;input 31:0B;input 2:0ALU OP;output reg ZF,OF;reg OF1,OF2;output reg31:0F;always(*)begincase(ALU_OP)3'b000:begin F=A&B;ZF=(F=32'b0)?1:0;end3'b001:begin F=AIB;ZF=(F=32'b0)?1:0;end3'b010:begin F=AAB;ZF=(F=32'b0)?1:0;end3'b011:begin F=(AIB);ZF=(F=32'b0)?1:0;end3'b100:begin OF1,F=A+B+0;ZF=(F=32'b0)?1:0;OF=OF1AF31;end3'b101:begin OF2,F=A+(B)+1;ZF=(F=32'b0)?1:0;OF=OF2AF31;end3'b110:begin F=A<B?1:0;ZF=(F=32'b0)?1:0;end3'b111:begin F=(BvvA);ZF=(F=32'b0)?1:0;endendcaseendendmodule仿真代码实验8的仿真forever #50 clk=clk;寄存器堆的仿真#100;Clk = 1;Reset = 0;R_Addr_A = 0;R_Addr_B = 0;W_Addr = 5'b00001;Write_reg = 1;W_Data = 32'h1111_1111;#100;Clk = 0;Reset = 0;R_Addr_A = 0;R_Addr_B = 0;W_Addr = 5'b00001;Write_reg = 1;W_Data = 32'h1111_1111;#100;Clk = 1;Reset = 0;R Addr A = 0;R_Addr_B = 0;W_Addr = 5'b00010;Write_reg = 1;W_Data = 32'h2222_2222;#100;Clk = 0;Reset = 0;R_Addr_A = 5'b00001;R_Addr_B = 5'b00010;W_Addr = 0;Write_reg = 0;W_Data = 0;#100;Clk = 0;Reset = 1;R_Addr_A = 5'b00001;R_Addr_B = 5'b00010;W_Addr = 0;Write_reg = 0;W_Data = 0;RTL图shiyan8elklnsL_<ode(31:0)华 1:0)PC31:0)PC new31:0Jw data31:0)OFZFshiyan8二、结果L G39 hevslwDDDOOOOC H XKKXXXZXDDDOOOOODDDOOOOO KX DDDOOOOO DDD00004D1:4 B. S3E< ns思考题:序号指令执行结果标志结论100000827FFFFFFFF00正确20001102b0000000100正确3004218200000000200正确4006220200000000300正确5008328200000000500正确600a330200000000700正确7004638040000000E00正确800a648200000700000正确901264004FFFF8FFF00正确1000284826FFFF8FFE00正确110121502000006FF200正确1201075822FFFF900E00正确1300e86022FFFF800E00正确14012c6824FFFF9FFF00正确15012c70250000000F00正确1600c77825FFFFFFF000正确其实在做这个实验八一一实现R型指令的CPU设计实验时,我们可以看到其实实验八实验体会就是前面这些实验的集合和总结,在实验八的CPU模块中,调用了实验三的ALU模块, 实验四的寄存器堆模块,实验七的取指令模块。它将这些模块进行了互联,并添加了指令 译码与控制部件。其实编写实验八的过程也就是将前面所有的实验进行一次应用和巩固的过程。当然了,在 这个实验中同样涉及到了 IP核的应用。在这个实验八编写完成后,我收获了很多。实验步骤写的时候,最好自己按照所做步骤写,二人不要一模一样。成绩:指导教师签名:指导教师评议

注意事项

本文(杭电计组实验8)为本站会员(ba****u)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!