开放性32位RISC处理器IP核的比较与分析
来源: 作者: 发布时间:2016-03-23 12:53:35 浏览量:我们选用Altera 的Cyclone 开发板(EP1C20F400C7) 作为FPGA 的硬件测试平台,分别评测LEON2,OpenRISC1200 和NiosII 在FPGA上的性能。为保证评测结果的准确性,我们将三种处理器配置成为大体相当的评测系统, 如图4 所示。编译好的Dh rystone 程序将被下载到板上的SRAM 中运行,运行的结果通UART 或JTAG 端口输出到PC终端。定时器(Timer) 是Dhrystone 程序运行所需的计时设备。由于体系结构的差异,各个处理器在有些部分的实现细节并不完全和图4 相同(比如L EON 2使用了两个UART , 分别用于调试和输出, 而OpenRISC1200 和NiosII 则选择使用一个JTAG 接口进行调试) , 但其大体结构都是相同的。同时我们还在三种处理器核内均实现了32×32bit 的硬件乘除法指令。

图4 FPGA 平台评测系统
LEON2 的源代码中提供了在各种器件如Xilinx,A ctel 等上的综合支持。不过LEON2 没有提供对Altera 器件和相应开发板的支持, 因此必须要首先编写添加tech_ cyclone. vhd 文件,并修改源代码中target.vhd 和tech_map.vhd 文件。然后使用QuartusII 进行综合的结果显示: LEON2 使用了11702 个逻辑单元(Logic Elements) 和242748 内存位(Memory Bits) ,其最高频率可达61.95MHz。在25MHz 和50MHz 的FPGA 中,一体电感器LEON2 可以分别达到35398.2 和72289.2 Dhrystoneper Second。即在25 MHz 下LEON2 可达到20.15DMIPS, 在50MHz下为41.14DMIPS,相当于0.82 DMIPS/MHz。
OpenRISC1200 的源代码中提供了对Altera 器件的支持,因此只需修改其代码, 配置成所需要的系统构架。由于OpenRISC1200 采用的是WISHBONE片上总线,所以还要专门给板上的SRAM写一个W ISHBONE 的接口。QuartusII 的综合结果显示OpenRISC1200 共使用了9624 个逻辑单元和217344内存位, 其最高频率可达46. 02MHz。在25MHz 的FPGA 中, OpenRISC1200 可达到32918.2Dhrystoneper Second, 即18.74DMIPS。其性能相当于0.75 DMIPS/MHz。Nios是Altera 公司专门针对Cyclone 和Stratix 器件设计的处理器。Quartus中的SOPC Builder 系统开发工具, 可以方便的配置出符合要求的NiosII 处理器。Quartus 的综合结果显示Nios 共消耗了6615 个逻辑单元和181248 内存位, 最高频率为65.78MHz。在50MHz下, 测得FPGA 中的NiosII 为69915.8 Dhrystoneper Second, 相当39.79DMIPS, 其性能为0.80DMIPS/MHz。为了进行纵向的对比,我们还评 测Nios 的性能。Nios 共需4535 个逻辑单元和231424个内存位, 最高频率为61.65MHz。在50MHz 下Nios 可以达到18.88 DMIPS, 其性能为0.37DMIPS/MHz。显然NiosII比Nios在性能上有了很大的提高。
图5 给出了几种处理器的性能对比图。显然三种32 位处理器的性能比指令集为16 位的准32 位Nios 处理器高出很多。在三种32 位处理器中,LEON2 的性能最好为0.82, 但其相应的所耗的资源也最多。和LEON2 相比,OpenRISC1200 的性一体电感器能稍差为0.75, 但其所占用的逻辑单元也较少。N io s处理器的测试性能可达0.80, 而且其所消耗的逻辑单元仅为LEON2 的57%。这是由于Nios 针对Cyclone 器件进行过专门的优化, 导致了Nios 在Cyclone 器件上的出色表现片式电感。为了使比较更加全面和深入, 我们还对评测系统进行了ASIC 平台上的对比。由于NiosII 并不提供源代码,仅针对Altera 的FPGA 器件是免费的, 因此我们仅对比了LEON2和OpenRISC1200 两种完全开放性内核。我们使用中芯国际( SMIC ) 的Rapid Compiler 完成Registerfile 中所需的双口SRAM 和Cache 模块所需的单口SRAM 的设计, 并使用Synopsys 公司Design Compiler 和SMIC 的0.18 Lm 的标准单元库完成了两种内核RTL 代码的综合和优化。相当占用了152904 个门单元, 最差条件下的最高频率为160MHz。OpenRISC1200 共使用了148455 个门单元, 最差条件下的最高频率为125MHz。显然LEON2 的运行频率更高, 但其所占的面积也相对更大。

图5 四种处理器性能对比图
结论
本文从结构和性能两个方面比较了LEON2,OpenRISC1200 和NiosII三种32位RISC处理器内核, 概括如表1所示。

单总线技术在航空相机温控系统中的应用摘要:航空成像设备通常需要对温度敏感区进行分区控制。以往的温度传感器多采用热敏电阻,它易损坏,长时间使用后需重新标定,狭小空间下的多传感器布线非常复杂,保证模拟信号远距离测量的精度在技术实现上也比较困
UC3875发热
请问有用过UC3875的大神吗?这芯片我用着怎么老是发热严重啊?后面是驱动IR2110的
会不会是驱动电流太大?驱动和IR2110之间已经加了1K的驱动电阻了情况没有很明显的改善已
基于DSP控制的全数字UPS逆变器设计摘要:功率变换器的数字化实时控制是电力电子技术的一个重要发展方向。提出了一种新型的基于电感电流模式的双环数字控制器,给出了详细的设计过程,仿真和实验结果验证了数字控制器设计的正确性。关键词:数字控制;