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

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

3天内不再提示

FPGA原型调试环境局限性的解决方案分析

电子设计 来源:郭婷 作者:电子设计 2019-01-08 08:16 次阅读

采用基于现场可编程门阵列(FPGA)的原型的验证团队面临的最大挑战之一在于当原型系统未能发挥期望的性能时了解原型系统的内部行为。分析和调试这些设计的一个关键因素是难以观察内部信号

目前的顶级FPGA在容量和性能方面均提供巨大的能力。例如,Xilinx Virtex-5家族成员包含成千上万可以配置成逻辑、RAM或移位寄存器的逻辑单元。此外,这种可编程逻辑可与硬IP块搭配使用,如工作频率全部高达550MHz的兆位RAM以及数百个25×18乘法器/DSP功能。

这些可能还包含多个硬和/或软处理器内核和相关外围器件的设备可以用作ASIC和片上系统(SoC)元器件的功能强大的原型平台。

新工具、改进的方法以及更高的抽象级正在帮助工程师实践不同的宏架构和微架构,并帮助他们提高其总设计生产力。

对于验证而言,这些设计的绝对规模和复杂度再加上大幅增加的软件内容使得FPGA原型对于通过硬件加速提高验证吞吐能力以及提供一个早期的软件开发平台都是一个极具吸引力的选择方案。但是,成功的原型要求当设备无法按预期工作时对发生的状况和工程师必须调试的对象予以应有的考虑。

如上文所述,分析和调试原型设计的关键因素在于难以观察内部信号。问题在于可能有成千上万个这样的信号,但是这些信号可能仅通过设备上的有限个输入/输出(I/O)引脚暴露在外界。

此外,观察内部信号的操作会影响设计和验证。选择要监视的合适信号是一个并不琐细的任务,修改设计以观察这些信号会耗费工程和FPGA资源。同样,捕获、转出和记录要观察的信号值也要花时间。

访问和分析FPGA内部信号的任务复杂、繁琐而耗时,这取决于所用的方法。话虽如此,不过总过程也可以分成五个主要步骤:1. 确定一组要观察的信号;2. 修改设计,以观察所选的信号;3. 当FPGA在原位工作时观察并找回数据;4. 将找回的数据映射至最初的RTL表示法;5. 计算不在最初观察的信号组中的其它信号的数据。

本文首先讨论与执行这些活动有关的现有技术的局限性。然后介绍新兴的可视性增强技术;这种新的技术包括一组缩减的要观察的信号的自动交互选择以及填充“遗漏片段”(未观察到的信号值)的“数据扩展”技术。

传统技术的局限性

就像刚才提到的,采用传统技术定位、分析和调试FPGA中的问题可能极其繁琐和耗时。其中的原因可以简单地进行总结。

这个过程的第一步是决定哪些信号需要进行观察(捕获和转出)。但是要观察的信号量的增加会增加捕获信号所需的逻辑资源以及将其数据值传达给外界所用的时间。由于这些原因,因此可能只能在特定时间(即特定的验证运行)观察有限个信号。

这里的问题在于选择要监视的最佳信号是一个并不琐细的任务。例如,看起来是监视的最佳选择的寄存器可能实际上只能为设计的操作提供有限的可视性。相比之下,表面上无害的寄存器可能为设计提供极高的可视性。

一旦选定一组要监视的信号,必须对设计进行修改以便允许直接观察信号,或者允许捕获信号并将其转出到外界。广义上讲,这叫可调试性设计(Design-for-Debug,DFD)。在以前的技术案例中,设计可以通过多路复用器和控制逻辑进行扩展,多路复用器和控制逻辑可以用来通过主要输出引脚来将所选的内部信号呈现到外界。一般而言,这种技术实现往往是一种内部的专门技术,这些实现需要大量工作来有限地了解芯片内部正在发生的状况。

替代技术是采用内部逻辑分析仪(ILA)。这些分析仪可能是内部技术,但是FPGA供应商或专业的第三方供应商一般都提供这些分析仪(以及相应的配置应用)。每个ILA都是采用可配置逻辑单元和RAM区块的组合而构造的。ILA的控制逻辑被设计成允许特定的触发条件(或组合的触发条件)开始捕获一个或更多特定信号并将与这些信号相关的属性(如数据值和时间戳记)存储在片上内存中。在某个阶段,这些值必须被转出到外界。这种情况下的一般技术是采用芯片的JTAG端口

设计你自己的ILA不仅耗时而且费力。事实上很难确定是自动调试设计的还是ILA在调试设计。甚至在使用FPGA供应商的经过验证的鲁棒ILA时,每次选定要监视的一组新的信号时仍然需要对设计进行重新编译。重新编译的工作可能要花几个小时,因此最好最大限度地减少需要执行这个任务的次数。

在设计修改和设计重新编译阶段之后,进行验证运行,并捕获来自内部信号的数据。为了让这些数据可用于下游调试工具,数据必须包含特定的属性。除了数据本身的逻辑值之外,数据必须包含信号的完整分层实例名以及每个数据转换的相对操作时间(时间戳记)。此外,转出数据的文件格式应为工业标准,如VCD或FSDB。

在专有解决方案案例中,有必要将这些属性添加到信号数据流和/或将内部格式转换成其对应的工业标准格式。幸运的是,FPGA供应商和专业供应商提供的ILA一般捕获必需的数据并使用工业标准格式。

从ILA收集的数据通常与FPGA的门级视图有关。但是设计工程师更熟悉设计的RTL表示法。因此,为了为调试过程提供便利,有必要将门级实例映射成RTL视图。这并不像听起来那样简单,因为大多数情况下,门级实例和RTL视图之间并没有一一对应关系。许多传统的内部解决方案都无法提供这种能力。

验证运行之后,访问和分析其它信号以对问题进行跟踪始终都是有必要的。当采用传统设计流程时,设计工程师必须返回上述五个步骤中的第一步。即,他们必须选择一组新的信号、修改设计并对其进行重新编译、执行新的验证运行、将新数据映射至RTL,然后分析结果。这个过程必须重复多次。

可视性增强技术

为了解决传统FPGA原型调试环境的局限性,出现了一种为设计的内部工作提供增强可视性的技术。为了达到完全的效果,可视性增强工具和技术必须应用于流程中的每一个步骤。

如上所述,过程中的第一步是确定哪些信号需要观察。根据系统展示的不正确输出,设计工程师通常对相关的一个或多个功能区块有“感觉”。例如,内存控制器和/或总线仲裁器区块。

作为单靠经验和实践的方法,你需要能够观察区块(通常为寄存器、内部内存定位和区块的主要输入/输出)内部大约15%的信号。这将在本小节后面讨论的自动数据扩展技术环境中提供95%~100%的可视性。

遗憾的是,资源限制不允许捕获所有这些信号。在这种情况下,选择为振动提供最佳碰撞的信号显然是更可取的。因此,可视性增强信号选择包括“影响能力”的概念,即每个信号影响的下游逻辑的量。为了确定调试所选区块所需的基本信号最小阵容,你将必须分析断言、RTL或门级网表代码,有时这三项都需要关注以*估影响能力。例如,为了调试断言故障,可视性增强信号选择将分析设计和所选的断言,以抽取调试每个断言所需的最小的一组信号。

此外,如果设计工程师对他们希望观察的一组信号进行了明确的定义(这样的选择可以在RTL和/或门级网表中进行),可视性增强信号选择工具将自动识别任何寄存器、内存元件以及观察指定的内部信号所必须捕获的主要I/O。

一旦选定一组要监视的信号,可视性增强环境将自动与FPGA和/或第三方工具供应商沟通,以通过增加适当的ILA来修改设计。在没有足够的资源捕获所有所需信号的情况下,可视性增强环境将以被认为具有更多上述影响能力的信号作为其选择的基础。

在执行验证运行时,可视性增强环境将自动记录和/或提供下游分析和调试环境所需的所有信息;该信息将包括逻辑值、信号的完整分层实例名以及数据转换的相对操作时间。此外,转出数据文件的格式将为工业标准格式,如VCD或FSDB。

正如上文指出的,从ILA收集的数据通常与FPGA的门级视图有关。为了了解这种门级逻辑中发生的状况,工程师必须使门级数据与设计的RTL表示法相互关联,甚至与系统级描述相互关联。

但是,由于合成和优化的原因,并非门级表示法中的每个信号均有RTL表示法的相应信号。为了解决这个问题,可视性增强环境必须以某种方式地方化信号相关性。其中一个方法是自动生成结构依赖图像并采用近似的图像匹配算法。这个方法模仿人类使用的过程,人类通常通过查看扇入区和扇出区中的寄存器来定位相应区域。

或许可视性增强最重要的方面在于其动态数据扩展能力。但是这种能力依赖于所有上述要点,特别是可视性增强信号选择。选择要观察的信号的宗旨就是为了便于自动数据扩展。

以下是数据扩展的思路。通常,设计工程师可能希望显示和分析不在被捕获的信号组中的信号。较可取的做法是插入遗漏的数据,而不倾向于修改设计和执行新的验证运行。因此,可视性增强环境将通过数据扩展来填充捕获数据中遗漏的间隙。

特别地,这种数据扩展可以填充位于信号被捕获的寄存器之间的组合逻辑区块内部的信号。为了最大限度地提高性能,只对进行试验的逻辑进行动态的数据扩展,而不是对所有设计逻辑进行静态的数据扩展。传统设计环境与其可视性增强环境的对比如表所示。

FPGA原型调试环境局限性的解决方案分析

可视性增强技术可以极大地加快定位、隔离和了解基于FPGA的原型中的错误症状原因的过程(类似的技术可以应用于基于FPGA的仿真和软件仿真中)。

在一般的设计中,寄存器约占信号的20%。采用可视性增强技术允许设计工程师将这些信号作为确定余下80%信号的值的基础,这相当于可视性提高了大约五倍。而据使用这种技术的用户报告,调试时间减少了四倍。换言之,在不使用可视性增强技术的情况下调试所用的每一个小时在使用该技术之后都可以缩短至仅15分钟。

就未来而言,可视性增强环境提供的数据扩展能力为将内部FPGA信号数据与一般只在软件仿真环境下考虑的先进调试技术搭配使用提供了基础。例如,如果设备包含复杂的内部总线,扩展的数据可能会在事务级被查看,从而使了解设备的操作更加容易。在调试器环境中谨慎地集成数据扩展技术可以同时缩短验证运行时间和最终的捕获数据文件大小。这种环境将实现自动化向导调试以及先进的分析和跟踪能力。

本文小结

使用基于FPGA的原型的设计和验证团队所面临的最大挑战之一是当系统未能按期望执行时了解系统的内部行为。可视性增强验证和调试环境通过以下方式解决了这个问题:帮助选择要观察的信号;与其它工具配合工作(和协商),从而对设计进行修改以捕获所选的信号;捕获所有驱动下游工具必需的数据和属性;使用先进的技术在系统、RTL和门级视图之间自动映射;执行数据扩展以填充未被捕获的信号的值。

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

    关注

    68

    文章

    19286

    浏览量

    229854
  • FPGA
    +关注

    关注

    1629

    文章

    21736

    浏览量

    603427
  • 寄存器
    +关注

    关注

    31

    文章

    5343

    浏览量

    120379
收藏 人收藏

    评论

    相关推荐

    解锁SoC “调试”挑战,开启高效原型验证之路

    引言由于芯片设计复杂度的提升、集成规模的扩大,以及产品上市时间要求的缩短,使得设计验证变得更加困难。特别是在多FPGA环境中,设计调试和验证的复杂性进一步增加,传统的调试手段难以满足对
    的头像 发表于 10-09 08:04 726次阅读
    解锁SoC “<b class='flag-5'>调试</b>”挑战,开启高效<b class='flag-5'>原型</b>验证之路

    利用智能电源器件开关突破简单解决方案局限性

    ,每一条准则都有很多合理的例外情况。尤其是当你希望设计一款坚固耐用、“刀枪不入”的产品,能够同时在正常和极端环境下工作,承受可预见和不可避免的压力时,更是如此。为了提高完整性,你可能还希望减少对系统微控制器单元 (MCU) 处理破坏性事件的依赖
    的头像 发表于 10-02 17:58 374次阅读
    利用智能电源器件开关突破简单<b class='flag-5'>解决方案</b>的<b class='flag-5'>局限性</b>

    D类放大器上仅电容EMI滤波器的局限性

    电子发烧友网站提供《D类放大器上仅电容EMI滤波器的局限性.pdf》资料免费下载
    发表于 09-14 10:44 0次下载
    D类放大器上仅电容EMI滤波器的<b class='flag-5'>局限性</b>

    直流输电的优势与局限性

    直流输电的优势 直流输电技术在现代电力系统中扮演着不可或缺的角色,其独特的优势使得远距离、大容量的电力传输成为可能。与交流输电相比,直流输电展现出一系列显著的优点。 首先,直流输电不存在交流输电中的稳定问题。当使用直流线路连接两个交流系统时,由于直流线路无电抗特性,因此不会引发两端交流发电机需同步运行的稳定性问题。这一点对于远距离、大容量的电力传输至关重要,确保了电力系统的稳定与可靠。 其次,高压直流输
    的头像 发表于 08-19 17:33 620次阅读

    微通道反应器目前的局限性

    ,可以实现物料的瞬间均匀混合和高效的传热,因此许多在常规反应器中无法实现的反应都可以微反应器中实现。 从结构特点上来说,目前微通道反应器应用与局限性如下 1. 反应本身速度很快,但受制于传递过程的,整体反应速度偏
    的头像 发表于 08-12 14:23 282次阅读

    WDM技术的缺点和局限性

    和效率。然而,尽管WDM技术具有诸多优势,但它也存在一些缺点和局限性。以下是对WDM技术缺点和局限性的详细分析
    的头像 发表于 08-09 11:42 802次阅读

    工业无线化解决方案的产品构建及特点(MWB524F网桥+FBG1000边界网关)

    的落地实施面临的挑战诸多:包括高昂的布线成本、现场环境的限制、老旧设备的局限性、工业通信协议多样及无线漫游的高要求等。 自连创新推出的由WMB524F无感漫游网桥及FBG1000数据流边缘网关构建而成的 工业无线化解决方案 ,可
    的头像 发表于 04-26 08:38 281次阅读
    工业无线化<b class='flag-5'>解决方案</b>的产品构建及特点(MWB524F网桥+FBG1000边界网关)

    工业无线化解决方案的产品构建及特点(MWB524F网桥+FBG1000边界网关)

    的落地实施面临的挑战诸多:包括高昂的布线成本、现场环境的限制、老旧设备的局限性、工业通信协议多样及无线漫游的高要求等。自连创新推出的由WMB524F无感漫游网桥及F
    的头像 发表于 04-26 08:16 701次阅读
    工业无线化<b class='flag-5'>解决方案</b>的产品构建及特点(MWB524F网桥+FBG1000边界网关)

    FPGA的优势及潜在局限性介绍

    了解FPGA器件何时适合实现所需的系统功能是理解FPGA技术的关键要素。设计团队明白FPGA技术并不适用于每一个设计或应用程序。
    发表于 04-16 10:36 1294次阅读
    <b class='flag-5'>FPGA</b>的优势及潜在<b class='flag-5'>局限性</b>介绍

    一种用于化学和生物材料识别的便携式拉曼光谱解决方案

    基于扫频光源的紧凑型拉曼光谱系统:美国麻省理工学院(MIT)和韩国科学技术院(KAIST)的研究人员开发了一种用于化学和生物材料识别的便携式拉曼光谱解决方案,克服了光谱仪笨重的局限性
    的头像 发表于 04-16 10:35 532次阅读
    一种用于化学和生物材料识别的便携式拉曼光谱<b class='flag-5'>解决方案</b>

    高光谱成像技术如何改善现有遥感技术的局限性?

    应运而生。高光谱成像技术通过获取地物在数百甚至上千个窄波段的光谱信息,能够提供更加丰富、细致的地物特征,从而为地球观测和资源管理提供了全新的解决方案。本文将探讨高光谱成像技术如何改善现有遥感技术的局限性,并
    的头像 发表于 02-21 10:52 597次阅读
    高光谱成像技术如何改善现有遥感技术的<b class='flag-5'>局限性</b>?

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

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

    超导材料在输电领域的应用前景、优势和局限性

    超导材料适合作为输电导线的潜力一直备受瞩目。与传统的金属材料相比,超导材料具有低电阻和高电流载流能力的独特优势。本文将深入探讨超导材料在输电领域的应用前景、优势和局限性。 在高科技时代,全球对电能
    的头像 发表于 01-17 11:29 1596次阅读

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

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

    浅析FPGA调试-内嵌逻辑分析仪(SignalTap)原理及实例

    对于FPGA调试,主要以Intel FPGA为例,在win10 Quartus ii 17.0环境下进行仿真和调试,开发板类型EP4CE15
    的头像 发表于 01-12 09:34 2570次阅读
    浅析<b class='flag-5'>FPGA</b>的<b class='flag-5'>调试</b>-内嵌逻辑<b class='flag-5'>分析</b>仪(SignalTap)原理及实例