为应用选择最佳可编程SoC时进行的六个设计考虑.doc
《为应用选择最佳可编程SoC时进行的六个设计考虑.doc》由会员分享,可在线阅读,更多相关《为应用选择最佳可编程SoC时进行的六个设计考虑.doc(11页珍藏版)》请在三一文库上搜索。
1、为应用选择最佳可编程SoC时进行的六个设计考虑SoC FPGA器件在一个器件中同时集成了处理器和FPGA体系结构。将两种技术合并起来具有很多优点,包括更高的集成度、更低的功耗、更小的电路板面积,以及处理器和FPGA之间带宽更大的通信等等。这一同类最佳的器件发挥了处理器与FPGA系统融合的优势,同时还保留了独立处理器和FPGA方法的优点。目前,市场上主要有三种SoC FPGA,它们的处理器都是完全专用的硬核处理器子系统,而不是FPGA架构中的软核知识产权(IP)。所有这三种器件都采用了全功能ARM处理器,具有完整的存储器层次结构,以及专用外设,启动、运行和工作都与普通的ARM处理器一样。Micr
2、osemi SmartFusion2 SoC FPGA基于ARM Cortex-M3嵌入式处理器,主要面向微控制器应用。Altera SoC和Xilinx Zynq-7000器件使用了双核ARM Cortex-A9应用处理器。除了处理器,SoC FPGA还有丰富的外设、片内存储器、FPGA类型的逻辑阵列,以及大量的I/O。这几种可编程SoC产品表面上看来来都一样。它们都在一个器件中集成了ARM处理器、各种外设和FPGA。而实际上,仔细的评估这些器件,更深入的了解数据资料是非常关键的。应针对具体应用来评估底层体系结构及其内涵。SoC FPGA体系结构非常重要。仔细的检查和思考会发现在体系结构上有
3、很多明显的不同。设计人员应如何选择?本文介绍了在为应用选择最佳可编程SoC时应进行的设计考虑,综合考虑后作出工程决定。选择标准主要集中在六个方面:系统性能、系统可靠性和灵活性、系统成本、功耗、未来发展路线图、开发工具。1.系统性能SoC FPGA体系结构的两方面最终决定在不同的单元之间能否高效的传送数据:互联,以及片内和片外存储器带宽。SoC体系结构要考虑的第一项是Level-3 (L3)互联。顾名思义,L3是L1和L2 Cache之下的一级数据传输层。L3互联的重要性体现在,它是提高性能的交换中心。不同SoC FPGA供应商在L3系统互联上的特性有所不同。Altera SoC FPGA提供由
4、三种交换架构构成的L3系统互联L3主交换、L3主机外设交换、L3从机外设交换,使用ARM的AMBA NIC-301网络互联基础结构来实现,如图1所示。图1.Altera SoC FPGA互联体系结构Altera SoC使用精简分层总线,无阻塞交换体系结构减小了延时。互联设计支持来自多个主机的同时多路会话,提供足够的带宽,因此,每一主机能够连续运行(无阻塞)。对于仲裁,能够为每一主机分配优先级,指导总线仲裁。使用最近使用(LRU)算法对优先级相同的主机进行仲裁。其他厂家的SoC FPGA体系结构可能使用多级层次,这需要分布式仲裁,但这会带来延时。分布式仲裁类似于有多个数据流仲裁。这种方法要求使用
5、中心服务质量(QoS)模块以确保主机不会拥塞。分布式仲裁也有调整问题,会与DDR存储器控制器端口仲裁冲突。SoC FPGA体系结构最显著的优势是处理器与FPGA的片内紧密耦合。为实现这种性能优势,处理器至FPGA互联应有足够的带宽(宽度和速度),选择类型合适的互联也非常重要,这不能成为系统数据传输的瓶颈。在结构方面,在其他厂家SoC FPGA器件中,数据通路和控制通路会竞争并占用带宽。处理器需要访问FPGA逻辑中硬件加速器并对其进行设置。如果这些控制会话过程与数据流出现竞争,那将会阻塞大吞吐量数据流,输入数据连续处理的过程会出现中断。相似的,宽带数据流会延时控制信号,增加了控制延时。为防止出现
6、这种情况,Altera SoC FPGA采用了第二个低延时、无阻塞轻量互联桥接。处理器通过这一简单的32位ARM Advanced eXtensible Interface (AXI)接口来访问FPGA中的控制寄存器,不会阻塞或者影响大吞吐量数据流,如图2中的蓝色部分所示。同时,处理器和FPGA之间的宽带数据连接支持32位、64位以及128位宽度会话,如图2中的红色部分所示。图2.Altera SoC FPGA含有大吞吐量数据通路和无阻塞低延时控制通路2.系统可靠性和灵活性高度集成的SoC FPGA还有助于建立更可靠的系统。两个重要的方面体现了SoC FPGA器件的不同之处:系统中有多少存储器
7、保护? SoC FPGA怎样应对软件缺陷?对错误探测、纠正和监视的需求已经成为当今设计的发展趋势。随着存储器容量和密度的不断增长,对错误检查和纠正的需求也在增长,也越来越重要。大部分现代系统包括专用硬件来帮助实现数据完整性。从SoC FPGA角度看,这包括纠错码,即ECC保护它不仅仅是存储器控制器保护的一部分,而且还集成在处理器的片内存储器、高速缓存,以及外设缓冲中。ECC电路使系统更可靠,系统不受意外数据错误或者数据损坏的影响。表1总结了Altera SoC的硬件ECC与其它厂家的对比表1.SoC FPGA中的ECC值得重点介绍的另一方面是NAND闪存。NAND闪存适用于文件系统存储,但有时
8、候可靠性不如NOR闪存。因此,NAND闪存的ECC被用于消除错误。早期版本的NAND闪存控制器包括单比特ECC保护。这虽然有一些优点,但是CPU必须参与其中,CPU必须通过软件管理ECC,导致对性能有明显的影响。大部分现代NAND闪存控制器都包括多比特ECC保护。特别是,在Altera SoC FPGA中实现的NAND闪存控制器包括对512字节段的4比特、8比特和16比特硬件纠错,以及对1,024字节段的24比特硬件纠错。这实现了功能更强更需要的保护功能,而且不会降低性能。存储器保护通常是先进的处理器具有的一种特性。不论是被称为存储器管理单元(MMU)还是存储器保护单元(MPU),处理器的存储
9、器保护单元都能够防止错误或者非法的处理器会话读取或者损害其他的存储器区域。在Cortex-A9处理器中,ARM的TrustZone技术扩展了这一保护概念,为安全敏感的系统提供了系统级方法。某些SoC FPGA将存储器保护扩展到了FPGA。为什么这一存储器保护来自FPGA,又用于FPGA呢?处理器和FPGA可以共享一个外部DDR存储器接口,以便降低成本,减小电路板空间,节省功耗。假设定制FPGA逻辑恰好覆写了一段属于处理器数据、应用程序代码,或者操作系统(OS)内核的存储器,那么会怎样呢?这会导致系统故障或者将处理器指向错误的方向。为防止出现这种情况,为操作系统和嵌入式应用软件指定了特定的存储器
10、区域,而其他存储器区域可以专门用于基于FPGA的功能,如图3所示。通过存储器保护,基于FPGA的功能不会损坏操作系统或者嵌入式软件区域。图3.DDR存储器保护,处理器和FPGA共享公共的存储器。看门狗定时器可以防止出错的软件将系统阻塞。在以前的双芯片分立方案,即处理器加FPGA的解决方案中,如果处理器运行出错导致看门狗复位,FPGA仍然能够运行。体系结构设计良好的SoC FPGA必须支持同样的独立行为,而且还提供选择给系统设计人员来决定是否重新配置FPGA。在很多情况下,很关键的是当处理器自己复位时,FPGA逻辑需要继续监视并响应外部激励。因此,在这种条件下,检查FPGA怎样重新配置非常重要。
11、如表2所示,Altera SoC支持处理器和FPGA的复位电路单独工作。由系统设计人员决定是否在CPU复位时重新配置FPGA。而其他SoC FPGA则在处理器复位时必须重新配置。表2.SoC FPGA中的CPU复位灵活性是很多设计人员选择使用FPGA的主要原因之一。可全面编程的SoC将设计灵活性扩展到了系统级。选择SoC FPGA时要考虑的三种体系结构:处理器启动和FPGA配置优先级可选、片内FPGA接口、封装引脚兼容。处理器启动和FPGA配置的多种选择对灵活性的需求首先从启动开始。SoC FPGA中有三种:CPU最先启动方式;或者先配置FPGA,再通过FPGA逻辑启动CPU方式;以及完全独立
12、的处理器启动和FPGA配置机制的方式。目前,Altera SoC FPGA是唯一设计支持所有这三种选择的ARM Cortex-A9处理器SoC FPGA。灵活性也扩展到片内FPGA接口上。有时候应用程序需要特性丰富的标准接口;有时候则要求简单或者可定制接口。对于需要高级功能的应用,SoC FPGA使用了ARM的AXI接口来连接处理器、硬核外设和FPGA逻辑。AXI标准使用成熟的业界标准,提供高速宽带接口。但是,对于不需要AXI所有特性的IP内核应该怎样呢?可扩展特性更重要,又会怎样呢?需求的一个极端可能是用户定制的1000线接口;而另一个极端则只需要一条线来点亮LED或者读取一个开关。为满足这
13、种变化的需求,除了AXI接口,Altera SoC FPGA还支持Avalon存储器映射(Avalon-MM)接口,以及Avalon流(Avalon-ST)接口。这些可扩展的Altera接口标准非常适合要求较低或者其他的特殊功能需求。这样,IP设计人员可以为每一功能选择最优接口。这也支持现有Altera FPGA客户继续使用现有的IP,不一定要移植到AXI。封装引脚兼容布局进一步提高了设计、开发和实施阶段的灵活性。开发人员很容易在具有不同逻辑密度的器件之间移植设计,这些Altera SoC器件有相同的封装引脚布局。此外,开发人员可以在封装引脚兼容布局范围内,在具有收发器和不具有收发器的器件之间
14、进行移植。为进一步降低成本,提供无收发器版本,它支持双核或者单核处理器。这些选择使得一个印刷电路板平台满足了不同的成本和特性应用。3. 系统成本目前发售的每一系统几乎都面临越来越高的成本压力。而SoC FPGA是具有先进特性的创新产品,Altera设计其SoC FPGA时同时考虑了组件和系统成本。一片SoC FPGA的成本要比其替代的组件低50%,同时也能够降低系统成本。当考虑SoC FPGA成本时,应重视三个关键方面:SoC中已经集成了多少等效功能? 应用需要高速收发器吗?如果需要,需要多少? 相关的电源供电成本有多大?SoC FPGA解决方案的集成度有多高? 取决于应用,一片SoC FPG
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 应用 选择 最佳 可编程 SoC 进行 六个 设计 考虑
链接地址:https://www.31doc.com/p-3371389.html