重要知识点:
- 接口中使用时钟块来指定同步信号相对于时钟的时序。时钟块中的任何信号都将同步地驱动和采样。例如:
//声明 cb,每个clocking在声明时都需要确定name和一个时钟表达式
clocking cb @(posedge clk);
output a;
input b;
endclocking
- interfce中不能使用always块,因为不会自动结束,但是可以使用intial forever代替;
- 立即断言:()里的条件为真,则继续执行下面的代码,否则,仿真器报错;
a1: assert (a==1'b1);
- 并发断言:需要在断言中定义一个采样时钟,并且加一个property块;
property p1;
@posedge (clk) ;
a == 1'b1;
endproperty
a2: assert property(p1)