首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

将处理器集成入FPGA的整合之道

将处理器集成入FPGA的整合之道

引言
现有的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设计流程所要求的更高抽象概念。他们可将元件放置入原理图中,并进行布线以设定整个系统的连接性。电路的功能性单元 — 元件 — 被看做是“黑盒子”。
返回列表