如何使用SystemVerilog SVA检查跨时钟域信号?
在大多数设计中,异步通信通常发生在两个独立时钟域之间,或使用异步接口协议。
而SystemVerilog SVA虽然常用于同步设计基于周期的检查,但是也可用于跨时钟域和异步协议的检查。本文通过2个示例介绍跨时钟域SVA检查的背后原理。
跨时钟域SVA
构建多时钟域SVA sequence的关键是使用连接运算符 ##1。在单时钟域sequence中,连接运算符代表一个采样事件(例如posedge clk)。而在多时钟域sequence中,连接运算符在两个不同时钟域的sequence之间进行同步。
@(posedge clk1) sig_a ##1 @(posedge clk2) sig_b