巨大的挑战,变化调试

推到7海里,以及安全性至关重要的市场,提高了赌注并寻找设计问题的障碍。新方法是必要的。

受欢迎程度

由安Steffora Mutschler &埃德·斯珀林

调试一个芯片一直都是困难的,但问题是在7和5 nm恶化。角情况下的数量爆炸式增长随着复杂性的增加,甚至有些bug不是任何人的雷达,直到在设备上已经在使用终端客户。

估计有39%的验证工程时间花在调试活动。验证作为一个整体约占70%到80%的总负阻元件。然而,越来越难找到这些错误,使用多个处理器和内存类型将减少电力和优化性能。增加更多的更多的功能,越来越多的可能的用例和模型,并试图预测所有可能出错的事情几乎是不可能的。

因此,芯片建筑师和工程师正在寻找新方法来加速和简化调试,包括持续的监控、纠错策略,发展soc和asic天生更容易调试。

“有更多的处理器核心,更多权力领域,和硬件深度学习神经网络,”拉里悟道说,产品管理总监节奏。“调试这些系统将需要更复杂的根源识别。以低功耗设计为例。介绍了隔离和保留司机跟踪问题,引发的一个司机在哪里域断电。可以使错误的价值传播的根源。”

事实上,随着硅几何图形继续萎缩,SoC平台在单一设备上变得更大、更复杂,营销副总裁Dave Kelf提醒OneSpin解决方案。“这些设备调试的复杂性增加以指数速度设计尺寸。此外,可能发生的错误条件,可能是由于复杂的角情况下的问题,难以追踪。需要创新的调试技术,这些可能会利用意想不到的不同工具之间的联盟。例如,错在SoC仿真变得明显,可以使用错误调试狩猎技术应用与正式的工具,断言创建,详尽分析了特定的条件。的持续收缩几何图形本质上导致创新和多样化的组合工具,他们的能力延伸到意想不到的需求。”

前沿节点的其他因素包括多个处理器和神经网络短,分布式电脑增加可能的来源的数量错误,例如内存损坏,同时也很难找到路径之间的影响和原因。

“这将需要更多的事务或程序员测试执行的看法基于上下文的时间来帮助识别难以寻获的并发事务执行之间的竞争条件,“悟道说。“调试要少依赖跟踪信号支持提供整体的设计状态,交易的观点,和定时的消息,功率状态,和并发事务。从这些不同的信息来源和提供上下文将要求聪明的调试,和更复杂的数据分析和可视化观察不当行为的根本原因。”


图1:调试复杂的芯片。来源:节奏。

复杂的问题是芯片之间越来越相互依赖,甚至包、董事会和其他连接或有联系的系统。结果是没有一个单独的任务被称为“调试”了。哈里·福斯特首席科学家验证导师,西门子业务说,现在调试跨越从建筑设计,RTL设计、时间、电力、安全、软件交互,甚至验证试验台和制造业。因此,尽管工程团队中添加断言他们的RTL RTL能够减少50%的调试时间,只解决一个问题。

事实上,有很多反思整个调试流由于SoC设计考虑到越来越多的嵌入式IP。“我去买第三方的知识产权或其他我创造我自己的内部IP,我开始将它集成到这个巨大的SoC嵌入式处理器,”福斯特说。“传统的调试方法不再工作。问题的一部分是,我们现在面对这些“诱导多能性”之间的复杂的相互作用,通常我们不期望,和传统方法洞察这些交互不工作。”

这包括的不仅仅是功能。在过去,调试是确保系统正确运行。,越来越多的功能被认为是更多的是一种滑动规模所定义的IP,终端市场,在设计最重要的功能是什么。对于智能手机来说,并不是所有的特性必须运行在最佳功率或性能。一些甚至可能被禁用。这是不能接受的在安全至上的市场,如汽车、医疗和工业,然而,为调试添加一套全新的挑战。

“如果你重用IP,它可能低,中期或高性能,”库尔特·舒勒说,负责营销的副总裁ArterisIP。“这变得更加困难,因为你添加更多的子系统,或者如果你改变它们是如何联系起来的。重用为很多公司是基于这个想法,“如果没有坏,就不要修复它。的原因是,如果你改变IP值得注意的是,你必须改变软件。但当我们进入安全,客户的需求变化,所以现在他们回去,改变内部。”

在航空电子设备,汽车的安全性至关重要的模型设计和其他市场,第三方知识产权扮演了只有一个很小的角色,因为它没有必要的文档。更容易测试和调试IP开发为一个特定的系统。但在航空电子设备开发时间要长于在半导体,使得这个行业不是一个主要问题。

“在这个市场的一个主要方法是逆向工程的IP,”路易de Luna说,营销总监Aldec。“这需要重写,但它也需要更多的测试,更多的文档和设计。大型航空公司通常不买商业IP。他们自己做。”

大数据和机器学习
这一转变更多自定义解决方案定义的细分市场正在加速,这对调试具有重要意义。设备卖到安全至上的市场功能更长的比消费者或移动设备,通常在定义参数的被认为是可接受的性能。大大增加了需要更好的覆盖而不是依靠一个售后软件补丁。实际上,越来越需要什么调试的调试过程。

“报道是为了看看我们测试了这个,”福斯特说。“如果我们没有,我们需要调试,找出为什么我们没有。有一个错误在我们的设计还是一个错误在我们的测试?这些分崩离析,不要在非常复杂的soc工作,所以我们必须在那个空间开发新的解决方案。基本上,即使新指标,这些新指标基本上是统计在本质上,他们利用数据挖掘技术。”

大数据技术发挥着越来越重要的作用,与数据挖掘和机器学习技术,可以利用这些发现一大片的设计。目标是确定哪些方法效果最好,以减少总体时间测试,验证和debug-basically,优先考虑如何获得最大的回报上花费的精力。

“我们的目标是运用最好的测试,以得到最保险,然后使用测试增量报道后在开发过程中,“比尔Neifert说,市场开发高级主管手臂。“你需要为这个因为没有足够的测试模型。总有一个可以接受的数量的杰出的bug和可接受数量的验证周期。然而,如果你能腾出更多您可以运行更多的测试周期,提供更有效的报道。所以基本上,你发展更好的测试,使用额外的时间去做更多的验证。”

有很多方法这一问题的方法。一个是提取所需的数据模拟或仿真也不失为一种聪明的办法。所以新开发的技术将解决这些新问题非常复杂,高集成的IP块。

“当我们开始要7和5 nm,复杂性爆炸,”福斯特说,导师的。“不仅仅是制造方面,但事实上,现在在设计我们可以集成越来越多。现在我们有了更多的互动,所以,从更根本的重新思考这件事的一个统计的范围在系统水平上利用数据挖掘技术来提取和分析。在这么做的过程中深入分析我们从未得到这一观点,我们可以发现,我们永远不会找到一些建筑问题使用传统方法。”

重新思考这个问题
例如,许多soc的今天,传统方式的测试还没有完成向量放在哪里。这些测试实际上是嵌入式软件运行在一个处理器。调试必须反思。

“我们需要一个新的调试器同步整个处理器,在传统的波形,内存映像,寄存器地图,”福斯特说。“所有这些事情必须重新考虑,提供的信息必须以这样一种方式,它不超载用户,所以必须有一些情报抽象出需要给用户如何有效地调试它。”

学术界和产业界的研究正在自动化根本原因分析。大卫•帕特森Pardee计算机科学荣誉退休教授加州大学伯克利分校强调,项目团队需要了解到的芯片,包括一些标准接口,可以包括在内,jtag等,或者调试器接口指令集。“你想,因为你想要试着理解发生了什么。”

帕特森指出soon-to-be-presented纸从伯克利他认为小说而言,试图了解这里发生了什么。”一个真正伟大的技术如果你构建计算机是一个FPGA,因为你可以有一个柔软的FPGA设计。人都不愿意在他们的芯片放在调试特性,因为它占用面积,使用权力和设计时间。在一个FPGA,不管你把它全部或部分填充它。你还可以利用它。新奇的想法,一些伯克利的学生(最近写了)是将两个RISC-V处理器芯片的FPGA,与第一个运行之前,第二个,说,1000条指令。在Verilog编写一个断言,如果发生信号标志。坏的一部分是你就说坏了的东西,但你不知道发生了什么。和你不可能记录所有发生的一切,因为你会耗尽内存。它走得很慢。 The novel idea is to have two processors on the chip, one 1,000 clock cycles behind the other, and the job of the first one as a scout is to say, ‘Something is going to happen, so start recording.’ And the other one, which is in lock step behind it will catch up and the trigger will happen, but you’ll have recorded the last 1,000 instructions right before the event happened. That’s a novel way to try and add very detailed debugging information from seeing deeply what’s going on inside a chip using FPGAs.”

另一种方法是不断测试芯片和添加自动调整的措施。

通过汽车,你需要测试开始和在系统芯片,”戴夫DeMaria说,公司副总裁Synopsys对此。“所以你基本上相当于ECC在公共汽车上,如果你抛,它可以自我纠正。也有被动的事情可能不会得到纠正,如信号是否有效。可能会使信号进入主处理器,所以它可能操作在一个安全的状态。每一个关键安全系统故障恢复机制。如果死的中间联系人只有25%,三四年后它可以分解。如果芯片自检,国旗本身应该联系被打破,汽车进入一个安全的国家。”

推动定制
这种努力构建的测试和调试正在进行部分出于不同的原因。趋势的前沿设计,包括人工智能、服务器和机器学习系统以及移动设备,更对定制的硅。甚至所谓的标准IP是略有调整,和调试不兼容在许多情况下需要从零开始。

“在28 nm公司会问IP是否证明硅,“说Anush莫汉达斯·,负责营销的副总裁NetSpeed系统。“但是在7海里,大多数IP块都没有证实。和每个不同的细分市场想要别的东西。你需要从一个记忆是不同的从一个市场。”

这个戏剧公司如何看待调试。在服务器和汽车等市场AI,例如,调试主要是关于减少瓶颈和任何可能影响性能。

“从EDA的角度来看,你可能会寻找一个额外的2%或更多的时间从你的设计。”迈克Gianfagna说,负责营销的副总裁eSilicon。“但如果你看看这个整体,你可以得到更多。如果你看数据中心,那里的挑战是,他们想要盈利数据,为此他们需要降低风险和提高执行的效率。如果他们耗尽磁盘空间,这是不可能发生的。所以我们开始看到软件定义数据中心,所有的网络和磁盘是在软件的控制下。他们可以改变网络带宽和连接,但他们仍然需要看到问题,结果的挑战。”


图2:IBM的编辑部。来源:IBM

实际上,这动作调试系统级,这就是最大的挑战和机遇。

“异构soc的问题,当试图整体调试整个事情,是很难找到的工具允许你获得可见性发生了什么,并控制它,”Simon Davidmann说的首席执行官治之。“人们没有工具,因为将基于弧弧工具,将基于Tensilica Tensilica工具,MIPS周围的MIPS的工具,和手臂工具周围的手臂。把芯片放在一起,有两个不同的供应商,和工具在不同的桶,这意味着你必须开始一个处理器,然后开始下一个。然后,你停止这个,然后停止。最后一罐蠕虫的同步。它在技术上是相当困难的,但它是不可能了,因为供应商有不同的工具,他们说不同的语言,有效的。”

Davidmann认为核心供应商没有兴趣以这种方式支持异构设计。“如果你卖的一只手臂的核心,你担心有世界上最好的调试环境部门的核心。如果客户并将Tensilica处理器旁边,你在乎什么?技术上你应该在乎你是一个服务公司提供的解决方案,但他们不是。手臂许可证的IP。Synopsys对此略有不同,说他们是硅设计伙伴和能做的一切。但是如果它有一个Tensilica吗?用户的问题是设计一个芯片,由供应商异构,异构架构基本上意味着供应商的工具不能一起工作,对他们来说这是一场噩梦。”

结论
调试变得更加复杂的时候也变得越来越重要。设计更多的定制,他们被用于市场,安全是至关重要的。

工具引擎和方法越来越快。这些天,他们是可伸缩的跨数据中心的帮助。但不是每个错误可以在合理的时间内,和post-manufacturing失败太高的价格等市场汽车甚至智能手机。因此,芯片制造商开始看纠错方法和连续测试即使设备在市场上被广泛使用。简而言之,他们调试的调试方法,以及最终的形状很可能重新定义这个过程在可预见的未来。

有关的故事
调试成为一个更大的问题
EDA公司发展更多的集成调试流将执行引擎和硬件和软件紧密联系在一起,但这是否就足够了呢?



1评论

凯文 说:

的一个主要问题是,指定芯片RTL太低水平。在这一点上我们应该转移到一个更数据流的方法,不包括时钟的设计规范。RTL隐藏了大量的意图和减缓功能验证完成。一个好的异步/数据流规范可以很轻易的转换成同步或异步逻辑与correct-by-construction技术。

不幸的是在大型EDA公司推行的RTL流和更快乐卖给你修补工具而不是解决正确的问题。

戴夫DeMaria说——你需要测试系统以及芯片。这意味着你不希望SV / UVM,你想要一个C / c++方法。

我将赌一些开源的东西解决问题,看上去不像在职者正在取得进展。

留下一个回复


(注意:这个名字会显示公开)

Baidu