25.02.2017 Views

Formal Verification with Yosys-SMTBMC Clifford Wolf

slides

slides

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

axicheck2.v<br />

Instantiate two copies of the UUT, let them have independent “ready” signals, but<br />

force them to be equal when “valid” is active:<br />

if (mem_axi_awvalid_0)<br />

assume(mem_axi_awready_0 == mem_axi_awready_1);<br />

This must not have any effect on the “valid” and “data” signals:<br />

assert(mem_axi_awvalid_0 == mem_axi_awvalid_1);<br />

assert(mem_axi_awaddr_0 == mem_axi_awaddr_1 );<br />

assert(mem_axi_awprot_0 == mem_axi_awprot_1 );<br />

Instead of resetting both UUT in the initial state, we just force them to be equal in<br />

the initial state (see axicheck2.smtc):<br />

initial<br />

assume (= [uut_0] [uut_1])<br />

(An SMT solver <strong>with</strong> true UF support is needed in order to compare hierarchical<br />

cells like this.)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!