您的位置 >> 基本概念与应用

将处理器集成入FPGA的整合之道 更新于2009-12-30 02:01:38 文章出处:与非网

关键字: FPGA HDL Altium

引言
现有的FPGA设计策略只是将FPGA看作一个单个元件,且需要依靠HDL输入(HDL capture)和仿真的手段来进行元件设计和验证。而在将处理器集成入FPGA,试图在可编程部件中成就一个完全内嵌的系统时,其所呈现出的复杂性是现有方法无法有效解决的。


若想对嵌入到FPGA中基于处理器的整个数字系统进行输入、运行及调试,工程技术人员需要有一个集合各种工程软硬件设计工具,在一个集成化的FPGA执行环境中协调工作的理想设计平台。本文概述了开发这种系统所必须面对的各种设计挑战,并讲解了Altium公司的最新电子设计环境Nexar如何为FPGA设计提供一种全新的方法。这种方法不仅可将处理器有效地集成入FPGA之中,而且成为一种挖掘现有以及未来大容量、低成本FPGA部件应用潜力的系统级FPGA设计策略。


复杂度提升所带来的问题
一直以来,像FPGA这样的大容量可编程部件都是用于组成逻辑块的,实质上FPGA就是用于研制单一用途的元件,然后与其他现成的元件组合在一起构建一个完整的嵌入式系统。这种工作对于一个含有数万设计门栅的FPGA来讲已经足够了。然而依照摩尔定律,FPGA在成本不断降低的同时其容量也有了大幅的提升,现今的FPGA堪称是一个内含百万级门栅,集成有嵌入式处理器和外设元件,具有可执行整个数字系统工作能力的设计平台,其成本却已不再是上百美元,而是下降到了仅仅数十美元的水平。 现在市场上已有很多此种类型的FPGA,但是为什么工程技术人员没有急于将这些部件应用于设计当中呢?原因很简单—没有合适的设计工具和设计策略。


绝大多数传统的FPGA设计方法是,采用某种形式的硬件描述语言(HDL)在寄存器状态下将整个FPGA作为一个单个元件来进行设计。而且,传统的方法依赖大量的HDL仿真来达到对设计的工作状况进行验证的目的。 在研制FPGA中的组合逻辑块时,采用这种设计方法非常有用,但由于必须进行寄存器寻址,随着FPGA容量的增加以及所用逻辑器件的进一步增多,寄存器级的复杂性使得设计中采用HDL/仿真方法就变得非常烦琐。只要看一下含有处理器以及高阶外设功能的典型嵌入式应用产品就会发现,其电路结构中所特有的复杂性使得传统意义上的FPGA 设计方式不再可行。


虽然这种复杂度可以在一种程度上通过解决分级构造中的问题,搜寻、组合已经过预先测试的IP块,将基于HDL源代码的大模块连在一起以增加层的复杂性来克服,但由于基于HDL组合逻辑的较大模块需要许多行代码,并要知道什么是能集成在设计中的有效源代码,工程技术人员需要对代码的工作流程有一定的了解。


随着设计复杂度的提高,采用传统的HDL/仿真方法来进行FPGA产品开发时,其复杂性所导致的一系列问题就显现了出来。将FPGA当做一种孤立元件进行开发时,行之有效的实施和验证策略在应对系统级集成时受到了严峻的挑战。要想在FPGA平台上进行高效优质的系统级设计,就必须有一种全新的思路和方法。
 

借鉴线路板设计的经验
线路板级系统的设计为我们提供了有用的经验和设计灵感。通常情况下,为百万级基本门栅的复合系统是无需耗用大量仿真周期的。这是因为复杂的系统已溶入到高阶元件设计之中了,而元件可以很简单地在一个图形环境中连接在一起以便构建起整套系统。门栅和寄存器级的复杂性被元器件有效地掩盖和回避了,这使得工程技术人员无需具备任何有关元件基本结构方面的知识,就可以相对快速且容易地进行整个系统的开发工作。


工程技术人员在从事线路板级的设计时,需要有传统HDL设计流程所要求的更高抽象概念。他们可将元件放置入原理图中,并进行布线以设定整个系统的连接性。电路的功能性单元— 元件 — 被看做是“黑盒子”。如果将这种方法引入到FPGA的内部设计之中,将FPGA看做是一个通过元件互连来构建系统的平台,而不是简单地看做是一个独立的复合元件,会是一种更大规模的设计流程。Altium Limited公司新近推出的设计系统(Nexar)正是应用了这种方式。 工程技术人员可将现有的线路板级嵌入式系统设计知识直接应用于可编程部件的开发之中。Nexar的独特之处在于它并非试图将传统的HDL流程按比例提升到系统级的水平,而是将HDL与基于原理图的线路板设计方法相结合,集二者之优势以实现系统级的设计开发。