您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 计算机系统结构实验-单周期CPU
单周期CPU实验要求1.根据给出的指令,使用VerilogHDL代码实现单周期CPU。2.已给出一个参考实现的逻辑图。可按此参考实现的图实现单周期CPU,也可自行实现。3.给出一些关键模块的verilogHDL代码,供大家参考。实验报告要求:a.实验报告的检查开始时间为4月9日(周六),请各组按照通知检查的名单来进行答辩;b.实验报告内容:1.画出CPU的完整电路图。2.给出控制部件的关键代码。3.设计包含所有指令的一个序列来仿真执行并截图。使用XilinxISEDesignSuite创建工程示例1.打开ISEDesignSuite,单击界面左上部分的NewProject按钮。2.在打开的窗口中输入项目名称和路径,点next。3.根据提示选择你所用的开发板的型号、综合工具(XST)、仿真工具(ISim)和你所使用的语言(Verilog),点下一步4.核对一下信息,点finish5.在左上角工程管理区如图处点右键,选择“NewSource”6.选择如图的文件类型,输入文件名称和路径,点next。7.可以在此设置输入输出接口,然后点next。8.添加文件后的工程。9.在代码编辑区域输入代码并保存(图中代码只是示意用),图中的代码调用了一个cu模块,文件名为sccu。10.添加sccu文件,选择如图的文件类型,输入文件名称,点next11.添加sccu文件后的工程,sccu成为sccpu调用的一个模块。使用Isim进行仿真1.如图为一个32位加法器代码,以下将对其进行仿真。2.在工程管理区点击鼠标右键,弹出菜单选择Newsource,弹出界面,输入文件名,选择VerilogTestFixture,打钩addtoproject,单击NEXT3.选择要仿真的文件,点击NEXT。4.点击“FINISH”,就生成一个如下图所示的Verilog测试模块。5.ISE能自动生成测试平台的完整构架,包括所需信号、端口声明以及模块调用的实现。所需要完成的工作就是initial….end模块中的“//Addstimulushere”后面添加测试向量生成代码。。6.这里给出示例代码及注释,代码填写完成后点击保存。7.在工程管理区上部点击“Simulation”;选择要仿真的文件名,过程管理区就会显示“Isimsimlator”;。8.下拉“Isimsimlator”,选择“SimulateBehavioralModel”,单击鼠标右键,选择“ProcessProperties”可修改仿真运行时间等。9.修改后,直接双击“Isimsimlator”中的“SimulateBehavioralModel”进行仿真。可点击工具栏中的“+”及“—”符号调整时间尺度以显示易于观察的波形。可右键单击波形,按图中所示方法以调整数据显示的进制。10.调整好后的波形图,根据填写的仿真文件代码可知,仿真结果正确。CPU的指令集、指令译码示例和控制信号产生示例1.CPU的指令集。2.需要符号扩展/零扩展的指令意义及说明(全部指令的说明参见文档)对于addi/subird,rs1,imme指令//rdrs1+imme(符号拓展)rd是目的寄存器号,立即数要做符号拓展到32位。符号扩展:取imme的最高位的值,用其填充imme的左边所有位至imme成为32位二进制数为止(imme为16位,所以需填充16位)。对于andi/orird,rs1,imme指令//rdrs1opimme(零拓展)因为是逻辑指令,所以是零拓展。零拓展:用0填充imme的左边所有位至imme成为32位二进制数为止(imme为16位,所以需填充16位)。3.单周期CPU控制信号生成及指令译码示例CPU的基本电路图框架和文件的组织结构单周期CPU的参考实现CPU的文件组织结构实验中使用的底层模块的实现1.寄存器堆的电路符号及各信号的意义。2.寄存器堆的代码实现。3.带有异步清零端的D触发器。4.32位加法器。5.2x52x324x32多路选择器的实现。6.32位移位器的实现(ALU需调用此模块)。7.指令存储器IP_ROM的实现。8.数据存储器IP_RAM的实现。
本文标题:计算机系统结构实验-单周期CPU
链接地址:https://www.777doc.com/doc-2043887 .html