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

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

3天内不再提示

利用FPGA式原型板开发新型SOC实验平台

电子设计 作者:电子设计 2018-10-07 11:29 次阅读

预制与定制FPGA式原型板加入协同仿真(co-emulation and co-simulation)功能,能够提供高速、高能见度平台,实现SoC的快速、早期验证。

系统芯片(SoC)设计的规模与复杂度不断地攀升。同时,产品在市场上的存活时间不断地紧缩,当今的电子市场也对于上市所需的前置时间非常敏感。这些全都加深了SoC设计与验证团队的压力。事实上,现在广为接受的说法就是,验证占了整体SoC开发时间的70%。所以,能够降低验证成本、加速验证执行以及在开发初期尽早进行验证的作法,都是众人注目的焦点。

这篇文章首先介绍构成典型SoC设计与验证环境的主要因素;也会说明传统验证解决方案的优缺点,包括软件仿真、硬件辅助加速与仿真,还有FPGA式原型板的使用。接着会说明创新而且价格合理的做法,让标准FPGA式原型板能够转变成为完善的桌上型硬件仿真器。我们推荐的这种做法是一种典范转移(paradigm shift),能使既有的硬件仿真 (in-circuit emulation) 功能自动化,并且增添全新协同仿真功能,大幅提高预制与定制设计FPGA式原型板的验证效率。

典型的SoC设计与验证环境

首先,让我们来看看典型SoC设计与验证环境的前端部分。至少,这包含某些形式的设计输入、软件仿真方式的功能验证,还有逻辑综合,如图1所示。甚至,这种设计环境现在大多也包括SpringSoft的Verdi?自动化侦错系统。Verdi系统让用户能够分析自己软件仿真器1的结果并执行侦错,还可以自动使任何门级结果与对应的RTL源代码发生关连。

图1. 简化的SoC前端设计与验证环境。

各式各样功能验证的问题之一,就是要收集与储存的数据量。以软件仿真器为例,监视大量信号会大幅拖慢仿真速度,而且冗长的仿真进度又会导致更大量的数据;所以,许多设计与验证环境都使用了SpringSoft的Siloti?能见度自动增强系统,来减少记录设计中许多信号数据的负担。Siloti系统用来找出仿真进行中最低限度必须记录的信号;然后Siloti系统会运用这些信号,自动且迅速的产生所有需要但未记录的信号数据。

软件仿真的主要优势就是对设计有完全的能见度;而主要的缺点就是慢,即使在威力强大、高阶工作站上执行,并采用Siloti能见度自动增强技术 - 当今大型SoC设计的软件仿真只能勉强达到几Hz的仿真速度 (也就是说,每秒钟只能有几次设计的实时主系统频率周期)。这表示,软件仿真通常仅适用于设计的一小部分,或者适用于全芯片设计的数十个频率周期而已。但是,完全验证现代化SoC需要成千上万甚至数百万频率周期,这时就需要某种形式的硬件辅助验证,如图2所示。

图 2. 简化的SoC前端设计与验证环境,增添某种形式的硬件辅助验证。

传统的硬件辅助验证解决方案

各种硬件辅助验证解决方案具备不同的功能、优点与缺点。也有许多方法可以运用不同的系统,来解决不同类型的问题;包括硬件仿真(in-circuit emulation) 、交易级协同仿真以及HDL协同仿真。

一般而言,传统的硬件辅助验证解决方案仅包括硬件加速器与/或仿真器。FPGA式原型板通常不被视为可行的替代方案,因为缺乏与工作站连结的能力,而且无法提供足够的设计能见度以供侦错使用。

传统的硬件加速与/或仿真系统都是专属系统,利用定制设计的芯片、或标准FPGA,来建构特殊目的系统。这些系统的目的是要尽可能如同软件仿真器一般运作,包括能见度与侦错功能等因素。这些系统运用能够驾驭其定制芯片或架构的特殊软件,提供大型容量与相当快速的编译时间,让设计能够映像到硬件上;他们也提供相当优良的设计能见度 (可见度与可控制度)。但是,这些系统非常昂贵,难以让许多使用者、项目与团队广泛的运用。再者,一旦采用这种系统之后,就很难升级到新一代的系统;除了新版定制设计芯片与系统需要耗费时间来开发之外,还必须考虑高昂的过渡成本等其他因素。

转移到FPGA式原型板

作为硬件加速器与仿真器的替代方案,许多设计业者运用可以现成购买的,或者由SoC验证团队定制设计FPGA式原型板。如图3的例子,设计在工作站上编译 (综合) 后;映射、布局与绕线;然后将结果的FPGA配置文件 (或者是系统包含许多FPGA时的文件) 下载到原型板上。典型的运用模型适合于SoC设计 (或部分设计模块)验证时使用硬件仿真(in-circuit emulation)的方式;也就是说,如图3所示,运用实际输入/输出 (I/O) 信号来驱动。除了由外部系统所驱动 - 和带动之外,也可以掌握实际的I/O信号以供逻辑分析器等来进行后续分析。

图 3. 以硬件仿真(in-circuit emulation)方式运作的传统FPGA式原型板环境的高阶呈现。

传统FPGA式原型板的主要优势就是高效能,而且相对而言比较便宜,所以能够让许多使用者、项目与团队广泛的运用。此外,这些原型板能够运用最新一代的FPGA技术,让使用者能够快速而轻松地转移到新一代原型板。而其主要缺点就是难以设定,而且无法与工作站连结以支持协同仿真 (co-emulation and/or co-simulation)。再加上只能提供极有限的设计能见度,所以缺乏精密的侦错功能。

强化传统FPGA式原型板

传统FPGA式原型板通常都配备J-Connector,希望让原型板能够连接到外埠装置。本文提出的作法就是利用这个J-Connector,建立能与其连接的特殊适配卡,以扮演主机工作站与FPGA式原型板之间的桥梁,如图4所示。

图4. 新增适配卡与某些软IP (soft IP)。

FPGA式原型板与工作站之间的所有通讯都可以运用某些专属总线而建置起来,提供仿真与协同仿真所需的高性能。由于这种互连技术,使用者拥有可架构和运用不同原型板以搭配同一J-Connector的绝佳弹性。这种能力也表示,使用者能够快速而且轻易地转移到更快速和更庞大的FPGA式原型板,可以完全免除传统硬件辅助验证解决方案相关的限制。

接下来看看图4所示的软IP模块 (soft IP)。这些IP模块可下载至原型板上的各FPGA,然后可用来控制和监视FPGA式原型板与工作站之间的数据流动。因操作模式 (硬件仿真、协同仿真) 的不同,可以自动插入适当且必要的「特色」IP模块。这些IP模块可以编译到设计中,用来监控用户指定的任意信号。如此一来,就可以掌握和分析来自数千信号仿真数百万频率周期的数据。

除了互连技术之外,本文的作法也需要如图5所示在工作站上执行的特殊软件来执行许多功能,例如自动建立包含多颗FPGA的原型板。这个建立流程涵盖读取设计的RTL源代码 (以VHDL、Verilog、SystemVerilog或混合式语言)、分析FPGA内部与外部的内存、转换SoC频率已产生无hold-time问题的设计在FPGA中使用、分割完整SoC设计的RTL以便放入多颗FPGA,以及调整RTL来搭配软IP模块与要监控的信号。

图5. 增添在工作站上执行的特殊软件。

在验证途中,软件可以依据建立时指定的操作模式 (硬件仿真、协同仿真),控制和管理FPGA式原型板与工作站之间的通讯与数据流动。另外,能快速修改所监控信号的能力也很重要,这样才能够快速且轻易地新增监控的信号,不必重复编译整个设计。最后,就是原型板上FPGA内部状态的能见度,这包括在特定时间或以逐一频率周期为基准所提供的寄存器 (registers) 与内存输出,在进阶侦错时非常实用。

设计原型的「桌上型」验证

为了更完全了解因本文所讨论互连与软件自动化技术而实现的各种功能与使用模式,让我们来看一些范例情境。最简单的例子就是图6所示的纯粹硬件仿真应用。在桌上型工作站上执行的软件会自动分割设计,并准备原型板。在建立过程中,会在设计中置入所有必要的探测点,以便在执行时掌握特定信号数据。

图6. 硬件仿真情境的范例。

此外,使用者也可以选择性的运用Siloti能见度自动增强系统,来帮助判断需要观察的最少信号量。以及运用Verdi自动化侦错系统来分析FPGA式硬件原型板的结果,并执行侦错。由于设立软件会自动将任何门级信号关连至对应的RTL信号,Verdi系统搭配RTL源代码可以加速侦错的进度。

交易级协同仿真是可以大幅加速验证流程,其速度比仅使用软件仿真要快上数百或数千倍,常见的状况是testbench (或许是设计的一部份) 常驻在工作站上,而大量 (或全部) 设计被加载到原型板。工作站上执行的软件会自动分割设计,自动建立原型板,然后插入适当的协同仿真基础架构 (例如SCEMI式处理装置)。在前述情境中,建立时,所有必要的探测点都会置入设计中,以便在执行时能够掌握特定的信号数据。或者,协同仿真可以暂停,也可以设置软件在特定时间或按照逐一频率周期,将FPGA内部状态的完全能见度输出,如图7所示。

图7. 交易级协同仿真情境的范例。

最后,让我们看看HDL协同仿真,这种加速验证流程,其速度比单仅使用软件仿真要快上数十倍。同样地,testbench (或许是设计的一部份) 常驻在工作站上,而大量 (或全部) 设计被加载到原型板。在这个情境中,工作站上执行的软件会自动分割设计,建立原型板,和产生可供软件仿真器连接的包装器(wrapper)。执行时,软件会控制原型板与ModelSim、NC或VCS等业界标准软件仿真器之间的协同仿真互动。如同前面几个情境中的讨论一般,透过软件与FPGA内部技术的组合,可在特定时间或按照逐一频率周期,将原型板上FPGA内部状态的能见度,包括寄存器与内存输出,如图8所示。

图8. HDL协同仿真情境的范例。

新一代原型验证平台的优点

产品在市场上的存活时间及上市前置时间不断缩短造成了当今SoC设计与验证团队的莫大压力。软件仿真提供对设计内部的100%能见度,但是只适合于设计的一小部分,或者整个设计的数十个频率周期而已。然而,完全验证现代SoC需要耗费成千上万甚至百万频率周期,所以需要某种形式的硬件辅助验证。各式各样的硬件辅助验证解决方案具备不同的功能、优点与弱点。表1提供了各种硬件辅助验证技术的大略比较。

传统硬件加速器与仿真器提供大容量、相对快速的编译时间,以及相当良好的设计能见度。然而,这些系统太昂贵而难以广泛运用,而且因为转移成本高昂,也难以与时俱进地升级至新一代解决方案。比较上,传统FPGA式原型板提供高效能,而且比较便宜;但是,缺乏设计能见度与精密的侦错功能,无法克服当代SoC的复杂度,而且通常仅以硬件仿真模式来运用。

表1. 硬件辅助验证技术的比较。

为了解决这些问题,我们建议一种SoC验证的新方法,将传统FPGA式原型板转变成桌上型加速器/仿真器。这需要创新的互连技术,能够提供对预制与定制设计板的通用连结;还有特殊化的软件自动化,在工作站上以硬件仿真、协同仿真模式执行,并具备极高的设计能见度。

运用强化上述功能的FPGA式原型板,SoC开发人员可快速验证个别模块 (包括内部与第三方IP模块) 和设计模块是否正常运作,甚至于整个SoC设计的验证。这个新一代原型验证平台可提高FPGA式原型版的投资报酬率及生产力,提供更高验证效率与弹性,并能快速转移到配备最新FPGA技术的原型板。

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

    关注

    1592

    文章

    21207

    浏览量

    592142
  • soc
    soc
    +关注

    关注

    38

    文章

    3709

    浏览量

    215373
  • 仿真
    +关注

    关注

    50

    文章

    3860

    浏览量

    131950
收藏 人收藏

    评论

    相关推荐

    FPGA为基础的SoC验证平台 自动化电路仿真侦错功能

    制化FPGA原型板验证效率的创新方法,自动化现有的电路仿真(in-circuit emulation)侦错功能,并提供更高的FPGA能见度。这个以FPGA为基础的
    发表于 07-24 09:47

    如何利用FPGA研究设计平台为网络发展加速?

    斯坦福大学与赛灵思研究实验室(Xilinx Research Labs)联手开发专门面向研究社群的第二代高速网络设计平台 NetFPGA-10G。该
    发表于 08-27 08:30

    求一种利用FPGA实现原型板原理图验证的新方法

    请教大神如何利用FPGA实现原型板原理图的验证?
    发表于 04-29 06:57

    如何利用现成FPGA开发板进行ASIC原型开发

    ASIC验证能够采用的主要技术是什么?如何利用现成FPGA开发板进行ASIC原型开发
    发表于 05-08 07:51

    利用RC1000和SoC设计展示评估平台RC200搭建一个原型验证系统的样机?

    SoC原型的Handel-C描述及其实现流程是怎样的?利用RC1000和SoC设计展示评估平台RC200搭建一个
    发表于 05-28 06:15

    STD母线垫每孔原型板的资料分享

    描述大约 45 年后,STD Bus 仍然是老式计算机爱好者的绝佳平台。该原型板的尺寸可装入标准 STD 总线卡笼中,并允许制造商快速高效地创建原型。提供了丰富的电源和接地轨,信号名称的广泛丝网印刷,以及每孔项目空间充足的焊盘,
    发表于 08-30 06:09

    用于Microchip 8位PIC的原型板

    描述原型板 - 28 针 PIC用于 Microchip 8 位 PIC 的原型板?微控制器采用 28 引脚 DIP 封装。
    发表于 09-07 07:57

    Arm MPS2和MPS2+FPGA原型板技术参考手册

    MPS2和MPS2+FPGA原型板是ARM Cortex-M评估和开发开发平台。 MPS2和MPS2+
    发表于 08-18 07:25

    赛灵思和Synopsys联手推出FPGA原型开发方法手册

    FPGA原型开发方法手册》(FPMM),这是一本介绍如何使用 FPGA 作为平台进行片上系统(So
    发表于 03-14 09:06 738次阅读

    FPGA原型板的额定容量高达3000万个ASIC 门

    顾名思义,proFPGA 的 Ultra-Scale™ XCVU440 FPGA 模块基于赛灵思 Virtex® UltraScale VU440,而且该原型板的额定容量高达 3000
    发表于 02-08 12:12 345次阅读

    借助FPGA开发SoC原型制作平台(Xilinx的Zynq为例)

    门阵列(FPGA)做为安谋国际核心测试芯片,进而建构SoC原型制作平台。 验证SoC设计 FPGA
    发表于 05-11 09:07 2416次阅读
    借助<b class='flag-5'>FPGA</b><b class='flag-5'>开发</b><b class='flag-5'>SoC</b><b class='flag-5'>原型</b>制作<b class='flag-5'>平台</b>(Xilinx的Zynq为例)

    使用FPGA平台的处理器ARMCortex原型设计的说明

     随着新型SoC(片上系统)设计的成本和复杂性的不断提高,现场可编程门阵列(FPGA原型技术正日益成为SoC新项目的重要组成部分,甚至是至
    发表于 06-25 08:00 2次下载
    使用<b class='flag-5'>FPGA</b><b class='flag-5'>平台</b>的处理器ARMCortex<b class='flag-5'>原型</b>设计的说明

    如何使用PCB原型板

    印刷电路板在技术上有许多用途。但是,在进入 PCB 制造阶段之前,先进行概念测试会更具成本效益。 PCB 原型板允许在制造完整印刷版之前以较便宜的方式批准想法。 在本文中,我们将介绍不同的可用类型
    的头像 发表于 10-23 19:42 2071次阅读

    如何将这些SoC的逻辑功能原型正确的移植到多片FPGA中?

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

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

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