FPGA一体化高级设计方法
随着 FPGA 技术逐步延伸至军事电子系统以及嵌入式电子产业的几乎全部领域,能发挥可编程逻辑优势的应用已经占据主流地位。通信、机载和控制系统尤其受益于 FPGA 的设计灵活性、现场重构和并行处理功能。同时,较短的设计周期和更加简化的验证过程则有助于加快应用投入现场的进程。
尽管 FPGA 无所不在,但能真正全面发挥FPGA 灵活设计潜力的应用却很少。之所以存在这种局限性,原因在于 FPGA 开发很大程度上只是简单地叠加,或者最多也只是连接于传统的软硬件工作流程上。这个孤立的 FPGA 开发阶段会导致整个设计流程的复杂性大幅上升——并最终限制软硬件领域可用的设计选择范围。
为了简化整体设计工作,并丰富设计选项,硬件设计、软件开发和可编程硬件设计等独立的设计过程需集成在一起,以作为一个整体的任务进行处理。只有在基础层面上让所有设计进程都能共享统一的设计数据库和通用的设计环境,FPGA 的可再编程性这一最主要的独特优势才能得到充分发挥,从而将 FPGA 设计推向前所未有的水平。全面发挥 FPGA 灵活性优势的关键在于了解其发展趋势及所面临的设计挑战,并掌握如何让包含 FPGA 系统中的三大设计方面(硬件、可编程硬件和软件)实现协调整合。
FPGA 从胶合逻辑向 SoC 方向发展
FPGA 刚进入嵌入式市场领域时,被认为是用于实施大量简单胶合逻辑的方便而有效的替代技术。在这种应用中,嵌入式硬件是主要软硬件设计的附属部分,其开发过程不涉及其他组件的设计流程,也不需要与这些流程进行交互。
不过,现在的 FPGA 器件及其使用方式已经在海量数字逻辑便捷容器概念的基础上发生了重大变化。大容量 FPGA 现在能承载整个 SoC 设计,其中处理器、内存以及高速数据处理等核心功能元素都在可编程领域实施。在军用嵌入式系统中,由于受产量相对较低的影响,很难采用 ASIC 设计方案,而 FPGA 则为充分发挥 SoC 设计方案的物理简单性和可靠性等优势提供了一条经济高效的可行之道。
相对于简单的胶合逻辑设计而言,SoC 实施的一个重大不同点在于,软硬件开发现在基本上都是关联于、且依赖于 FPGA 设计。这是因为 FPGA 器件和支持外设是物理设计的中心与核心元素,而嵌入式应用软件也要装载在 FPGA 上发挥作用。因此,FPGA 域的任何更改都会对软硬件域造成显著影响。
受限制的创新
如果将硬件、软件乃至当前的嵌入式硬件等设计的各个部分视作是彼此分开、互不关联的任务,则无论设计域之间如何相互依存,FPGA 产品设计的常规开发流程采用的仍然是传统方案。
某个设计域的变动往往会对其他域造成具有破坏性影响且耗时巨大的重新设计。也就是说,必须在设计阶段早期就做出(并且锁定)软硬件分区等重大决策,这与传统的非 FPGA 嵌入式设计别无二致。实际上,FPGA 器件和外设硬件等物理硬件和随后的可编程硬件元素在有意义的软件开发之前都被依次一一锁定了。
这些最初的决策决定了后续开发流程的参数和限制,因此设计的可选项会随着流程的逐步推进而越来越少。例如,选定的 FPGA 器件(和硬件外设)将定义包括确定采用哪种嵌入式 IP 等在内的性能上限,嵌入式硬件设计进而定义软件可用的功能。或者说,FPGA 器件只能支持该器件厂商提供的软处理器,这进而也定义了应用软件可用的编程选择。
此外,要想微调设计方案的性能,比如将软件算法转移到嵌入式硬件中、或者从嵌入式处理器转为硬连接的处理器、抑或是选择不同的 FPGA 类型等,都会导致对硬件、可编程硬件和软件等所有域
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』