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

    文章

    20148

    浏览量

    246942
  • FPGA
    +关注

    关注

    1655

    文章

    22282

    浏览量

    630060
  • 寄存器
    +关注

    关注

    31

    文章

    5588

    浏览量

    129035
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    超级电容为什么密度低?

    超级电容能量密度低主要由电极材料和电解质的局限性所致。
    的头像 发表于 11-24 09:22 115次阅读
    超级电容为什么密度低?

    MPLAB® PICkit™5 内电路调试器技术解析与应用指南

    ® 连接用作MPLAB Programmer-To-Go (PTG) 移动应用的独立调试器/编程器。这款多功能编程配套产品可针对用户的解决方案进行原型设计和调试。拔下插头,然后将
    的头像 发表于 10-11 10:09 587次阅读
    MPLAB® PICkit™5 内电路<b class='flag-5'>调试</b>器技术解析与应用指南

    戴尔CyberSense助力企业应对安全威胁

    越来越多的企业开始意识到传统SIEM(安全信息与事件管理)解决方案局限性,并尝试转向SaaS模式,却又往往受制于成本压力与合规性要求,陷入两难境地。
    的头像 发表于 09-23 16:34 673次阅读

    RVSP线缆有哪些缺点或者局限性

    RVSP线缆虽然具有抗干扰能力强、柔软易弯曲等优点,但在实际应用中也存在一些缺点和局限性,以下是详细分析: 一、机械性能局限性 抗拉强度不足 RVSP线缆的铜芯导体较细,且采用软铜线结构,虽然提高了
    的头像 发表于 08-22 09:53 468次阅读

    UPS电源—UPS电源优化电力质量局限大揭秘

    在工业自动化及众多关键领域,UPS(不间断电源)作为电力保障的重要设备,对于提升电力质量起到了至关重要的作用。然而,任何技术都有其局限性,UPS电源在优化电力质量方面也不例外。以下是对UPS电源优化电力质量局限性的详细分析.
    的头像 发表于 08-05 19:51 517次阅读
    UPS电源—UPS电源优化电力质量<b class='flag-5'>局限</b>大揭秘

    SOLIDWORKS2025实时预览功能突破传统CAD软件的设计局限

    在工程设计领域,计算机辅助设计(CAD)软件一直是工程师们不可或缺的工具。然而,传统CAD软件在设计过程中的一些局限性,如查找和修改设计元素的繁琐过程,常常限制了设计师的创造力和工作效率
    的头像 发表于 07-31 10:54 508次阅读

    西门子S7-200 PLC:数据采集与远程调试上下载解决方案

    在工业自动化领域,西门子S7-200PLC 凭借其可靠性和性价比,广泛应用于各类生产场景。然而,传统的数据采集和调试方式存在诸多局限,如需技术人员现场操作、设备分布广导致运维成本高、数据孤岛现象严重等。御控网关为西门子S7-200 PLC 的数据采集和远程
    的头像 发表于 06-10 11:55 530次阅读

    介绍三种常见的MySQL高可用方案

    方案——MHA(MySQL High Availability Manager)、PXC(Percona XtraDB Cluster) 和 Galera Cluster。我们将从原理、架构、优势和局限性等角度对比这三种方案,并
    的头像 发表于 05-28 17:16 994次阅读

    瑞苏盈科双Andromeda XRU50 RFSoC模块架构:构建先进实时频谱监测解决方案

    推出的基于双AndromedaXRU50RFSoC模块架构的实时频谱监测解决方案,以“双芯协同”为核心,实现了从信号采集到分析的全链路技术突破,为复杂电磁环境下的
    的头像 发表于 05-22 11:03 838次阅读
    瑞苏盈科双Andromeda XRU50 RFSoC模块架构:构建先进实时频谱监测<b class='flag-5'>解决方案</b>

    光纤VS 同轴互连:如何选择正确的高速测试方案

    在当今蓬勃发展的测试与测量领域,选择正确的互连解决方案对于确保准确、可靠和高速的数据传输至关重要。光纤和同轴电缆是行业的主流选择,在不同的应用场景中,它们各自拥有独特的优势与局限性。本文探讨了光纤与同轴互连的主要差异,并为高速测试环境
    的头像 发表于 04-29 14:06 901次阅读
    光纤VS 同轴互连:如何选择正确的高速测试<b class='flag-5'>方案</b>?

    AMD技术赋能西门子FPGA原型设计解决方案

    西门子的 Veloce proFPGA CS 是一款针对软件验证和软硬件系统集成优化的原型系统。它是一款基于 FPGA 的逻辑功能验证级工具。
    的头像 发表于 02-27 11:48 1069次阅读

    是德示波器混合信号调试

    在现代电子设计与调试中,测试设备的选择至关重要,尤其是在处理复杂的混合信号时,传统的示波器往往面临诸多局限性。随着电子技术的快速发展,越来越多的设计需要同时处理模拟信号与数字信号,这对测试设备提出
    的头像 发表于 02-12 17:58 660次阅读
    是德示波器混合信号<b class='flag-5'>调试</b>

    ChirpIoT技术的优势以及局限性

    ChirpIoT是一种由上海磐启微电子开发的国产无线射频通讯技术,ChirpIoT技术基于磐启多年对雷达等线性扩频信号的深入研究,并在此基础上对线性扩频信号的变化进行了改进,实现了远距离传输的一种无线通信技术。相关产品型号有E29-400T22D、E290-400MM20S、E290-900T20S、E290-400T30S等国产lora模块,该系列无线模块相关性能参数和功能特点可点击查看。 一、ChirpIoT技术的优势 ChirpIoT技术作为一种创新的无线射频通讯技术,具有多个显著的优势,这些优势使得它在
    的头像 发表于 01-23 10:42 747次阅读

    无感人脸识别考勤解决方案:如何用科技实现考勤的无感化、智能化

    在当今快节奏的工作环境中,传统考勤方式如刷卡、指纹等已逐渐显露出其局限性,如排队打卡耗时、代打卡等问题频发,不仅降低了工作效率,也增加了管理成本。而无感人脸识别考勤解决方案的出现,则为企业考勤管理
    的头像 发表于 01-15 15:24 1451次阅读
    无感人脸识别考勤<b class='flag-5'>解决方案</b>:如何用科技实现考勤的无感化、智能化

    解决方案】电能质量监测与分析系统

    解决方案】电能质量监测与分析系统
    的头像 发表于 01-08 09:06 596次阅读
    【<b class='flag-5'>解决方案</b>】电能质量监测与<b class='flag-5'>分析</b>系统