Valtrix推动水平验证重用

当多个独立的人聚集在一个单一的概念,这可能是一个有根据的想法。这就是发生在今天的验证。

受欢迎程度

有些最重要的进步不是一个人或一个想法的结果。他们通常不会在一夜之间发生,建议的改变慢慢变得普遍足以成为一个通用的解决方案。这正是现在正在发生的功能验证。目前的工具和方法,认为设计典型的过去,不是现在。

现在改变是大多数设计是大到足以包含至少一个处理器和在许多情况下几个这些处理器可以访问设计的每一个角落。夫妻与处理器的一个设计,不觉得一个RTL模型运行,软件模型的处理器上执行的仿真速度比其余的RTL设计。

能有什么更好的资源来执行那些验证测试吗?此外,模拟经常部署实际保税核心意义可用的处理器是整个验证流程,从系统级模型虚拟样机通过实际硅且不会改变它的行为在整个设计流程。

大多数人都熟悉的工作正在进行中Accellera便携式刺激工作小组,但你可能没有意识到创业在印度一直在同样的问题,也有类似的解决方案。他们的名字是Valtrix系统他们都位于班加罗尔。半导体工程和罗伊·乔亨瑞Shubhodeep创始人之一。

SE:创始人在处理器公司之前Valtrix的形成。缺失的是什么或者有什么问题你看到没有现有的解决方案?

Choudhury:有太多的工具设计验证即使在一个公司。因此,工程师经常需要学习和维护多个工具来验证有效。在某些情况下,多组测试配置是需要维护它只是带走了宝贵的执行时间。在缺乏一个工具,它涵盖了所有的知识产权目前的系统中,往往很难得到积报道

此外,post-silicon工具的高效硅不设计pre-silicon上无缝地运行模拟反之亦然。因此,我们将看到不同的验证方法为pre-silicon到位,模拟、FPGA和post-silicon。通常从pre - post-silicon重复测试内容。也没有左移位友好的测试框架,很麻烦将测试失败从硅仿真调试吞吐量较低。

一些常见的问题,我们看到现有的工具包括:基于操作系统工具受到优先购买权/任务开关使其不再打击覆盖目标;纯随机指令序列生成器在触及重点场景并不好;和集中测试没有足够的测试序列随机性。需要有一个测试刺激生成平台,有效地解决所有这些问题。

SE:你最近宣布第一个工具:刺痛。告诉我一点关于如何解决这些问题。

Choudhury:刺由用户输入/测试刺激规范处理器,一个测试生成器和一个裸露的金属内核。刺测试生成器处理测试刺激规范并创建中介表示,然后使用的测试生成器来创建测试。测试与内核创建一个绑定的精灵形象,然后可以在目标系统上启动并运行。整个测试刺激可以控制使用自定义配置。也有机制可用来开发基于集中测试和c++应用程序,然后可以插入随机指令流。

SE:这些测试指定怎么样?

Choudhury:我们设计了一个JavaScript对象表示法(JSON)的测试刺激规范机制。它在本质上是高度完整、直观。让你的配置控制测试的每一个属性。创建一个新的测试是一种改变配置文件的内容。我们开发了基于JSON的前端配置机制将极大地帮助在测试内容管理。用户只需要指定测试的意图在配置不可知论者。

刺支持经典的随机测试生成的约束。提供了广泛的控制,以确保所有的测试属性可以由用户控制。此外,刺痛还提供了一个c++ API开发的测试场景需要复杂的编程结构。常见的基于API的测试用例是为IO编写设备驱动程序。刺提供的api非常友好的验证。例如,他们会让你共享一块内存线程CPU和IO设备之间在Linux中这是不可想象的。刺痛还提供了一个ASM-like编程框架可以使用用户编写高度集中测试。这让我们测试主要测试条件如记忆订购石蕊测试。

SE:通常一个测试必须减少为了方便找到问题的根源。在刺痛这是怎样执行的?

减少测试是失败的一个重要步骤调试和减少。刺(SCC)的测试配置发电机可以为此提供帮助。假设我们的测试有16个CPU线程2 DMA控制器和4作为PCIe卡。他们需要中断和内存资源。鳞状细胞癌为每个硬件模块组件模块的可用资源进行分析,并确定是否可以生成一个使用这些测试。中断的SCC组件分配可用的中断向量作为PCIe卡和CPU / DMA控制器根据测试的需要。如果测试需要减少删除所有的中断,鳞状细胞癌可以禁用中断组件。由于中断其他模块的要求不满足,他们不是生成的。还有其他方法的测试配置的目标部分可以被排除在外。

Valtrix的更多信息可以在他们找到网站



留下一个回复


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

Baidu