《单周期CPU的设计与实现》-实验指导书(3)
计算机组成原理实验单周期CPU的设计与实验
寄存器堆的A_addr和B_addr的输入来自指令,分别只有一种输入,W_addr有2种,而Data有4种输入,具体输入见图3-5。
Write A_data A_addr B_addr MUX rs rt rd PC+4 A ALU B We Do A Data Mem Di f W_addr B_data MUX Data 图3-5 寄存器堆的输入
寄存器堆的W_addr和Data端的输入信号由控制器(Control Unit)根据指令译码产生的控制信号reget、jal和m2reg来选择。
在图3-5中模块f的输入为5位的寄存器号reg_dest和jal,输出为W_addr,其Verilog HDL语句为:
Assign W_addr = reg_dest | {5{jal}};
MUX m2reg reget jal 计算机科学与工程学院 9
计算机组成原理实验单周期CPU的设计与实验
4. 基本功能部件的设计与实现
一个CPU主要由ALU(运算器)、控制器、寄存器堆、取指部件及其它基本功能部件等构成。
在本实验中基本功能部件主要有:32位2选1多路选择器、32位4选1多路选择器、5位2选1多路选择器、D触发器、移位器及32位加/减法器。
4.1 32位2选1选择器的设计与实现
多路选择器是计算机逻辑电路设计中最重要的基本逻辑电路之一,也是基于数据选择通路CPU的重要部件。32位2选1选择器的逻辑框图如图4-1所示。
Sel
Function:
A[31:0] B[31:0] M U X O[31:0]
Sel = 0:O = A Sel = 1:O = B
图4-1 32位2选1逻辑框图
1. 设计步骤 ? Step 1:新建工程
启动ISE软件,然后选择菜单File→New Project,弹出New Project Wizard对话框,在对话框中输入工程名Single_Cycle_CPU,并指定工作路径D:\\Single_Cycle_CPU(注:工程名并不需要和工作路径同名),如图4-2所示。
图4-2 New Project Wizard对话框
计算机科学与工程学院 10
计算机组成原理实验单周期CPU的设计与实验
输入完工程名和工作路径后点击Next进入下一页:Project Settings,设置设备和工程属性,选用Spartan6 XC6SLX45芯片,采用CSG484封装,这是本实验开发板所用的芯片,如图4-3所示。
图4-3 Project Settings对话框
在图4-3中点击Next进入下一页:Project Summary,这里显示了新建工程的信息,确认无误后,点击Finish就可以建立一个新的工程了,如图4-4所示。
图4-4 Project Summary对话框
? Step 2:模块(Module)设计
在ISE集成开发环境中(如图4-5所示),在工程管理区任意位置单击鼠标右键,在弹出的菜单中选择New Source命令,会弹出如图4-6所示的New Source Wizard对话框:Select SourceType。
计算机科学与工程学院 11
计算机组成原理实验单周期CPU的设计与实验
工程管理区
源代码编辑区
过程管理区
信息显示区
图4-5ISE集成开发环境
图4-6Select Source Type对话框
在图4-6中选择Verilog Module,并输入Verilog文件名:MUX32_2_1,代码存放位置(Location)改为D:\\Single_Cycle_CPU\\Code。将代码放在D:\\Single_Cycle_CPU\\Code文件夹中主要是为了方便管理。然后点击Next按钮进入端口定义对话框:Define Module,如图4-7所示。
图4-7Define Module对话框
在图4-7中, Modulename栏用于输入模块名,这里是MUX32_2_1,下面的列表框用于端口的定义。Port Name表示端口名称,Direction表示端口方向(可选择为input、
计算机科学与工程学院
12
计算机组成原理实验单周期CPU的设计与实验
output或inout),MSB表示信号最高位,LSB表示信号最低位,对于单信号的MSB和LSB不用填写。端口定义这一步略过,在源程序中自行添加。定义完端口后,点击Next按钮进入下一步,然后点击Finish按钮完成模块创建。
输入模块代码:
module MUX32_2_1(
input [31:0] A, input [31:0] B, input Sel, output[31:0] O );
assign O = Sel? B : A; endmodule
代码输入完成后,首先检查Verilog HDL语法:在工程管理区选中要检查的模块,在过程管理区双击Synthesize – XST→Check Syntax。如果有语法错误,会在信息显示区给出指示,请检查调试。如果没有语法错误,在模拟仿真前要进行Verilog HDL代码综合。
? Step 3:综合(Synthesize)
所谓综合,就是将HDL语言、原理图等设计输入翻译成由与、或、非门和RAM、触发器等基本逻辑单元的逻辑连接(网表),并根据目标和要求(约束条件)优化生成的RTL(Real Time Logistics)层连接。
完成了设计输入及语法检查后就可以进行综合。在工程管理区的View中选择Implementation,并选中要综合的模块MUX32_2_1,然后在过程管理区双击Synthesize-XST,就开始综合过程,如图4-8所示。
图4-8Running: Synthesis
综合错误会在信息显示区给出指示,如果代码过于行为化而不能转换成电路,称为不可综合代码,表示ISE无法转换成对应的电路,需要修改你的设计代码。如果综合通过,表示你设计的代码可以转换成RTL层描述,称为可综合代码。你可以通过View RTL Schematic查看综合后的RTL层电路,如图4-9所示。
计算机科学与工程学院
13
…… 此处隐藏:825字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [说明书]浅谈视觉传达设计中的色彩艺术
- [说明书]数据库原理-实验8-查询优化
- [说明书]临时用电施工组织设计
- [说明书]反假币考试试题第二套(人民币)
- [说明书]《建设工程监理规范》-2014.3.1实施
- [说明书]筋出槽,骨错缝病机诠释
- [说明书]百度预计来路对网站权重有多大影响
- [说明书]房屋面积测绘细则
- [说明书]计算机控制技术填空题汇总
- [说明书]乡镇卫生院(社区中心)死亡医学证明管
- [说明书]2013尾矿工实操试题
- [说明书]2015事业单位面试备考:贵州省事业单位
- [说明书](目录)2017-2022年半导体材料市场发
- [说明书]浙江省制造业发展“十三五”规划
- [说明书]干部选拔任用工作情况的自查报告
- [说明书]《发电厂电气部分》课后部分问答题整理
- [说明书]中国建立政府成本会计制度的思考
- [说明书]中国文化输出的现状及挑战-100分
- [说明书]通信原理实验指导(13-9)
- [说明书]HSF培训试卷(有害物质培训考试试题)
- 高中地理必修一:2.3《大气环境之六_气
- 新人教版八年级数学上期末总复习精品优
- WEB应用托管平台系统架构
- 《应用文写作》期末试卷
- 2017年秋九年级数学上册24.3正多边形和
- _空心村_形态特征与生成机理分析_以河
- 北师大版生物七年级下册12章2节感受器
- 社区卫生服务中心主任职责
- 广东省2014届广州二模材料作文“求道”
- 完整户口本英文翻译模板
- 2015年液化天然气LNG市场调研及发展趋
- 农村学校教育发展新
- 2014年注册税务师税法(Ⅱ)考试试题及答
- 东方大学俄语新版第5册第-7课课文翻译
- 路基路面工程课程设计1
- 219亩项目2011营销策略
- 第1篇 贸易术语-EXW、FCA、FAS
- 年会或大型活动防疫应急预案
- 改善提案(合理化建议)
- 初三英语第四单元ppt




