将处理器集成入FPGA的整合之道
时间:08-27
来源:互联网
点击:
现有的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与基于原理图的线路板设计方法相结合,集二者之优势以实现系统级的设计开发。
设计输入所要面对的挑战
一直以来,FPGA都被当做是用在较大系统中的单一用途元件,是与其他采用分立、现成元件的主要功能块如处理器一起工作的。这种单一用途的元件可以用于集合大量的组合逻辑或者胶合逻辑,也可以充当一种特殊的元件,如网络摄像机用图像编码器,它具备复杂的大规模数据转换功能。
用途单一的元件设计通常采用硬件描述语言(HDL)进行设计输入,这会非常有效,如VHDL或Verilog,但采用原理图编辑器等图形工具则差强人意。
然而,在将整个电路中的功能块连接在一起时,HDL的效能低于图形工具。要想高效优质地完成FPGA上嵌入式系统的设计,一个必要的条件就是能在一个设计中将HDL和原理图方法结合起来使用。
Nexar采用了一种叫做“混合模式”的设计输入(design capture)方法来应对这种挑战,它支持在一项设计中应用原理图和HDL两种设计方式(采用VHDL语言)。这样工程技术人员可根据工作的特定需要来选用最适当的方法。在构建整个系统设计并需要对处理器和外部部件进行连接时,可采用原理图输入(schematic capture)的方式。当需要开发一种用做系统元件的大容量逻辑块时,则可采用VHDL描述的方法。这种混合模式的输入方法为在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与基于原理图的线路板设计方法相结合,集二者之优势以实现系统级的设计开发。
设计输入所要面对的挑战
一直以来,FPGA都被当做是用在较大系统中的单一用途元件,是与其他采用分立、现成元件的主要功能块如处理器一起工作的。这种单一用途的元件可以用于集合大量的组合逻辑或者胶合逻辑,也可以充当一种特殊的元件,如网络摄像机用图像编码器,它具备复杂的大规模数据转换功能。
用途单一的元件设计通常采用硬件描述语言(HDL)进行设计输入,这会非常有效,如VHDL或Verilog,但采用原理图编辑器等图形工具则差强人意。
然而,在将整个电路中的功能块连接在一起时,HDL的效能低于图形工具。要想高效优质地完成FPGA上嵌入式系统的设计,一个必要的条件就是能在一个设计中将HDL和原理图方法结合起来使用。
Nexar采用了一种叫做“混合模式”的设计输入(design capture)方法来应对这种挑战,它支持在一项设计中应用原理图和HDL两种设计方式(采用VHDL语言)。这样工程技术人员可根据工作的特定需要来选用最适当的方法。在构建整个系统设计并需要对处理器和外部部件进行连接时,可采用原理图输入(schematic capture)的方式。当需要开发一种用做系统元件的大容量逻辑块时,则可采用VHDL描述的方法。这种混合模式的输入方法为在FPGA平台上同时支持系统和元件级设计提供了一种理想环境。
FPGA 仿真 Altium 电子 嵌入式 电路 编码器 VHDL Verilog 虚拟仪器 总线 PCB 相关文章:
- 基于FPGA的片上系统的无线保密通信终端(02-16)
- 基于Virtex-5 FPGA设计Gbps无线通信基站(05-12)
- 基于FPGA的DVI/HDMI接口实现(05-13)
- 基于ARM的嵌入式系统中从串配置FPGA的实现(06-09)
- 采用EEPROM对大容量FPGA芯片数据实现串行加载(03-18)
- 赛灵思:可编程逻辑不仅已是大势所趋,而且势不可挡(07-24)