基于软件仿实东西关于动辄几百万门的ASIC验证而言,几乎显得力有未逮。不论是从成本仍是从性能的角度来看,利用硬件仿实器或者基于FPGA的原型验证平台,几乎是验证工程师的不贰秘诀。因为基于硬件的情况可以极大的进步验证的速度,增加代码笼盖率,缩短产物的面试时间。原型验证平台的别的一个重要角色,就是可以为整个系统的固件和软件供给一个早期而实在的硬件情况,在流片之前对系统停止整体的性能评估和瓶颈阐发。
但是到底是选择硬件模仿器,仍是基于FPGA 的原型验证平台来加速 ASIC验证,关于良多团队而言都是一个复杂而困难的选择。关于平台选择的过程,需要考虑的因素十分多、往往既包罗手艺因素又包罗成本考虑:硬件模仿器的容量,运行速度,硬件成本,代码笼盖率,手艺撑持,等等。选择某一个平台的最末目的就是尽可能多地发现隐藏的问题和停止可行性阐发。基于FPGA的原型验证平台比基于定造处置器的平台会有更多的限造,以至某些时候,在多芯片划分、逻辑综合、物理实现方面会碰到难以克制的问题。
专业术语
并没有一个固定的术语来描述各类硬件加速平台的名称,诸如硬件模仿器、原型验证平台、软硬件协同仿实、在线仿实都是能够互换的概念,而且他们之间也没有明白的定义划分。
但是硬件模仿器和原型验证平台之间仍是有差别:硬件模仿器凡是可以供给像软件仿实东西一样的调试才能,因而硬件模仿器利用的范畴相当宽广:从模块级此外软件仿实,到整个芯片级此外在线调试。别的硬件模仿器整合了更为强大的设想流程,而且撑持‘编译-调试’一步完成。相对来讲原型验证平台则缺乏调试的灵敏性,因而常常用于流片之前的系统集成与软件调试。原型验证平台往往只需要相对简单的开发板和软件东西。
但是原型验证平台所具有的施行速度却是硬件模仿器无法匹敌的:前者往往能够运行在10 MHz级别,后者只要几 MHz级别。并且就价格来讲原型验证平台也廉价得多。
除了硬件模仿器和原型验证平台,仿实加速东西(软/硬件协同仿实东西)也能够为验证供给加速办事。望文生义,软/硬件协同仿实东西就是将整个设想的一部门下载到硬件平台中运行,那部门凡是都是可综合的RTL源代码。运行在软件仿实东西的测试平台通过公用协议接口(JTAG、Ethermet、PCle或者其他高速接口)和硬件平台通信。Xilinx的仿实东西ISIM 就撑持那种体例的硬件加速。
软/硬件协同模仿器是一种新的硬件加速东西。和软/硬件协同仿实东西差别的是,它将软/硬件平台的数据通路从实现级进步到了交易级。在线仿实(ICE)并不是是一个硬件加速平台,而是若何利用硬件加速平台的办法。
硬件架构
硬件加速平台按照架构分为两种:基于FPGA的原型验证平台,基于定造处置器的硬件模仿器。基于FPGA 的平台在价格上有较大优势,并且施行速度快得多,凡是用于ASIC的原型验证阶段。硬件模仿器则由成百上千的定造处置器构成,可以为整个验证供给全功用的各类调试办法,而且具有更大的处置容量和更快的编译速度。
硬件成本
和基于FPCA 的原型验证平台比拟,硬件模仿器的价格可能超越数百万美圆。凡是商用硬件加速平台的价格和其处置容量成反比。除了平台自己之外,一些额外的附加费用往往也难以制止,包罗整机维护、用于验证的库模子、交易级模子、附加加强东西、外设模仿器等。
因为购置硬件加速平台的价格不菲,因而许多公司起头供给租赁办事。原因很简单,从验证到流片的时间都比力短(凡是为几个月),因而租用往往比购置愈加划算。
在硬件加速平台的选择中,凡是用来查核的目标有单元逻辑门的费用和单元运行周期的费用。
处置容量
凡是利用2输入逻辑的等效门来描述硬件模仿器或者原型验证平台的处置容量,那次要是为了便利比力差别硬件平台的处置才能。差别的硬件平台的处置容量能够从几百万门到高端的数十亿门。关于 ASIC处置容量的差别估量办法,感兴趣的读者能够存眷公家号,会持续更新。
片内存储
许多 ASIC设想需要大量的片内存储空间来实现嵌入式处置器、系统缓存、FIFO、包缓冲器和其他的应用。硬件模仿器和原型验证平台都可以供给如许的存储空间,其大小从MB级到TB级不等。
模仿器的运行速度
关于模仿器运行速度的估量,感兴趣的读者能够存眷公家号,后续会持续更新!
多芯片划分
凡是ASIC的规模要远远大于FPGA,因而需要把整个设想划分到多颗FPGA芯片中才气完成其所有的功用。芯片的划分工做绝不是简单地将差别的模块放置到差别的 FPGA中那么简单,那个过程需要考虑到整个平台的成本、性能、规模,以至划分的难易水平。那是一项需要频频优化的复杂过程。
软件东西
供给硬件加速平台的供给商,同时也供给各类功用的软件开发包:多芯片主动划分东西,针对该平台而优化的综合东西,在线调试东西,等等。正所谓“工欲善其事,必先利其器”,选择高性能的软件开发东西可以极大地进步验证效率。
最新的高端FPGA无论是从逻辑容量、可用引脚数目仍是内部存储单位来讲,都使其成为硬件加速平台变得可行,而那些平台足以满足中小规模的ASIC验证。
设想撑持特定使命的硬件加速平台可以充实阐扬FPGA的性能优势,使得运行在芯片所撑持的更高速度。在某些验证中,可以在200 ~300 MHz的速度下运行。
设想撑持特定使命的硬件加速平台可以获得商用硬件平台无法供给的特殊功用和性能。好比可以撑持超大容量的外部存储器,可以撑持10 Cbps的以太网通信接口,而且可以撑持 FPGA 芯片之间的特殊毗连体例。
开发特定的硬件加速平台所需的时间和资本是相当大的挑战。因为硬件加速平台的生命周期很短(往往不到1年时间),因而若是购置成熟的商用产物,工程师就有更多的时间投入到ASIC的验证上,而不是在硬件加速平台的开发上破费过多的时间和资本。
到底选择哪种计划能有更好的性价比,那没有确定的谜底。因为影响决策的因素良多:设想该平台的难度,工程团队的手艺力量,需要消费的零件数目,等等。
第三方硬件模仿器和原型验证平台
以下是一些支流的硬件模仿器、原型验证平台及其东西。
1,平台:VU19P FPGA原型验证平台
业界更大FPGA VU19P 原型验证平台
可编程系统集成
900 万个系统逻辑单位
PCI Express® Gen3x16 / Gen4 x8加强的路由、逻辑和时钟
更高的系统性能
UltraScale™ 架构带来的高性能,2,072 个 GPIO
撑持高达 8 组 72 位 DDR4,供给 1.5Tb/s 存储带宽
80个具有 4.5Tb/s I/O 带宽的高速收发器2,平台:Incisive Palladium
公司:Cadence
http:// www.cadence. com/products/sd/palladium_series/ pages/ default . aspx
图2是Cadence公司的 Incisive Palladium Enterptise Simulator高性能硬件模仿器,它利用多颗自定义处置器做为核心来完成各类验证使命。Palladium平台有面向编译速度而优化的引擎;针对该平台而开发的生态系统:验证库,软件包;撑持系统级软/硬件协同验证的硬件模块。该平台的关键目标为(来源:Cadence Palladium数据表):
·逻辑容量:高达20亿逻辑门
·存储空间:高达1TB
·1O引脚:多达6万个
·运行速度:高达4 MHz(硬件模仿器速度)
·编译时间:每个工做站上1~3万万逻辑门/小时·撑持交易级模子和基于断言的加速
. SpeedBridge转接卡撑持PCle、Ethernet 、USB、AXl等多种外设接l1协议Palladium是用于ASIC验证的硬件加速平台的市场指导品牌。
平台:Veloce
公司:Mentor Graphics
http;//http://www.mentor.com/products/fv/emulation-systems/veloce
高性能的Veloce产物系列常常用于仿实加速、流片之前的验证。它基于定造化的处置器构造、其5条产物线能够撑持8百万门到超越5亿门的逻辑验证。
平台:ZeBu-Server
公司:Synopsys
http://www.synopsys.com/Tools/Verification/hardware-verification/emulation/ Pages/ zebu-server-asic-emulator. aspx
ZeBu-Server是基于FPGA 系统的验证加速平台,能够撑持高达10亿门的逻辑设想,并且施行速度可以到达30 MHz。ZeBu-Server对准的是大规模多核芯片的系统验证使命。基于Xilinx Virtex-5 LX330的ZeBu-Server是如今市场上性能更高的验证加速平台。
产物:RocketDrive,RocketVision
公司: GateRocket
http:/ / http://www.gaterocket.com
GateRocket公司的RockeDrive属于基于 FPGA 的小型外设,可以供给硬件语言仿实工.具的加速功用。而RocketVision则是配套的调试软件。
产物: HES
公司: Aldec
http:// www. http://aldec.com/ en/products/emulation/ hes-dvm
Aldec公司的硬件模仿系统(HES)是公用于仿实加速的FPGA原型验证平台。该东西的强项在于可以供给主动化吃的编译情况、尺度的测试接口,而且可以整合其他高性能的软/硬件调试东西。
公司:Dini Group
http://www. dinigroup. com/new/index. php
Dini Group公司可以供给高性能的FPGA 原型验证平台和硬件模仿器。图3显示了 DiniGroup公司的FPGA 原型验证平台,它接纳了16颗Xilinx Virtex-5 FPGA芯片。
更多有趣的话题请看链接:
FPGA常识聚集-FPGA项目开发包罗那些使命?
FPGA常识聚集--FPGA构造(1)
FPGA的应用
FPGA常识聚集-在号令行形式下利用Xilinx东西
FPGA常识聚集-ISE的那些有用的东西您晓得吗?
FPGA常识聚集-FPGA设想开发需要熟悉哪些EDA东西呢?
FPGA常识聚集-值得保藏的FPGA代码定名标准?
FPGA 常识聚集--Linux下ISE的情况变量设置
FPGA常识聚集-值得保藏的Verilog代码气概1
FPGA常识聚集-值得保藏的Verilog代码气概2
FPGA常识聚集-编写可综合代码(RTL)需要留意的规则总结
FPGA常识聚集-Verilog和VHDL的混合利用
FPGA常识聚集-关于Xilinx 东西陈述
FPGA常识聚集-例化与推译
FPGA常识聚集-FPGA的重构