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

超越SoC的设计创新

超越SoC的设计创新

关键字:Soc   FPGA   ASIC  
大多数软、硬件工程师都很熟悉FPGA,这点应该勿庸置疑。这种熟悉不见得是实质性的熟悉,而是从概念上比较了解,也就是说FPGA功能的快速发展和成本的不断下降是大家都不容忽略的优势。同时,他们也认识到这种可编程器件显然能方便地作为各种数字电路以及逻辑处理的高灵活度、低成本的载体。

基本说来,在设计方案中发挥FPGA的功能就是简单地映射出所需的逻辑,然后将其下载至适当容量大小的器件中。这有些像大型处理器系统主体设计的辅助支持工作,而且在该层面上也确实发挥着自身的支持性作用。

近期一些应用开始充分利用FPGA的高吞吐量和并行计算功能进行数据处理工作,不过这种工作仍属于发挥支持性作用,而不是主要作用。例如,我们往往在设计工作后期才决定采用基于FPGA的DSP模块,而且是将其作为主设计规划与工艺流程的附属部分来开发。

随着FPGA功能获得长足发展,我们已开始采用能够在可编程空间内实施处理器、存储器、高速数据处理以及外设等核心功能模块的Soc设计方案。随着FPGA器件各代工艺技术从65纳米向先进的40纳米方向发展,而且门的容量达到数百万个,FPGA目前已开始走向发挥主导作用的前台,能够支持真
正的大型设计,达到专业化ASIC器件的实施水平。

从某种程度上说,这要归功于FPGA厂商推动的技术发展,拉近了FPGA与ASIC器件之间的性能与效率差距。对于大多数投入中低规模量产的产品而言,基于FPGA的方案显然比ASIC更实际,这主要是因为后者的NRE成本已然非常高昂,而且还在不断升高。不过,目前高产量产品仍然主要选用ASIC器件。

发挥潜力的障碍

不过,如果我们简单地认为FPGA就是ASIC设计方案的低成本与多功能备选方案的话,那么我们就会忽视FPGA可提供的巨大潜力。FPGA的更高级潜力集中体现在FPGA从根本上与ASIC存在的技术差异性,即FPGA的关键技术组件具有强大的可再编程能力。要充分发挥其这一潜力需要采用不同的设计理念和设计方法,这就远远超出了传统SoC的设计思路和ASIC的原有方案。

FPGA型产品设计的传统开发进程反映了传统的设计理念,即将设计方案的各个部分(软件、硬件及嵌入式硬件)作为彼此独立、不相联系的任务。这就是说,传统方案与ASIC开发工作差不多,软硬件分组等重大设计决策都是在设计周期的早期阶段做出的(并在早期阶段就固定了)。

其结果是,物理硬件(FPGA器件与外设硬件)以及可编程硬件元素在进行有意义的软件开发之前就已经锁定了。这些初期决策确定了后续开发工作的参数和局限性,因而导致越到开发后期设计选择的局限性就越大。通过修改软硬件分组、将嵌入式处理器改为硬连接处理器抑或是选择不同的FPGA器件类型等来进行细节调整设计方案的理念是不存在的。


在上述基本层面进行任何设计方案调整都必须对包括硬件、可编程硬件和软件在内的所有设计领域进行大量重新设计,这对设计工作造成的冲击是极其巨大的,因此我们必须不惜一切代价避免这种设计巨变。简而言之,只能在可编程硬件的限制框架内创建软件,而可编程硬件则又相应局限于固定的物理硬件。

在当今设计中,软件定义着产品的独特优势与竞争元素(功能性与最终用户体验),因此传统的SoC设计方案会人为地制造软件开发的局限性,影响设计最具价值的成分。对基于FPGA的设计而言,产品最核心的资产当属应用软件和嵌入式FPGA硬件所决定的“软”属性。

智能层

如果对FPGA平台采用传统的SoC设计方案,就会面临ASIC方法的大多数局限性,但是FPGA自身的巨大灵活性则能带来更多可能。特别是如果FPGA开发进程与软硬件开发进程密切相关、共享相同的设计环境和设计数据池的话,就更能发挥灵活性优势。

例如,如果FPGA的架构能够采用高灵活性接口层,有效地将设计的“软”元素与主机硬件相隔离,那么就能充分发挥各种可能性,可以尽可能地降低应用软件和可编程硬件设计变动对周围硬件系统所造成的影响。

这是发挥最新高容量FPGA器件功能的进一步合理举措,可让可编程元素进一步成为设计方案的核心,而不仅是传统SoC系统的简单载体。可编程元素实际上可以发挥更大的作用。

此外,FPGA利用这种方案还能发挥外设、I/O协处理器以及接口连接的作用。除了构成传统SoC系统的高级功能元素之外,FPGA还可作为设计方案中软硬元素之间的连接机制。处理器、存储器或DSP可作为软内核或物理硬件实施,甚至也可同时兼顾二者实施,同时FPGA提供的可再编程层能够将其联系在一起。


这些更为丰富的FPGA元素通常可作为处理器以及存储器和外设等硬件之间的接口,可将不同功能器件之间的接口实现“标准化”,这样设计人员就不必烦心考虑I/O配置和总线系统等低级而复杂的硬件问题了。事实上,这些层可提取外设或处理器接口,从而能够在不影响周围硬件的情况下简化对功能

返回列表