嵌入式软核CPU的FPGA实现和比较研究
发布时间:2018-05-01 17:32
本文选题:CPU + Nios ; 参考:《北京工业大学》2012年硕士论文
【摘要】:以深亚微米工艺和IP核复用技术为基础的片上系统(SoC)技术是超大规模集成电路发展的趋势和当今集成电路技术的主流。SoC以嵌入式系统为核心,集软硬件于体,并在系统集成中追求产品系统的最大包容性,,能成功实现多学科的协作与融合。对于些仅为小批量应用或处于开发阶段的SoC,若马上流片,则需要投入较多的资金,承担较大的试制风险。而用FPGA来实现SoC的功能就可以降低或规避风险。 嵌入式CPU是嵌入式SoC的核心。嵌入式CPU种类繁多,选择款好的处理器是开发SoC的重要步骤。性能是选择嵌入式CPU的重要方面,性能测试则是开发嵌入式SoC的重要部分。目前在SoC设计中广泛使用的32位RISC处理器,如ARM处理器和MIPS处理器均属于商业内核,使用者必须支付相对昂贵的授权费。考虑到软核的灵活性和可剪裁性,本文选择四款免费的嵌入式微处理器软核进行性能比较,它们分别是Nios II、MicroBlaze、LEON3和OpenRISC1200。性能测试采用被广泛使用的Dhrystone2.1基准测试程序。本文的重点和难点在于构建硬件系统和修改软件程序使其适应不同的硬件平台。在构建硬件系统方面通过添加或去除某个模块的实验来确定某个模块在提升性能方面的作用。在修改软件程序方面参考不同硬件平台下的软件库函数对Dhrystone2.1进行修改。 做了以下工作:1、使用Quartus II中的SOPC Builder构建基于Nios II的硬件SOPC系统,使用Quartus II对系统进行编译并下载。在Nios II IDE下修改基准测试程序。通过在不同的硬件配置和软件设置下测得的性能数据,得到各个模块和软件选项在性能提高方面的作用。2、使用Xilinx嵌入式开发套件EDK(Embedded Development Kit)构建基于MicroBlaze的硬件系统。在CPU配置上,与Nios II实验有所不同。CPU先后使用了两种不同配置。在软件开发方面,针对Xilinx的驱动程序来修改基准测试程序,使得生成文件占有更小的空间且能更有效地运行。3、在Linux环境下或Cygwin环境下使用GRLIB库配置硬件,并使用Xilinx ISE对其进行综合、转译、映射和布局布线。在软件方面,使用BCC进行软件的编译工作。使用GRMON对硬件扫描,对软件下载和运行。4、使用Verilog HDL语言进行基于OpenRISC1200的硬件系统构建,使用Quartus II对搭建好的硬件系统进行综合。使用GCC、GDB、Binutils和uClibc等工具进行or32交叉编译工具链的构建。使用构建好的交叉编译工具链对Dhrystone2.1程序进行编译和链接。使用Quartus II下载工具对软硬件文件进行下载和运行。5、分别对各处理器系统配置和处理器结构包括指令集架构和缓存进行比较,还从易实现性、易配置性、性能和面积上对各处理器进行了比较。
[Abstract]:Based on deep submicron technology and IP core reuse technology, the system on chip (SoC) technology is the development trend of VLSI. Nowadays, the mainstream of integrated circuit technology. SoC is embedded system as the core, which integrates software and hardware. And in the system integration, the product system is the most inclusive, and the multidisciplinary collaboration and integration can be realized successfully. For the SoC which is only in small batch application or in the development stage, if the chip flows immediately, it needs to invest more funds and bear the larger risk of trial production. The use of FPGA to achieve the function of SoC can reduce or avoid risk. Embedded CPU is the core of embedded SoC. There are many kinds of embedded CPU, the choice of good processor is an important step to develop SoC. Performance is an important aspect of choosing embedded CPU, and performance testing is an important part of developing embedded SoC. At present, 32-bit RISC processors, such as ARM processors and MIPS processors, which are widely used in SoC design, are all commercial kernels, and users must pay relatively expensive authorization fees. Considering the flexibility and tailoring of soft core, this paper chooses four free embedded microprocessors to compare their performance. They are Nios II, MicroBlazeChe LEON3 and OpenRISC 1200. Performance testing uses the widely used Dhrystone2.1 benchmark program. The emphasis and difficulty of this paper is to build hardware system and modify software program to adapt to different hardware platforms. In the construction of hardware system, the function of a module in improving performance is determined by adding or removing a module. In the modification of software programs, reference to the software library functions under different hardware platforms to modify the Dhrystone2.1. Do the following work: 1, use SOPC Builder in Quartus II to build the hardware SOPC system based on Nios II, use Quartus II to compile and download the system. Modify the benchmark program under Nios II IDE. According to the performance data measured under different hardware and software settings, the function of each module and software option in improving performance is obtained. The hardware system based on MicroBlaze is constructed by using Xilinx embedded development suite EDK(Embedded Development Kit. CPU configuration is different from Nios II experiment. CPUs use two different configurations. In the aspect of software development, the benchmark program is modified for the driver of Xilinx, so that the generating file occupies less space and can run .3more efficiently. In Linux environment or Cygwin environment, the hardware is configured by using GRLIB library. And use Xilinx ISE to synthesize, translate, map and layout. In terms of software, BCC is used to compile the software. GRMON is used to scan hardware, software download and run. 4, Verilog HDL language is used to build the hardware system based on OpenRISC1200, and Quartus II is used to synthesize the built hardware system. The tool chain of or32 cross-compiling is constructed by using GCC-GDB-Binutils and uClibc. Use the built cross-compile tool chain to compile and link Dhrystone2.1 programs. Using the Quartus II download tool to download and run the software and hardware files. 5, compare the processor system configuration and processor architecture, including instruction set architecture and cache, from easy to implement, easy to configure, The performance and area of each processor are compared.
【学位授予单位】:北京工业大学
【学位级别】:硕士
【学位授予年份】:2012
【分类号】:TP332
【参考文献】
相关期刊论文 前2条
1 王磊;32位软处理器MicroBlaze的体系结构及其应用[J];今日电子;2004年05期
2 刘军;郭立;郑东飞;白雪飞;;开放性32位RISC处理器IP核的比较与分析[J];电子器件;2005年04期
相关硕士学位论文 前2条
1 孙中琳;基于OR1200通用FPGA快速原型的搭建[D];山东大学;2011年
2 刘洋;基于LEON3的SoC构建及验证[D];西安电子科技大学;2010年
本文编号:1830406
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/1830406.html