1 |
12 |
alfik |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2 |
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
3 |
|
|
<head>
|
4 |
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
5 |
|
|
<title>ao68000: Processor verification</title>
|
6 |
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
7 |
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
|
8 |
|
|
</head>
|
9 |
|
|
<body>
|
10 |
|
|
<!-- Generated by Doxygen 1.7.2 -->
|
11 |
|
|
<div class="navigation" id="top">
|
12 |
|
|
<div class="tabs">
|
13 |
|
|
<ul class="tablist">
|
14 |
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
15 |
|
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
16 |
|
|
<li><a href="annotated.html"><span>Design Unit List</span></a></li>
|
17 |
|
|
<li><a href="files.html"><span>Files</span></a></li>
|
18 |
|
|
</ul>
|
19 |
|
|
</div>
|
20 |
|
|
<div class="navpath">
|
21 |
|
|
<ul>
|
22 |
|
|
<li><a class="el" href="index.html">index</a> </li>
|
23 |
|
|
</ul>
|
24 |
|
|
</div>
|
25 |
|
|
</div>
|
26 |
|
|
<div class="header">
|
27 |
|
|
<div class="headertitle">
|
28 |
|
|
<h1>Processor verification </h1> </div>
|
29 |
|
|
</div>
|
30 |
|
|
<div class="contents">
|
31 |
|
|
<p>The <a class="el" href="classao68000.html" title="ao68000 top level module.">ao68000</a> IP Core is verified with the WinUAE MC68000 software emulator. The verification is based on the idea that given the same contents of:</p>
|
32 |
|
|
<ul>
|
33 |
|
|
<li>every register in the processor,</li>
|
34 |
|
|
<li>all memory locations that are read during execution,</li>
|
35 |
|
|
</ul>
|
36 |
|
|
<p>the result of execution, that is the contents of:</p>
|
37 |
|
|
<ul>
|
38 |
|
|
<li>every register in the processor,</li>
|
39 |
|
|
<li>all memory locations written during execution,</li>
|
40 |
|
|
</ul>
|
41 |
|
|
<p>should be the same for the IP Core and the software emulator.</p>
|
42 |
|
|
<h3>Verification procedure</h3>
|
43 |
|
|
<p>The verification is performed in the following way:</p>
|
44 |
|
|
<ul>
|
45 |
|
|
<li>the WinUAE MC68000 software emulator is compiled. The sources of the emulator are located at: <code>./tests/compare_with_winuae/winuae/</code>. The compiled binary is located at: <code>./tmp/compare_with_winuae/winuae/ao</code>.</li>
|
46 |
|
|
<li>the <a class="el" href="classao68000.html" title="ao68000 top level module.">ao68000</a> testbench is compiled. The sources of the testbench are located at: <code>./tests/compare_with_winuae/verilog/</code>. The compiled Icarus Verilog script is located at: <code>./tmp/compare_with_winuae/verilog/tb_ao68000</code>.</li>
|
47 |
|
|
<li>Both of the above executable programs accept arguments that specify the values of:<ul>
|
48 |
|
|
<li>memory locations that are read during execution,</li>
|
49 |
|
|
<li>the contents of every register in the processor.</li>
|
50 |
|
|
</ul>
|
51 |
|
|
</li>
|
52 |
|
|
<li>The result of executing both of the programs is the contents of:<ul>
|
53 |
|
|
<li>memory locations written during execution,</li>
|
54 |
|
|
<li>the contents of every register in the processor after execution.</li>
|
55 |
|
|
</ul>
|
56 |
|
|
</li>
|
57 |
|
|
<li>The tool <code>./sw/ao68000_tool/</code> (<a class="el" href="page_tool.html">ao68000_tool documentation</a>) is used to run both of the executable programs and compare the result of execution. The tool is capable of executing multiple concurrent simulations in order to utilize current multicore processors.</li>
|
58 |
|
|
</ul>
|
59 |
|
|
<p>The makefile with instructions to perform the above operations is located at: <code>./Makefile</code>.</p>
|
60 |
|
|
<h3>Requirements</h3>
|
61 |
|
|
<ul>
|
62 |
|
|
<li>Icarus Verilog simulator (<a href="http://www.icarus.com/eda/verilog/">http://www.icarus.com/eda/verilog/</a>) is required to compile the <code>tb_ao68000</code> testbench/wrapper,</li>
|
63 |
|
|
<li>Access to Altera Quartus II instalation (directory eda/sim_lib/) is required to compile the <code>tb_ao68000</code> testbench/wrapper,</li>
|
64 |
|
|
<li>GCC (<a href="http://gcc.gnu.org">http://gcc.gnu.org</a>) is required to compile the WinUAE MC68000 software emulator,</li>
|
65 |
|
|
<li>Java SDK (<a href="http://java.sun.com">http://java.sun.com</a>) is required to compile the <code>ao68000_tool</code> (<a class="el" href="page_tool.html">ao68000_tool documentation</a>),</li>
|
66 |
|
|
<li>Java runtime (<a href="http://java.sun.com">http://java.sun.com</a>) is required to run the <code>ao68000_tool</code> (<a class="el" href="page_tool.html">ao68000_tool documentation</a>). </li>
|
67 |
|
|
</ul>
|
68 |
|
|
</div>
|
69 |
14 |
alfik |
<hr class="footer"/><address class="footer"><small>Generated on Sat Jan 15 2011 16:54:37 for ao68000 by 
|
70 |
12 |
alfik |
<a href="http://www.doxygen.org/index.html">
|
71 |
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address>
|
72 |
|
|
</body>
|
73 |
|
|
</html>
|