- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九讲简化的RISC CPU设计
简化的 RISC CPU设计
--复杂数字系统设计实践 --
前言:
在前面的各章中我们已经学习了VerilogHDL的基本语法、简单组合逻辑和简单时序逻辑模块的编写、Top-Down设计方法、还学习了可综合风格的组合逻辑和有限状态机的设计,其中EEPROM读写器的设计实质上是一个较复杂的嵌套的有限状态机的设计,它是根据我们已完成的实际工程项目,为教学目的改写而来的,可以说已是真实的设计。在本章中, 我们将介绍一个经过简化的用于教学目的的精简指令集(RISC)CPU的原理和功能,并经过自己的努力,完成它的设计和验证,以此来学习这种新设计方法,并掌握这种利用Verilog硬件描述语言的高层次设计方法。
17.1 课题的来由和设计环境介绍:
在本章中,我们将通过自己动脑筋,设计出一个CPU。这个CPU是一个简化的专门为教学目的而设计的RISC_CPU。 在设计中我们不但关心 CPU 总体设计的合理性, 而且还使得构成这个RISC_CPU的每一个模块不仅是可仿真的也都可以综合成门级网表。因而从物理意义上说,这也是一个能真正通过具体逻辑电路结构而实现的CPU。为了能在这个虚拟的CPU上运行较为复杂的程序并进行仿真, 我们把寻址空间规定为8K(即15位地址线)字节。
下面让我们一步一步地来设计这样一个CPU,并进行仿真和综合,从中我们可以体会到这种设计方法的潜力。本章中的VerilogHDL程序都是我们自己为教学目的而编写的,全部程序在CADENCE公司的Verilog-XL环境下和 Mentor 公司的ModelSim 环境下用Verilog语言进行了仿真, 通过了三套汇编程序的运行测试,并分别用Synplify 等综合器针对不同的FPGA进行了综合。分别在Xilinx和Altera公司的的布局布线工具在Xilinx3098上和Altera Flex10K10实现了布线。 顺利地通过RTL级仿真、综合后门级网表仿真以及布线后的门级结构仿真。这个 CPU 模型只是一个教学模型, 设计也不一定合理, 只是从原理上说明了一个简单的RISC _CPU是如何构成的。我们在这里介绍它的目的是想说明以下两点:1)Verilog HDL仿真和综合工具的潜力;2)本文介绍的设计方法对软硬件联合设计是有重要意义的。我们也希望这一章能引起对 CPU 原理和复杂数字逻辑系统设计有兴趣的同学的注意,加入我们的设计队伍。由于我们的经验与学识有限,不足之处敬请读者指正。
17.2.什么是CPU?
CPU 即中央处理单元的英文缩写,它是计算机的核心部件。计算机进行信息处理可分为两个步骤:
将数据和程序(即指令序列)输入到计算机的存储器中。
从第一条指令的地址起开始执行该程序,得到所需结果,结束运行。CPU的作用是协调并控制计算机的各个部件执行程序的指令序列,使其有条不紊地进行。因此它必须具有以下基本功能:
取指令:当程序已在存储器中时,首先根据程序入口地址取出一条程序,为此要发出指令地址及控制信号。
分析指令:即指令译码。是对当前取得的指令进行分析,指出它要求什么操作,并产生相应的操作控制命令。
执行指令:根据分析指令时产生的“操作命令”形成相应的操作控制信号序列,通过运算器,存储器及输入/输出设备的执行,实现每条指令的功能,其中包括对运算结果的处理以及下条指令地址的形成。
将其功能进一步细化,可概括如下:
能对指令进行译码并执行规定的动作;
可以进行算术和逻辑运算;
能与存储器,外设交换数据;
提供整个系统所需要的控制;
尽管各种CPU的性能指标和结构细节各不相同,但它们所能完成的基本功能相同。由功能分析,可知任何一种CPU内部结构至少应包含下面这些部件:
算术逻辑运算部件(ALU),
累加器,
程序计数器,
指令寄存器,译码器,
时序和控制部件。
RISC 即精简指令集计算机(Reduced Instruction Set Computer)的缩写。它是一种八十年代才出现的CPU,与一般的CPU 相比不仅只是简化了指令系统,而且是通过简化指令系统使计算机的结构更加简单合理,从而提高了运算速度。从实现的途径看,RISC_CPU与一般的CPU的不同处在于:它的时序控制信号形成部件是用硬布线逻辑实现的而不是采用微程序控制的方式。所谓硬布线逻辑也就是用触发器和逻辑门直接连线所构成的状态机和组合逻辑,故产生控制序列的速度比用微程序控制方式快得多,因为这样做省去了读取微指令的时间。RISC_CPU也包括上述这些部件,下面就详细介绍一个简化的用于教学目的的RISC_CPU的可综合VerilogHDL模型的设计和仿真过程。
17.3. RISC CPU结构
RISC_CPU是一个复杂的数字逻辑电路,但是它的基本部件的逻辑并不复杂。我们可把它分成八个基本部件来考虑:
时钟发生器
文档评论(0)