论文部分内容阅读
以深亚微米工艺和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、分别对各处理器系统配置和处理器结构包括指令集架构和缓存进行比较,还从易实现性、易配置性、性能和面积上对各处理器进行了比较。