电子科技大学计算机科学与工程学院
单周期CPU的设计与实现
实验指导书
[计算机组成原理实验]
张建 2013-12-13
计算机组成原理实验单周期CPU的设计与实验
目录
前言 ................................................................................................................................................................ 1
1.1 实验内容 ......................................................................................................................................... 2 1.2实验要求 .......................................................................................................................................... 2 2. 实验环境 ................................................................................................................................................... 3
2.1 硬件平台 ...................................................................................................................................... 3 2.2 软件平台 ...................................................................................................................................... 3 2.3 实验主要仪器设备连接框图 ....................................................................................................... 4 3. 实验原理 ................................................................................................................................................... 5
3.1 概述 .............................................................................................................................................. 5 3.2 单周期CPU的总体电路 ............................................................................................................. 5 3.3 MIPS指令格式 ............................................................................................................................. 6 3.4 数据路径设计 .............................................................................................................................. 7 3.4.1 下一条指令地址的选择 ......................................................................................................... 7 3.4.2 ALU的输入端......................................................................................................................... 8 3.4.3寄存器堆的输入端.................................................................................................................. 8 4. 基本功能部件的设计与实现 .................................................................................................................. 10
4.1 32位2选1选择器的设计与实现 ............................................................................................. 10 4.2 32位4选1选择器的设计与实现 ............................................................................................. 18 4.3 5位2选1选择器的设计与实现 ............................................................................................... 19 4.4 带有异步清零的32位D触发器的设计与实现 ...................................................................... 19 4.5 移位器的设计 ............................................................................................................................ 20 4.6 32位加/减法器的设计与实现.................................................................................................... 20 5.运算器(ALU)的设计与实现 ............................................................................................................ 21 6.寄存器堆(Register File)的设计与实现 ............................................................................................ 24 7.控制器(Control Unit)的设计与实现 ................................................................................................ 27 8. CPU的封装 .............................................................................................................................................. 30 9. 测试 ......................................................................................................................................................... 32
9.1 指令存储器及测试程序 ............................................................................................................. 32 9.2 数据存储器及测试数据 ............................................................................................................. 33 9.3 仿真测试 .................................................................................................................................... 33 9.4 下载到开发板验证..................................................................................................................... 35 附件: .......................................................................................................................................................... 39
BTN_Anti_Jitter模块 .......................................................................................................................... 39 Hex7seg_decode模块 .......................................................................................................................... 39
计算机组成原理实验单周期CPU的设计与实验
前 言
《计算机组成原理》是计算机科学专业的一门重要专业基础课。在该课程中的理论学习中系统地阐述了计算机各组成部件的工作原理、逻辑实现和设计方法及将各部件连接成整机的方法,计算机硬件与底层软件的接口,培养了学生对计算机硬件系统的分析、开发与设计的基本技能能力。
本实验开设的目的是让学生通过设计一个单周期的CPU,加深对计算机各组成部件功能的理解和掌握,更好地理解计算机的基本工作原理,培养和锻炼学生掌握计算机硬件设计的基本方法和技能。本实验是计算机硬件系列实验的重要实验,是后续计算机系统实验的基础。
本实验的先修课程:《数字逻辑》及《Verilog HDL硬件描述语言》。
对于未修先修课程的学生实验指导教师应对其进行相关知识的培训,培训建议4学时。
本实验所针对的教材:《计算机组成与设计-硬件/软件接口》第4版,(美)David A.
Patterson、John L. Hennessy著,机械工作出版社,2012.1
计算机科学与工程学院 1
计算机组成原理实验单周期CPU的设计与实验
1. 实验内容与要求
1.1 实验内容
1. 本实例所设计CPU的指令格式的拟定; 2. 基本功能部件的设计与实现; 3. CPU各主要功能部件的设计与实现; 4. CPU的封装;
5. 仿真测试及板级测试。
1.2实验要求
1. 设计的CPU能够执行20条整数指令,每条指令的编码长度均为32位; 2. 指令类型应有:计算类型、访问存储器类型、条件转移类型和无条件转移类型; 3. 操作数应有:寄存器操作数、立即数;
4. 测试程应不少于10条,将设计成果仿真测试并起先板级验证。
计算机科学与工程学院 2
计算机组成原理实验单周期CPU的设计与实验
2. 实验环境
2.1硬件平台
本实验所需的硬件主要有:PC计算机和FFPEG实验开发板,具体要要求如下:
1. IBM PC及兼容计算机:内存≥1GB,硬盘空间≥30GB 2. FPGA开发套件,本实验采用的是Anvyl Spartan6/XC6SLX45 3. USB连接线
Anvyl Spartan6/XC6SLX45的主要特点:
? 通用输入接口
14个LED:8个红色,2组“红绿灯”模式8个滑动开关 4个按键
6个7段数码管
2组拨码开关(一组4个) ? 音频接口:I2S Codec接口 ? 视频接口
HDMI输出接口
12比特VGA接口(800×600),使用无源电阻网路 ? USB接口
USB1:JTAG编程及UART
USB2/3:USB设备接口,可接HID设备或U盘 ? 片外存储器
DDR2:256MB SRAM:2MB QSPI Falsh:32MB ? OLED:128×32蓝色显示
? LCD液晶屏:480×272全彩色液晶触摸屏 ? Clock:100MHz单端CMOS晶振
2.2 软件平台
1. 操作系统:Windows XP、Win 7;
2. 开发平台:Xilinx ISE Design Suite 13.4集成开发系统; 3. 编程语言:VerilogHDL硬件描述语言。
计算机科学与工程学院 3