Latency-insensitive design mitigates increasing interconnect delay and enables productive component reuse in complex digital systems. This design style has been adopted in high-level design flows because untimed functional blocks connected through latency-insensitive interfaces provide a natural communication abstraction. However, latency-insensitive design with high-level languages also introduces a unique set of verification challenges that jeopardize functional correctness. In particular, bugs due to invalid consumption of inputs and deadlocks can be difficult to detect and debug with dynamic simulation methods. To tackle these two classes of bugs, we propose formal model checking methods to guarantee that a high-level latency-insensitive design is unaffected by invalid input data and is free of deadlock. We develop a well-structured verification wrapper for each property to automatically construct the corresponding formal model for checking. Our experiments demonstrate that the formal checks are effective in realistic bug scenarios from high-level designs.
翻译:长期不敏感设计减轻了不断增加的互联延迟,使复杂数字系统能够再利用生产部件。这种设计风格已在高级设计流程中采用,因为通过长期不敏感界面连接的未定时功能区块提供了自然的通信抽象;然而,带有高语言的对长期不敏感设计也带来了一套独特的核查挑战,危及功能正确性。特别是,由于输入的无效消耗和僵局造成的错误可能难以用动态模拟方法检测和调试。为了处理这两类错误,我们提议了正式的示范检查方法,以保证高水平的惯性不敏感设计不受无效输入数据的影响,摆脱僵局。我们为每个财产开发了结构完善的核查包装,以便自动建立相应的正式检查模式。我们的实验表明,正式检查在高层次设计的实际错误情况下是有效的。