0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

各类FPGA原型验证平台技术对比 验证工具的应用不止于芯片

新思科技 来源:新思科技 作者:与非网 2020-08-27 17:39 次阅读

电子设计自动化—— Electronic Design Automation,简称EDA。作为芯片设计最上游,EDA软件的工作,是要在芯片那么小的空间进行布局布线、版图、设计规则检查等,好比在米粒上刻出航空母舰模型。

在EDA问世之前,设计人员必须通过手工完成电路设计和布线等基础工作。随着芯片集成度提高和性能的多元化,令芯片设计要求也变得越来越复杂,一个指甲盖大小的芯片上要集成数百亿颗晶体管,这样细微且宏大的工程,早已不是单纯人力范围所能覆盖,EDA的重要性不言而喻。

根据应用场景的不同,EDA工具的使用主要分为设计、验证和制造三大类。大规模集成电路设计复杂性的提升,使芯片验证面临资金与时间的巨大挑战。早期开发者想验证芯片的设计是否符合预设,只有等待极其漫长的模拟结果,或是等待流片成果,而一旦结果不如预期,不管是再次模拟或是二次流片,都将产生极高的成本。因此,当Xilinx推出现场可编程逻辑门阵列(FPGA)时,开发者即可通过用FPGA板拼凑出有效的流程来对设计进行验证,FPGA原型验证这一解决方案就此应运而生,这一比流片便宜、比仿真要快的方式,已成为开发者检验设计有效性的不二选择。

01基于FPGA的物理原型验证

就像是建筑师设计完楼房、开始建造前,需要通过模型去测试防震、防风、结构强度等各种参数,芯片和系统开发者也需要在流片前对设计进行“原型验证”——就是模仿真实软件应用条件下的芯片和系统表现是否满足了实际应用场景要求。

FPGA的应用范围广泛,通信、计算、控制等领域等都有它的建树,并且由于其具有内部电路可重构的特点,几乎可以完全映射芯片的逻辑设计,也被当作一种性价比优越的芯片验证基础设施。FPGA原型验证已是当前原型验证的主流且成熟的芯片验证方法——它通过将RTL移植到现场可编程门阵列(FPGA)来验证ASIC的功能,并在芯片的基本功能验证通过后就可以开始驱动的开发,一直到芯片Tape Out并回片后都可以进行驱动和应用的开发。当芯片回片后,应用程序可以直接基于FPGA版本的驱动来进行简单的适配,即可以应用到SoC芯片上,将SoC芯片Time-to-Market的时间控制的很完美。除了可以提前进行软件开发外,从成本上来说,FPGA原型验证是一个性价比很高的验证手段,在价格上可以说非常的亲民。更重要的FPGA原型在运行速度上也技高一筹:它在速度上当然比EDA验证高了好几个数量级,即使是与Emulator相比,其性能上也有碾压式的优势。在这种种优势中,“流片前的软硬件协同开发”是FPGA物理原型验证最不可替代之处,提早基于该技术平台进行软件驱动开发和应用开发,对于缩短最终芯片Time-to-Market周期意义重大。

在软硬件深度定制化、要求芯片到应用的一站式交付的今天,FPGA原型平台的重要性进一步提升。2000年,一家创立于瑞典的公司Hardi Electronics正式推出一款基于FPGA的原型系统HAPS,HAPS可以通过多种方式快速组装ASIC原型系统,为客户在关键验证阶段节省数月的时间。2007年,Synplicity以2400万美元的金额收购了Hardi,而Synopsys在2008年以2.27亿美元收购了Synplicity,HAPS经历几代人于2014年发展至HAPS-80,至今仍是业界最快的原型验证加速平台。

02物理原型验证工具的

几大挑战及解决方案

目前ASIC的设计变得越来越大,越来越复杂,单片FPGA已不能满足原型验证要求,多片FPGA验证应运而生。RTL逻辑的分割、多片FPGA之间的互联拓扑结构、I/O分配、高速接口都对应用FPGA原型验证的芯片开发者提出了更高的要求也带来了前所未有的挑战。那当选择一款合适的物理原形验证工具时,应该在哪些纬度做重点考量和取舍呢?

1 容量限制和性能要求 对于大型的设计(大于2千万等效ASIC门),一块FPGA往往容纳不下,此时必须将多块FPGA互联才能验证整个设计,在这种情况下,就需要对大型的设计进行Partition即分割。Partition引入了新的问题,而这些问题其实在芯片中并不存在,很多时候耗费很多人力去实现一个可用的Partition方案,仅仅是受限于FPGA的容量而不得已的处理办法。

Partition引入的最大问题是对I/O的需求激增,虽然FPGA有超过1000个可用的I/O,但是一个完整的SoC如果被拆分成规模相当的几个部分时,每个部分之间的互联信号数量往往会远超1000个,所以在I/O数量受限时,必须采用TDM(Time Division Multiplex),即FPGA内部的多个并行信号转为高速串行信号,通过FPGA I/O传输到另一块FPGA,然后再进行解复用,转换成并行信号,实现信号从一个FPGA到另一块FPGA的传递。引入了TDM虽然解决了I/O瓶颈,但是Mux和De-Mux引入了额外的延时,导致Cross-FPGA的Path成为Critical Path,进一步降低了FPGA的可运行频率,可以说Partition是不得已而为之的方案,最终的结果只是得到一个可用的方案而非理想的方案。

另一个方面,由于在SoC原型验证中模块常常会增减,导致需要频繁的改动Partition方案,如果手动去处理,则需要花费很多精力才能得到一个上文提到可用但折中的方案。此外,处理大量的Cross-FPGA信号非常容易出错,所以对于大型的SoC FPGA原型验证,必须采用自动化的工具去完成Partition,这对EDA工具而言亦是全新的挑战。

新思科技HAPS原型验证解决方案,具有独一无二的自动可干预分割功能,同时提供了系统级跨FPGA的时序分析工具,为HSTDM IP, 缆线和I/O提供时序模型,可以方便地处理TDM路径上的多个约束,为多FPGA的设计提供了优化且可靠的时序,保证了平台的高速性能和稳定性。

2 迭代速度

由于SoC芯片的设计频率很高,为了让原型验证平台尽可能和SoC芯片性能接近,开发者期望让FPGA原型平台运行在尽可能高的频率上,但是由于SoC的RTL代码是为芯片实现设计,大量深层次组合逻辑的存在(这样可以节省芯片面积),导致了SoC RTL代码在FPGA上实现时时序收敛困难,往往只能达到几MHz。对于大型的SoC,内部的CPU/GPU/CODEC/NPU等计算和编解码模块逻辑复杂,往往成为整个设计的Timing Wall,导致时序优化过程会占据FPGA Implementation过程30-40%的时间。

基于新思科技HAPS原型验证解决方案,在对设计进行分割和时序优化的同时,也充分考虑到后续FPGA布局布线的挑战,在综合时,HAPS采用独特的技术,增强和优化单FPGA的综合结果,可以有效的减少后期Vivado布局布线的时间,并结合多核多进程综合等技术,有效减少各个环节的时间,加快迭代速度。

3 接口方案

外部子板和FPGA I/O之间的高速同步接口一直以来都是FPGA的痛点和难点:一方面,相比于ASIC,FPGA在I/O时序方面可以调整的空间有限,它不能像ASIC一样可以通过时序约束来灵活调整FPGA I/O信号之间的Skew,导致并行信号接口之间的Path Skew很难控制在一个比较理想的范围内,最终会导致数据采样失败,降低频率往往是一种有效的办法,但是有些控制器和PHY之间的接口是需要满足标准规范的,不能无限制的降低,对于这种情况有时只能想尽办法尝试修复时序,甚至需要修改代码。

另一方面,原型验证使用的子板数量不大,市场上往往没有销售,很多时候需要自行设计,进一步给调试带来了不确定性,也延长了调试周期。高速接口的调试往往消耗了大量的人力资源,很多时候都是靠调试的经验和灵感解决问题,这么做不仅费时费力,而且效果不佳。

新思科技HAPS原型验证解决方案,给用户提供了多种灵活的接口方案,包含丰富的外部子卡集合,降速桥方案;还和业界伙伴通过HAPS Connect Program,为使用者提供了更广泛的扩展空间。

4 可观测性 FPGA也是芯片产品,所以内部的信号无法直接观测。通常需要借助于FPGA的Debug工具在生成Bit文件前选取要观察的信号。当Bit文件加载运行时,必须通过配套的Debug工具观察指定的信号波形,但是受限于Block RAM的容量以及信号优化等原因,如此调试的效率比较低。

新思科技HAPS原型验证平台提供了多种灵活的调试手段。DTD(深度跟踪调试)功能,为用户提供了多FPGA实时速度的RTL级别信号联合波形调试,可以观测上千信号秒级的波形,进一步结合Verdi/Siloti的关键信号提取功能,可显著的扩大信号观测的范围。GSV是另外一个被用户广泛采用的调试功能,它可以提供设计内部所有寄存器的快照,在多种实际调试场景有效的帮助软硬件团队分析定位系统问题。

5 产品的成熟度

原型验证是一项壁垒颇高的技术,串联着芯片设计和最终应用,需要极强的适用性和灵活度来适应发展迅速和多样性的芯片研发,通过和一线芯片研发人员的通力合作,打造使用生态圈,不断进化和迭代技术才能始终帮助芯片开发者实现“Shift-Left”研发,加快产品上市时间。

新思科技自2003年起推出第一款原型验证产品HAPS-10起,持续推出7代产品,久经市场检验, 并为满足不断演进的原型验证需求补充了诸多独一无二的产品功能,如UMRBus, Hybrid原型验证,基于UPF的低功耗系统验证, HAPS GateWay等,是加快软件开发和芯片设计验证的最佳解决方案。全球200多家公司都已经部署了最新一代HAPS-80,包括前十大半导体公司中的九家,其出货量在今年超过3000台。

国内目前也有逾50家芯片设计企业部署了HAPS平台,进一步验证了HAPS原型验证的市场领先地位。

各类FPGA原型验证平台技术对比

目前市面上常见的FPGA原型验证平台可以分为两大类别,一类是芯片设计公司自己制作的FPGA板(Build Your Own, 以下简称BYO); 另一类是商用FPGA平台,比如新思科技的HAPS方案。

就上文提到的一些具体考量点,各类原型验证平台的对比如下:

显而易见,新思科技的HAPS方案,在全面性,成熟度,和对大规模设计的支持上,都占有绝对明显的优势。

03物理原型

验证工具的应用不止于芯片

芯片是硬件产业,也是软件产业,同时涉及下游的应用场景还有上游的高精度设计。在科技赋能的智能化时代,芯片不仅支撑数字经济的各个方面,在赋能各产业的作用也不容小觑,5G自动驾驶汽车,人工智能等,芯片的应用几乎遍布所有可能想象的电子产品,甚至包括航空航天到军工技术的所有方面。随着人工智能和5G的加速发展,以及加快数字化时代的新基建的开展,未来芯片的应用场景会越来越多,定制化芯片的需求也会越来越大。而作为手握未来世界之门钥匙的开发者们必须要和系统厂商更紧密的协作研发,才能让芯片技术创新最终赋能科技应用。

以人工智能的人脸识别场景为例,在海量人群中搜索走失儿童需要超强的快速反应能力,才能在第一时间抓住机会识别并找到目标对象,其中软件支持了人工智能的算法,芯片所提供的超强算力让复杂的算法在毫秒内实现推断。物理原型验证让软件的开发和芯片的研发得以同步进行,而不用互相等待。这一技术将推动芯片和科技应用的生态结合,让科技的进步进入极速模式,加速未来的想象变为现实。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1603

    文章

    21326

    浏览量

    593248
  • 原型验证
    +关注

    关注

    0

    文章

    21

    浏览量

    10688
  • 人工智能
    +关注

    关注

    1776

    文章

    43879

    浏览量

    230631

原文标题:一文看懂FPGA原型验证的技术进阶之路

文章出处:【微信号:Synopsys_CN,微信公众号:新思科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    BYO、FPGA开发板与商用,一文详解各类原型验证

    几十年来,数字芯片设计复杂度不断攀升,使芯片验证面临资金与时间的巨大挑战。在早期,开发者为了验证芯片设计是否符合预期目标,不得不依赖于耗时的
    的头像 发表于 04-02 08:22 125次阅读
    BYO、<b class='flag-5'>FPGA</b>开发板与商用,一文详解<b class='flag-5'>各类</b><b class='flag-5'>原型</b><b class='flag-5'>验证</b>

    fpga原型验证平台与硬件仿真器的区别

    FPGA原型验证平台与硬件仿真器在芯片设计和验证过程中各自发挥着独特的作用,它们之间存在明显的区
    的头像 发表于 03-15 15:07 303次阅读

    fpga原型验证流程

    FPGA原型验证流程是确保FPGA(现场可编程门阵列)设计正确性和功能性的关键步骤。它涵盖了从设计实现到功能验证的整个过程,是
    的头像 发表于 03-15 15:05 379次阅读

    fpga验证和uvm验证的区别

    FPGA验证和UVM验证芯片设计和验证过程中都扮演着重要的角色,但它们之间存在明显的区别。
    的头像 发表于 03-15 15:00 272次阅读

    原型平台是做什么的?proFPGA验证环境介绍

    proFPGA是mentor的FPGA原型验证平台,当然mentor被西门子收购之后,现在叫西门子EDA。
    的头像 发表于 01-22 09:21 657次阅读
    <b class='flag-5'>原型</b><b class='flag-5'>平台</b>是做什么的?pro<b class='flag-5'>FPGA</b><b class='flag-5'>验证</b>环境介绍

    什么是FPGA原型验证FPGA原型设计的好处是什么?

    FPGA原型设计是一种成熟的技术,用于通过将RTL移植到现场可编程门阵列(FPGA)来验证专门应用的集成电路(ASIC),专用标准产品(AS
    发表于 01-12 16:13 386次阅读

    多片FPGA原型验证的限制因素有哪些?

    当SoC系统的规模很大的时候,单片FPGA验证平台已经无法容纳这么多容量,我们将采取将SoC设计划分为多个FPGA的映射。
    发表于 06-19 15:42 562次阅读

    为什么SoC验证一定需要FPGA原型验证呢?

    在现代SoC芯片验证过程中,不可避免的都会使用FPGA原型验证,或许原型
    发表于 05-30 15:04 987次阅读
    为什么SoC<b class='flag-5'>验证</b>一定需要<b class='flag-5'>FPGA</b><b class='flag-5'>原型</b><b class='flag-5'>验证</b>呢?

    从SoC仿真验证FPGA原型验证的时机

    我们当然希望在项目中尽快准备好基于FPGA原型验证的代码,以便最大限度地为软件团队和RTL验证人员带来更客观的收益。
    发表于 05-30 11:10 804次阅读
    从SoC仿真<b class='flag-5'>验证</b>到<b class='flag-5'>FPGA</b><b class='flag-5'>原型</b><b class='flag-5'>验证</b>的时机

    多片FPGA原型验证系统互连拓扑分析

    多片FPGA原型验证系统的性能和容量通常受到FPGA间连接的限制。FPGA中有大量的资源,但IO引脚的数量受封装
    发表于 05-23 17:12 1245次阅读
    多片<b class='flag-5'>FPGA</b><b class='flag-5'>原型</b><b class='flag-5'>验证</b>系统互连拓扑分析

    SoC设计的IO PAD怎么移植到FPGA原型验证

    FPGA原型验证系统要尽可能多的复用SoC相关的模块,这样才是复刻SoC原型的意义所在。
    发表于 05-23 16:50 418次阅读
    SoC设计的IO PAD怎么移植到<b class='flag-5'>FPGA</b><b class='flag-5'>原型</b><b class='flag-5'>验证</b>

    正确认识原型验证多片FPGA自动分割工具

    当SoC的规模在一片FPGA中装不下的时候,我们通常选择多片FPGA原型验证平台来承载整个SoC系统。
    发表于 05-23 15:31 344次阅读

    FPGA原型验证中分割引擎的重要性解析

    FPGA原型验证的原理是将芯片RTL代码综合到FPGA上来验证
    发表于 05-18 12:52 423次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>原型</b><b class='flag-5'>验证</b>中分割引擎的重要性解析

    FPGA原型系统装配文件:Assign Traces介绍

    多片FPGA原型验证系统的拓扑连接方式各不相同,理想的多片FPGA原型验证系统应该可以灵活配置,
    发表于 05-08 11:51 370次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>原型</b>系统装配文件:Assign Traces介绍

    FPGA原型验证系统中复制功能模块的作用

    在进行FPGA原型验证的过程中,当要把大型的SoC进行FPGA原型验证时,有时候会遇到一种情况,
    的头像 发表于 05-04 16:21 457次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>原型</b><b class='flag-5'>验证</b>系统中复制功能模块的作用