...
首页> 外文期刊>IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems >Chaining and Biasing: Test Generation Techniques for Shared-Memory Verification
【24h】

Chaining and Biasing: Test Generation Techniques for Shared-Memory Verification

机译:链接和偏置:用于共享内存验证的测试生成技术

获取原文
获取原文并翻译 | 示例
           

摘要

Since nondeterministic behavior is key to exposing shared-memory errors, nonsynchronized parallel programs are often used for verification and test of multicore chips. In the verification phase, however, the slow execution in a simulator requires nonconventional constraints for enabling error exposure with shorter programs. This paper proposes two novel techniques that build upon conventional random test generation for efficient shared-memory verification. The first technique exploits canonical dependence chains for constraining the random generation of instruction sequences so that the races induced at runtime are likely to raise the coverage of state transitions due to memory events conflicting at a same shared location. The second one exploits address space constraints for biasing random address assignment so that the competition of distinct shared locations for a same cache set can be controlled for raising the coverage of state transitions due to eviction events. We built generators relying on each of the proposed techniques, as well as on their combination, and we compared them to a conventional constrained random test generator for 8, 16, and 32-core architectures. Each of the four generators synthesized 1200 distinct test programs for verifying ten faulty designs derived from each of the three architectures (144 000 verification runs in total). For 32-core designs, the combination of the proposed techniques made at least 50% of the generation space capable of exposing errors, improved the median functional coverage by 44% and 83% at the two highest hierarchical levels, and reduced the average verification effort by one order of magnitude in many cases.
机译:由于非法行为是暴露共享内存错误的关键,因此不同步并行程序通常用于验证和测试多核芯片。然而,在验证阶段,模拟器中的缓慢执行需要非协定的约束,以使错误曝光能够以更短的程序曝光。本文提出了两种新颖的技术,该技术在传统的随机测试生成时构建,以实现有效的共享内存验证。第一种技术利用规范依赖链来限制随机生成指令序列,使得在运行时感应的比赛可能会引起状态转换的覆盖率,因为在相同的共享位置冲突,由于内存事件冲突。第二次利用用于偏置随机地址分配的地址空间约束,以便可以控制用于相同高速缓存集的不同共享位置的竞争,以提高由于驱逐事件引起的状态转换的覆盖范围。我们构建了依赖于每个提出的技术的发电机,以及它们的组合,并将它们与8,16和32核架构进行了传统的受限随机测试发生器。四个生成器中的每一个都合成了1200个不同的测试程序,用于验证来自三种架构中的每一个的十种故障设计(144 000次验证总共运行)。对于32核设计,所提出的技术的组合使能够暴露出误差的产生空间的至少50%,在两个最高层次水平下提高了44%和83%的中值函数覆盖率,并降低了平均验证工作在许多情况下,在一个数量级。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号