64位RISC CPU在FPGA上的实现和验证

64位RISC CPU在FPGA上的实现和验证

李川[1]2008年在《嵌入式微处理器的设计分析与仿真验证》文中认为嵌入式微处理器(EMPU,Embedded Microprocessor Unit)以其高性能、低功耗、便携式等优点,越来越广泛地应用于各种电子设备中。其中精简指令集计算机(RISC,Reduced Instruction Set Computer),作为微处理器设计策略的一种类型,已经普遍应用于计算机体系结构设计中。本文首先设计了一个8位RISC处理器,它具有8条指令,可以进行指令译码、指令执行,可以和存储器进行数据交换。数据通过数据通路进行运算处理,控制器提供数据通路各模块的控制信号。使用可综合的寄存器传输级(RTL,RegisterTransfer Level)Verilog HDL硬件描述语言描述每个子模块,在顶层模块中根据端口连接实例化每个子模块,然后使用ModelSim分别对全部子模块和顶层模块进行功能仿真验证,使用QuartusⅡ对设计进行综合,在Altera CycloneⅡEP2C35芯片上实现,工作频率可达120MHz。然后在此基础上,本文对业界广泛使用的ARM7TDMI内核进行了设计分析与验证。ARM7TDMI内核根据执行功能不同,可以划分成数据通路模块和控制器模块两大部分。本文对数据通路的每个模块:桶式移位器、算术逻辑单元、32位布氏乘法器、寄存器堆等做了详细的设计分析,重点讲解了每个模块的工作原理以及如何使用硬件描述语言来实现其功能。接着针对每个模块,编写测试平台,进行功能仿真。最后在FPGA平台上实现,针对不同的综合优化方式,比较电路所消耗的逻辑资源和工作性能,为设计者选择实现方式提供了实验依据。

邓奉立[2]2002年在《64位RISC CPU在FPGA上的实现和验证》文中研究表明本研究的目的是进行64位的精简指令集中央处理器的前端硬件设计,并将此设计在FGPA上实现以通过实际的电路验证。在微处理器的硬件设计中,首先进行电路所要完成的功能的分析,以指令译码单元电路为例,它应能够依照不同的二进制指令码进行译码并发出相应的控制信号来控制不同功能单元电路的动作。在对精简指令集处理器的体系结构做深入分析的基础上,划分不同的功能单元。从整体方面来说,整个微处理器大致分为BIU(总线接口单元)、IDU(指令译码单元)、ALU(算术逻辑单元)、MMU(存储管理单元)等等。在这些较大的功能单元中又包含一些较小的功能单元,比如在算术逻辑单元中又包含了加法运算单元、乘除运算单元以及逻辑运算单元等。在具体的电路设计中,我们采用自顶向下的方法对处理器进行模块化的划分,整个处理器被划分为许多个较小的功能模块,这样划分的目的是为了减小设计的复杂程度以便于在设计的早期发现错误。在明确了系统级的总体规划以及设计层次的划分以后,我们从系统的最底层开始进行数字逻辑电路的设计。数字逻辑设计采用Verilog HDL(Verilog硬件描述语言)进行,首先写出数字逻辑电路的行为级描述,然后利用电路仿真软件对所写的行为级描述做功能仿真。若描述正确则可进行下一步的设计。同一层次的各个模块互连构成了这一层次的硬件结构,仿真可以在设计的各个层次进行。最后,由最底层开始将功能模块连接起来并自底向上构成整个系统级的设计。为了保证设计的正确性,仿真应在设计的各个层次上进行,并最终做系统级仿真以及电路验证。电路验证使用FPGA(现场可编程门阵列)进行,将整个处理器的硬件描述源代码输入FPGA开发工具进行综合、排错、时序仿真等工作,最后将所生成的位流文件下载到FPGA。在电路验证的过程中,我们发现了一些设计上的错误。经过反复的测试和修改,此FPGA验证系统可以稳定的运行Windows CE嵌入式操作系统以及其上的应用程序,如WORD、MP3播放器等等。 就集成电路设计的整个流程而言,完成电路验证的工作意味着前端设计的完成。而集成电路的后端设计包括了版图设计和验证,它们不在本论文的讨论范围之内。

张天博[3]2017年在《基于精简指令集的微控制器设计》文中研究表明现如今,人们的生活已经离不开智能电子产品,像手机、电脑和智能家居等各种智能的生活和娱乐产品。智能产品都缺少不了一颗芯片,也就是微处理器,微处理器添加以各种外设和接口就构成了微控制器,以实现各种功能,微控制器简称MCU。不仅仅是在人们生活当中,像在工业、通信、国防、医疗和交通等领域也都不可缺少微处理器和微控制器。本文基于一种最新的精简指令集RISC-V设计了一种五级流水线的微处理器,通过分析RISC-V指令集,对流水线的取指、译码、执行、访存和回写级进行了逻辑和功能的设计,最后基于Wishbone总线结构设计了微处理器的外围设备,以构成具有实用化功能的微控制器,其中包括GPIO、FLASH控制器、UART控制器和SDRAM控制器。通过编写汇编验证代码,并利用GNU工具链生成二进制测试代码后,在Modelsim下仿真验证证明,本文实现了RISC-V指令集中的47条指令。将添加Wishbone总线和外围设备之后的微控制器通过Quartus II进行逻辑综合,最后下载到FPGA开发平台上进行整体指令和功能的验证,测试结果证明RISC-V指令集中的47条指令及外围控制器均通过了板级验证,达到了RISC-V微控制器的预期设计目的。

章玮[4]2007年在《基于FPGA的64位CPU验证平台的建立》文中认为现代IC设计中,随着设计规模的扩大和复杂度的增长,验证成为最严峻的挑战之一。在现代ASIC设计中,很难用单一的验证方法来对复杂芯片进行有效的验证,为了将设计错误减少到可接受的最小量,需要将一系列的验证方法和工具结合起来。在64位全定制嵌入式CPU设计过程中,使用了多种验证技术和方法,并将FPGA验证作为ASIC验证的重要补充,加强了设计正确的可靠性。论文首先介绍了64位CPU的结构,结合选用的Xilinx的Virtex~(TM)-4系列XC4VLX60器件,制定了FPGA验证策略。根据64位CPU设计的特点,分析和研究了FPGA验证平台建立中所遇到的问题:RTL代码的分割和转换,FPGA实现中的问题和最后的调试。通过选取合适的器件和工具,根据所定制的验证策略实现了基于FPGA的64位CPU验证环境,并利用所建立的验证环境对CPU进行验证,包括用ChipScope进行信号追踪、基于串口的调试机制及用Perl实现验证的自动化处理。最后对目前论文工作进行了总结,得出了一些FPGA验证工作的初步认识。并提出了下一步工作的方向。

边育心[5]2016年在《一种支持OpenCL的异构多核可重构片上系统硬件架构研究与设计》文中研究指明过去半个世纪以来,摩尔定律为半导体工业的发展提供了清晰的方向指南,即通过减少CMOS电路的特征尺寸来提升其性能。现有CMOS数字集成电路工艺受物理条件制约,其特征尺寸不可能无限制的缩小;受动态功耗影响,CPU的工作频率不能无限制上升。因此,CPU的性能不可能无限制的通过减小特征尺寸、提升CPU主频来提升。CPU的性能与能量效率需要通过新的材料、新架构、新器件获得进一步的提升。针对这一问题,本文着力于新架构的开发。目前常用于硬件加速的器件有GPGPU(通用图像处理器),FPGA(现场可编程门阵列)等。现有GPGPU其编程模型多与硬件绑定,通用性与可移植性差,并无法扩展到异构系统中去,且其功耗较高,能量效率低于FPGA。FPGA以其可重构特性有更高的性能与能量效率,但开发难度大,周期长,应用开发人员难以有效利用。针对这一问题,本文提出了基于FPGA器件,结合FPGA的硬件可编程特点,融合Open CL异构计算标准的HOCR-MPSOC(异构Open CL可重构多核片上系统)架构设计。HOCR-MPSOC使用Microblaze处理器作为主机,通过AXI4总线进行全局互联,连接Open CL从设备与外设驱动IP。每个Open CL从设备被称为计算单元。HOCR-MPSOC架构采用Open Risc1200作为运算元素,通过Wishbone总线进行计算单元内部互联,通过AXI4-Wishbone总线的桥接将整个计算单元挂载到主机及其全局总线的系统中。异构系统的优势是通过组织不同特点的核心来优化处理器内部结构,针对不同任务,通过主控制器调度各具特长的核心共同完成任务,实现处理器核心资源的最优配置从而达到最大的性能。HOCR-MPSOC的特色在于将支持Open CL异构标准的异构系统集成到一颗SOPC内,使该异构系统具备硬件可编程与可重构特性,可以大幅提升系统的能量效率与性能;通过设计支持高级编程语言的Open CL计算单元,可以降低该系统的应用开发难度,有利于软件应用的开发。整体架构预留硬件扩展接口,以便面向特殊应用的异构计算单元开发与接入,进一步提高系统的整体性能与能效。在实验分析中,本文采用了I3-2330处理器,HOCR-MPSOC,定制IP叁种方式完成256点FFT算法,通过比较其执行时间、功耗、消耗能量叁个指标,衡量其运算性能、能量效率,并做出分析,其结果也符合国内外现有研究成果的预期。基于以上的设计与实验,规划出HOCR-MPSOC的后续硬件与软件发展路线。

薛淞文[6]2010年在《可穿戴医疗监护系统CPU的设计与实现》文中认为随着计算机科学技术的快速发展,可穿戴计算机已经成为下一代计算机主流发展方向。把可穿戴计算机与医疗监护技术相结合,可以弥补传统医疗与监护只能在医院中进行的缺点,使在日常生活中对人体生理信息的采集、存储,对病人进行实时监护以及病情诊断与报警成为可能。本文的的研究题目为“可穿戴医疗监护系统的CPU的设计与实现”,主要研究任务是:设计并实现一个针对于可穿戴医疗监护系统的专用嵌入式CPU。研究的内容主要包括:1、研究并学习普通CPU的结构与功能。2、研究学习可穿戴医疗监护系统的功能与应用。3、设计并实现针对于可穿戴医疗监护系统的专用CPU,设计中注意该CPU与通用CPU的共性和其专用的特性。本文基于现代EDA技术,在FPGA上设计并实现一种针对医疗监护的采用RISC思想的CISC处理器。其主要特点有:1、针对医疗监护所采集的数据特点,本文在运算器中设置了浮点运算处理器。2、分析了CISC与RISC的各自特点,决定采用状态机控制器,避免复杂微程序控制器。3、针对医疗监护的功能特点,设计了可扩充的身体健康值比较器组。每个比较器的功能是对采集的单个健康值与正常值进行比较,如有异常直接报警。不但节省了存取数据,也提高了整个医疗系统的效率。

郑永贵[7]2012年在《基于FPGA的32位RISC微处理器的设计与实现》文中研究说明基于RISC架构的MIPS指令兼容处理器是通用高性能处理器的一种。其架构简洁,运行效率高,在高性能计算,嵌入式处理,多媒体应用等各个领域得到了广泛应用。基于FPGA的微处理器设计具有易于调试,便于集成的特点。在片上系统设计方法日趋流行的趋势下,掌握一套复杂的微处理器设计技术十分必要。论文首先概述了MIPS指令集的重要特征,为讨论微处理器的具体设计奠定基础。本设计实现了一个具有标准的32位5级流水线架构的MIPS指令兼容CPU系统。具备常用的五十余条指令,解决了大部分数据相关,结构相关,乘除法的流水化处理等问题。文章的主体部分首先详细描述了处理器各个独立功能模块的设计,为后续的整体设计实现提供逻辑功能支持。随后按照指令执行过程中需经历的五个阶段,详细描述了微处理器中各阶段的逻辑设计。为了提高微处理器的工作效率,在微处理器设计实现的基础上,深入研究了流水线技术及相关问题的解决方法,改进了传统5级流水线结构,并基本解决了数据相关、结构相关和控制相关的问题。在完成了微处理器的整体逻辑设计后,借助EDA工具对微处理器的工作状态进行了软件仿真,给出仿真结果,仿真波形验证了微处理器的工作符合预想。最后用EDA工具对设计代码综合、实现,并下载到FPGA上,进行了简单的硬件验证。通过验证测试所得到的相关数据表明,论文所设计的32位微处理器满足设计要求,其最高时钟频率达到了12.376MHz。

王泽坤[8]2014年在《MIPS架构CPU设计及SoC系统实现》文中提出CPU是电子信息产品的核心,是半导体产业技术最密集、最具战略价值的产品,也是一个国家技术实力的象征。CPU相关的设计研发有着重大的学术意义和现实意义。大量国内外文献表明,一些学者成功地在FPGA上完成了各种CPU的实现。然而,大部分实现并没有对CPU的性能进行严格测试,并且没有实现一个完整的SoC系统,不能实际使用。本设计实现了一个32位MIPS架构CPU,并以该CPU为主控核心实现了一个完整的SoC系统。本系统主要的工作为:在CPU实现方面,采用verilog硬件描述语言实现了程序地址计算、指令缓存读取、分支历史表访问、指令缓存命中检测、指令缓存替换选择、指令缓存路选择、指令总线访问、指令缓存更新、分支预测、返回地址预测、通用寄存器读取、指令译码、数据相关处理、算术逻辑操作、乘除操作、分支操作、数据缓存读取、数据缓存命中检测、数据缓存替换选择、数据缓存路选择、数据总线访问、数据缓存更新、特权寄存器访问、系统定时器、异常返回处理、写回通用寄存器操作等功能;在SoC系统实现方面,实现了AMBA总线互联器、AHB总线仲裁器、AHB总线译码器、AHB2APB总线桥接器、FLASH控制IP核、UART控制IP核和VGA控制IP核,另外移植了OpenCores上开源的SDRAM控制IP核。最终,完成了整个SoC系统的实现。在CPU和SoC的测试方面,使用VCS软件对各个模块进行功能仿真,使用Verdi软件观看仿真波形并进行调试,仿真结果表明系统运行正确,系统实现方案切实可行。在Cyclone IV FPGA上综合后分析其静态时序,整个系统的最高工作频率可达60.27MHz。使用Dhrystone和CoreMark基准测试程序对该CPU的整数性能进行测试,得分为1.40 DMIPS/MHz和2.35CoreMarks/MHz。最后,移植了ucos ⅱ嵌入式操作系统,进一步验证了系统的正确性。

张红娜[9]2007年在《基于FPGA的8位RISC MCU研究与设计》文中研究表明微控制器(MCU)是许多数字系统的核心部件,其控制复杂,对鲁棒性、面积、功耗、运算速度、功能等方面都有很高的要求,设计拥有自主知识产权的高性能MCU一直是集成电路设计领域一个富有挑战性的课题。本文的研究正是对此做一次有益的尝试和实践。在深入细致地研究了Atmel公司的AT90S1200系列微控制器的指令系统和系统结构,深入理解了微控制器的工作作原理和设计方法的基础上,确定微控制器的总体结构,以及各层次模块的功能和结构。讨论了RISC和CISC各自的特点及的设计差别;讨论了指令集的制定,指令流水线的概念及设计方法,以及由于引入流水线而引起的数据冲突和解决办法;MCU整体架构的分析,用FPGA进行时序电路的设计方法等技术。本文做的工作包括:采用硬件描述语言VHDL语言设计了微处理器数据通路,控制单元的设计,并对该微处理器进行了软件功能测试和正确性验证。数据通路的设计包括:PC模块、IR模块、通用寄存器模块、状态寄存器模块、ALU模块、取指单元模块、定时器/计数器模块、I/O单元模块及外部中断模块等电路模块的设计与实现;同时还研究了控制单元的实现方法和有限状态机设计的方法。验证部分是将MCU作为一个整体处理单元在处理混合指令和一定的应用功能时所表现出来的综合性能做的软件仿真测试。这种测试没有对所有的指令进行全面的测试,但对叁个I/O的测试采用不同的测试方法达到相同的效果,测试了用不同的指令来实现相同功能的MCU的指令的灵活性。因此这些指令组合成一起的程序段对MCU的测试是比较有效的测试指令及MCU综合功能的测试方法。最终的仿真验证结果表明,所设计的MCU完全兼容AT90S1200的指令集。汇编源程序的编译环境不需要另外开发而可直接使用AVR Studio进行编译。仿真的结果表明MCU能按照预想的指令执行预定的动作,时序和流水线操作都正确,表明所设计的MCU基本符合要求。

赖兆磬[10]2007年在《基于FPGA流水线CPU的设计与实现》文中研究说明随着微电子技术的迅速发展,集成电路的集成度越来越高,同时推动了嵌入式系统由传统的板上系统时代进入片上系统(System on a Chip, SoC)时代。而CPU是SoC的核心,研究如何设计与实现有效的CPU成为SoC的关键问题。本文基于现代EDA技术,在FPGA上设计并实现一种具有MIPS风格的16位五级流水线RISC CPU。在CPU设计和实现的过程中,所取得的主要研究成果有:(1)选定MIPS体系结构为CPU的构架,以MIPS指令集为参考,设计指令集;通过抽象指令集中每条指令的共性,并结合流水线技术,设计五级(取指、译码、执行、访存、写回)流水线数据通路;采用VHDL实现数据通路上的功能模块。(2)根据数据通路所需要的控制信号,设计能使数据通路有效工作的控制通路;针对控制相关,设计控制检测模块;针对软件异常和中断,设计中断控制器;采用VHDL实现控制通路、控制相关检测模块和中断控制器。(3)针对所设计CPU的特性,基于FIFO(先进先出)和LRU(最近最少使用)两种算法设计两种指令Cache,并采用VHDL实现两种指令Cache,最后分别对两种Cache算法进行仿真和分析。(4)将CPU的各个模块整合成CPU整机,针对不同的CPU功能,以所设计指令集编写测试程序进行仿真验证;将电路文件下载到硬件平台上进行验证,可以发现仿真验证和硬件平台验证是一致的。验证结果表明了所设计CPU的有效性。

参考文献:

[1]. 嵌入式微处理器的设计分析与仿真验证[D]. 李川. 北京交通大学. 2008

[2]. 64位RISC CPU在FPGA上的实现和验证[D]. 邓奉立. 电子科技大学. 2002

[3]. 基于精简指令集的微控制器设计[D]. 张天博. 黑龙江大学. 2017

[4]. 基于FPGA的64位CPU验证平台的建立[D]. 章玮. 同济大学. 2007

[5]. 一种支持OpenCL的异构多核可重构片上系统硬件架构研究与设计[D]. 边育心. 深圳大学. 2016

[6]. 可穿戴医疗监护系统CPU的设计与实现[D]. 薛淞文. 西北大学. 2010

[7]. 基于FPGA的32位RISC微处理器的设计与实现[D]. 郑永贵. 河北工业大学. 2012

[8]. MIPS架构CPU设计及SoC系统实现[D]. 王泽坤. 东北大学. 2014

[9]. 基于FPGA的8位RISC MCU研究与设计[D]. 张红娜. 武汉理工大学. 2007

[10]. 基于FPGA流水线CPU的设计与实现[D]. 赖兆磬. 桂林电子科技大学. 2007

标签:;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  

64位RISC CPU在FPGA上的实现和验证
下载Doc文档

猜你喜欢