You are on page 1of 5

+Property:

--Asynchronous (unclocked) Reset asserts


AFTER_RESET : process (all) is
begin
if (not rst) then
RESET_STATE : assert vm_tx_done = '0' and vm_rx_done = '0' ;
end if;
end process AFTER_RESET;

A bug was found which was igored in simulation.

Previous code:

Counter Example:
Corrected Code:

Property:
ALWAYS_ACK_ONE: assert always {(pr_tx_start) and rst} |=> {[*0 to 19] ; vm_tx_done and
not( vm_rx_done) } ;

Counter Example:

Corrected Code:

PROPERTY:
CHECK_OVERALL: assert always {pr_d32_data and vm_tx_done} |-> {vm_data_o_s =
mem_data_i_s} ;
USED BMC WITH DEPTH 100
Counter Example:

Corrected Code:
Property:
CHECK_OVERALL_32bit_Write_b: assert always {not(vm_tx_done_sb) ; vm_tx_done_sb and
pr_d32_data_b} |=> {[*0 to 5] ;pr_data_i_b = mem_data_i_s} ;

SIMULATION a

Resolution:

You might also like