简单U的逻辑设计 .doc
《简单U的逻辑设计 .doc》由会员分享,可在线阅读,更多相关《简单U的逻辑设计 .doc(39页珍藏版)》请在沃文网上搜索。
1、简单CPU的逻辑设计 简单cpu的逻辑设计摘要 基于现场可编程( FPGA) 技术和硬件描述语言VHDL 的设计和综合,通过自顶向下的设计方法和模块化设计思想, 在Quartus 环境下能定制、仿真、下载验证和实现CPU 功能。通过VHDL语言定制了运算器ALU 模块和调用宏模块定制了RAM 模块,介绍了基于FPGA 的CPU 设计方法,并通过初始化程序进行验证,实现了基于FPGA 的CPU 功能,表明基于FPGA 技术在设计CPU 核和大规模集成电路设计方面可根据实际情况定制,具有灵活性、可靠性和可扩展性。关键字 FPGA CPU Quartus 仿真 宏模块一、 设计任务与要求CPU 的设
2、计是计算机组成原理中一个很重要的内容。随着可编程逻辑器件的发展, 利用QuartusII 的软件平台设计一个简单的CPU ,并下载到FPGA/CPLD进行验证,此CPU 所执行的指令可任意添加,通过设计深入了解计算机的各个功能部件的功能及工作原理, 深入了解状态机控制器是如何控制模型机的运行,了解整机动态过程, 及理解计算机从机器指令到微指令的工作原理。要求:(1)完成简单CPU逻辑设计的整体方案设计 (2)完成简单CPU逻辑设计的功能设计 (3)完成简单CPU逻辑设计的仿真验证 (4)完成简单CPU逻辑设计的实际调试 二、方案设计与论证1、可行方案选择与论证CPU即中央处理器,是计算机的核心
3、。CPU主要由运算器、控制器、寄存器组和内部总线等构成。本CPU设计系统中控制器选择状态机控制器方案,而其对应的指令集类型选择CISC。1.1 CPU系统的选择(1)ASIC方案设计ASIC(Application Specific Integrated Circuits,专用集成电路),是指应特定用户要求或特定电子系统的需要而设计、制造的集成电路。ASIC的特点是面向特定用户的需求,品种多、批量少,要求设计和生产周期短,它作为集成电路技术与特定用户的整机或系统技术紧密结合的产物。ASIC是为某个客户定制的芯片,费用高、风险大、周期长。如果要实施这个方案,系统设计就必须考虑成本、周期等问题。(
4、2)基于FPGA设计方案FPGA是Field Programmable Gate Array的简称。FPGA的出现为现代电子产品嵌入式的设计带来了更大的灵活性,更容易实现片上系统(SOC) 。通过在FPGA上嵌入NIOS处理器,再采用C,或C+对各种逻辑器件进行控制。 另外在FPGA上采用VHDL硬件描述语言编写各种逻辑器件的驱动,从而实现各种功能。方案选择与论证:FPGA 开发流程大致为:选定器件,安装软件,设计输入,代码调试(包括管脚定义、时序定义、时序分析),设计仿真(功能仿真、时序仿真)和下载调试。而ASIC 是为某个客户定制的芯片,与FPGA 相比,有非通用的后端设计费、制掩模费、测
5、试费等,故前期成本较高。与传统芯片实现ASIC相比,FPGA具有实现速度快、风险小、可编程、可随时更改升级等一系列优点,因而得到了越来越广泛的应用。基于FPGA的设计可以利用VHDL编程,可在每一步对设计进行仿真,保证每一步设计都可达到要求,使成本更节约,精度更高,开发周期更短; Altera公司开发的QuartusII软件集成了功能强大的宏模块,可以方便地进行调用,以便更快更可靠完成设计工作。因此选择基于FPGA的简单CPU的逻辑设计。 1.2 指令集类型的选择指令系统优化设计有两种截然相反的方向,一个是增强指令的功能,即操作种类多,功能强,把一些原来由软件实现的、常用的功能改用硬件的指令系
6、统来实现,这种计算机系统称为复杂指令系统计算机(Complex Instruction Set Computer,CISC);另一个是20世纪80年代新发展起来的,尽量简化指令功能,提供最必须的操作,指令在一个节拍内执行完成,较复杂的功能用子程序来实现,这种计算机系统称为精简指令系统计算机(Reduced Instruction Set Computer,RISC)。(1)CISC复杂指令系统为了提高操作系统的效率,并尽量缩短指令系统与高级语言的语义差别,在指令系统中增加更多的和更复杂的指令,来使得高级语言的编译更加方便。复杂指令系统计算机CISC的特点是:指令功能强大,指令格式比较复杂,寻址
7、方式丰富,各种指令使用频率相差很大,各种指令执行时间相差也很大。(2)RISC精简指令系统它是在CISC指令系统基础上发展起来的,相对于CISC型CPU ,RISC型CPU不仅精简了指令系统,还采用了一种叫做“超标量和超流水线结构”,大大增加了并行处理能力。RISC的指令格式统一,种类比较少,寻址方式也比复杂指令集少。当然处理速度就提高很多了。目前在中高档服务器中普遍采用这一指令系统的CPU,特别是高档服务器全都采用RISC指令系统的CPU通过以上的对比,本系统选择CISC指令集方案,原因是尽管CISC的实现要比RISC复杂,但是这种复杂主要体现是在指令译码和执行的设计上,而其他的部分没有很大
8、的差异。而对CPU的设计中就应该要对指令译码和执行有一个很好的把握所以我们指令系统设计选择CISC复杂指令系统。三、系统具体设计与实现本系统是基于VHDL状态机控制的16位复杂指令(CISC,Complex Instruction Set Computer)微处理器的设计流程,包括CPU的系统结构设计、基本组成部件设计、指令系统设计和CPU的RTL级仿真与实现,直至在FPGA上的调试运行。与基本传统的微程序控制技术的CPU设计不同,本CPU中指令功能的实现,则是通过用VHDL设计一个控制模块,在控制模块中用状态机的方式来实现各种指令的操作步骤,发出各种时序控制信号,使计算机内部各部件协调工作,
9、从而完成指令的功能。系统具体设计总体框图如图3-1所示。图3-1 系统设计总体框图3.1 CPU工作原理及工作过程1、CPU的工作原理 CPU的内部结构可以分为控制单元,逻辑运算单元和存储单元(包括内部总线及缓冲器)三大部分。CPU的工作原理就像一个工厂对产品的加工过程:进入工厂的原料(程序指令),经过物资分配部门(控制单元)的调度分配,被送往生产线(逻辑运算单元),生产出成品(处理后的数据)后,再存储在仓库(存储单元)中,最后等着拿到市场上去卖(交由应用程序使用)。在这个过程中,我们注意到从控制单元开始,CPU就开始了正式的工作,中间的过程是通过逻辑运算单元来进行运算处理,交到存储单元代表工
10、作的结束。 2、CPU的功能及工作过程 CPU的基本结构、功能及参数CPU主要由运算器、控制器、寄存器组和内部总线等构成。寄存器组用于在指令执行过后存放操作数和中间数据,由运算器完成指令所规定的运算及操作。CPU对数据进行三种基本操作:读取数据、对数据进行处理、然后通常还要把把数据写回到存储器上。 对于最简单的构成,CPU只需要四个部分来实现它对数据的操作:指令、指令指示器、一些寄存器以及算术逻辑单元。 数据与指令在CPU中的运行过程:假设在内存中的数据是最简单的原始数据。首先,指令指针(Instruction Pointer)会通知CPU,将要执行的指令放置在内存中的存储位置。因为内存中的每
11、个存储单元都有编号(称为地址),可以根据这些地址把数据取出,通过地址总线送到控制单元中,指令译码器从指令寄存器IR中拿来指令,翻译成CPU可以执行的形式,然后决定完成该指令需要哪些必要的操作,它将告诉算术逻辑单元(ALU)什么时候计算,告诉指令读取器什么时候获取数值,告诉指令译码器什么时候翻译指令等等。 假如数据被送往算术逻辑单元,数据将会执行指令中规定的算术运算和其他各种运算。当数据处理完毕后,将回到寄存器中,通过不同的指令将数据继续运行或者通过DB总线送到数据缓存器中。基本上,CPU就是这样去执行读出数据、处理数据和往内存写数据3项基本工作。但在通常情况下,一条指令可以包含按明确顺序执行的
12、许多操作,CPU的工作就是执行这些指令,完成一条指令后,CPU的控制单元又将告诉指令读取器从内存中读取下一条指令来执行。这个过程不断快速地重复,快速地执行一条又一条指令,产生你在显示器上所看到的结果。我们很容易想到,在处理这么多指令和数据的同时,由于数据转移时差和CPU处理时差,肯定会出现混乱处理的情况。为了保证每个操作准时发生,CPU需要一个时钟,时钟控制着CPU所执行的每一个动作。时钟就像一个节拍器,它不停地发出脉冲,决定CPU的步调和处理时间,这就是我们所熟悉的CPU的标称速度,也称为主频。3.2 顶层系统设计3.2.1 顶层系统设计图3-2 16位CPU结构框图 1、CPU的结构图如图
13、3-2所示。这是一个采取单总线系统架构的复杂指令系统结构CISC(Complex Instruction Set Computer)的16位CPU。处理器中包含了各种基本器件模块,它们是8个16位的寄存器Reg0Reg7、一个运算器ALU、一个移位寄存器Shifter、一个程序计数器ProgCnt、一个指令寄存器InstrReg、一个比较器Comp、一个地址寄存器AddrReg和一个控制单元Control。这些模块共用一组16位的三态数据总线。 系统采用自顶向下的方法进行设计。顶层设计由微处理器和存储器通过一组双向数据总线连接,它们由一组地址总线和一些控制总线组成。处理器从外存储器中读取指令,
14、并通过执行这些指令来运行程序。这些指令存储在指令寄存器中,并由控制单元译码。控制单元使得相应的信号相互作用,并使处理单元执行这些指令。 与普通CPU的工作方式相同,执行一条指令,分多个步骤进行。首先地址寄存器AR保存当前指令的地址,当一条指令执行完后,程序寄存器PC指向下一条指令的地址。如果是执行顺序指令,PC+1就指向下一条指令地址;如果是分支转移指令,则直接跳到该转移地址。方法是控制单元将转移地址写入程序存储器PC和地址寄存器AR,这是在地址总线上就会输出新的地址。然后,控制单元将R/W置0,执行读操作,将VMA置1,告诉存储器地址有效。这样,存储器就开始进行地址译码,并将存储单元中数据传
15、给数据总线,当数据出现在数据总线上市时,存储器将READY信号置1,表明存储器的数据可以使用了。控制信号将存储器输出的数据写入指令寄存器IR中,接着对IR中的指令进行译码和执行指令,进程就这样循环进行下去。 3.2.2 指令系统设计 在设计处理器时首先要确定CPU具有哪些功能,并针对这些功能采用哪些指令,然后确定指令的格式。 为了使所设计的CPU具有基本的运算功能,指令将设计成以下形式,可以分类为: 装载指令:指令从其他寄存器或存储器装载数据或是立即赋值。 存储指令:指令存储寄存器的值写到存储器。 分支指令:指令使处理器转到其他地址,一些分支指令为条件转移,另 外一些为无条件转移。 移位指令:
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简单U的逻辑设计 简单 逻辑设计