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