最初的FPGAs是由数十个逻辑单元所组成,其功能需求很容易经由绘制电路图的软件来表示。然而在摩尔定律的推波助澜之下,FPGAs也日趋壮大。在90年代初期,FPGAs已成长到由数千个逻辑单元组成,电路图的绘制也开始变得相当复杂而乏味。FPGAs组件的复杂度和功能已经超过入门级设计工具的能力范围,幸运的是,此时已有一项解决方案可供选用,也就是逻辑合成(logic synthesis)。

Synplicity的资深营销副总裁Andrew Haines
Synplicity的资深营销副总裁Andrew Haines

Synplicity的资深营销副总裁Andrew Haines指出,逻辑合成的运用相当理想,这项技术可协助工程师逐一完成数万或高达数百万个逻辑单元的设计案。但当被运用在更大的设计案时,工程师也渐渐发现这项技术的瓶颈。在组件更大和运作期更长的情况下,时序收敛(Timing closure)已成为一大难题。工程师可能知道他可以达到组件所需求的速度,却不知道要重复进行多少次的设计才能完成。为此市场上出现了多种不同的解决工具和策略,如平面规划(floor planning)和后合成优化(post-synthesis optimization)等技术。不过,这些解决方案只能片面解决时序收敛的问题。目前看来,要解决的并非只是复杂度的问题,在深次微米的时代,还有一些新的议题必须要认真地去考虑。功率已然为许多FPGA设计中的一大问题,而很快地,在深次微米SoC的设计中还会遭遇到其他的议题。例如芯片上的频率可变性将会成为硬件式解决方案的一项发展阻力。

现在的情况,就如同回到90年代初期一样。业界需要转变到一套新的设计技术,并在此基础下去面对在数字化FPGA设计领域里,不断提升的设计复杂度,以及由深次微米制程所带来的挑战。我们所需要的转变是从逻辑合成进入到实体合成的技术,因为实体合成能够同时进行逻辑优化,以及布局和绕线,此技术同时也拥有时序收敛与功耗优化等问题。实体合成为复杂度的提升及深次微米议题的因应提供了一个平台,而这些都只是迟早的问题罢了。

而在FPGA设计日渐复杂,以及必须协助业者加快产品开发时程的因素之下,采用FPGA制作ASIC原型以进行验证的做法日渐普及。FPGA原型验证能够以更低的成本提供复杂度更高的芯片验证工作。透过FPGA原型进行验证,仿真速度可达到10~80MHz,更能实际反映出芯片内部的数据传输速率。

Synplicity目前针对ASIC验证主要是提供Synplify Premier以及Certify两套工具,Synplify Premier便是目前市场上FPGA实体合成的重要方案。Synplicity的Certify软件是目前效能最高的ASIC快速原型工具,它具备自动化技术,可将RTL设计自动进行切割、I/O分配、闸控频率转换,并ASIC组件转换,因此能够将复杂的ASIC设计分割为以多颗FPGA进行验证。

Andrew Haines指出,目前台湾仅有不到五成的芯片设计业者采用ASIC验证技术,未来Synplicity将积极在台湾推动ASIC验证技术,希望在两年内让使用的业者达到八成为目标。