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

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

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

在SoPC设计中,系统往往比较复杂。为了提高设计性能(有时甚至只是为了达到设计要求),对所设计的SOPC系统进行综合优化是非常必要的。论文结合具体工程,以Altera公司的FPGA EP2S60为例,探讨了SOPC系统设计的综合优化方法。

1 综合优化设计的一般流程和方法

  在FPGA处理器没有选定前,可以进行SOPC系统的开发。根据编译和优化的效果指导处理器芯片的选型,选择合适的处理器型号、速度等级和封装。当硬件系统设计好后,就只能在已选择好的处理器芯片上进行优化。一般的优化方法有Verilog程序代码优化、编译和布线优化设置,在添加Nios II系统后也涉及对Nios II系统的优化。在设计过程中应遵循模块化设计思想,如果前面的优化都不能达到满意的效果,则需要使用逻辑锁定技术和应用DSE算法进行优化。

  
2 综合优化设计策略

  2.1 Quartus II软件优化设置

  在进行综合前,对软件编译和布线进行优化设置是优化设计的一个重要步骤,不同设置对综合布线的结果有较大影响。几个比较重要的设置包括时间要求设置、编译器设置,最重要的是布线器的设置,如图1所示。

  设计中设置对所有路径进行优化,并设置布线器尽最大努力满足设计的时序要求。在进一步的布线器参数设置中,选择全局时钟有效,这样虽然可能增加实际布线后延时,但是可以减少时钟偏斜,为系统整体时序设计的稳定性提供保障,同时也可以增强网络的驱动能力。

  另外,中心处理器EP2S60支持多种电平模式,而各个bank支持的模式不尽相同。在最初的硬件电路设计中已经考虑到这一点,将外接PCI接口的引脚分配在器件的bank7和bank8上,这样可以充分利用器件设计好的优化路径,达到比较好的设计性能。在引脚分配中,需要对引脚的特性进行更详细的设置,具体应根据实际系统引脚分配的功能要求选择相应的电平标准,如PCI核接口选择3.3 V PCI电平标准。

  2.2 程序代码的优化设计

  Verilog语言是一种类C语言的硬件描述语言,在设计中首先要对所需实现的硬件电路结构和连接都十分清晰,然后再用适当的语言进行描述。在具体实现上,应综合考虑以下基本设计原则:

  ①面积和速度的平衡互换原则。如设计时序余量大,可以通过功能模块复用来减少消耗的芯片面积;如设计时序要求高,可采用“串并转换”和“乒乓操作”以面积换速度。

  ②硬件原则。从硬件角度进行程序开发。

  ③ 系统原则。以系统的眼光进行模块划分和各模块任务的分配。

  ④同步设计原则。同步设计易于提高设计的频率和设计的稳定性,当前的优化工具也多是针对同步时序的优化。

  硬件程序设计的另一个重要方面是状态机的设计。课题中涉及4个状态机的设计。遵循好的状态机设计原则也是硬件程序开发中不可忽视的一方面。

  状态机编码方式的选择:由于FPGA中提供较多的触发器资源,FPGA设计中多采用热键编码方式,综合器的综合约束属性界面下可以方便地改变状态编码方式。

  初始化状态和默认状态:为避免上电不能正确进入初始状态,设计中初始状态编码为全零;同时为保证逻辑不会陷入死循环,设计语句中应注意完备化设计。

  采用两段式状态机设计方法:将状态转移单独写成一个模块,将状态的操作和判断写到另一个模块中,这样可以将同步时序和组合逻辑分别放置于不同的逻辑块,利于综合器优化代码和布线器实现设计。

  2.3 片上存储器分配策略

  在Stratix II系列的FPGA中包含3种不同类型的内部存储块:M-RAM块、M512 RAM块和M4K RAM块。设计中,应用不同的存储块设计不同的存储器,可以达到较优化的系统性能。

  M-RAM完全支持双端口模式,由512 Kb RAM加上校验位组成,主要用于大数据包的缓存,如以太网帧、IP包等大到几KB的数据包,以及视频图像帧的缓存和NiosII嵌人式软核的存储;M512 RAM块由512位模块加上校验的RAM组成,主要用于接口速率适配的内部FIF0、移位寄存器和时钟域隔离等;M4K块由4 096×1位到128×36位的4 Kb模块加校验组成,主要用于小型数据块存储和多通道I/O协议中,另外M4K RAM也完全支持双端口模式。

  设计中采用的中心处理器FPGA芯片EP2S60包含丰富的存储器逻辑资源,和上一代Stratix系列相比,运行速度提高了50%,逻辑容量增加了1倍,具有达180 Kb的等效逻辑元件和9 Mb的RAM,大大增加了集成度,为高度集成的应用提供了实现基础,而成本比上一代还要低。设计采用的EP2S60器件逻辑资源如表1所列。

根据器件内3种存储器的各自特点,结合片内的逻辑资源分布,在片内设计了

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

网站地图

Top