您的位置 首页 模拟

FPGA技能的长处和缺陷,怎么进行规划验证

FPGA技术的优点和缺点,如何进行设计验证-设计的复杂度并不是唯一的限制因素。Altera公司技术营销高级经理Phil Simpson指出,如果设计本身就需要大量数据来进行验证,即使在块的级别模拟也会变得不实用。他以视频编解器为例说明这个问题。在视频编解器中内部状态非常之多,所以可能只有在15分钟的视频短片中间才能表露出问题。但是,对15分钟高清视频压缩和解压的模拟会非常费劲。

曾几何时,要验证 FPGA 的逻辑规划,能够先编译、写入,然后按下评价板上的复位按钮。可是,跟着FPGA规划的增大,这种被Xilinx公司软件产品营销总监Hitesh Patel 称为“blow and go”(逃生法)的验证办法已不能满意要求。要做出一个近乎完美的有百万个门的规划,到达能够从封装引脚就能够调试的境地,成功的时机十分之迷茫。因而,FPGA规划组也开端采纳ASIC规划组已运用多年的办法,选用依据软件的规划模仿。

可是这种办法也引出了一系列重要的问题: FPGA规划中模仿的作用应该跟在ASIC规划中相同吗?验证人员是否仍是要在某个时刻将规划装入产品FPGA并立刻开端测验它?假如是这样,这个时刻是在什么时分?为了澄清规划团队现在都在做什么,咱们询问了一些作业中与FPGA用户联络最严密的人。作为参阅,咱们还询问了几个在验证进程中选用FPGA 原型来进行ASIC规划团队,以了解他们的定见。

长处和缺陷

大都人谈论验证流程时,首要会比较模仿和在FPGA内验证的好坏。尽管有经历的读者或许会觉得庸俗,本文也仍是选用相似的形式。

模仿的一个很大的长处自然是它的拜访才干。该办法能够以时钟周期分辨率调查RTL (寄存器传输层)规划中任何信号。只需有必要,对规划情况的操控能够到达任何水平。到达可观性和可控性的仅有约束便是对RTL的了解程度和对模仿环境的把握程度。你能够在有限的规划范畴交互式地作业,也能够构建运转好几天的大型实验。构建的模仿项目运转相对较快,所以能够快速地对许多东西进行实验。

模仿的另一长处是现在的大都模仿环境都能够很好地运用OVL(敞开验证库,Open Verification Library)或SystemVerilog断语。常常能够找到直接的办法将这些断语输入到模仿环境中。跟着依据断语的验证日益遍及,这点就越发重要。此外,经过模仿环境还能够将规划的鼓励和丈量部分与规划自身分割开。这看起来好像不是首要问题,可是,在密布验证作业中,这一特色关于保证规划的完好性会很重要。

可是,模仿比较慢。“假如你在做一个有2百万或3百万个门的块,模仿十分好,” 硬件仿真设备厂商Eve的营销副总裁Lauro RizzatTI说。“可是,在有多个块的层次,模仿会变慢,终究到达完全不可用的程度。”

规划的杂乱度并不是仅有的约束要素。Altera公司技能营销高档司理Phil Simpson指出,假如规划自身就需求很大都据来进行验证,即便在块的等级模仿也会变得不实用。他以视频编解器为例阐明这个问题。在视频编解器中内部情况十分之多,所以或许只要在15分钟的视频短片中心才干披露出问题。可是,对15分钟高清视频压缩和解压的模仿会十分吃力。

电路内办法的谈论

FPGA 内验证办法的好坏与模仿正好相反。首要, 显着FPGA 很快。人们常常能够以全速运转规划。不过,在某些情况下,这样做就意味着时序收敛问题会较多,超乎规划前期预期的程度。别的,与模仿不同,将多个模块归纳到规划中时,FPGA 并不会降速。这样就能够测验整个规划,而非单个块,并且能够以许多的实践数据集来运转测验,而不是选用精心编制的测验用例。

因为FPGA速度较快,并且它的I/O部件便是实践运用所需求的I/O部件,所以也能够选用体系中测验规划:能够在装入方针体系的FPGA开发板上测验,或许,假如方针PCB印刷电路板)能够用的话,就在方针PCB上测验。这样的测验能够消除测验用例是否能够照实反映规划作业环境的疑虑。别的,在实践运用的电路板上测验规划能够露出出I/O方面的问题——例如电气问题、信号完好性问题,或是在高速串行协议下不兼容问题。这些问题用其他办法简直无法检测,而体系内测验则会构成一个软件测验渠道,带来额定的长处。

这些长处都是体系级验证方面的。但Altera公司的Simpson指出:在芯片内测验块也有一些有用的长处。“一旦将某个块装入FPGA,就能够运用嵌入式处理器核(如Nios)来辅佐调试进程,” Simpson说。“例如,处理器核能够使数据进出芯片,能够操控测验时序。这样,在块周边电路还没做好的时分就能够独自测验某个块。”

“在咱们的自有IP(知识产权)开发部分,咱们编写了在Nios核上运转的业务处理器,以此来生成伪随机测验,” Simpson 接着说。“据我所知,这样的做法在用户中还不遍及,但它十分有价值。”

已然FPGA有这么多长处,您或许会觉得疑问:直接将编好的核装入FPGA、为它编写一个试件(test fixture),然后开端测验 ,这样做会有什么问题呢?这个问题的答案在于FPGA的一些缺陷。

FPGA的缺陷

最显着的杰出的问题是可见性。理论上说, FPGA中每个逻辑元件都能够经过芯片的调试接口调查。可是,厂商估量只要一半的FPGA用户在规划中加入了调试接口并将其用于验证。考虑到内置调试口供给的功用是如此强壮,这十分令人吃惊。Xilinx公司的Patel以为,跟着FPGA规划变大,人们会更遍及地运用调试接口。

因而,在大都情况下,假如想观测规划中的某个信号,就有必要先把它引出到一个引脚,然后用逻辑剖析仪剖析它。因为逻辑剖析仪的特色,或许还需求引出许多其他信号,如内部时钟。这样做就会有许多额定的作业,别的,假如要观测的信号是一个与I/O块相隔甚远的快信号,或许还有必要下降FPGA上的时钟频率。因而,一些司理以为:在原始验证方案中包含对FPGA信号可观性的要求是很重要的。

拜访信号所需的附加规划作业是该办法的一个缺陷。芯片内部节点的鼓励和观测还触及另一个问题,那便是需求修正规划、重建和从头归纳测验,因而有或许导致规划和测验部分不能清楚地分割开。假如不能细心地将调试代码和规划代码分隔和切实做好版别操控,就或许无法盯梢这些修正,有或许发生相似于外科医生把手术东西留在患者体内的情况。

别的,树立测验的时刻也是个弱项。规划较大的规划中,归纳时刻并不短,而刺进测验设备、重建、从头归纳和从头绘图的时刻也会是个重要要素,能够影响到是否进行某个实验。这儿选用增量归纳(Incremental-synthesis)东西会有所协助,可是关于有2千万个门的规划,结构和组成进程或许需求一晚上的时刻。

终究,将测验渠道从模仿环境转向FPGA环境也有问题。此刻,鼓励模块需求有电路,而非一组模仿指令。观测某个节点需求的不仅是指令,还需求有电路和物理仪器。尽管依据断语的验证被越来越多的人承受,但好像还没人开宣布哪种办法能够体系性地将断语从模仿环境移植到FPGA。 “现在还没有能够主动将断语移植到FPGA的处理方案,可是咱们收到的对该功用的要求在不断添加,” Simpson说。

掩盖标准也是一个弱项。尽管关于模仿环境正在开发完善的东西来测评验证掩盖情况和来自不同类东西的熔断丈量值(fuse measurement),但在FPGA范畴,简直就没什么掩盖的概念,也没有现存的东西可用于测评测验规划的掩盖情况并将数据报告给中心掩盖收敛(coverage-closure)体系。

对ASIC开发组的调查

因而,简言之,每种办法都有优缺陷。依据这些信息,有经历的ASIC规划组(即常常在其验证流程中选用FPGA者)是如安在模仿测验和依据FPGA的测验间做出平衡的呢?

视频处理器厂商Ambarella有一个比如来答复这个问题。履行副总裁Didier LeGall 说,“大都情况下,咱们底子就不运用FPGA 仿真。依据咱们的经历,有必要得有十分老练的RTL仿真才会有用。可是,现在流程阶段,将规划输入 FPGA和树立测验渠道(的进程)是一件得不偿失的事。”

可是,实践运用情况或许会使LeGall 的观念有所调整。Ambarella 公司的SOC (片上体系) 用于以高帧速率处理高清视频和10M像素静止图像,需求选用十分快的内部时钟和杂乱的算法。可是,LeGall 在对FPGA 仿真做出谈论后,又对整个验证进程的方针提出了一个十分风趣的观念。“新推出IC成功的要害不在于完美的验证作业,” LeGal说。“而在于软件”:也便是说,要知道规划中哪部分比较简略出问题,并且在开端,而不是过后,就做好软件处理方案。这种战略下,验证工程师经过广泛的依据FPGA的测验所取得的许多信息的确会变得比较没用。

LSI Corp的存储元件部分提出了另一个观念。该部分的副总裁和总司理Bill Wuertz叙说了他们是怎么做SCSI (小型计算机体系接口)和SAS (串行衔接)操控器的。

Wuertz 说LSI选用了简直是并行的进程,一个验证小组进行模仿完成一些意图,而另一组则选用FPGA完成别的一些意图。“在规划前期,咱们树立一个称为实验 RTL(trial RTL)的过程,” Wuertz 说。“咱们要知道RTL根本作业正常、各个块相互已衔接好,这是第一个点。在此阶段,验证作业分为两个方向。模仿小组编写他们的东西所用的规划,并持续对单个的块进行模仿。另一个组,即体系工程组,则经过归纳RTL得到内部开发FPGA 版——咱们现在正在规划第五代板卡——然后开端在体系级进行完全的压力测验。”

如Wuertz所述,这两个组具有不同的作业意图。模仿组要尽力保证电路正确。体系组一般不考虑电路,但要保证芯片在改动反常大和十分杂乱的存储网络环境下能够作业。Wuertz 说FPGA 原型会与一屋子的磁盘和磁带驱动器相连运转几天的测验。“这些测验现已过了20多年的开展,”他说。“咱们知道,或许需求对不同磁盘驱动器组合进行很长时刻的测验后才干够发生露出规划问题的时刻匹配反常情况。”

LSI 已开发了自有的将两种环境联络起来的内部东西。例如,经过这些东西,体系组能够捕捉到导致毛病的盯梢数据,并将此数据转换为模仿组可用的鼓励文件。反过来说,模仿组能够依据它在规划中所发现的风险,给体系组宣布提示。在两个作业于不同环境的验证组间树立联络是LSI公司两方向测验办法的要害。在整个进程中,两个组会交流数据,并且,终究规划晶粒需求两个组的定论。

一种可为咱们承受的办法

依据与FPGA厂商和用户的谈论,咱们能够看到对模仿和仿真(图1)混合验证流程咱们根本达到一致定见。这种流程首要对规划开端元件块级的模仿——不是传统上ASIC所用的那种穷举式的力求完美的模仿,而更像是对实践情况进行检查。其方针是验证元件块可用、引脚作业根本正确、在实验环境中可满意FPGA 的时序需求。

FPGA技能的长处和缺陷,怎么进行规划验证

在此阶段,许多开发组将某个版别的块转入FPGA并开端更为完全的电路中测验。假如此电路块(如视频编解器)需求很长的高速数据流来验证功用或是包含高速I/O功用,则该办法尤为常见。在其他情况下,持续对块进行模仿作业,直到一切问题都经过验证,能够进行集成停止。

依据咱们的一致定见,当开发组开端将块集成时——树立实验体系时——FPGA 才真正被更多人运用。这儿,或许便是因为规划太大才无法进行快速模仿,或是关于已知可正常作业的块,在FPGA上处理集成问题或许要比在模仿器上功率更高点。

可是,依据咱们的定见,从模仿转到仿真并不是单步的可逆过程。正如软件开发中并行进行模仿相同,模仿作业在体系仿真期间也在持续。大都开发组运用FPGA 仿真捕捉和阻隔缺陷,然后将其送回模仿组确诊。在FPGA上做具体确诊是十分苦楚的作业。

这儿先整体叙说当时的情况,然后指出该办法的几个严峻缺陷。首要,在两个环境间来回传送测验渠道数据很困难。好像还没有办法能够将创立测验的模仿指令主动映射到施行同一测验的 FPGA 结构。第二,各大 FPGA 厂商都可供给的嵌入式RISC核资源好像远没有得到充分运用,它能够办理数据和操控测验,可是又是与模仿测验渠道分隔的。理论上说,模仿组能够将其转为嵌入式处理器核的C代码,而不是转为FPGA的RTL。第三,没有简略的途径能够将FPGA 实验中开发组搜集的数据送回模仿渠道。终究,跟着模仿范畴依据断语的验证作业不断增多,FPGA 侧急需一种相似的依据断语的东西。

依据 FPGA的仿真体系出售厂商对这些问题提出了应对办法(见附文《处理掩盖空地的一些思路》),证明了这些问题是的确存在的。这儿的比如有Eve公司的体系;模仿加快器,如GateRocket;以及“big- iron”(大型的)仿真盒,如Cadence的Palladium。至于这个根底渠道会开展为FPGA验证范畴常见的那种专用板卡级仿真渠道,仍是依然会是贵重的加快器和仿真体系的一种变形,咱们尚无法知道。

附文 处理掩盖空地的一些思路

人人都喜爱FPGA 内仿真的速度。可是在FPGA中树立体系、操控和观测验验的难度过大,这常常迫使人们将吃力费时的测验作业转回到模仿环境中。在实践中,有些人会建立一个验证渠道,结合FPGA履行速度高和模仿办法易于结构和拜访数据的长处。毫不古怪,有些厂商现已瞄准了这个方针。

初次这么做仍是 ASIC年代前期的事,这也便是 “big-iron”逻辑仿真体系。从作用上说,这些体系便是一组专用的巨型计算机,其间由定制微处理器或定制可编程元件别离模仿或仿真逻辑操作。这类体系的代表是Cadence Palladium。此体系履行速度为模仿的许多倍,一起其厂商宣称它对被测规划的拜访才干至少与模仿适当。可是,这些体系的容量有限,不会比一般模仿的块规划大许多——除非你有十分多的钱。这些设备是首要的耗资设备,因而大都终究规划面向FPGA的规划团队都无力付出昂扬的费用。

近年来,有许多体系进入市场(例如Eve等公司的产品),这些体系能够在运用商业FPGA的简略环境下进行逻辑仿真。这类体系具有不同的特色,有些是小型化巨型机仿真体系,有些根本上便是带支撑调试软件的FPGA评价卡。在一切情况下,它们都企图供给一个规划中逻辑开支低于big-iron仿真体系的 FPGA履行环境。因为逻辑开支较低,一般依据FPGA的体系运转速度能够比巨型机仿真体系快一到几个数量级。总的来说,运转速度越快,保存的模仿的方便性就越少。可是,当单个FPGA的规划(包含调试开支)变得过大时,它们就会表现出局限性。将规划分区是很杂乱的,并且常常触及到FPGA间信号的多路复用,这会将一切作业都拖慢。

这些体系中,的确供给了将测验渠道和数据在FPGA 体系和模仿环境来回传送所需的软件支撑。例如,Eve就报道说正在开展作业,以便能将断语也导入到其环境中。

GateRocket 的体系是一个很风趣的产品,它使当时的这个情况发生了改动。该公司将其定位为既能够充任模仿加快器,也能够充任电路中仿真器。作为模仿加快器时,该体系会企图刺进用户的模仿环境,加快耗时的RTL (寄存器传输级) 逻辑部件的模仿,而不会影响模仿环境的特性。假如假定90/10规律正确(也便是说,90%模仿时刻花在10%的代码上),经过这种加快才干,能够使验证工程师们持续运用模仿环境,将其用于在无加快时根本无法完成的查验流程中。GateRocket宣称,该体系能够支撑名为“可归纳断语子集”的特性。

责任编辑:gt

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/moni/341338.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部