微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > SoPC系统的综合优化设计策略

SoPC系统的综合优化设计策略

时间:06-05 来源:互联网 点击:

5个同步 FIFO,其中4个长度32位、存储深度256字的FIFO作为64位PCI传输的缓存,另一个长度32位,存储深度设计为2 048字。M512存储块主要用于内部FIFO的设计,在配置片内FIFO时选择M512存储块类型。1个32位长、存储深度256字的FIFO占用的逻辑资源为30个LUT单元、15个M512存储块、134个REG单元。4个这样的FIFO占用60个M512存储块、120个LUT单元。536个 REG单元。而1个32位长、2 048字存储深度的FIFO占用的逻辑资源为114个M512存储块、63个LUT单元、128个REG单元。这样,系统设计中的FIFO总共占用174 个M512存储块,相比表1中EP2S60器件329个M512存储块,占用率为52.9%,完全可以在片内设计实现。

  类似计算机系统,软CPU Nios II系统也需要配置片上的ROM和片上RAM,如图2所示。片上ROM设计存储器类型为M4K,数据宽度32位,深度为32 KB,读延迟1。片上RAM存储器类型同样为M4K,数据宽度32位,深度设计为16 KB,读延迟1。

  片上ROM主要用于上电后程序从外部存储器加载完成后的程序存储,是IDE主程序开始执行的地方。在Nios II自动分配的地址中,一般起始地址为0x00000000,目的地址为设计ROM容量的大小。片上RAM主要作为程序运行的缓存和程序异常时的暂存,相当于计算机中的内存。在IDE编程设置中,要对片上ROM和片上RAM的使用进行具体的设置,如图3所示。


  对程序存储器和只读数据存储器,设置为使用片上ROM。对读写数据存储器、堆存储器和堆栈存储器,设置使用片上RAM存储器。这样,可以作到有效的存储器配置。

  2.4 针对NiOS II系统的优化

  SoPC 系统在没有添加Nios II系统时,较容易实现比较高的频率,在加入Nios II系统后,系统设计频率有较明显的下降。因此在带Nios II的系统中,对Nios II的优化设计是制约整个SOPC系统时序的一个瓶颈。

  另一方面,在Nios II系统中,多是应用已经设计好的软核CPU和外接器件IP核,在设计时已经进行过优化并且已经封装集成,进一步优化的难度很大,因此优化主要放在自行开发设计的IP核和软件的参数配置以及设计NiosII系统时应当遵循的一些原则上。在Nios II IDE编程环境中,如图4所示,选择最大优化,在编译器参数设置中选择小的C编译库和减少设备驱动,这样经优化后可以缩减硬件代码,减少器件资源占用。


  参考文献[7]中探讨了Nios II系统的优化途径。文中归纳系统优化有如下方法:

  ①运算应采用定点运算。经过测试,浮点加法和乘法运算消耗的时间为定点运算的5~6 倍,如果需要浮点运算,也应该采用自定义指令的方式来实现。

  ②采用C语言和汇编语言混合编程。对计算量大的多次调用的程序模块采用汇编语言,对主干流程语言采用C语言,这样可以照顾到程序的可读性,效率也较高,同时缩减程序占用资源量。

  ③使用用户自定义指令。将一些复杂的算法由软件转而交由硬件来实现,可以获得较高的效率提升。

  ④使用硬件加速提高软件性能。通过添加外部协处理器来加速数据功能。

  ⑤ 多处理器系统。使用两个或多个处理器来提高系统的数据处理能力。

  通过上面分析,进行系统优化似乎是一个矛盾的过程:有时需要优化以缩减代码量并减少资源占用,有时又通过增加逻辑和添加处理模块来提升数据处理能力。实际上,评价一个系统设计的好坏,除了需要实现基本的功能外,还要看使用逻辑资源和性能的综合比较,以更好地利用处理器,达到最好的性能。

  
3 实验结论

  在系统设计中,应用文中分析的综合优化设计方法,系统最高频率有了较大提升,从最初的88.24 MHz,优化至目前的111.73 MHz。由于在Quartus II编译器参数没置中,要求最高时钟设置为132 MHz,因此优化后最高时钟报告以红色显示,表示没有达到预先设置的132 MHz时钟要求。相比于优化前,系统最高频率提高了26.62%,可见采取的综合优化设计措施比较有效。对于EP2S60器件,在没有添加Nios II系统时,可以较容易达到200~300 MHz的最高时钟频率,加入Nios II经过优化处理,最高时钟频率目前只实现111.73 MHz,应该还有进一步优化空间。可以考虑对关键路径进行手工连线,采用DSE算法和逻辑锁定技术进行进一步的优化,从而提高系统最高频率。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top