没有合适的资源?快使用搜索试试~ 我知道了~
16位CPU课程设计报告1
需积分: 0 1 下载量 148 浏览量
2022-08-03
17:33:56
上传
评论 1
收藏 840KB PDF 举报
温馨提示
试读
22页
摘要第 1 章 设计目的与要求设计目的.设计要求.实验平台.实现语言.第 2 章 设计原理单周期 CPU .指令的处理过程 .第 3 章 指令系统指令结构.指令
资源详情
资源评论
资源推荐
摘要
本次硬件课程设计基于 Verilog 语言实现了简易 16 位 CPU。指令系统包含了运算
类指令、传送类指令、储存类指令、控制类指令。借助 Quartus II 9.0 软件实现程序的
编写和结果仿真。
关键词: CPU 设计,Verilog
I
目录
摘要 I
第 1 章 设计目的与要求 1
1.1 设计目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 设计要求 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 实验平台 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.4 实现语言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
第 2 章 设计原理 2
2.1 单周期 CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 指令的处理过程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
第 3 章 指令系统 3
3.1 指令结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.2 指令功能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.2.1 运算类指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.2.2 传送类指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2.3 储存类指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2.4 控制类指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2.5 停机指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
第 4 章 详细设计与实现 6
4.1 整体框架 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.2 数据通路 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.3 各功能模块设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.3.1 顶层文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.3.2 PC.v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.3.3 instructionMemory.v . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.3.4 registerFile.v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3.5 ALU.v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.3.6 controlUnit.v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.3.7 dataMemory.v . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.4 RTL 原理图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
第 5 章 结果测试 16
5.1 测试指令集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
硬件课程设计 I
第 1 章 设计目的与要求
1.1 设计目的
1. 掌握 CPU 数据通路图的构成、原理及其设计方法
2. 掌握 CPU 的实现方法,代码实现方法
3. 认识和掌握指令与 CPU 的关系
1.2 设计要求
设计一个 16 位的 CPU。指令系统的指令条数不能少于 10,指令格式不限。
1.3 实验平台
Quartus II 9.0
1.4 实现语言
硬件描述语言——Verilog HDL。
1
硬件课程设计 I
第 2 章 设计原理
2.1 单周期 CPU
单周期 CPU 指的是一条指令的执行在一个时钟周期内完成,然后开始下一条指令
的执行,即一条指令用一个时钟周期完成。电平从低到高变化的瞬间称为时钟上升沿,
两个相邻时钟上升沿之间的时间间隔称为一个时钟周期。时钟周期一般也称振荡周期。
2.2 指令的处理过程
1. 取指令 (IF):根据程序计数器 PC 中的指令地址,从存储器中取出一条指令,同
时,PC 根据指令字长度自动递增产生下一条指令所需要的指令地址,但遇到“地
址转移”指令时,则控制器把“转移地址”送入 PC,当然得到的“地址”需要做
些变换才送入 PC。
2. 指令译码 (ID):对取指令操作中得到的指令进行分析并译码,确定这条指令需要
完成的操作,从而产生相应的操作控制信号,用于驱动执行状态中的各种操作。
3. 指令执行 (EXE):根据指令译码得到的操作控制信号,具体地执行指令动作,然
后转移到结果写回状态。
4. 存储器访问 (MEM):所有需要访问存储器的操作都将在这个步骤中执行,该步骤
给出存储器的数据地址,把数据写入到存储器中数据地址所指定的存储单元或者
从存储器中得到数据地址单元中的数据。
5. 结果写回 (WB):指令执行的结果或者访问存储器中得到的数据写回相应的目的
寄存器中。单周期 CPU,是在一个时钟周期内完成这五个阶段的处理。
图 2.1: 单周期 CPU 指令处理过程
2
剩余21页未读,继续阅读
亚赛大人
- 粉丝: 26
- 资源: 333
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0