SystemVerilog Assertions应用指南 Chapter 1.17使用参数的SVA检验器

 1.17使用参数的SVA检验器

        SVA允许像 Verilog那样在检验器中使用参数( parameter),这为创建可重用的属性提供了很大的灵活性。比如,两个信号间的延迟信息可以在检验器中用参数表示,那么这种检验器就可以在设计只有时序关系不同的情况中重用。例子1.2显示了个带延迟默认值参数的检验器。如果这个检验器在设计中被调用,它使用一个时钟周期作为延迟默认值。如果在实例化时重设检验器中延迟参数值,那么同一个检验器就可以被重用。在例子1.2中,模块“top”有两个“ generic_chk”的实例。实例i1将延迟参数改写为2个时钟周期,而实例i使用默认的1个时钟周期。
例12使用参数的SA检验器的例子

module generic_chk(input logic a,b,clk);
	parameter delay=1;
	
	property p16;
		@(posedge clk) a |-> ## delay b;
	endproperty
	
	a16 :assert property (p16);
	
endmodule

//call checker from the top level module
module top(...);
	logic clk,a,b,c,d;
	
	generic_chk #(.delay(2)) i1 (a,b,clk);
	generic_chk #(c,d,clk);

endmodule

                图1-19显示了两个检验器实例i和i在模拟过程中对信号变化的响应。

你可能感兴趣的:(Systemverilog,SystemVerilog断言)