Line 18... |
Line 18... |
</h2>
|
</h2>
|
<h2><a name="manifesto"></a>Verification Guidelines</h2>
|
<h2><a name="manifesto"></a>Verification Guidelines</h2>
|
<p><br>
|
<p><br>
|
<br>
|
<br>
|
</p>
|
</p>
|
<p>Verification is the art of stimulating a component
|
<p>Verification is the process of stimulating a component
|
module and checking that it produces the correct outputs. Stimulations
|
module and checking that it produces the correct outputs. Stimulations
|
are designed to
|
are designed to
|
ensure that all of the components functions are exercised and any
|
ensure that all of the components functions are exercised and any
|
deviation from the expected behaviour is reported as an error.
|
deviation from the expected behaviour is reported as an error.
|
Every
|
Every
|
Line 164... |
Line 164... |
<li><big>Message
|
<li><big>Message
|
|
|
|
|
|
|
|
|
|
|
</big><br>
|
</big><br>
|
</li>
|
</li>
|
</ul>
|
</ul>
|
<br style="font-family: serif;">
|
<br style="font-family: serif;">
|
<br style="font-family: serif;">
|
<br style="font-family: serif;">
|
Line 182... |
Line 183... |
style="font-family: serif;"><br>
|
style="font-family: serif;"><br>
|
<br>
|
<br>
|
<br>
|
<br>
|
<span style="font-family: serif;"> </span></code><span
|
<span style="font-family: serif;"> </span></code><span
|
style="font-family: serif;"><code><span style="font-family: serif;">Do
|
style="font-family: serif;"><code><span style="font-family: serif;">Do
|
not interweave threads in the test_define blocks. Each block should
|
not interweave threads in the test_define blocks. Each fork/join block
|
|
should
|
only access a single BFM.</span><br style="font-family: serif;">
|
only access a single BFM.</span><br style="font-family: serif;">
|
<br style="font-family: serif;">
|
<br style="font-family: serif;">
|
<br style="font-family: serif;">
|
<br style="font-family: serif;">
|
<span style="font-family: serif;"> Plan on designs where you will
|
<span style="font-family: serif;"> Plan on designs where you will
|
need to test multiple instances of a component</span><br
|
need to test multiple instances of a component</span><br
|
Line 247... |
Line 249... |
</p>
|
</p>
|
<big><code>
|
<big><code>
|
./sim<br>
|
./sim<br>
|
+/bin<br>
|
+/bin<br>
|
Makefile<br>
|
Makefile<br>
|
+/bench<br>
|
|
+verilog<br>
|
|
TestBench<br>
|
|
+models<br>
|
|
model1<br>
|
|
model2<br>
|
|
.<br>
|
|
.<br>
|
|
.<br>
|
|
+/lib<br>
|
+/lib<br>
|
+lib_part1<br>
|
+lib_part1<br>
|
lib_part(s).v<br>
|
lib_part(s).v<br>
|
+lib_part2<br>
|
+lib_part2<br>
|
.<br>
|
.<br>
|
.<br>
|
.<br>
|
.<br>
|
.<br>
|
</code><code> +/run</code><br>
|
</code><code> +/run</code><br>
|
<code> +test_case1<br>
|
<code> +/test_case1<br>
|
filelist<br>
|
|
dmp_define<br>
|
dmp_define<br>
|
modellist<br>
|
|
dut<br>
|
|
test_define<br>
|
test_define<br>
|
liblist<br>
|
+/test_case2<br>
|
TB.defs<br>
|
|
+test_case2<br>
|
|
.<br>
|
|
.<br>
|
.<br>
|
.<br>
|
.<br>
|
+/log<br>
|
+/xml<br>
|
test_case1.log<br>
|
</code><code> test_case1.xml<br>
|
test_case2.log<br>
|
test_case2.xml<br>
|
.<br>
|
|
.<br>
|
|
.<br>
|
|
+/out<br>
|
|
</code><code> test_case1.vcd<br>
|
|
test_case2.vcd<br>
|
|
.<br>
|
.<br>
|
.<br>
|
.<br>
|
.</code><br>
|
.</code><br>
|
</big>
|
</big>
|
<code><ouabache design="" works=""><big><br>
|
<code><ouabache design="" works=""><br>
|
<br>
|
|
<br>
|
|
</big>
|
|
<br>
|
|
</ouabache></code>
|
</ouabache></code>
|
<p>Each component will have a ./sim directory for the test suite.
|
<p>Each component will have a ./sim directory for the test suite.
|
Typing:<br>
|
Typing:<br>
|
</p>
|
</p>
|
<p><big><big><br>
|
<p><big><big><br>
|
Line 499... |
Line 476... |
`include
|
`include
|
"../../../../../children/logic/ip/ps2_interface/rtl/gen/sim/ps2_interface.v"<br>
|
"../../../../../children/logic/ip/ps2_interface/rtl/gen/sim/ps2_interface.v"<br>
|
`include "../../../../../children/logic/ip/uart/rtl/gen/sim/uart.v"<br>
|
`include "../../../../../children/logic/ip/uart/rtl/gen/sim/uart.v"<br>
|
</p>
|
</p>
|
<code style="font-family: monospace;"></code>
|
<code style="font-family: monospace;"></code>
|
<span style="font-family: monospace;">--------------------------------------------------------------------------------------------------------------------------------------</span>
|
<span style="font-family: monospace;">-------------------------------------------------------------------------------------------------------------------------------------</span>
|
<p><br>
|
<p></p>
|
</p>
|
|
<p>The filelist uses `include statements to load all the rtl files into
|
|
the simulation.The paths are relative from the test_case run
|
|
directory. Note that all the verilog files have been post-processed and
|
|
search directories or include directories are not needed.
|
|
</p>
|
|
<p><br>
|
<p><br>
|
</p>
|
</p>
|
<h2><a name="manifesto"></a>liblist</h2>
|
<h2><a name="manifesto"></a>liblist</h2>
|
<p><span style="font-family: monospace;">--------------------------------------------------------------------------------------------------------------------------------------</span>
|
<p><span style="font-family: monospace;">--------------------------------------------------------------------------------------------------------------------------------------</span>
|
</p>
|
</p>
|
Line 1304... |
Line 1275... |
<br>
|
<br>
|
</p>
|
</p>
|
<p><br>
|
<p><br>
|
<br>
|
<br>
|
</p>
|
</p>
|
<p><br>
|
<p></p>
|
<br>
|
<p></p>
|
</p>
|
|
<p><br>
|
|
<br>
|
|
</p>
|
|
<p><br>
|
|
</p>
|
|
<p><br>
|
|
</p>
|
|
<p><br>
|
|
</p>
|
|
<p>This is a test<br>
|
|
</p>
|
|
<p><br>
|
<p><br>
|
<br>
|
<br>
|
</p>
|
</p>
|
<p><br>
|
<p><br>
|
<br>
|
<br>
|