amiq-consulting / amiq_apb

SystemVerilog VIP for AMBA APB protocol
Apache License 2.0
66 stars 29 forks source link

PSEL assertion not synchronous to clock #3

Open tudortimi opened 8 years ago

tudortimi commented 8 years ago

The following property is asynchronous:

property amiq_apb_sel_validity_during_transfer_phases_p;
  @(posedge enable) disable iff(!reset_n || !en_protocol_checks) (|sel);
endproperty

It's sensitive to glitches on enable. It should be rewritten as:

property amiq_apb_sel_validity_during_transfer_phases_p;
  @(posedge clk) disable iff(!reset_n || !en_protocol_checks) (enable |-> |sel);
endproperty
amiq-consulting commented 8 years ago

I would use: property amiq_apb_sel_validity_during_transfer_phases_p; @(posedge clk) disable iff(!reset_n || !en_protocol_checks) (!enable || |sel); endproperty