提高抽象级别和机器学习有助于缩短上市时间。
改进由于尺寸和细节而变得过于复杂的工程任务的经典方法是提高设计表示的抽象。通过这种方式,我们规划了城市,建造了飞机,并规划了500米的大门soc。
例如,如果不将抽象转移到寄存器传输级(RTL)并利用逻辑综合,ASIC设计就不可能超过几千个逻辑门。同样,对于软件设计来说,除了最简单的程序,C和/或Java等语言是绝对必要的。
提高调试过程的抽象允许工程师检查更广泛的场景,考虑验证执行的更大方面,并更快地达到正确的假设。
这就是为什么Vtool采用了一种抽象的、可视化的调试方法来解决这些问题和其他问题。该方法依赖于心理学研究来解决问题和大规模数据分析,并应用现代机器学习(ML)算法以认知的方式检查大型数据集。
这种策略可以应用于大规模的块验证,特别是用于复杂的UVM测试台架。它还带来了独特的调试能力,以跟踪SoC验证运行中复杂的极端情况。专注于日志信息和关键信号,可以最大限度地减少传统信号级分析所需的大型数据转储。这使得它非常适合模拟调试,以及大规模的模拟回归。它还可以作为特别复杂的块和soc的独立调试功能,或者与传统的调试环境结合使用(并增强),为这些工具提供一个前端,极大地加快了过程。
调试过程中的一些关键挑战是:
解决这些挑战还有其他一些好处:
新的调试元素,建立在旧的基础上
Vtool的Cogita工具背后的部分动力包括对工程调试的行为分析,以了解设计和验证的各个方面,可以用于推动更好的人体工程学体验。这项研究明确了以下四个重点领域:
抽象
最终,工程师应该能够提出问题并得到答案。
目标是统一来自广泛输入的数据,包括模拟UVM日志、VIP日志、模拟器日志、软件消息和波形数据库,将它们作为一个全面的高级视图呈现。这允许用户在一个单一的、全面的视图中获得所有这些信息的更抽象的视角。
可视化
我们的大脑可以正确地处理视觉数据,比纹理数据快数百倍。简单地说,我们很好地理解和处理视觉结构。有趣的是,超过50%的人类大脑致力于视觉处理,我们经常忽视这一事实,因为我们创造工程工具。
然而,实现所有这些工作所需要的是一种复杂的搜索机制,该机制沿着时间轴以彩色条的形式提取和显示文本消息。事件的数值模式和序列可以很容易地掌握,从而实现简化的调试过程。正是这种复合事件集和搜索结果的快速可视化,使用户能够有效地从整体中发现问题,这是检查单个信号或文本所不清楚的。
分类
另一种理解和调试复杂系统的强大方法是分类过程。调试中的分类以几种不同的方式表现出来:
解决方案涉及内置的机器学习(ML)算法,用于准备和处理输入数据(即日志文件和波形)。然后对处理过的数据进行分类和筛选,使其易于理解。在这个过程中,算法的作用是对大量数据进行分类,并指导下一个检查点,同时在根本原因分析过程中做出假设和结论。
导航
为了有效地沿着上面描述的因果链进行操作,人们需要一个有效的导航系统,它可以同时沿着所需的设计空间和时间维度进行操作。没有它,我们很快就会迷失在细节中,当我们沿着假设链回答一个问题时,我们已经忘记了导致它的假设。
如今,所有这些属性都在有效的调试环境中得到利用。然而,正如我们将看到的,有机会大大改进它们。
Vtool的Cogita配备了强大的图形用户界面(GUI),可以帮助用户在高效调试过程所需的不同视图之间快速有效地导航。该机制包括强大的搜索和过滤选项,可以从一般不相关的细节中提取特定的数据。
我们的目标是探索调试的本质并引入一种新功能。我们将解释这种工具所需的四个主要特征:抽象、可视化、分类和导航。
留下回复