节奏是提出一个新的方法调试。这几乎是一个明显的方式,但这不是大多数调试历来是如何实现的。这个以前没有做过的的真正原因很简单:数据。我们将回到这一秒。
他们的观点是,对于大多数调试,今天你必须预测,问题可能会出现,然后用“printf“手动工具代码语句(或同等),这样你得到一些可见性的程序。
你工作第一次模拟运行,直到出错时没有附带printf提供线索。所以你回去和添加更多的printf——这是关键,你resimulate。
节奏的估计,50%的调试、验证努力和25%运行测试。在一起,他们的¾派。每个resimulation更多的测试时间,因为调试工作像逐次逼近你尝试为零的原因,这是低效率的。他们最大的想法是使调试更加直接和——这是很大一部分——100%可行后只有一个验证运行。
结果是Indago(不,听起来不像“靛”;这是“in-DAH-go”,显然拉丁语狩猎或跟踪)。这种方法有几个关键部分。
主要的一个是事实,所有的工件——数据、日志、代码执行,等等——捕获。换句话说,不用提前决定哪些数据通过printf暴露,你只是得到了一切。这意味着调试工作所需的所有数据,不需要后续经营获取新数据。
从那里,他们有他们所谓的“根本原因分析”,可以帮助你在一个错误的方向。当一个信号被testbench是不正确的,这个工具可以识别一个短的列表可能的原因,你可以从那里钻在(甚至进入第三方知识产权,只要它不是加密)。
最后,他们有三个应用程序层上面这个基本技术。他们是一个调试分析仪,它允许多语言(SystemVerilog,e和SystemC)代码调试。第二个是嵌入式软件调试,这有助于调试co-verified软件和硬件(和优化的钯模拟器和敏锐的模拟器)。最后,协议调试时提供抽象调试协议,这样你可以观察发生了什么在一个更高的水平。
这三个应用程序可以同时运行。在某种程度上,他们提供另类观点相同的信息,他们保持同步。你可以在他们之间来回移动,说,强调在另一个,然后查看。
Indago不是与节奏的验证工具;它也可以用于其他引擎从不同的EDA供应商混合和匹配。
最后,一个快速的词在一个时髦词,在宣布:大数据。当你听到这个消息时,你可能会认为Hadoopλ架构或数据集市或NoSQL搜索任意数量的神秘的缩写和算法和咒语。任何深度学习的重点,这是另一个时髦词。
我试图钻在“大数据”是什么意思。事实上,之前主要是这些东西。这是“大数据”从最一般意义上讲,最高级别的大数据的概念。,也就是说,“抓住一切,包括你的婆婆,和隐藏有一天因为你可能需要它。“Indago拥抱这方面——这是消除后续验证迭代而调试的关键。
我早些时候指出,只有在现代记忆是廉价和足够大的(我们可以转储数据不够快),我们可以承担这个“浪费”——毕竟,一个巨大的比例,存储的数据永远不会,永远被使用。与过去不同,这不再是一个不可接受的成本。加速调试是价值超过额外的存储。