- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于VHDL的16位CPU设计
数字系统设计课程设计实验报告
基于VHDL的16位CPU设计
学 院 电子与信息学院
专 业 集成电路设计与系统集成
学生姓名
学 号 9
指导教师
提交日期 2011-02-27
基于VHDL的16位CPU设计 ………………………………………………………………………………………………3
一、 实验目的 3
二、 什么是CPU 3
三、 整体的实验原理图 7
四、各模块的设计分析和设计思路 7
1、时钟发生器 7
2、指令寄存器 7
3、累加器 8
4、算术运算器 8
5、数据控制器 8
6、地址多路器 8
7、程序计数器 8
8、状态控制器 9
9、地址译码器 13
10、RAM和ROM 13
五、各模块设计与实现 13
1、时钟发生器 13
2、指令寄存器 14
3、累加器 15
4、算术运算器 16
5、数据控制器 17
6、地址多路器 18
7、程序计数器 18
8、状态控制器 19
9、各模块的整合 23
10、地址多路器 26
11、ROM 27
12、RAM 29
六、各模块的波形仿真与分析 30
1、时钟发生器的仿真 30
2、指令寄存器 30
3、累加器 31
4、算术运算器 31
5、数据控制器 32
6、地址多路器 32
7、程序计数器 32
8、状态控制器 32
9、地址译码器 35
10、ROM 35
11、RAM 36
12、整体的仿真 36
七、程序的下载指导 36
八、实验总结与心得 38
基于VHDL的16位CPU设计
一、 实验目的
1、熟悉16位CPU各模块的工作原理,从而熟悉CPU的工作机理,也加深对单片机以及嵌入式硬件的工作原理。
2、熟练的利用quartus ii 9.0做一些中等难度的课题,增加自己的一些实践经验,熟练VHDL的编程。
3、强化自身的系统设计能力,了解系统设计中的一般步骤,增加处理问题的经验。
4、作为对VHDL 课程的一种总结,考察对数字系统设计掌握的程度。
5、了解VHDL仿真和综合工具的潜力。
6、展示VHDL设计对软硬件联合设计和验证的意义。
二、 什么是CPU
CPU 即中央处理单元的英文缩写,它是计算机的核心部件。计算机进行信息处理可分为两个步骤:
1) 将数据和程序(即指令序列)输入到计算机的存储器中。
2) 从第一条指令的地址起开始执行该程序,得到所需结果,结束运行。CPU的作用是协调并控制计算机的各个部件执行程序的指令序列,使其有条不紊地进行。因此它必须具有以下基本功能:
a)取指令:当程序已在存储器中时,首先根据程序入口地址取出一条程序,为此要发
出指令地址及控制信号。
b)分析指令:即指令译码。是对当前取得的指令进行分析,指出它要求什么操作,并
产生相应的操作控制命令。
c)执行指令:根据分析指令时产生的“操作命令”形成相应的操作控制信号序列,通
过运算器,存储器及输入/输出设备的执行,实现每条指令的功能,其中包括对运算
结果的处理以及下条指令地址的形成。
CPU是一个复杂的数字逻辑电路,但是它的基本部件的逻辑并不复杂。可把它
分成八个基本部件:
1)时钟发生器
2)指令寄存器
3)累加器
4) CPU算术逻辑运算单元
5)数据控制器
6)状态控制器
7)程序计数器
8)地址多路器
各部件的相互连接关系见图 1 CPU结构图,具体的线路连接见图 2 CPU的线路连接。其中时钟发生器利用外来时钟信号进行分频生成一系列时钟信号,送往其他部件用作时钟信号。各部件之间的相互操作关系则由状态控制器来控制。各部件的具体结构和逻辑关系在下面的小节里逐一进行介绍。
图 1 CPU结构图
图 2 CPU的线路连接
三、 整体的实验原理图
图 3 CPU调试电路图
调试CPU 需要外围模块,包括RAM和ROM,以及RAM和ROM 的选择器。这样一个完整的CPU内部电路就出来了。
四、各模块的设计分析和设计思路
1、时钟发生器
时钟发生器利用外来时钟信号clk 来生成一系列时钟信号clk1、fetch、alu_clk 送往CPU的其他部件。其中fetch是外来时钟 clk 的八分频信号。利用fetch的上升沿来触发CPU控制器开始执行一条指令,同时fetch信号还将控制地址多路器输出指令地址和数据地址。clk1信号用作指令寄存器、累加器、状态控制器的时钟信号。alu_clk 则用于触发算术逻辑运算单元。
2、指令寄存器
顾名思义,指令寄存器用于寄存指令。指令寄存器的触发时钟是clk1,在clk1的正沿触发下,寄存器将数据总线送来的指令存入高8位或低8
您可能关注的文档
- 基于PLC的施工升降机控制系统毕业论文开题报告1.doc
- 基于PLC的污水处理系统毕业论文1.doc
- 基于PLC的玻璃搬运机械手系统设计.doc
- 基于PLC的电铜洗涤水箱水温自动控制系统的设计.doc
- 基于PLC的矫正剪板机系统毕业设计1.doc
- 基于PLC的自动切纸机控制系统设计).doc
- 基于PLC的车床电气控制系统设计1.doc
- 基于PLC的钻床加工控制系统设计 毕业设计(论文)1.doc
- 基于PLC的铸坯火焰自动切割系统的设计 毕业设计1.doc
- 基于PLC的门禁系统毕业设计.doc
- AN024_星历原始观测数据协议.pdf
- APM32F051x6x8数据操作说明 V1.6中文.pdf
- AN1086_APM32F4xx_ISP应用笔记中文.pdf
- APM32F051R8 EVAL Board使用调试操作说明V1.0中文.pdf
- APM32F4xxx用户操作说明 V2.2中文.pdf
- APM32F411xCxE 数据操作说明 V1.3中文.pdf
- AN019_NMEA0183协议说明_北云科技.pdf
- AGP21系列电容式薄膜真空规说明书 A1-20240628.pdf
- AHT40温湿度传感器说明书中文版 A1-202406.pdf
- AN1096_APM32F035_HvMOTOR EVAL无感矢量控制方案_V1.1中文.pdf
文档评论(0)