微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > FPGA仿真器与定制硅仿真器的区别

FPGA仿真器与定制硅仿真器的区别

时间:01-22 来源:互联网 点击:
作者:LauroRizzatti

10多年以来,我一直坚定地支持基于FPGA的硬件仿真系统,并在2013年一直不遗余力地宣传其优势。自那以后,我已成为精通各类硬件仿真专业知识的顾问,但现在来评论FPGA硬件仿真系统与定制硅硬件仿真系统之间的区别似乎有些姗姗来迟。

商用FPGA硬件仿真器与定制硅硬件仿真器之间的根本区别在于映射被测设计(DUT)的核心单元。顾名思义,定制硅硬件仿真器是基于定制器件而造,不可用于商业用途。定制硅硬件仿真器就是采用两个不同种类当中的一个来实现的。

在第一类中,核心单元是专为硬件仿真应用而设计的定制FPGA,但通用FPGA是个糟糕的选择。Mentor Graphics提供一种称为Crystal2的此类器件,并称之为定制片上硬件仿真器,如图1。在第二类中,核心单元包括大量简单的布尔处理器,此类处理器在巨大的内存中执行设计数据结构存储。Cadence供应商称之为“基于处理器的硬件仿真器”。很显然,定制FPGA硬件仿真器与商用FPGA硬件仿真器具有一些相似之处,但仍然具备独特的功能。


图1:Mentor Graphiscs Crystal2“定制片上硬件仿真器”。

定制FPGA硬件仿真器

定制FPGA硬件仿真器由法国初创公司MetaSystems(1996年被Mentor Graphics收购)最先开发并商业化,采用不同于Xilinx和Altera所提供的独特FPGA。该硬件仿真器是基于定制硅上仿真器架构,专为涵盖整个硬件仿真器(包括可配置单元、局部互连矩阵、嵌入式多端口内存、I/O通道、带探测电路的调试引擎和时钟发生器)的仿真应用而设计。

这种方法使用了三个创新点,每个创新点都可提供独特的优势:

●可编程单元的内部互连网络;
●定制FPGA的外部互连网络和I/O结构;
●DUT调试引擎。

可编程单元的内部互连网络

可编程单元的互连网络包括两个不同分级层:位于查找表(LUT)及其集群(Cluster)级别的低层;以及更大块的LUT集群,即所谓的叠块的高层。

可以用空间类推法来描述低层。假设所有的LUT都位于球体表面上,任何两个LUT互连都必须穿过球体中心,则无论两个LUT位于何处,互连导线的长度始终相同。(图2)。


图2:描述低层空间类推法。

上述类推法延伸到更高层级,LUT集群可以分布在更大球体的表面上,并采用相同的方式互连(图3)。这基本上是一个重复相同模式的分形图,从外到内或从内到外移动。高层通过专利结构互连叠块,提供类似于低层固有的优势。


图3:高层级空间类推法。

高层通过微小的交互开关矩阵(有些类似于片上网络(NoC)架构)互连叠块,因此使该结构有别于传统网格互连网络。这种方法可以确保布线可预测、快速和无拥塞。

此外,时钟树通过导线连接到独立于数据路径的专用路径,因而可以预测和重复时序,并通过构造防止时序违规行为,因为数据路径比时钟路径更长。不可预测的时序和保持时间违规行为会破坏商用FPGA的可用性。

与商用FPGA的结构相比,定制方法可以确保时序的确定性和可重复性。该方法消除了布局约束,确保实现简单的布线和快速的编译(图4)。


图4:商用FPGA与定制的对比。

多层互连网络对高容量进行权衡,现可用于最大的FPGA,并支持快速和无拥塞的FPGA布局和布线(P&R)。可以在约五分钟内对一个定制FPGA进行布局布线。即使将最大FPGA的填充率降低至50%或以下,P&R仍可能需要几个小时。

毫无疑问,与使用当前市场上最大的商用FPGA相比(例如Xilinx Virtex-7 XC7V2000T),映射10亿ASIC等效门设计将需要更多的定制FPGA器件。实际差异可能会小于通过比较内部资源(例如LUT)估算的结果,因为定制FPGA的利用率接近100%,而商用FPGA则为50%左右。

以下因素有助于减轻容量差距:内置的VirtualWire逻辑(用于I/O数最大化而不是消耗LUT);内置的调试引擎(节约留给DUT映射的宝贵的可配置资源);以及一个有效的布线器。

这两种技术都受益于在多个PC分配P&R,但定制方法仍然具有优势。在一系列定制FPGA上对10亿ASIC等效门设计进行布局和布线(在大型模拟场进行操作)可能需要30分钟。在一系列较小的Xilinx Virtex-7上对相同的设计进行布局和布线将需要几个小时。

拥有了该技术,定制FPGA硬件仿真器供应商可以管控运营,优化和定制P&R软件,而这是商用FPGA硬件仿真器供应商无法做到的。因为后者受FPGA厂商支配。

片上硬件仿真器的外部互连网络

片上硬件仿真器的外部互连网络是基于所谓的VirtualWire技术。借助VirtualWire,FPGA集合会自动编译为一个巨大的FPGA,该FPGA不会受到可破坏通过传统方式互连的一系列等效FPGA的潜在时序问题的影响。该技术在开发时仅可用于采用商用FPGA的硬件仿真器。现在,相同的技术已嵌入到片上硬件仿真器。

VirtualWire是基于多个再综合流程(时序、存储器、互连),此类流程将DUT转换为映射到一系列定制片上硬件仿真器器件的功能等效的设计。

时序再综合使用正确性维护转换来重新定时用户的设计,通过引入单个高速时钟来保护其免受不准确的FPGA延迟。此外,还消除了传统硬件仿真系统的保持时间问题。

存储器再综合实现低成本实施各类存储器(包括宽多端口RAM),无需构建定制存储卡或使用FPGA存储器。多路复用和存储器共享支持使用快速且便宜的常见SRAM芯片进行存储器硬件仿真。

互连再综合通过在器件固定和有限数量的I/O管脚上增加传输中的I/O信号数,来扩展器件间的通信带宽,并以最大速度进行连接。最终结果是,器件利用率显著提高到约100%,避免拥塞并维护DUT完整性。

在每个I/O管脚增加I/O信号类似于在FPGA原型板上实施I/O数最大化的方法。

VirtualWire实现更为复杂。该技术:

●通过保证局部时序正确性实现全局时序正确性和系统可扩展性;
●提供为所有触发器计时的虚拟时钟,分配单个同步低偏移时钟;
●信号布线和调度受编译器控制,因为信号必须通过已知数量的FPGA。

VirtualWire实现还扩展了带宽,从而可提高FPGA和导线的利用率。多路复用技术可以扩展各级封装的互连带宽,从FPGA间和板间到机箱间,使得分区更容易。

此外,还提供相同的多路复用技术来访问存储器。通过对数据总线进行多路复用,可以使用常见的SRAM芯片构建宽存储器。可以使用SRAM芯片实施多端口存储器。可以在布线和调度步骤中整合存储器调度。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top