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: alu Module Reference</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 class="current"><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="tabs2">
|
21 |
|
|
<ul class="tablist">
|
22 |
|
|
<li><a href="annotated.html"><span>Class List</span></a></li>
|
23 |
|
|
<li><a href="hierarchy.html"><span>Design Unit Hierarchy</span></a></li>
|
24 |
|
|
<li><a href="functions.html"><span>Design Unit Members</span></a></li>
|
25 |
|
|
</ul>
|
26 |
|
|
</div>
|
27 |
|
|
</div>
|
28 |
|
|
<div class="header">
|
29 |
|
|
<div class="summary">
|
30 |
|
|
<a href="#Inputs">Inputs</a> |
|
31 |
|
|
<a href="#Outputs">Outputs</a> |
|
32 |
|
|
<a href="#Signals">Signals</a> |
|
33 |
|
|
<a href="#Module Instances">Module Instances</a> |
|
34 |
|
|
<a href="#Defines">Defines</a> |
|
35 |
|
|
<a href="#Always Constructs">Always Constructs</a> </div>
|
36 |
|
|
<div class="headertitle">
|
37 |
|
|
<h1>alu Module Reference</h1> </div>
|
38 |
|
|
</div>
|
39 |
|
|
<div class="contents">
|
40 |
|
|
<!-- doxytag: class="alu" -->
|
41 |
|
|
<p>Arithmetic and Logic Unit.
|
42 |
|
|
<a href="#_details">More...</a></p>
|
43 |
|
|
<!-- startSectionHeader --><div class="dynheader">
|
44 |
|
|
Inheritance diagram for alu:<!-- endSectionHeader --></div>
|
45 |
|
|
<!-- startSectionSummary --><!-- endSectionSummary --><!-- startSectionContent --><div class="dyncontent">
|
46 |
|
|
<div class="center">
|
47 |
|
|
<img src="classalu.png" usemap="#alu_map" alt=""/>
|
48 |
|
|
<map id="alu_map" name="alu_map">
|
49 |
|
|
<area href="classao68000.html" alt="ao68000" shape="rect" coords="0,56,61,80"/>
|
50 |
|
|
</map>
|
51 |
|
|
</div><!-- endSectionContent --></div>
|
52 |
|
|
|
53 |
|
|
<p><a href="classalu-members.html">List of all members.</a></p>
|
54 |
|
|
<table class="memberdecls">
|
55 |
|
|
<tr><td colspan="2"><h2><a name="Always Constructs"></a>
|
56 |
|
|
Always Constructs</h2></td></tr>
|
57 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classalu.html#a833db0d5eda614d712b846b259c0f4d3">ALWAYS_30</a> </td><td class="memItemRight" valign="bottom"><b> ( <b><b><a class="el" href="classalu.html#ad7c0ea5d383c8038bf5854a8973218a2">clock</a></b> <span class="vhdlchar"> </span></b> , <b><b><a class="el" href="classalu.html#a118127ef2a8f772e6e0b1b7f6166d43a">reset_n</a></b> <span class="vhdlchar"> </span></b> )</b></td></tr>
|
58 |
|
|
<tr><td colspan="2"><h2><a name="Defines"></a>
|
59 |
|
|
Defines</h2></td></tr>
|
60 |
|
|
<tr><td class="memTemplParams" colspan="2"><b><a class="el" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">Sm</a>  </td><td class="memItemRight" valign="bottom"><b><span class="vhdlchar">(</span><span class="vhdlchar">(</span><b><a class="el" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a></b> <span class="vhdlchar">=</span><span class="vhdlchar">=</span><span class="vhdldigit">2'b00</span><span class="vhdlchar">)</span><span class="vhdlchar">?operand2</span><span class="vhdlchar">[</span><span class="vhdldigit">7</span><span class="vhdlchar">]</span><span class="vhdlchar">:</span><span class="vhdlchar">(</span><b><a class="el" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a></b> <span class="vhdlchar">=</span><span class="vhdlchar">=</span><span class="vhdldigit">2'b01</span><span class="vhdlchar">)</span><span class="vhdlchar">?operand2</span><span class="vhdlchar">[</span><span class="vhdldigit">15</span><span class="vhdlchar">]</span><span class="vhdlchar">:</span><b><a class="el" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a></b> <span class="vhdlchar">[</span><span class="vhdldigit">31</span><span class="vhdlchar">]</span><span class="vhdlchar">)</span><span class="vhdlchar"> </span></b></b></td></tr>
|
61 |
|
|
<tr><td class="memTemplParams" colspan="2"><b><a class="el" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">Dm</a>  </td><td class="memItemRight" valign="bottom"><b><span class="vhdlchar">(</span><span class="vhdlchar">(</span><b><a class="el" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a></b> <span class="vhdlchar">=</span><span class="vhdlchar">=</span><span class="vhdldigit">2'b00</span><span class="vhdlchar">)</span><span class="vhdlchar">?operand1</span><span class="vhdlchar">[</span><span class="vhdldigit">7</span><span class="vhdlchar">]</span><span class="vhdlchar">:</span><span class="vhdlchar">(</span><b><a class="el" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a></b> <span class="vhdlchar">=</span><span class="vhdlchar">=</span><span class="vhdldigit">2'b01</span><span class="vhdlchar">)</span><span class="vhdlchar">?operand1</span><span class="vhdlchar">[</span><span class="vhdldigit">15</span><span class="vhdlchar">]</span><span class="vhdlchar">:</span><b><a class="el" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a></b> <span class="vhdlchar">[</span><span class="vhdldigit">31</span><span class="vhdlchar">]</span><span class="vhdlchar">)</span><span class="vhdlchar"> </span></b></b></td></tr>
|
62 |
|
|
<tr><td class="memTemplParams" colspan="2"><b><a class="el" href="classalu.html#a427db1cde5547577da8b980693d9bf64">Rm</a>  </td><td class="memItemRight" valign="bottom"><b><span class="vhdlchar">(</span><span class="vhdlchar">(</span><b><a class="el" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a></b> <span class="vhdlchar">=</span><span class="vhdlchar">=</span><span class="vhdldigit">2'b00</span><span class="vhdlchar">)</span><span class="vhdlchar">?result</span><span class="vhdlchar">[</span><span class="vhdldigit">7</span><span class="vhdlchar">]</span><span class="vhdlchar">:</span><span class="vhdlchar">(</span><b><a class="el" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a></b> <span class="vhdlchar">=</span><span class="vhdlchar">=</span><span class="vhdldigit">2'b01</span><span class="vhdlchar">)</span><span class="vhdlchar">?result</span><span class="vhdlchar">[</span><span class="vhdldigit">15</span><span class="vhdlchar">]</span><span class="vhdlchar">:</span><b><a class="el" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a></b> <span class="vhdlchar">[</span><span class="vhdldigit">31</span><span class="vhdlchar">]</span><span class="vhdlchar">)</span><span class="vhdlchar"> </span></b></b></td></tr>
|
63 |
|
|
<tr><td class="memTemplParams" colspan="2"><b><a class="el" href="classalu.html#a23a70b72cb751afcb0b4fd2c1adfe24c">Z</a>  </td><td class="memItemRight" valign="bottom"><b><span class="vhdlchar">(</span><span class="vhdlchar">(</span><b><a class="el" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a></b> <span class="vhdlchar">=</span><span class="vhdlchar">=</span><span class="vhdldigit">2'b00</span><span class="vhdlchar">)</span><span class="vhdlchar">?</span><span class="vhdlchar">(</span><b><a class="el" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a></b> <span class="vhdlchar">[</span><span class="vhdldigit">7</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar">=</span><span class="vhdlchar">=</span><span class="vhdldigit">8'b0</span><span class="vhdlchar">)</span><span class="vhdlchar">:</span><span class="vhdlchar">(</span><b><a class="el" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a></b> <span class="vhdlchar">=</span><span class="vhdlchar">=</span><span class="vhdldigit">2'b01</span><span class="vhdlchar">)</span><span class="vhdlchar">?</span><span class="vhdlchar">(</span><b><a class="el" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a></b> <span class="vhdlchar">[</span><span class="vhdldigit">15</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar">=</span><span class="vhdlchar">=</span><span class="vhdldigit">16'b0</span><span class="vhdlchar">)</span><span class="vhdlchar">:</span><span class="vhdlchar">(</span><b><a class="el" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a></b> <span class="vhdlchar">[</span><span class="vhdldigit">31</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar">=</span><span class="vhdlchar">=</span><span class="vhdldigit">32'b0</span><span class="vhdlchar">)</span><span class="vhdlchar">)</span><span class="vhdlchar"> </span></b></b></td></tr>
|
64 |
|
|
<tr><td colspan="2"><h2><a name="Inputs"></a>
|
65 |
|
|
Inputs</h2></td></tr>
|
66 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classalu.html#ad7c0ea5d383c8038bf5854a8973218a2">clock</a>  </td><td class="memItemRight" valign="bottom"></td></tr>
|
67 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classalu.html#a118127ef2a8f772e6e0b1b7f6166d43a">reset_n</a>  </td><td class="memItemRight" valign="bottom"></td></tr>
|
68 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classalu.html#ad5077564c06a917e134e2be4f7f63650">address</a>  </td><td class="memItemRight" valign="bottom"><b><span class="vhdlchar">[</span><span class="vhdldigit">31</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b> </td></tr>
|
69 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>  </td><td class="memItemRight" valign="bottom"><b><span class="vhdlchar">[</span><span class="vhdldigit">15</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b> </td></tr>
|
70 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a>  </td><td class="memItemRight" valign="bottom"><b><span class="vhdlchar">[</span><span class="vhdldigit">1</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b> </td></tr>
|
71 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>  </td><td class="memItemRight" valign="bottom"><b><span class="vhdlchar">[</span><span class="vhdldigit">31</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b> </td></tr>
|
72 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>  </td><td class="memItemRight" valign="bottom"><b><span class="vhdlchar">[</span><span class="vhdldigit">31</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b> </td></tr>
|
73 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classalu.html#ab9e3f505c78e6c0b2340a5e1b364514b">interrupt_mask</a>  </td><td class="memItemRight" valign="bottom"><b><span class="vhdlchar">[</span><span class="vhdldigit">2</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b> </td></tr>
|
74 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classalu.html#ab0c0bd4569a63b8d08b2e7a1d27cf177">alu_control</a>  </td><td class="memItemRight" valign="bottom"><b><span class="vhdlchar">[</span><span class="vhdldigit">4</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b> </td></tr>
|
75 |
|
|
<tr><td colspan="2"><h2><a name="Outputs"></a>
|
76 |
|
|
Outputs</h2></td></tr>
|
77 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>  </td><td class="memItemRight" valign="bottom"><b><span class="vhdlkeyword">reg</span><span class="vhdlchar">[</span><span class="vhdldigit">15</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b> </td></tr>
|
78 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>  </td><td class="memItemRight" valign="bottom"><b><span class="vhdlkeyword">reg</span><span class="vhdlchar">[</span><span class="vhdldigit">31</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b> </td></tr>
|
79 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classalu.html#a9967a58a4b4ce228c54e58f560547165">special</a>  </td><td class="memItemRight" valign="bottom"><b><span class="vhdlkeyword">reg</span><span class="vhdlchar">[</span><span class="vhdldigit">1</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b> </td></tr>
|
80 |
|
|
<tr><td colspan="2"><h2><a name="Module Instances"></a>
|
81 |
|
|
Module Instances</h2></td></tr>
|
82 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><b><a class="el" href="classalu.html#a663a13286f43eb65ddc36752990daf91">lpm_divide::divu_inst</a> </b> </td><td class="memItemRight" valign="bottom"></td></tr>
|
83 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><b><a class="el" href="classalu.html#a63937f247c96f23cecbf16343afc85c6">lpm_divide::divs_inst</a> </b> </td><td class="memItemRight" valign="bottom"></td></tr>
|
84 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><b><a class="el" href="classalu.html#a971600ecbf5096805b63eedb9e8c57e2">lpm_mult::mulu_inst</a> </b> </td><td class="memItemRight" valign="bottom"></td></tr>
|
85 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><b><a class="el" href="classalu.html#a26728d930b96d3b4eb3777152250aa48">lpm_mult::muls_inst</a> </b> </td><td class="memItemRight" valign="bottom"></td></tr>
|
86 |
|
|
<tr><td colspan="2"><h2><a name="Signals"></a>
|
87 |
|
|
Signals</h2></td></tr>
|
88 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><b><span class="vhdlkeyword">wire</span><span class="vhdlchar">[</span><span class="vhdldigit">31</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b>  </td><td class="memItemRight" valign="bottom"><a class="el" href="classalu.html#a84d66cf834afa9133f1934f03d6cc1a5">divu_quotient</a> </td></tr>
|
89 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><b><span class="vhdlkeyword">wire</span><span class="vhdlchar">[</span><span class="vhdldigit">15</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b>  </td><td class="memItemRight" valign="bottom"><a class="el" href="classalu.html#a8cef22afb37b55eea85eda4c20f9b1b7">divu_remainder</a> </td></tr>
|
90 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><b><span class="vhdlkeyword">wire</span><span class="vhdlchar">[</span><span class="vhdldigit">31</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b>  </td><td class="memItemRight" valign="bottom"><a class="el" href="classalu.html#ad580d5c6f7f3f0bc39f873db4ba36301">divs_quotient</a> </td></tr>
|
91 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><b><span class="vhdlkeyword">wire</span><span class="vhdlchar">[</span><span class="vhdldigit">15</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b>  </td><td class="memItemRight" valign="bottom"><a class="el" href="classalu.html#a0723b9ed6da6c9a2d2b68b36563b42e3">divs_remainder</a> </td></tr>
|
92 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><b><span class="vhdlkeyword">wire</span><span class="vhdlchar">[</span><span class="vhdldigit">31</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b>  </td><td class="memItemRight" valign="bottom"><a class="el" href="classalu.html#a23c8e6648d0b07c6593402658bf83095">mulu_result</a> </td></tr>
|
93 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><b><span class="vhdlkeyword">wire</span><span class="vhdlchar">[</span><span class="vhdldigit">31</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b>  </td><td class="memItemRight" valign="bottom"><a class="el" href="classalu.html#a37551519218b05f156135f78f2ee2fe1">muls_result</a> </td></tr>
|
94 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><b><span class="vhdlkeyword">reg</span><span class="vhdlchar">[</span><span class="vhdldigit">2</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b>  </td><td class="memItemRight" valign="bottom"><a class="el" href="classalu.html#a9b48bcb40d77a92c8109c2e4a2fa44c8">interrupt_mask_copy</a> </td></tr>
|
95 |
|
|
<tr><td class="memItemLeft" align="right" valign="top"><b><span class="vhdlkeyword">reg</span><span class="vhdlchar"> </span></b>  </td><td class="memItemRight" valign="bottom"><a class="el" href="classalu.html#a2a89cf942a86f276e4786fba4873e515">was_interrupt</a> </td></tr>
|
96 |
|
|
</table>
|
97 |
|
|
<hr/><a name="_details"></a><h2>Detailed Description</h2>
|
98 |
|
|
<p>Arithmetic and Logic Unit. </p>
|
99 |
|
|
<p>The alu module is responsible for performing all of the arithmetic and logic operations of the <a class="el" href="classao68000.html" title="ao68000 top level module.">ao68000</a> processor. It operates on two 32-bit registers: operand1 and operand2 from the registers module. The output is saved into a result 32-bit register. This register is located in the alu module.</p>
|
100 |
|
|
<p>The alu module also contains the status register (SR) with the condition code register. The microcode decides what operation the alu performs. </p>
|
101 |
|
|
|
102 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02547">2547</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
103 |
|
|
<hr/><h2>Member Function Documentation</h2>
|
104 |
|
|
<a class="anchor" id="a833db0d5eda614d712b846b259c0f4d3"></a><!-- doxytag: member="alu::ALWAYS_30" ref="a833db0d5eda614d712b846b259c0f4d3" args="clock, reset_n" -->
|
105 |
|
|
<div class="memitem">
|
106 |
|
|
<div class="memproto">
|
107 |
|
|
<table class="memname">
|
108 |
|
|
<tr>
|
109 |
|
|
<td class="memname"><b><span class="vhdlchar"> </span></b>ALWAYS_30 <td></td>
|
110 |
|
|
<td class="paramtype">(<span class="keywordtype"></span> <b><b><a class="el" href="classalu.html#ad7c0ea5d383c8038bf5854a8973218a2">clock</a></b> <span class="vhdlchar"> </span></b> <em><span class="vhdlkeyword"></span></em> , </td>
|
111 |
|
|
</tr>
|
112 |
|
|
<tr>
|
113 |
|
|
<td class="paramkey"></td>
|
114 |
|
|
<td></td>
|
115 |
|
|
<td class="paramtype"><span class="keywordtype"></span> <b><b><a class="el" href="classalu.html#a118127ef2a8f772e6e0b1b7f6166d43a">reset_n</a></b> <span class="vhdlchar"> </span></b> <em><span class="vhdlkeyword"></span></em> ) </td>
|
116 |
|
|
</tr>
|
117 |
|
|
<code> [Always Construct]</code></td>
|
118 |
|
|
</tr>
|
119 |
|
|
</table>
|
120 |
|
|
</div>
|
121 |
|
|
<div class="memdoc">
|
122 |
|
|
|
123 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02666">2666</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
124 |
|
|
<div class="fragment"><pre class="fragment">
|
125 |
|
|
<a name="l02666"></a>02666 <span class="vhdlkeyword">always</span> @(<span class="vhdlkeyword">posedge</span> <a class="code" href="classalu.html#ad7c0ea5d383c8038bf5854a8973218a2">clock</a> <span class="vhdlkeyword">or</span> <span class="vhdlkeyword">negedge</span> <a class="code" href="classalu.html#a118127ef2a8f772e6e0b1b7f6166d43a">reset_n</a>) <span class="vhdlkeyword">begin</span>
|
126 |
|
|
<a name="l02667"></a>02667 <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#a118127ef2a8f772e6e0b1b7f6166d43a">reset_n</a> == <span class="vhdllogic">1'b0</span>) <span class="vhdlkeyword">begin</span>
|
127 |
|
|
<a name="l02668"></a>02668 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a> <= { <span class="vhdllogic">1'b0</span>, <span class="vhdllogic">1'b0</span>, <span class="vhdllogic">1'b1</span>, <span class="vhdllogic">2'b0</span>, <span class="vhdllogic">3'b111</span>, <span class="vhdllogic">8'b0</span> };
|
128 |
|
|
<a name="l02669"></a>02669 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> <= <span class="vhdllogic">32'd0</span>;
|
129 |
|
|
<a name="l02670"></a>02670 <a class="code" href="classalu.html#a9967a58a4b4ce228c54e58f560547165">special</a> <= <span class="vhdllogic">2'b0</span>;
|
130 |
|
|
<a name="l02671"></a>02671 <a class="code" href="classalu.html#a9b48bcb40d77a92c8109c2e4a2fa44c8">interrupt_mask_copy</a> <= <span class="vhdllogic">3'b0</span>;
|
131 |
|
|
<a name="l02672"></a>02672 <a class="code" href="classalu.html#a2a89cf942a86f276e4786fba4873e515">was_interrupt</a> <= <span class="vhdllogic">1'b0</span>;
|
132 |
|
|
<a name="l02673"></a>02673 <span class="vhdlkeyword">end</span>
|
133 |
|
|
<a name="l02674"></a>02674 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
|
134 |
|
|
<a name="l02675"></a>02675 <span class="vhdlkeyword">case</span>(<a class="code" href="classalu.html#ab0c0bd4569a63b8d08b2e7a1d27cf177">alu_control</a>)
|
135 |
|
|
<a name="l02676"></a>02676 <a class="code" href="ao68000_8v.html#a687e6310453b4cedb64aa6e66b058c18">`ALU_SR_SET_INTERRUPT</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
136 |
|
|
<a name="l02677"></a>02677 <a class="code" href="classalu.html#a9b48bcb40d77a92c8109c2e4a2fa44c8">interrupt_mask_copy</a> <= <a class="code" href="classalu.html#ab9e3f505c78e6c0b2340a5e1b364514b">interrupt_mask</a>[<span class="vhdllogic">2</span>:<span class="vhdllogic">0</span>];
|
137 |
|
|
<a name="l02678"></a>02678 <a class="code" href="classalu.html#a2a89cf942a86f276e4786fba4873e515">was_interrupt</a> <= <span class="vhdllogic">1'b1</span>;
|
138 |
|
|
<a name="l02679"></a>02679 <span class="vhdlkeyword">end</span>
|
139 |
|
|
<a name="l02680"></a>02680
|
140 |
|
|
<a name="l02681"></a>02681 <a class="code" href="ao68000_8v.html#ac9fc44b8d3bbcd6c742f1ba074fc668d">`ALU_SR_SET_TRAP</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
141 |
|
|
<a name="l02682"></a>02682 <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#a2a89cf942a86f276e4786fba4873e515">was_interrupt</a> == <span class="vhdllogic">1'b1</span>) <span class="vhdlkeyword">begin</span>
|
142 |
|
|
<a name="l02683"></a>02683 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a> <= { <span class="vhdllogic">1'b0</span>, <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">14</span>], <span class="vhdllogic">1'b1</span>, <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">12</span>:<span class="vhdllogic">11</span>], <a class="code" href="classalu.html#a9b48bcb40d77a92c8109c2e4a2fa44c8">interrupt_mask_copy</a>[<span class="vhdllogic">2</span>:<span class="vhdllogic">0</span>], <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] };
|
143 |
|
|
<a name="l02684"></a>02684 <span class="vhdlkeyword">end</span>
|
144 |
|
|
<a name="l02685"></a>02685 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
|
145 |
|
|
<a name="l02686"></a>02686 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a> <= { <span class="vhdllogic">1'b0</span>, <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">14</span>], <span class="vhdllogic">1'b1</span>, <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">12</span>:<span class="vhdllogic">0</span>] };
|
146 |
|
|
<a name="l02687"></a>02687 <span class="vhdlkeyword">end</span>
|
147 |
|
|
<a name="l02688"></a>02688 <a class="code" href="classalu.html#a2a89cf942a86f276e4786fba4873e515">was_interrupt</a> <= <span class="vhdllogic">1'b0</span>;
|
148 |
|
|
<a name="l02689"></a>02689 <span class="vhdlkeyword">end</span>
|
149 |
|
|
<a name="l02690"></a>02690
|
150 |
|
|
<a name="l02691"></a>02691 <a class="code" href="ao68000_8v.html#a59147ff996e0ba496f1f06d7a06decae">`ALU_MOVEP_M2R_1</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
151 |
|
|
<a name="l02692"></a>02692 <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">6</span>] == <span class="vhdllogic">1'b1</span>) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">24</span>] <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>];
|
152 |
|
|
<a name="l02693"></a>02693 <span class="vhdlkeyword">else</span> <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">8</span>] <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>];
|
153 |
|
|
<a name="l02694"></a>02694 <span class="keyword">//CCR: no change</span>
|
154 |
|
|
<a name="l02695"></a>02695 <span class="vhdlkeyword">end</span>
|
155 |
|
|
<a name="l02696"></a>02696 <a class="code" href="ao68000_8v.html#a3b1155f3496b0fc984e5418e09586bf5">`ALU_MOVEP_M2R_2</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
156 |
|
|
<a name="l02697"></a>02697 <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">6</span>] == <span class="vhdllogic">1'b1</span>) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">23</span>:<span class="vhdllogic">16</span>] <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>];
|
157 |
|
|
<a name="l02698"></a>02698 <span class="vhdlkeyword">else</span> <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>];
|
158 |
|
|
<a name="l02699"></a>02699 <span class="keyword">//CCR: no change</span>
|
159 |
|
|
<a name="l02700"></a>02700 <span class="vhdlkeyword">end</span>
|
160 |
|
|
<a name="l02701"></a>02701 <a class="code" href="ao68000_8v.html#a5458c8548afc8f7517bdc582c9946b2f">`ALU_MOVEP_M2R_3</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
161 |
|
|
<a name="l02702"></a>02702 <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">6</span>] == <span class="vhdllogic">1'b1</span>) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">8</span>] <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>];
|
162 |
|
|
<a name="l02703"></a>02703 <span class="keyword">//CCR: no change</span>
|
163 |
|
|
<a name="l02704"></a>02704 <span class="vhdlkeyword">end</span>
|
164 |
|
|
<a name="l02705"></a>02705 <a class="code" href="ao68000_8v.html#a8ec0074ca9c5cfec15aa93b92353e09b">`ALU_MOVEP_M2R_4</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
165 |
|
|
<a name="l02706"></a>02706 <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">6</span>] == <span class="vhdllogic">1'b1</span>) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>];
|
166 |
|
|
<a name="l02707"></a>02707 <span class="keyword">//CCR: no change</span>
|
167 |
|
|
<a name="l02708"></a>02708 <span class="vhdlkeyword">end</span>
|
168 |
|
|
<a name="l02709"></a>02709
|
169 |
|
|
<a name="l02710"></a>02710
|
170 |
|
|
<a name="l02711"></a>02711 <a class="code" href="ao68000_8v.html#aab7548aba43c6c12259a2a154ce2982b">`ALU_MOVEP_R2M_1</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
171 |
|
|
<a name="l02712"></a>02712 <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">6</span>] == <span class="vhdllogic">1'b1</span>) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">24</span>];
|
172 |
|
|
<a name="l02713"></a>02713 <span class="vhdlkeyword">else</span> <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">8</span>];
|
173 |
|
|
<a name="l02714"></a>02714 <span class="keyword">// CCR: no change</span>
|
174 |
|
|
<a name="l02715"></a>02715 <span class="vhdlkeyword">end</span>
|
175 |
|
|
<a name="l02716"></a>02716 <a class="code" href="ao68000_8v.html#a9918f4663f481092da549f3cb008721d">`ALU_MOVEP_R2M_2</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
176 |
|
|
<a name="l02717"></a>02717 <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">6</span>] == <span class="vhdllogic">1'b1</span>) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">23</span>:<span class="vhdllogic">16</span>];
|
177 |
|
|
<a name="l02718"></a>02718 <span class="vhdlkeyword">else</span> <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>];
|
178 |
|
|
<a name="l02719"></a>02719 <span class="keyword">// CCR: no change</span>
|
179 |
|
|
<a name="l02720"></a>02720 <span class="vhdlkeyword">end</span>
|
180 |
|
|
<a name="l02721"></a>02721 <a class="code" href="ao68000_8v.html#aee5fc91f58c97ffa4d252e127c9e4226">`ALU_MOVEP_R2M_3</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
181 |
|
|
<a name="l02722"></a>02722 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">8</span>];
|
182 |
|
|
<a name="l02723"></a>02723 <span class="keyword">// CCR: no change</span>
|
183 |
|
|
<a name="l02724"></a>02724 <span class="vhdlkeyword">end</span>
|
184 |
|
|
<a name="l02725"></a>02725 <a class="code" href="ao68000_8v.html#a0bc85184fda7b9fcbf00afa29be91d42">`ALU_MOVEP_R2M_4</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
185 |
|
|
<a name="l02726"></a>02726 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>];
|
186 |
|
|
<a name="l02727"></a>02727 <span class="keyword">// CCR: no change</span>
|
187 |
|
|
<a name="l02728"></a>02728 <span class="vhdlkeyword">end</span>
|
188 |
|
|
<a name="l02729"></a>02729
|
189 |
|
|
<a name="l02730"></a>02730
|
190 |
|
|
<a name="l02731"></a>02731
|
191 |
|
|
<a name="l02732"></a>02732 <a class="code" href="ao68000_8v.html#a6a119b7268e4e0a78e0307ba0c693ccb">`ALU_SIGN_EXTEND</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
192 |
|
|
<a name="l02733"></a>02733 <span class="keyword">// move operand1 with sign-extension to result</span>
|
193 |
|
|
<a name="l02734"></a>02734 <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a> == <span class="vhdllogic">2'b01</span>) <span class="vhdlkeyword">begin</span>
|
194 |
|
|
<a name="l02735"></a>02735 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> <= { {<span class="vhdllogic">16</span>{<a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">15</span>]}}, <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] };
|
195 |
|
|
<a name="l02736"></a>02736 <span class="vhdlkeyword">end</span>
|
196 |
|
|
<a name="l02737"></a>02737 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
|
197 |
|
|
<a name="l02738"></a>02738 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>;
|
198 |
|
|
<a name="l02739"></a>02739 <span class="vhdlkeyword">end</span>
|
199 |
|
|
<a name="l02740"></a>02740 <span class="keyword">// CCR: no change</span>
|
200 |
|
|
<a name="l02741"></a>02741 <span class="vhdlkeyword">end</span>
|
201 |
|
|
<a name="l02742"></a>02742
|
202 |
|
|
<a name="l02743"></a>02743 <a class="code" href="ao68000_8v.html#ae497ab0b3e0550245c333bdb426d4236">`ALU_ARITHMETIC_LOGIC</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
203 |
|
|
<a name="l02744"></a>02744
|
204 |
|
|
<a name="l02745"></a>02745 <span class="keyword">// OR,OR to mem,OR to Dn</span>
|
205 |
|
|
<a name="l02746"></a>02746 <span class="vhdlkeyword">if</span>( (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b0000</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">3'b000</span>) ||
|
206 |
|
|
<a name="l02747"></a>02747 (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b1000</span>)
|
207 |
|
|
<a name="l02748"></a>02748 ) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] = <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] | <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>];
|
208 |
|
|
<a name="l02749"></a>02749 <span class="keyword">// AND,AND to mem,AND to Dn</span>
|
209 |
|
|
<a name="l02750"></a>02750 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b0000</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">3'b001</span>) ||
|
210 |
|
|
<a name="l02751"></a>02751 (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b1100</span>)
|
211 |
|
|
<a name="l02752"></a>02752 ) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] = <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] & <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>];
|
212 |
|
|
<a name="l02753"></a>02753 <span class="keyword">// EORI,EOR</span>
|
213 |
|
|
<a name="l02754"></a>02754 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b0000</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">3'b101</span>) ||
|
214 |
|
|
<a name="l02755"></a>02755 (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b1011</span> && (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">3'b100</span> || <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">3'b101</span> || <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">3'b110</span>) && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">5</span>:<span class="vhdllogic">3</span>] != <span class="vhdllogic">3'b001</span>)
|
215 |
|
|
<a name="l02756"></a>02756 ) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] = <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] ^ <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>];
|
216 |
|
|
<a name="l02757"></a>02757 <span class="keyword">// ADD,ADD to mem,ADD to Dn,ADDQ</span>
|
217 |
|
|
<a name="l02758"></a>02758 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b0000</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">3'b011</span>) ||
|
218 |
|
|
<a name="l02759"></a>02759 (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b1101</span>) ||
|
219 |
|
|
<a name="l02760"></a>02760 (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b0101</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1'b0</span>)
|
220 |
|
|
<a name="l02761"></a>02761 ) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] = <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] + <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>];
|
221 |
|
|
<a name="l02762"></a>02762 <span class="keyword">// SUBI,CMPI,CMPM,SUB to mem,SUB to Dn,CMP,SUBQ</span>
|
222 |
|
|
<a name="l02763"></a>02763 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b0000</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">3'b010</span>) ||
|
223 |
|
|
<a name="l02764"></a>02764 (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b0000</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">3'b110</span>) ||
|
224 |
|
|
<a name="l02765"></a>02765 (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b1011</span> && (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">3'b100</span> || <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">3'b101</span> || <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">3'b110</span>) && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">5</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">3'b001</span>) ||
|
225 |
|
|
<a name="l02766"></a>02766 (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b1001</span>) ||
|
226 |
|
|
<a name="l02767"></a>02767 (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b1011</span> && (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">3'b000</span> || <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">3'b001</span> || <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">3'b010</span>)) ||
|
227 |
|
|
<a name="l02768"></a>02768 (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b0101</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1'b1</span>)
|
228 |
|
|
<a name="l02769"></a>02769 ) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] = <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] - <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>];
|
229 |
|
|
<a name="l02770"></a>02770
|
230 |
|
|
<a name="l02771"></a>02771 <span class="keyword">// Z</span>
|
231 |
|
|
<a name="l02772"></a>02772 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] <= <a class="code" href="classalu.html#a23a70b72cb751afcb0b4fd2c1adfe24c">`Z</a><span class="vhdlchar"></span>;
|
232 |
|
|
<a name="l02773"></a>02773 <span class="keyword">// N</span>
|
233 |
|
|
<a name="l02774"></a>02774 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">3</span>] <= <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>;
|
234 |
|
|
<a name="l02775"></a>02775
|
235 |
|
|
<a name="l02776"></a>02776 <span class="keyword">// CMPI,CMPM,CMP</span>
|
236 |
|
|
<a name="l02777"></a>02777 <span class="vhdlkeyword">if</span>( (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b0000</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">3'b110</span>) ||
|
237 |
|
|
<a name="l02778"></a>02778 (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b1011</span> && (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">3'b100</span> || <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">3'b101</span> || <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">3'b110</span>) && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">5</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">3'b001</span>) ||
|
238 |
|
|
<a name="l02779"></a>02779 (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b1011</span> && (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">3'b000</span> || <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">3'b001</span> || <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">3'b010</span>))
|
239 |
|
|
<a name="l02780"></a>02780 ) <span class="vhdlkeyword">begin</span>
|
240 |
|
|
<a name="l02781"></a>02781 <span class="keyword">// C,V</span>
|
241 |
|
|
<a name="l02782"></a>02782 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>) | (<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>) | (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>);
|
242 |
|
|
<a name="l02783"></a>02783 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= (~<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>) | (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>);
|
243 |
|
|
<a name="l02784"></a>02784 <span class="keyword">// X not affected</span>
|
244 |
|
|
<a name="l02785"></a>02785 <span class="vhdlkeyword">end</span>
|
245 |
|
|
<a name="l02786"></a>02786 <span class="keyword">// ADDI,ADD to mem,ADD to Dn,ADDQ</span>
|
246 |
|
|
<a name="l02787"></a>02787 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b0000</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">3'b011</span>) ||
|
247 |
|
|
<a name="l02788"></a>02788 (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b1101</span>) ||
|
248 |
|
|
<a name="l02789"></a>02789 (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b0101</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1'b0</span>)
|
249 |
|
|
<a name="l02790"></a>02790 ) <span class="vhdlkeyword">begin</span>
|
250 |
|
|
<a name="l02791"></a>02791 <span class="keyword">// C,X,V</span>
|
251 |
|
|
<a name="l02792"></a>02792 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>) | (~<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>) | (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>);
|
252 |
|
|
<a name="l02793"></a>02793 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] <= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>) | (~<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>) | (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>); <span class="keyword">//=ccr[0];</span>
|
253 |
|
|
<a name="l02794"></a>02794 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>) | (~<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>);
|
254 |
|
|
<a name="l02795"></a>02795 <span class="vhdlkeyword">end</span>
|
255 |
|
|
<a name="l02796"></a>02796 <span class="keyword">// SUBI,SUB to mem,SUB to Dn,SUBQ</span>
|
256 |
|
|
<a name="l02797"></a>02797 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b0000</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">3'b010</span>) ||
|
257 |
|
|
<a name="l02798"></a>02798 (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b1001</span>) ||
|
258 |
|
|
<a name="l02799"></a>02799 (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b0101</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1'b1</span>)
|
259 |
|
|
<a name="l02800"></a>02800 ) <span class="vhdlkeyword">begin</span>
|
260 |
|
|
<a name="l02801"></a>02801 <span class="keyword">// C,X,V</span>
|
261 |
|
|
<a name="l02802"></a>02802 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>) | (<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>) | (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>);
|
262 |
|
|
<a name="l02803"></a>02803 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] <= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>) | (<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>) | (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>); <span class="keyword">//=ccr[0];</span>
|
263 |
|
|
<a name="l02804"></a>02804 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= (~<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>) | (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>);
|
264 |
|
|
<a name="l02805"></a>02805 <span class="vhdlkeyword">end</span>
|
265 |
|
|
<a name="l02806"></a>02806 <span class="keyword">// ANDI,EORI,ORI,EOR,OR to mem,AND to mem,OR to Dn,AND to Dn</span>
|
266 |
|
|
<a name="l02807"></a>02807 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
|
267 |
|
|
<a name="l02808"></a>02808 <span class="keyword">// C,V</span>
|
268 |
|
|
<a name="l02809"></a>02809 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= <span class="vhdllogic">1'b0</span>;
|
269 |
|
|
<a name="l02810"></a>02810 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= <span class="vhdllogic">1'b0</span>;
|
270 |
|
|
<a name="l02811"></a>02811 <span class="keyword">// X not affected</span>
|
271 |
|
|
<a name="l02812"></a>02812 <span class="vhdlkeyword">end</span>
|
272 |
|
|
<a name="l02813"></a>02813 <span class="vhdlkeyword">end</span>
|
273 |
|
|
<a name="l02814"></a>02814
|
274 |
|
|
<a name="l02815"></a>02815 <a class="code" href="ao68000_8v.html#a3e54001e73374bd4f7cfda3de55bd944">`ALU_ABCD_SBCD_ADDX_SUBX</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span> <span class="keyword">// 259 LE</span>
|
275 |
|
|
<a name="l02816"></a>02816 <span class="keyword">// ABCD</span>
|
276 |
|
|
<a name="l02817"></a>02817 <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">14</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">3'b100</span> ) <span class="vhdlkeyword">begin</span>
|
277 |
|
|
<a name="l02818"></a>02818 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">13</span>:<span class="vhdllogic">8</span>] = {<span class="vhdllogic">1'b0</span>, <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">3</span>:<span class="vhdllogic">0</span>]} + {<span class="vhdllogic">1'b0</span>, <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">3</span>:<span class="vhdllogic">0</span>]} + {<span class="vhdllogic">4'b0</span>, <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>]};
|
278 |
|
|
<a name="l02819"></a>02819 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>] = {<span class="vhdllogic">1'b0</span>, <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">4</span>]} + {<span class="vhdllogic">1'b0</span>, <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">4</span>]};
|
279 |
|
|
<a name="l02820"></a>02820
|
280 |
|
|
<a name="l02821"></a>02821 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">23</span>] = <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] + <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] + {<span class="vhdllogic">7'b0</span>, <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>]};
|
281 |
|
|
<a name="l02822"></a>02822
|
282 |
|
|
<a name="l02823"></a>02823 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">13</span>:<span class="vhdllogic">8</span>] = (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">13</span>:<span class="vhdllogic">8</span>] > <span class="vhdllogic">6'd9</span>) ? (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">13</span>:<span class="vhdllogic">8</span>] + <span class="vhdllogic">6'd6</span>) : <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">13</span>:<span class="vhdllogic">8</span>];
|
283 |
|
|
<a name="l02824"></a>02824 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>] = (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">13</span>:<span class="vhdllogic">8</span>] > <span class="vhdllogic">6'h1F</span>) ? (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>] + <span class="vhdllogic">6'd2</span>) :
|
284 |
|
|
<a name="l02825"></a>02825 (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">13</span>:<span class="vhdllogic">8</span>] > <span class="vhdllogic">6'h0F</span>) ? (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>] + <span class="vhdllogic">6'd1</span>) :
|
285 |
|
|
<a name="l02826"></a>02826 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>];
|
286 |
|
|
<a name="l02827"></a>02827 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>] = (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>] > <span class="vhdllogic">6'd9</span>) ? (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>] + <span class="vhdllogic">6'd6</span>) : <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>];
|
287 |
|
|
<a name="l02828"></a>02828
|
288 |
|
|
<a name="l02829"></a>02829 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">4</span>] = <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">17</span>:<span class="vhdllogic">14</span>];
|
289 |
|
|
<a name="l02830"></a>02830 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">3</span>:<span class="vhdllogic">0</span>] = <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">8</span>];
|
290 |
|
|
<a name="l02831"></a>02831
|
291 |
|
|
<a name="l02832"></a>02832 <span class="keyword">// C</span>
|
292 |
|
|
<a name="l02833"></a>02833 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>] > <span class="vhdllogic">6'd9</span>) ? <span class="vhdllogic">1'b1</span> : <span class="vhdllogic">1'b0</span>;
|
293 |
|
|
<a name="l02834"></a>02834 <span class="keyword">// X = C</span>
|
294 |
|
|
<a name="l02835"></a>02835 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] <= (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>] > <span class="vhdllogic">6'd9</span>) ? <span class="vhdllogic">1'b1</span> : <span class="vhdllogic">1'b0</span>;
|
295 |
|
|
<a name="l02836"></a>02836
|
296 |
|
|
<a name="l02837"></a>02837 <span class="keyword">// V</span>
|
297 |
|
|
<a name="l02838"></a>02838 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">30</span>] == <span class="vhdllogic">1'b0</span> && <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>] == <span class="vhdllogic">1'b1</span>) ? <span class="vhdllogic">1'b1</span> : <span class="vhdllogic">1'b0</span>;
|
298 |
|
|
<a name="l02839"></a>02839 <span class="vhdlkeyword">end</span>
|
299 |
|
|
<a name="l02840"></a>02840 <span class="keyword">// SBCD</span>
|
300 |
|
|
<a name="l02841"></a>02841 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">14</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">3'b000</span> ) <span class="vhdlkeyword">begin</span>
|
301 |
|
|
<a name="l02842"></a>02842
|
302 |
|
|
<a name="l02843"></a>02843 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">13</span>:<span class="vhdllogic">8</span>] = <span class="vhdllogic">6'd32</span> + {<span class="vhdllogic">2'b0</span>, <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">3</span>:<span class="vhdllogic">0</span>]} - {<span class="vhdllogic">2'b0</span>, <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">3</span>:<span class="vhdllogic">0</span>]} - {<span class="vhdllogic">5'b0</span>, <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>]};
|
303 |
|
|
<a name="l02844"></a>02844 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>] = <span class="vhdllogic">6'd32</span> + {<span class="vhdllogic">2'b0</span>, <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">4</span>]} - {<span class="vhdllogic">2'b0</span>, <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">4</span>]};
|
304 |
|
|
<a name="l02845"></a>02845
|
305 |
|
|
<a name="l02846"></a>02846 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">23</span>] = <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] - <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] - {<span class="vhdllogic">7'b0</span>, <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>]};
|
306 |
|
|
<a name="l02847"></a>02847
|
307 |
|
|
<a name="l02848"></a>02848 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">13</span>:<span class="vhdllogic">8</span>] = (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">13</span>:<span class="vhdllogic">8</span>] < <span class="vhdllogic">6'd32</span>) ? (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">13</span>:<span class="vhdllogic">8</span>] - <span class="vhdllogic">6'd6</span>) : <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">13</span>:<span class="vhdllogic">8</span>];
|
308 |
|
|
<a name="l02849"></a>02849 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>] = (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">13</span>:<span class="vhdllogic">8</span>] < <span class="vhdllogic">6'd16</span>) ? (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>] - <span class="vhdllogic">6'd2</span>) :
|
309 |
|
|
<a name="l02850"></a>02850 (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">13</span>:<span class="vhdllogic">8</span>] < <span class="vhdllogic">6'd32</span>) ? (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>] - <span class="vhdllogic">6'd1</span>) :
|
310 |
|
|
<a name="l02851"></a>02851 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>];
|
311 |
|
|
<a name="l02852"></a>02852 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>] = (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>] < <span class="vhdllogic">6'd32</span> && <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>] == <span class="vhdllogic">1'b1</span>) ? (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>] - <span class="vhdllogic">6'd6</span>) : <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>];
|
312 |
|
|
<a name="l02853"></a>02853
|
313 |
|
|
<a name="l02854"></a>02854 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">4</span>] = <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">17</span>:<span class="vhdllogic">14</span>];
|
314 |
|
|
<a name="l02855"></a>02855 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">3</span>:<span class="vhdllogic">0</span>] = <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">8</span>];
|
315 |
|
|
<a name="l02856"></a>02856
|
316 |
|
|
<a name="l02857"></a>02857 <span class="keyword">// C</span>
|
317 |
|
|
<a name="l02858"></a>02858 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>] < <span class="vhdllogic">6'd32</span>) ? <span class="vhdllogic">1'b1</span> : <span class="vhdllogic">1'b0</span>;
|
318 |
|
|
<a name="l02859"></a>02859 <span class="keyword">// X = C</span>
|
319 |
|
|
<a name="l02860"></a>02860 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] <= (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>] < <span class="vhdllogic">6'd32</span>) ? <span class="vhdllogic">1'b1</span> : <span class="vhdllogic">1'b0</span>;
|
320 |
|
|
<a name="l02861"></a>02861
|
321 |
|
|
<a name="l02862"></a>02862 <span class="keyword">// V</span>
|
322 |
|
|
<a name="l02863"></a>02863 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">30</span>] == <span class="vhdllogic">1'b1</span> && <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>] == <span class="vhdllogic">1'b0</span>) ? <span class="vhdllogic">1'b1</span> : <span class="vhdllogic">1'b0</span>;
|
323 |
|
|
<a name="l02864"></a>02864 <span class="vhdlkeyword">end</span>
|
324 |
|
|
<a name="l02865"></a>02865 <span class="keyword">// ADDX</span>
|
325 |
|
|
<a name="l02866"></a>02866 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">14</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">3'b101</span> ) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] = <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] + <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] + <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>];
|
326 |
|
|
<a name="l02867"></a>02867 <span class="keyword">// SUBX</span>
|
327 |
|
|
<a name="l02868"></a>02868 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">14</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">3'b001</span> ) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] = <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] - <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] - <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>];
|
328 |
|
|
<a name="l02869"></a>02869
|
329 |
|
|
<a name="l02870"></a>02870 <span class="keyword">// Z</span>
|
330 |
|
|
<a name="l02871"></a>02871 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] <= <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] & <a class="code" href="classalu.html#a23a70b72cb751afcb0b4fd2c1adfe24c">`Z</a><span class="vhdlchar"></span>;
|
331 |
|
|
<a name="l02872"></a>02872 <span class="keyword">// N</span>
|
332 |
|
|
<a name="l02873"></a>02873 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">3</span>] <= <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>;
|
333 |
|
|
<a name="l02874"></a>02874
|
334 |
|
|
<a name="l02875"></a>02875 <span class="keyword">// ADDX</span>
|
335 |
|
|
<a name="l02876"></a>02876 <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">14</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">3'b101</span> ) <span class="vhdlkeyword">begin</span>
|
336 |
|
|
<a name="l02877"></a>02877 <span class="keyword">// C,X,V</span>
|
337 |
|
|
<a name="l02878"></a>02878 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>) | (~<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>) | (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>);
|
338 |
|
|
<a name="l02879"></a>02879 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] <= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>) | (~<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>) | (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>); <span class="keyword">//=ccr[0];</span>
|
339 |
|
|
<a name="l02880"></a>02880 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>) | (~<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>);
|
340 |
|
|
<a name="l02881"></a>02881 <span class="vhdlkeyword">end</span>
|
341 |
|
|
<a name="l02882"></a>02882 <span class="keyword">// SUBX</span>
|
342 |
|
|
<a name="l02883"></a>02883 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">14</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">3'b001</span> ) <span class="vhdlkeyword">begin</span>
|
343 |
|
|
<a name="l02884"></a>02884 <span class="keyword">// C,X,V</span>
|
344 |
|
|
<a name="l02885"></a>02885 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>) | (<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>) | (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>);
|
345 |
|
|
<a name="l02886"></a>02886 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] <= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>) | (<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>) | (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>); <span class="keyword">//=ccr[0];</span>
|
346 |
|
|
<a name="l02887"></a>02887 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= (~<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>) | (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>);
|
347 |
|
|
<a name="l02888"></a>02888 <span class="vhdlkeyword">end</span>
|
348 |
|
|
<a name="l02889"></a>02889 <span class="vhdlkeyword">end</span>
|
349 |
|
|
<a name="l02890"></a>02890
|
350 |
|
|
<a name="l02891"></a>02891 <a class="code" href="ao68000_8v.html#ac444f659b2726fd335e839dfadabbfe3">`ALU_ASL_LSL_ROL_ROXL_ASR_LSR_ROR_ROXR_prepare</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
351 |
|
|
<a name="l02892"></a>02892
|
352 |
|
|
<a name="l02893"></a>02893 <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a> == <span class="vhdllogic">2'b00</span>) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] = <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>];
|
353 |
|
|
<a name="l02894"></a>02894 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a> == <span class="vhdllogic">2'b01</span>) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] = <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>];
|
354 |
|
|
<a name="l02895"></a>02895 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a> == <span class="vhdllogic">2'b10</span>) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] = <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>];
|
355 |
|
|
<a name="l02896"></a>02896
|
356 |
|
|
<a name="l02897"></a>02897 <span class="keyword">// X for ASL</span>
|
357 |
|
|
<a name="l02898"></a>02898 <span class="keyword">//if(operand2[5:0] > 6'b0 && ir[8] == 1'b1 && ((ir[7:6] == 2'b11 && ir[10:9] == 2'b00) || (ir[7:6] != 2'b11 && ir[4:3] == 2'b00)) ) begin</span>
|
358 |
|
|
<a name="l02899"></a>02899 <span class="keyword">// X set to Dm</span>
|
359 |
|
|
<a name="l02900"></a>02900 <span class="keyword">// sr[4] <= `Dm;</span>
|
360 |
|
|
<a name="l02901"></a>02901 <span class="keyword">//end</span>
|
361 |
|
|
<a name="l02902"></a>02902 <span class="keyword">// else X not affected</span>
|
362 |
|
|
<a name="l02903"></a>02903
|
363 |
|
|
<a name="l02904"></a>02904 <span class="keyword">// V cleared</span>
|
364 |
|
|
<a name="l02905"></a>02905 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= <span class="vhdllogic">1'b0</span>;
|
365 |
|
|
<a name="l02906"></a>02906 <span class="keyword">// C for ROXL,ROXR: set to X</span>
|
366 |
|
|
<a name="l02907"></a>02907 <span class="vhdlkeyword">if</span>( (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">2'b11</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">10</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">2'b10</span>) || (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">6</span>] != <span class="vhdllogic">2'b11</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">2'b10</span>) ) <span class="vhdlkeyword">begin</span>
|
367 |
|
|
<a name="l02908"></a>02908 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>];
|
368 |
|
|
<a name="l02909"></a>02909 <span class="vhdlkeyword">end</span>
|
369 |
|
|
<a name="l02910"></a>02910 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
|
370 |
|
|
<a name="l02911"></a>02911 <span class="keyword">// C cleared</span>
|
371 |
|
|
<a name="l02912"></a>02912 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= <span class="vhdllogic">1'b0</span>;
|
372 |
|
|
<a name="l02913"></a>02913 <span class="vhdlkeyword">end</span>
|
373 |
|
|
<a name="l02914"></a>02914
|
374 |
|
|
<a name="l02915"></a>02915 <span class="keyword">// N set</span>
|
375 |
|
|
<a name="l02916"></a>02916 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">3</span>] <= <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>;
|
376 |
|
|
<a name="l02917"></a>02917 <span class="keyword">// Z set</span>
|
377 |
|
|
<a name="l02918"></a>02918 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] <= <a class="code" href="classalu.html#a23a70b72cb751afcb0b4fd2c1adfe24c">`Z</a><span class="vhdlchar"></span>;
|
378 |
|
|
<a name="l02919"></a>02919 <span class="vhdlkeyword">end</span>
|
379 |
|
|
<a name="l02920"></a>02920
|
380 |
|
|
<a name="l02921"></a>02921 <a class="code" href="ao68000_8v.html#ac946f278d039868214c441c11fcf2587">`ALU_ASL_LSL_ROL_ROXL_ASR_LSR_ROR_ROXR</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
381 |
|
|
<a name="l02922"></a>02922
|
382 |
|
|
<a name="l02923"></a>02923 <span class="keyword">// ASL</span>
|
383 |
|
|
<a name="l02924"></a>02924 <span class="vhdlkeyword">if</span>( ((<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">2'b11</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">10</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">2'b00</span>) || (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">6</span>] != <span class="vhdllogic">2'b11</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">2'b00</span>)) && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1'b1</span>) <span class="vhdlkeyword">begin</span>
|
384 |
|
|
<a name="l02925"></a>02925 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] = {<a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">30</span>:<span class="vhdllogic">0</span>], <span class="vhdllogic">1'b0</span>};
|
385 |
|
|
<a name="l02926"></a>02926
|
386 |
|
|
<a name="l02927"></a>02927 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= (<a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] == <span class="vhdllogic">1'b0</span>)? (<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span> != <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>) : <span class="vhdllogic">1'b1</span>; <span class="keyword">// V</span>
|
387 |
|
|
<a name="l02928"></a>02928 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>; <span class="keyword">// C</span>
|
388 |
|
|
<a name="l02929"></a>02929 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] <= <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>; <span class="keyword">// X</span>
|
389 |
|
|
<a name="l02930"></a>02930 <span class="vhdlkeyword">end</span>
|
390 |
|
|
<a name="l02931"></a>02931 <span class="keyword">// LSL</span>
|
391 |
|
|
<a name="l02932"></a>02932 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( ((<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">2'b11</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">10</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">2'b01</span>) || (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">6</span>] != <span class="vhdllogic">2'b11</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">2'b01</span>)) && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1'b1</span>) <span class="vhdlkeyword">begin</span>
|
392 |
|
|
<a name="l02933"></a>02933 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] = {<a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">30</span>:<span class="vhdllogic">0</span>], <span class="vhdllogic">1'b0</span>};
|
393 |
|
|
<a name="l02934"></a>02934
|
394 |
|
|
<a name="l02935"></a>02935 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= <span class="vhdllogic">1'b0</span>; <span class="keyword">// V</span>
|
395 |
|
|
<a name="l02936"></a>02936 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>; <span class="keyword">// C</span>
|
396 |
|
|
<a name="l02937"></a>02937 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] <= <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>; <span class="keyword">// X</span>
|
397 |
|
|
<a name="l02938"></a>02938 <span class="vhdlkeyword">end</span>
|
398 |
|
|
<a name="l02939"></a>02939 <span class="keyword">// ROL</span>
|
399 |
|
|
<a name="l02940"></a>02940 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( ((<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">2'b11</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">10</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">2'b11</span>) || (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">6</span>] != <span class="vhdllogic">2'b11</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">2'b11</span>)) && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1'b1</span>) <span class="vhdlkeyword">begin</span>
|
400 |
|
|
<a name="l02941"></a>02941 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] = {<a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">30</span>:<span class="vhdllogic">0</span>], <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>};
|
401 |
|
|
<a name="l02942"></a>02942
|
402 |
|
|
<a name="l02943"></a>02943 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= <span class="vhdllogic">1'b0</span>; <span class="keyword">// V</span>
|
403 |
|
|
<a name="l02944"></a>02944 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>; <span class="keyword">// C</span>
|
404 |
|
|
<a name="l02945"></a>02945 <span class="keyword">// X not affected</span>
|
405 |
|
|
<a name="l02946"></a>02946 <span class="vhdlkeyword">end</span>
|
406 |
|
|
<a name="l02947"></a>02947 <span class="keyword">// ROXL</span>
|
407 |
|
|
<a name="l02948"></a>02948 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( ((<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">2'b11</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">10</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">2'b10</span>) || (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">6</span>] != <span class="vhdllogic">2'b11</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">2'b10</span>)) && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1'b1</span>) <span class="vhdlkeyword">begin</span>
|
408 |
|
|
<a name="l02949"></a>02949 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] = {<a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">30</span>:<span class="vhdllogic">0</span>], <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>]};
|
409 |
|
|
<a name="l02950"></a>02950
|
410 |
|
|
<a name="l02951"></a>02951 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= <span class="vhdllogic">1'b0</span>; <span class="keyword">// V</span>
|
411 |
|
|
<a name="l02952"></a>02952 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>; <span class="keyword">// C</span>
|
412 |
|
|
<a name="l02953"></a>02953 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] <= <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>; <span class="keyword">// X</span>
|
413 |
|
|
<a name="l02954"></a>02954 <span class="vhdlkeyword">end</span>
|
414 |
|
|
<a name="l02955"></a>02955 <span class="keyword">// ASR</span>
|
415 |
|
|
<a name="l02956"></a>02956 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( ((<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">2'b11</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">10</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">2'b00</span>) || (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">6</span>] != <span class="vhdllogic">2'b11</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">2'b00</span>)) && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1'b0</span>) <span class="vhdlkeyword">begin</span>
|
416 |
|
|
<a name="l02957"></a>02957 <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a> == <span class="vhdllogic">2'b00</span>) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] = { <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>], <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">1</span>] };
|
417 |
|
|
<a name="l02958"></a>02958 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a> == <span class="vhdllogic">2'b01</span>) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] = { <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">15</span>], <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">1</span>] };
|
418 |
|
|
<a name="l02959"></a>02959 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a> == <span class="vhdllogic">2'b10</span>) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] = { <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">31</span>], <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">1</span>] };
|
419 |
|
|
<a name="l02960"></a>02960
|
420 |
|
|
<a name="l02961"></a>02961 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= <span class="vhdllogic">1'b0</span>; <span class="keyword">// V</span>
|
421 |
|
|
<a name="l02962"></a>02962 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">0</span>]; <span class="keyword">// C</span>
|
422 |
|
|
<a name="l02963"></a>02963 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">0</span>]; <span class="keyword">// X</span>
|
423 |
|
|
<a name="l02964"></a>02964 <span class="vhdlkeyword">end</span>
|
424 |
|
|
<a name="l02965"></a>02965 <span class="keyword">// LSR</span>
|
425 |
|
|
<a name="l02966"></a>02966 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( ((<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">2'b11</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">10</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">2'b01</span>) || (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">6</span>] != <span class="vhdllogic">2'b11</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">2'b01</span>)) && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1'b0</span>) <span class="vhdlkeyword">begin</span>
|
426 |
|
|
<a name="l02967"></a>02967 <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a> == <span class="vhdllogic">2'b00</span>) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] = { <span class="vhdllogic">1'b0</span>, <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">1</span>] };
|
427 |
|
|
<a name="l02968"></a>02968 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a> == <span class="vhdllogic">2'b01</span>) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] = { <span class="vhdllogic">1'b0</span>, <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">1</span>] };
|
428 |
|
|
<a name="l02969"></a>02969 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a> == <span class="vhdllogic">2'b10</span>) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] = { <span class="vhdllogic">1'b0</span>, <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">1</span>] };
|
429 |
|
|
<a name="l02970"></a>02970
|
430 |
|
|
<a name="l02971"></a>02971 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= <span class="vhdllogic">1'b0</span>; <span class="keyword">// V</span>
|
431 |
|
|
<a name="l02972"></a>02972 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">0</span>]; <span class="keyword">// C</span>
|
432 |
|
|
<a name="l02973"></a>02973 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">0</span>]; <span class="keyword">// X</span>
|
433 |
|
|
<a name="l02974"></a>02974 <span class="vhdlkeyword">end</span>
|
434 |
|
|
<a name="l02975"></a>02975 <span class="keyword">// ROR</span>
|
435 |
|
|
<a name="l02976"></a>02976 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( ((<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">2'b11</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">10</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">2'b11</span>) || (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">6</span>] != <span class="vhdllogic">2'b11</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">2'b11</span>)) && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1'b0</span>) <span class="vhdlkeyword">begin</span>
|
436 |
|
|
<a name="l02977"></a>02977 <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a> == <span class="vhdllogic">2'b00</span>) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] = { <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">0</span>], <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">1</span>] };
|
437 |
|
|
<a name="l02978"></a>02978 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a> == <span class="vhdllogic">2'b01</span>) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] = { <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">0</span>], <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">1</span>] };
|
438 |
|
|
<a name="l02979"></a>02979 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a> == <span class="vhdllogic">2'b10</span>) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] = { <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">0</span>], <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">1</span>] };
|
439 |
|
|
<a name="l02980"></a>02980
|
440 |
|
|
<a name="l02981"></a>02981 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= <span class="vhdllogic">1'b0</span>; <span class="keyword">// V</span>
|
441 |
|
|
<a name="l02982"></a>02982 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">0</span>]; <span class="keyword">// C</span>
|
442 |
|
|
<a name="l02983"></a>02983 <span class="keyword">// X not affected</span>
|
443 |
|
|
<a name="l02984"></a>02984 <span class="vhdlkeyword">end</span>
|
444 |
|
|
<a name="l02985"></a>02985 <span class="keyword">// ROXR</span>
|
445 |
|
|
<a name="l02986"></a>02986 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( ((<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">2'b11</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">10</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">2'b10</span>) || (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">6</span>] != <span class="vhdllogic">2'b11</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">2'b10</span>)) && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1'b0</span>) <span class="vhdlkeyword">begin</span>
|
446 |
|
|
<a name="l02987"></a>02987 <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a> == <span class="vhdllogic">2'b00</span>) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] = {<a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>], <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">1</span>]};
|
447 |
|
|
<a name="l02988"></a>02988 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a> == <span class="vhdllogic">2'b01</span>) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] = {<a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>], <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">1</span>]};
|
448 |
|
|
<a name="l02989"></a>02989 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a> == <span class="vhdllogic">2'b10</span>) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] = {<a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>], <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">1</span>]};
|
449 |
|
|
<a name="l02990"></a>02990
|
450 |
|
|
<a name="l02991"></a>02991 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= <span class="vhdllogic">1'b0</span>; <span class="keyword">// V</span>
|
451 |
|
|
<a name="l02992"></a>02992 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">0</span>]; <span class="keyword">// C</span>
|
452 |
|
|
<a name="l02993"></a>02993 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">0</span>]; <span class="keyword">// X</span>
|
453 |
|
|
<a name="l02994"></a>02994 <span class="vhdlkeyword">end</span>
|
454 |
|
|
<a name="l02995"></a>02995
|
455 |
|
|
<a name="l02996"></a>02996 <span class="keyword">// N set</span>
|
456 |
|
|
<a name="l02997"></a>02997 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">3</span>] <= <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>;
|
457 |
|
|
<a name="l02998"></a>02998 <span class="keyword">// Z set</span>
|
458 |
|
|
<a name="l02999"></a>02999 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] <= <a class="code" href="classalu.html#a23a70b72cb751afcb0b4fd2c1adfe24c">`Z</a><span class="vhdlchar"></span>;
|
459 |
|
|
<a name="l03000"></a>03000 <span class="vhdlkeyword">end</span>
|
460 |
|
|
<a name="l03001"></a>03001
|
461 |
|
|
<a name="l03002"></a>03002 <a class="code" href="ao68000_8v.html#a268aa82704bd8f1c1548dfc69a12a951">`ALU_MOVE</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
462 |
|
|
<a name="l03003"></a>03003 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> = <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>;
|
463 |
|
|
<a name="l03004"></a>03004
|
464 |
|
|
<a name="l03005"></a>03005 <span class="keyword">// X not affected</span>
|
465 |
|
|
<a name="l03006"></a>03006 <span class="keyword">// C cleared</span>
|
466 |
|
|
<a name="l03007"></a>03007 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= <span class="vhdllogic">1'b0</span>;
|
467 |
|
|
<a name="l03008"></a>03008 <span class="keyword">// V cleared</span>
|
468 |
|
|
<a name="l03009"></a>03009 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= <span class="vhdllogic">1'b0</span>;
|
469 |
|
|
<a name="l03010"></a>03010
|
470 |
|
|
<a name="l03011"></a>03011 <span class="keyword">// N set</span>
|
471 |
|
|
<a name="l03012"></a>03012 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">3</span>] <= <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>;
|
472 |
|
|
<a name="l03013"></a>03013 <span class="keyword">// Z set</span>
|
473 |
|
|
<a name="l03014"></a>03014 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] <= <a class="code" href="classalu.html#a23a70b72cb751afcb0b4fd2c1adfe24c">`Z</a><span class="vhdlchar"></span>;
|
474 |
|
|
<a name="l03015"></a>03015 <span class="vhdlkeyword">end</span>
|
475 |
|
|
<a name="l03016"></a>03016
|
476 |
|
|
<a name="l03017"></a>03017 <a class="code" href="ao68000_8v.html#a30a87601d2ca38286bb0d486d59f6a07">`ALU_ADDA_SUBA_CMPA_ADDQ_SUBQ</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
477 |
|
|
<a name="l03018"></a>03018 <span class="keyword">// ADDA: 1101</span>
|
478 |
|
|
<a name="l03019"></a>03019 <span class="keyword">// CMPA: 1011</span>
|
479 |
|
|
<a name="l03020"></a>03020 <span class="keyword">// SUBA: 1001</span>
|
480 |
|
|
<a name="l03021"></a>03021 <span class="keyword">// ADDQ,SUBQ: 0101 xxx0,1</span>
|
481 |
|
|
<a name="l03022"></a>03022 <span class="keyword">// operation requires that operand2 was sign extended</span>
|
482 |
|
|
<a name="l03023"></a>03023
|
483 |
|
|
<a name="l03024"></a>03024 <span class="keyword">// ADDA,ADDQ</span>
|
484 |
|
|
<a name="l03025"></a>03025 <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b1101</span> || (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b0101</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1'b0</span>) )
|
485 |
|
|
<a name="l03026"></a>03026 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] = <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] + <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>];
|
486 |
|
|
<a name="l03027"></a>03027 <span class="keyword">// SUBA,CMPA,SUBQ</span>
|
487 |
|
|
<a name="l03028"></a>03028 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b1001</span> || <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b1011</span> || (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b0101</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1'b1</span>) )
|
488 |
|
|
<a name="l03029"></a>03029 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] = <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] - <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>];
|
489 |
|
|
<a name="l03030"></a>03030
|
490 |
|
|
<a name="l03031"></a>03031 <span class="keyword">// for CMPA</span>
|
491 |
|
|
<a name="l03032"></a>03032 <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b1011</span> ) <span class="vhdlkeyword">begin</span>
|
492 |
|
|
<a name="l03033"></a>03033 <span class="keyword">// Z</span>
|
493 |
|
|
<a name="l03034"></a>03034 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] <= <a class="code" href="classalu.html#a23a70b72cb751afcb0b4fd2c1adfe24c">`Z</a><span class="vhdlchar"></span>;
|
494 |
|
|
<a name="l03035"></a>03035 <span class="keyword">// N</span>
|
495 |
|
|
<a name="l03036"></a>03036 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">3</span>] <= <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>;
|
496 |
|
|
<a name="l03037"></a>03037
|
497 |
|
|
<a name="l03038"></a>03038 <span class="keyword">// C,V</span>
|
498 |
|
|
<a name="l03039"></a>03039 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>) | (<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span>) | (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>);
|
499 |
|
|
<a name="l03040"></a>03040 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= (~<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>) | (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>);
|
500 |
|
|
<a name="l03041"></a>03041 <span class="keyword">// X not affected</span>
|
501 |
|
|
<a name="l03042"></a>03042 <span class="vhdlkeyword">end</span>
|
502 |
|
|
<a name="l03043"></a>03043 <span class="keyword">// for ADDA,SUBA,ADDQ,SUBQ: ccr not affected</span>
|
503 |
|
|
<a name="l03044"></a>03044 <span class="vhdlkeyword">end</span>
|
504 |
|
|
<a name="l03045"></a>03045
|
505 |
|
|
<a name="l03046"></a>03046 <a class="code" href="ao68000_8v.html#af0a4db089a5eb288abf9453ca2d79c26">`ALU_CHK</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
506 |
|
|
<a name="l03047"></a>03047 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] = <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] - <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>];
|
507 |
|
|
<a name="l03048"></a>03048
|
508 |
|
|
<a name="l03049"></a>03049 <span class="keyword">// undocumented behavior: Z flag, see 68knotes.txt</span>
|
509 |
|
|
<a name="l03050"></a>03050 <span class="keyword">//sr[2] <= (operand1[15:0] == 16'b0) ? 1'b1 : 1'b0;</span>
|
510 |
|
|
<a name="l03051"></a>03051 <span class="keyword">// undocumented behavior: C,V flags, see 68knotes.txt</span>
|
511 |
|
|
<a name="l03052"></a>03052 <span class="keyword">//sr[0] <= 1'b0;</span>
|
512 |
|
|
<a name="l03053"></a>03053 <span class="keyword">//sr[1] <= 1'b0;</span>
|
513 |
|
|
<a name="l03054"></a>03054
|
514 |
|
|
<a name="l03055"></a>03055 <span class="keyword">// C,X,V</span>
|
515 |
|
|
<a name="l03056"></a>03056 <span class="keyword">// sr[0] <= (`Sm & ~`Dm) | (`Rm & ~`Dm) | (`Sm & `Rm);</span>
|
516 |
|
|
<a name="l03057"></a>03057 <span class="keyword">// sr[4] <= (`Sm & ~`Dm) | (`Rm & ~`Dm) | (`Sm & `Rm); //=ccr[0];</span>
|
517 |
|
|
<a name="l03058"></a>03058 <span class="keyword">// sr[1] <= (~`Sm & `Dm & ~`Rm) | (`Sm & ~`Dm & `Rm);</span>
|
518 |
|
|
<a name="l03059"></a>03059 <span class="keyword">// +: 0-1, 0-0=0, 1-1=0</span>
|
519 |
|
|
<a name="l03060"></a>03060 <span class="keyword">// -: 0-0=1, 1-0, 1-1=1</span>
|
520 |
|
|
<a name="l03061"></a>03061 <span class="keyword">// operand1 - operand2 > 0</span>
|
521 |
|
|
<a name="l03062"></a>03062 <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] != <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] && ((~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span>) | (~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>) | (<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> & ~<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>)) == <span class="vhdllogic">1'b1</span> ) <span class="vhdlkeyword">begin</span>
|
522 |
|
|
<a name="l03063"></a>03063 <span class="keyword">// clear N</span>
|
523 |
|
|
<a name="l03064"></a>03064 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">3</span>] <= <span class="vhdllogic">1'b0</span>;
|
524 |
|
|
<a name="l03065"></a>03065 <a class="code" href="classalu.html#a9967a58a4b4ce228c54e58f560547165">special</a> <= <span class="vhdllogic">2'b01</span>;
|
525 |
|
|
<a name="l03066"></a>03066 <span class="vhdlkeyword">end</span>
|
526 |
|
|
<a name="l03067"></a>03067 <span class="keyword">// operand1 < 0</span>
|
527 |
|
|
<a name="l03068"></a>03068 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">15</span>] == <span class="vhdllogic">1'b1</span> ) <span class="vhdlkeyword">begin</span>
|
528 |
|
|
<a name="l03069"></a>03069 <span class="keyword">// set N</span>
|
529 |
|
|
<a name="l03070"></a>03070 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">3</span>] <= <span class="vhdllogic">1'b1</span>;
|
530 |
|
|
<a name="l03071"></a>03071 <a class="code" href="classalu.html#a9967a58a4b4ce228c54e58f560547165">special</a> <= <span class="vhdllogic">2'b01</span>;
|
531 |
|
|
<a name="l03072"></a>03072 <span class="vhdlkeyword">end</span>
|
532 |
|
|
<a name="l03073"></a>03073 <span class="keyword">// no trap</span>
|
533 |
|
|
<a name="l03074"></a>03074 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
|
534 |
|
|
<a name="l03075"></a>03075 <span class="keyword">// N undefined: not affected</span>
|
535 |
|
|
<a name="l03076"></a>03076 <a class="code" href="classalu.html#a9967a58a4b4ce228c54e58f560547165">special</a> <= <span class="vhdllogic">2'b00</span>;
|
536 |
|
|
<a name="l03077"></a>03077 <span class="vhdlkeyword">end</span>
|
537 |
|
|
<a name="l03078"></a>03078
|
538 |
|
|
<a name="l03079"></a>03079 <span class="keyword">// X not affected</span>
|
539 |
|
|
<a name="l03080"></a>03080 <span class="vhdlkeyword">end</span>
|
540 |
|
|
<a name="l03081"></a>03081
|
541 |
|
|
<a name="l03082"></a>03082 <a class="code" href="ao68000_8v.html#aed07d190bb88f0cce7768028698020f9">`ALU_MULS_MULU_DIVS_DIVU</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span> <span class="keyword">// 2206 LE, 106 MHz</span>
|
542 |
|
|
<a name="l03083"></a>03083
|
543 |
|
|
<a name="l03084"></a>03084 <span class="keyword">// division by 0</span>
|
544 |
|
|
<a name="l03085"></a>03085 <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b1000</span> && <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">16'b0</span> ) <span class="vhdlkeyword">begin</span>
|
545 |
|
|
<a name="l03086"></a>03086 <span class="keyword">// X not affected</span>
|
546 |
|
|
<a name="l03087"></a>03087 <span class="keyword">// C cleared</span>
|
547 |
|
|
<a name="l03088"></a>03088 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= <span class="vhdllogic">1'b0</span>;
|
548 |
|
|
<a name="l03089"></a>03089 <span class="keyword">// V,Z,N undefined: cleared</span>
|
549 |
|
|
<a name="l03090"></a>03090 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= <span class="vhdllogic">1'b0</span>;
|
550 |
|
|
<a name="l03091"></a>03091 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] <= <span class="vhdllogic">1'b0</span>;
|
551 |
|
|
<a name="l03092"></a>03092 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">3</span>] <= <span class="vhdllogic">1'b0</span>;
|
552 |
|
|
<a name="l03093"></a>03093
|
553 |
|
|
<a name="l03094"></a>03094 <span class="keyword">// set trap</span>
|
554 |
|
|
<a name="l03095"></a>03095 <a class="code" href="classalu.html#a9967a58a4b4ce228c54e58f560547165">special</a> <= <span class="vhdllogic">2'b01</span>;
|
555 |
|
|
<a name="l03096"></a>03096 <span class="vhdlkeyword">end</span>
|
556 |
|
|
<a name="l03097"></a>03097 <span class="keyword">// division overflow: divu, divs</span>
|
557 |
|
|
<a name="l03098"></a>03098 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( ((<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b1000</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1'b0</span>) && (<a class="code" href="classalu.html#a84d66cf834afa9133f1934f03d6cc1a5">divu_quotient</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">16</span>] != <span class="vhdllogic">16'd0</span>)) ||
|
558 |
|
|
<a name="l03099"></a>03099 ((<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b1000</span> && <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1'b1</span>) && (<a class="code" href="classalu.html#ad580d5c6f7f3f0bc39f873db4ba36301">divs_quotient</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">16</span>] != {<span class="vhdllogic">16</span>{<a class="code" href="classalu.html#ad580d5c6f7f3f0bc39f873db4ba36301">divs_quotient</a>[<span class="vhdllogic">15</span>]}}))
|
559 |
|
|
<a name="l03100"></a>03100 ) <span class="vhdlkeyword">begin</span>
|
560 |
|
|
<a name="l03101"></a>03101 <span class="keyword">// X not affected</span>
|
561 |
|
|
<a name="l03102"></a>03102 <span class="keyword">// C cleared</span>
|
562 |
|
|
<a name="l03103"></a>03103 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= <span class="vhdllogic">1'b0</span>;
|
563 |
|
|
<a name="l03104"></a>03104 <span class="keyword">// V set</span>
|
564 |
|
|
<a name="l03105"></a>03105 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= <span class="vhdllogic">1'b1</span>;
|
565 |
|
|
<a name="l03106"></a>03106 <span class="keyword">// Z,N undefined: cleared and set</span>
|
566 |
|
|
<a name="l03107"></a>03107 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] <= <span class="vhdllogic">1'b0</span>;
|
567 |
|
|
<a name="l03108"></a>03108 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">3</span>] <= <span class="vhdllogic">1'b1</span>;
|
568 |
|
|
<a name="l03109"></a>03109
|
569 |
|
|
<a name="l03110"></a>03110 <span class="keyword">// set trap</span>
|
570 |
|
|
<a name="l03111"></a>03111 <a class="code" href="classalu.html#a9967a58a4b4ce228c54e58f560547165">special</a> <= <span class="vhdllogic">2'b10</span>;
|
571 |
|
|
<a name="l03112"></a>03112 <span class="vhdlkeyword">end</span>
|
572 |
|
|
<a name="l03113"></a>03113 <span class="keyword">// division</span>
|
573 |
|
|
<a name="l03114"></a>03114 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b1000</span> ) <span class="vhdlkeyword">begin</span>
|
574 |
|
|
<a name="l03115"></a>03115 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] <= (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1'b0</span>)? {<a class="code" href="classalu.html#a8cef22afb37b55eea85eda4c20f9b1b7">divu_remainder</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>], <a class="code" href="classalu.html#a84d66cf834afa9133f1934f03d6cc1a5">divu_quotient</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>]} : {<a class="code" href="classalu.html#a0723b9ed6da6c9a2d2b68b36563b42e3">divs_remainder</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>], <a class="code" href="classalu.html#ad580d5c6f7f3f0bc39f873db4ba36301">divs_quotient</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>]};
|
575 |
|
|
<a name="l03116"></a>03116
|
576 |
|
|
<a name="l03117"></a>03117 <span class="keyword">// X not affected</span>
|
577 |
|
|
<a name="l03118"></a>03118 <span class="keyword">// C cleared</span>
|
578 |
|
|
<a name="l03119"></a>03119 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= <span class="vhdllogic">1'b0</span>;
|
579 |
|
|
<a name="l03120"></a>03120 <span class="keyword">// V cleared</span>
|
580 |
|
|
<a name="l03121"></a>03121 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= <span class="vhdllogic">1'b0</span>;
|
581 |
|
|
<a name="l03122"></a>03122 <span class="keyword">// Z</span>
|
582 |
|
|
<a name="l03123"></a>03123 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] <= (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1'b0</span>)? (<a class="code" href="classalu.html#a84d66cf834afa9133f1934f03d6cc1a5">divu_quotient</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">16'b0</span>) : (<a class="code" href="classalu.html#ad580d5c6f7f3f0bc39f873db4ba36301">divs_quotient</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">16'b0</span>);
|
583 |
|
|
<a name="l03124"></a>03124 <span class="keyword">// N</span>
|
584 |
|
|
<a name="l03125"></a>03125 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">3</span>] <= (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1'b0</span>)? (<a class="code" href="classalu.html#a84d66cf834afa9133f1934f03d6cc1a5">divu_quotient</a>[<span class="vhdllogic">15</span>] == <span class="vhdllogic">1'b1</span>) : (<a class="code" href="classalu.html#ad580d5c6f7f3f0bc39f873db4ba36301">divs_quotient</a>[<span class="vhdllogic">15</span>] == <span class="vhdllogic">1'b1</span>);
|
585 |
|
|
<a name="l03126"></a>03126
|
586 |
|
|
<a name="l03127"></a>03127 <span class="keyword">// set trap</span>
|
587 |
|
|
<a name="l03128"></a>03128 <a class="code" href="classalu.html#a9967a58a4b4ce228c54e58f560547165">special</a> <= <span class="vhdllogic">2'b00</span>;
|
588 |
|
|
<a name="l03129"></a>03129 <span class="vhdlkeyword">end</span>
|
589 |
|
|
<a name="l03130"></a>03130 <span class="keyword">// multiplication</span>
|
590 |
|
|
<a name="l03131"></a>03131 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">12</span>] == <span class="vhdllogic">4'b1100</span> ) <span class="vhdlkeyword">begin</span>
|
591 |
|
|
<a name="l03132"></a>03132 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] <= (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1'b0</span>)? <a class="code" href="classalu.html#a23c8e6648d0b07c6593402658bf83095">mulu_result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] : <a class="code" href="classalu.html#a37551519218b05f156135f78f2ee2fe1">muls_result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>];
|
592 |
|
|
<a name="l03133"></a>03133
|
593 |
|
|
<a name="l03134"></a>03134 <span class="keyword">// X not affected</span>
|
594 |
|
|
<a name="l03135"></a>03135 <span class="keyword">// C cleared</span>
|
595 |
|
|
<a name="l03136"></a>03136 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= <span class="vhdllogic">1'b0</span>;
|
596 |
|
|
<a name="l03137"></a>03137 <span class="keyword">// V cleared</span>
|
597 |
|
|
<a name="l03138"></a>03138 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= <span class="vhdllogic">1'b0</span>;
|
598 |
|
|
<a name="l03139"></a>03139 <span class="keyword">// Z</span>
|
599 |
|
|
<a name="l03140"></a>03140 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] <= (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1'b0</span>)? (<a class="code" href="classalu.html#a23c8e6648d0b07c6593402658bf83095">mulu_result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">32'b0</span>) : (<a class="code" href="classalu.html#a37551519218b05f156135f78f2ee2fe1">muls_result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">32'b0</span>);
|
600 |
|
|
<a name="l03141"></a>03141 <span class="keyword">// N</span>
|
601 |
|
|
<a name="l03142"></a>03142 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">3</span>] <= (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1'b0</span>)? (<a class="code" href="classalu.html#a23c8e6648d0b07c6593402658bf83095">mulu_result</a>[<span class="vhdllogic">31</span>] == <span class="vhdllogic">1'b1</span>) : (<a class="code" href="classalu.html#a37551519218b05f156135f78f2ee2fe1">muls_result</a>[<span class="vhdllogic">31</span>] == <span class="vhdllogic">1'b1</span>);
|
602 |
|
|
<a name="l03143"></a>03143
|
603 |
|
|
<a name="l03144"></a>03144 <span class="keyword">// set trap</span>
|
604 |
|
|
<a name="l03145"></a>03145 <a class="code" href="classalu.html#a9967a58a4b4ce228c54e58f560547165">special</a> <= <span class="vhdllogic">2'b00</span>;
|
605 |
|
|
<a name="l03146"></a>03146 <span class="vhdlkeyword">end</span>
|
606 |
|
|
<a name="l03147"></a>03147 <span class="vhdlkeyword">end</span>
|
607 |
|
|
<a name="l03148"></a>03148
|
608 |
|
|
<a name="l03149"></a>03149
|
609 |
|
|
<a name="l03150"></a>03150 <a class="code" href="ao68000_8v.html#a14b85ce3e5b4ede3b2c4e89f420c8c3c">`ALU_BCHG_BCLR_BSET_BTST</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span> <span class="keyword">// 97 LE</span>
|
610 |
|
|
<a name="l03151"></a>03151 <span class="keyword">// byte</span>
|
611 |
|
|
<a name="l03152"></a>03152 <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">5</span>:<span class="vhdllogic">3</span>] != <span class="vhdllogic">3'b000</span> ) <span class="vhdlkeyword">begin</span>
|
612 |
|
|
<a name="l03153"></a>03153 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] <= ~(<a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[ <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">2</span>:<span class="vhdllogic">0</span>] ]);
|
613 |
|
|
<a name="l03154"></a>03154 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> = <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>;
|
614 |
|
|
<a name="l03155"></a>03155 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[ <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">2</span>:<span class="vhdllogic">0</span>] ] = (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">2'b01</span>) ? ~(<a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[ <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">2</span>:<span class="vhdllogic">0</span>] ]) : (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">2'b10</span>) ? <span class="vhdllogic">1'b0</span> : <span class="vhdllogic">1'b1</span>;
|
615 |
|
|
<a name="l03156"></a>03156 <span class="vhdlkeyword">end</span>
|
616 |
|
|
<a name="l03157"></a>03157 <span class="keyword">// long</span>
|
617 |
|
|
<a name="l03158"></a>03158 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">5</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">3'b000</span> ) <span class="vhdlkeyword">begin</span>
|
618 |
|
|
<a name="l03159"></a>03159 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] <= ~(<a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[ <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">0</span>] ]);
|
619 |
|
|
<a name="l03160"></a>03160 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> = <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>;
|
620 |
|
|
<a name="l03161"></a>03161 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[ <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">0</span>] ] = (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">2'b01</span>) ? ~(<a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[ <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">0</span>] ]) : (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">2'b10</span>) ? <span class="vhdllogic">1'b0</span> : <span class="vhdllogic">1'b1</span>;
|
621 |
|
|
<a name="l03162"></a>03162 <span class="vhdlkeyword">end</span>
|
622 |
|
|
<a name="l03163"></a>03163
|
623 |
|
|
<a name="l03164"></a>03164 <span class="keyword">// C,V,N,X not affected</span>
|
624 |
|
|
<a name="l03165"></a>03165 <span class="vhdlkeyword">end</span>
|
625 |
|
|
<a name="l03166"></a>03166
|
626 |
|
|
<a name="l03167"></a>03167 <a class="code" href="ao68000_8v.html#ac7de3ab6c8eec4381bde5e4f61b45761">`ALU_TAS</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
627 |
|
|
<a name="l03168"></a>03168 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] <= { <span class="vhdllogic">1'b1</span>, <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">6</span>:<span class="vhdllogic">0</span>] };
|
628 |
|
|
<a name="l03169"></a>03169
|
629 |
|
|
<a name="l03170"></a>03170 <span class="keyword">// X not affected</span>
|
630 |
|
|
<a name="l03171"></a>03171 <span class="keyword">// C cleared</span>
|
631 |
|
|
<a name="l03172"></a>03172 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= <span class="vhdllogic">1'b0</span>;
|
632 |
|
|
<a name="l03173"></a>03173 <span class="keyword">// V cleared</span>
|
633 |
|
|
<a name="l03174"></a>03174 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= <span class="vhdllogic">1'b0</span>;
|
634 |
|
|
<a name="l03175"></a>03175
|
635 |
|
|
<a name="l03176"></a>03176 <span class="keyword">// N set</span>
|
636 |
|
|
<a name="l03177"></a>03177 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">3</span>] <= (<a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>] == <span class="vhdllogic">1'b1</span>);
|
637 |
|
|
<a name="l03178"></a>03178 <span class="keyword">// Z set</span>
|
638 |
|
|
<a name="l03179"></a>03179 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] <= (<a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">8'b0</span>);
|
639 |
|
|
<a name="l03180"></a>03180 <span class="vhdlkeyword">end</span>
|
640 |
|
|
<a name="l03181"></a>03181
|
641 |
|
|
<a name="l03182"></a>03182
|
642 |
|
|
<a name="l03183"></a>03183 <a class="code" href="ao68000_8v.html#a07c7e53af3f4995a167966ba18c2728f">`ALU_NEGX_CLR_NEG_NOT_NBCD_SWAP_EXT</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
643 |
|
|
<a name="l03184"></a>03184 <span class="keyword">// NEGX</span>
|
644 |
|
|
<a name="l03185"></a>03185 <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">8</span>] == <span class="vhdllogic">4'b0000</span> ) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> = <span class="vhdllogic">32'b0</span> - <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] - <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>];
|
645 |
|
|
<a name="l03186"></a>03186 <span class="keyword">// CLR</span>
|
646 |
|
|
<a name="l03187"></a>03187 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">8</span>] == <span class="vhdllogic">4'b0010</span> ) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> = <span class="vhdllogic">32'b0</span>;
|
647 |
|
|
<a name="l03188"></a>03188 <span class="keyword">// NEG</span>
|
648 |
|
|
<a name="l03189"></a>03189 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">8</span>] == <span class="vhdllogic">4'b0100</span> ) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> = <span class="vhdllogic">32'b0</span> - <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>];
|
649 |
|
|
<a name="l03190"></a>03190 <span class="keyword">// NOT</span>
|
650 |
|
|
<a name="l03191"></a>03191 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">8</span>] == <span class="vhdllogic">4'b0110</span> ) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> = ~<a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>];
|
651 |
|
|
<a name="l03192"></a>03192 <span class="keyword">// NBCD</span>
|
652 |
|
|
<a name="l03193"></a>03193 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">6'b1000_00</span> ) <span class="vhdlkeyword">begin</span>
|
653 |
|
|
<a name="l03194"></a>03194
|
654 |
|
|
<a name="l03195"></a>03195 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">3</span>:<span class="vhdllogic">0</span>] = <span class="vhdllogic">5'd25</span> - <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">3</span>:<span class="vhdllogic">0</span>];
|
655 |
|
|
<a name="l03196"></a>03196 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">4</span>] = (<a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">3</span>:<span class="vhdllogic">0</span>] > <span class="vhdllogic">4'd9</span>) ? (<span class="vhdllogic">5'd24</span> - <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">4</span>]) : (<span class="vhdllogic">5'd25</span> - <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">4</span>]);
|
656 |
|
|
<a name="l03197"></a>03197
|
657 |
|
|
<a name="l03198"></a>03198 <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] == <span class="vhdllogic">1'b0</span> && <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">3</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">4'd9</span> && <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">4</span>] == <span class="vhdllogic">4'd9</span>) <span class="vhdlkeyword">begin</span>
|
658 |
|
|
<a name="l03199"></a>03199 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">3</span>:<span class="vhdllogic">0</span>] = <span class="vhdllogic">4'd0</span>;
|
659 |
|
|
<a name="l03200"></a>03200 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">4</span>] = <span class="vhdllogic">4'd0</span>;
|
660 |
|
|
<a name="l03201"></a>03201 <span class="vhdlkeyword">end</span>
|
661 |
|
|
<a name="l03202"></a>03202 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] == <span class="vhdllogic">1'b0</span> && (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">3</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">4'd9</span> || <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">3</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">4'd15</span>)) <span class="vhdlkeyword">begin</span>
|
662 |
|
|
<a name="l03203"></a>03203 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">3</span>:<span class="vhdllogic">0</span>] = <span class="vhdllogic">4'd0</span>;
|
663 |
|
|
<a name="l03204"></a>03204 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">4</span>] = <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">4</span>] + <span class="vhdllogic">4'd1</span>;
|
664 |
|
|
<a name="l03205"></a>03205 <span class="vhdlkeyword">end</span>
|
665 |
|
|
<a name="l03206"></a>03206 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] == <span class="vhdllogic">1'b0</span>) <span class="vhdlkeyword">begin</span>
|
666 |
|
|
<a name="l03207"></a>03207 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">3</span>:<span class="vhdllogic">0</span>] = <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">3</span>:<span class="vhdllogic">0</span>] + <span class="vhdllogic">4'd1</span>;
|
667 |
|
|
<a name="l03208"></a>03208 <span class="vhdlkeyword">end</span>
|
668 |
|
|
<a name="l03209"></a>03209
|
669 |
|
|
<a name="l03210"></a>03210 <span class="keyword">//V undefined: unchanged</span>
|
670 |
|
|
<a name="l03211"></a>03211 <span class="keyword">//Z</span>
|
671 |
|
|
<a name="l03212"></a>03212 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] <= <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] & <a class="code" href="classalu.html#a23a70b72cb751afcb0b4fd2c1adfe24c">`Z</a><span class="vhdlchar"></span>;
|
672 |
|
|
<a name="l03213"></a>03213 <span class="keyword">//C,X</span>
|
673 |
|
|
<a name="l03214"></a>03214 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= (<a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">8'd0</span> && <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] == <span class="vhdllogic">1'b0</span>) ? <span class="vhdllogic">1'b0</span> : <span class="vhdllogic">1'b1</span>;
|
674 |
|
|
<a name="l03215"></a>03215 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] <= (<a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">8'd0</span> && <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] == <span class="vhdllogic">1'b0</span>) ? <span class="vhdllogic">1'b0</span> : <span class="vhdllogic">1'b1</span>; <span class="keyword">//=C</span>
|
675 |
|
|
<a name="l03216"></a>03216 <span class="vhdlkeyword">end</span>
|
676 |
|
|
<a name="l03217"></a>03217 <span class="keyword">// SWAP</span>
|
677 |
|
|
<a name="l03218"></a>03218 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">6'b1000_01</span> ) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> = { <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>], <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">16</span>] };
|
678 |
|
|
<a name="l03219"></a>03219 <span class="keyword">// EXT byte to word</span>
|
679 |
|
|
<a name="l03220"></a>03220 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">6'b1000_10</span> ) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> = { <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">16</span>], {<span class="vhdllogic">8</span>{<a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>]}}, <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] };
|
680 |
|
|
<a name="l03221"></a>03221 <span class="keyword">// EXT word to long</span>
|
681 |
|
|
<a name="l03222"></a>03222 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">6'b1000_11</span> ) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> = { {<span class="vhdllogic">16</span>{<a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">15</span>]}}, <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] };
|
682 |
|
|
<a name="l03223"></a>03223
|
683 |
|
|
<a name="l03224"></a>03224 <span class="keyword">// N set if negative else clear</span>
|
684 |
|
|
<a name="l03225"></a>03225 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">3</span>] <= <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>;
|
685 |
|
|
<a name="l03226"></a>03226
|
686 |
|
|
<a name="l03227"></a>03227 <span class="keyword">// CLR,NOT,SWAP,EXT</span>
|
687 |
|
|
<a name="l03228"></a>03228 <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">8</span>] == <span class="vhdllogic">4'b0010</span> || <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">8</span>] == <span class="vhdllogic">4'b0110</span> || <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">6'b1000_01</span> || <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">7</span>] == <span class="vhdllogic">5'b1000_1</span> ) <span class="vhdlkeyword">begin</span>
|
688 |
|
|
<a name="l03229"></a>03229 <span class="keyword">// X not affected</span>
|
689 |
|
|
<a name="l03230"></a>03230 <span class="keyword">// C,V cleared</span>
|
690 |
|
|
<a name="l03231"></a>03231 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= <span class="vhdllogic">1'b0</span>;
|
691 |
|
|
<a name="l03232"></a>03232 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= <span class="vhdllogic">1'b0</span>;
|
692 |
|
|
<a name="l03233"></a>03233 <span class="keyword">// Z set</span>
|
693 |
|
|
<a name="l03234"></a>03234 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] <= <a class="code" href="classalu.html#a23a70b72cb751afcb0b4fd2c1adfe24c">`Z</a><span class="vhdlchar"></span>;
|
694 |
|
|
<a name="l03235"></a>03235 <span class="vhdlkeyword">end</span>
|
695 |
|
|
<a name="l03236"></a>03236 <span class="keyword">// NEGX</span>
|
696 |
|
|
<a name="l03237"></a>03237 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">8</span>] == <span class="vhdllogic">4'b0000</span> ) <span class="vhdlkeyword">begin</span>
|
697 |
|
|
<a name="l03238"></a>03238 <span class="keyword">// C set if borrow</span>
|
698 |
|
|
<a name="l03239"></a>03239 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> | <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>;
|
699 |
|
|
<a name="l03240"></a>03240 <span class="keyword">// X=C</span>
|
700 |
|
|
<a name="l03241"></a>03241 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] <= <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> | <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>;
|
701 |
|
|
<a name="l03242"></a>03242 <span class="keyword">// V set if overflow</span>
|
702 |
|
|
<a name="l03243"></a>03243 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>;
|
703 |
|
|
<a name="l03244"></a>03244 <span class="keyword">// Z cleared if nonzero else unchanged</span>
|
704 |
|
|
<a name="l03245"></a>03245 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] <= <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] & <a class="code" href="classalu.html#a23a70b72cb751afcb0b4fd2c1adfe24c">`Z</a><span class="vhdlchar"></span>;
|
705 |
|
|
<a name="l03246"></a>03246 <span class="vhdlkeyword">end</span>
|
706 |
|
|
<a name="l03247"></a>03247 <span class="keyword">// NEG</span>
|
707 |
|
|
<a name="l03248"></a>03248 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">8</span>] == <span class="vhdllogic">4'b0100</span> ) <span class="vhdlkeyword">begin</span>
|
708 |
|
|
<a name="l03249"></a>03249 <span class="keyword">// C clear if zero else set</span>
|
709 |
|
|
<a name="l03250"></a>03250 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">0</span>] <= <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> | <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>;
|
710 |
|
|
<a name="l03251"></a>03251 <span class="keyword">// X=C</span>
|
711 |
|
|
<a name="l03252"></a>03252 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] <= <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> | <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>;
|
712 |
|
|
<a name="l03253"></a>03253 <span class="keyword">// V set if overflow</span>
|
713 |
|
|
<a name="l03254"></a>03254 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] <= <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> & <a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>;
|
714 |
|
|
<a name="l03255"></a>03255 <span class="keyword">// Z set if zero else clear</span>
|
715 |
|
|
<a name="l03256"></a>03256 <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] <= <a class="code" href="classalu.html#a23a70b72cb751afcb0b4fd2c1adfe24c">`Z</a><span class="vhdlchar"></span>;
|
716 |
|
|
<a name="l03257"></a>03257 <span class="vhdlkeyword">end</span>
|
717 |
|
|
<a name="l03258"></a>03258 <span class="vhdlkeyword">end</span>
|
718 |
|
|
<a name="l03259"></a>03259
|
719 |
|
|
<a name="l03260"></a>03260
|
720 |
|
|
<a name="l03261"></a>03261 <a class="code" href="ao68000_8v.html#a32c0e163ff437b07e40593ab59e42fe3">`ALU_SIMPLE_LONG_ADD</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
721 |
|
|
<a name="l03262"></a>03262 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] + <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>];
|
722 |
|
|
<a name="l03263"></a>03263
|
723 |
|
|
<a name="l03264"></a>03264 <span class="keyword">// CCR not affected</span>
|
724 |
|
|
<a name="l03265"></a>03265 <span class="vhdlkeyword">end</span>
|
725 |
|
|
<a name="l03266"></a>03266
|
726 |
|
|
<a name="l03267"></a>03267 <a class="code" href="ao68000_8v.html#aea6fee15f3d775b1a8d262490203c713">`ALU_SIMPLE_LONG_SUB</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
727 |
|
|
<a name="l03268"></a>03268 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] - <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>];
|
728 |
|
|
<a name="l03269"></a>03269
|
729 |
|
|
<a name="l03270"></a>03270 <span class="keyword">// CCR not affected</span>
|
730 |
|
|
<a name="l03271"></a>03271 <span class="vhdlkeyword">end</span>
|
731 |
|
|
<a name="l03272"></a>03272
|
732 |
|
|
<a name="l03273"></a>03273 <a class="code" href="ao68000_8v.html#a5083d98f4b785fe7af85ba1114f678ff">`ALU_MOVE_TO_CCR_SR_RTE_RTR_STOP_LOGIC_TO_CCR_SR</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
733 |
|
|
<a name="l03274"></a>03274
|
734 |
|
|
<a name="l03275"></a>03275 <span class="keyword">// MOVE TO SR,RTE,STOP,ORI to SR,ANDI to SR,EORI to SR</span>
|
735 |
|
|
<a name="l03276"></a>03276 <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">8</span>] == <span class="vhdllogic">8'b0100_0110</span> || <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">16'b0100_1110_0111_0011</span> || <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">16'b0100_1110_0111_0010</span> ||
|
736 |
|
|
<a name="l03277"></a>03277 <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">16'b0000_000_0_01_111100</span> || <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">16'b0000_001_0_01_111100</span> || <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">16'b0000_101_0_01_111100</span>
|
737 |
|
|
<a name="l03278"></a>03278 ) <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a> <= { <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">15</span>], <span class="vhdllogic">1'b0</span>, <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">13</span>], <span class="vhdllogic">2'b0</span>, <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">10</span>:<span class="vhdllogic">8</span>], <span class="vhdllogic">3'b0</span>, <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">0</span>] };
|
738 |
|
|
<a name="l03279"></a>03279 <span class="keyword">// MOVE TO CCR,RTR,ORI to CCR,ANDI to CCR,EORI to CCR</span>
|
739 |
|
|
<a name="l03280"></a>03280 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>( <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">8</span>] == <span class="vhdllogic">8'b0100_0100</span> || <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">16'b0100_1110_0111_0111</span> ||
|
740 |
|
|
<a name="l03281"></a>03281 <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">16'b0000_000_0_00_111100</span> || <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">16'b0000_001_0_00_111100</span> || <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">16'b0000_101_0_00_111100</span>
|
741 |
|
|
<a name="l03282"></a>03282 ) <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a> <= { <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">8</span>], <span class="vhdllogic">3'b0</span>, <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">0</span>] };
|
742 |
|
|
<a name="l03283"></a>03283 <span class="vhdlkeyword">end</span>
|
743 |
|
|
<a name="l03284"></a>03284
|
744 |
|
|
<a name="l03285"></a>03285 <a class="code" href="ao68000_8v.html#ab6d6f774c41848f9c33c7b393620be2d">`ALU_SIMPLE_MOVE</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
745 |
|
|
<a name="l03286"></a>03286 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>;
|
746 |
|
|
<a name="l03287"></a>03287
|
747 |
|
|
<a name="l03288"></a>03288 <span class="keyword">// CCR not affected</span>
|
748 |
|
|
<a name="l03289"></a>03289 <span class="vhdlkeyword">end</span>
|
749 |
|
|
<a name="l03290"></a>03290
|
750 |
|
|
<a name="l03291"></a>03291 <a class="code" href="ao68000_8v.html#ac439a8b79bd4b213f0f33172bd5e5a73">`ALU_LINK_MOVE</a><span class="vhdlchar"></span>: <span class="vhdlkeyword">begin</span>
|
751 |
|
|
<a name="l03292"></a>03292 <span class="vhdlkeyword">if</span>(<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">3</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">3'b111</span>) <span class="vhdlkeyword">begin</span>
|
752 |
|
|
<a name="l03293"></a>03293 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a> - <span class="vhdllogic">32'd4</span>;
|
753 |
|
|
<a name="l03294"></a>03294 <span class="vhdlkeyword">end</span>
|
754 |
|
|
<a name="l03295"></a>03295 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
|
755 |
|
|
<a name="l03296"></a>03296 <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> <= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>;
|
756 |
|
|
<a name="l03297"></a>03297 <span class="vhdlkeyword">end</span>
|
757 |
|
|
<a name="l03298"></a>03298
|
758 |
|
|
<a name="l03299"></a>03299 <span class="keyword">// CCR not affected</span>
|
759 |
|
|
<a name="l03300"></a>03300 <span class="vhdlkeyword">end</span>
|
760 |
|
|
<a name="l03301"></a>03301
|
761 |
|
|
<a name="l03302"></a>03302 <span class="vhdlkeyword">endcase</span>
|
762 |
|
|
<a name="l03303"></a>03303 <span class="vhdlkeyword">end</span>
|
763 |
|
|
<a name="l03304"></a>03304 <span class="vhdlkeyword">end</span>
|
764 |
|
|
</pre></div>
|
765 |
|
|
</div>
|
766 |
|
|
</div>
|
767 |
|
|
<hr/><h2>Member Data Documentation</h2>
|
768 |
|
|
<a class="anchor" id="ad7c0ea5d383c8038bf5854a8973218a2"></a><!-- doxytag: member="alu::clock" ref="ad7c0ea5d383c8038bf5854a8973218a2" args="" -->
|
769 |
|
|
<div class="memitem">
|
770 |
|
|
<div class="memproto">
|
771 |
|
|
<table class="memname">
|
772 |
|
|
<tr>
|
773 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#ad7c0ea5d383c8038bf5854a8973218a2">clock</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Input]</code></td>
|
774 |
|
|
</tr>
|
775 |
|
|
</table>
|
776 |
|
|
</div>
|
777 |
|
|
<div class="memdoc">
|
778 |
|
|
|
779 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02548">2548</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
780 |
|
|
|
781 |
|
|
</div>
|
782 |
|
|
</div>
|
783 |
|
|
<a class="anchor" id="a118127ef2a8f772e6e0b1b7f6166d43a"></a><!-- doxytag: member="alu::reset_n" ref="a118127ef2a8f772e6e0b1b7f6166d43a" args="" -->
|
784 |
|
|
<div class="memitem">
|
785 |
|
|
<div class="memproto">
|
786 |
|
|
<table class="memname">
|
787 |
|
|
<tr>
|
788 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#a118127ef2a8f772e6e0b1b7f6166d43a">reset_n</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Input]</code></td>
|
789 |
|
|
</tr>
|
790 |
|
|
</table>
|
791 |
|
|
</div>
|
792 |
|
|
<div class="memdoc">
|
793 |
|
|
|
794 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02549">2549</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
795 |
|
|
|
796 |
|
|
</div>
|
797 |
|
|
</div>
|
798 |
|
|
<a class="anchor" id="ad5077564c06a917e134e2be4f7f63650"></a><!-- doxytag: member="alu::address" ref="ad5077564c06a917e134e2be4f7f63650" args="" -->
|
799 |
|
|
<div class="memitem">
|
800 |
|
|
<div class="memproto">
|
801 |
|
|
<table class="memname">
|
802 |
|
|
<tr>
|
803 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#ad5077564c06a917e134e2be4f7f63650">address</a></span> <b><span class="vhdlchar">[</span><span class="vhdldigit">31</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Input]</code></td>
|
804 |
|
|
</tr>
|
805 |
|
|
</table>
|
806 |
|
|
</div>
|
807 |
|
|
<div class="memdoc">
|
808 |
|
|
|
809 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02552">2552</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
810 |
|
|
|
811 |
|
|
</div>
|
812 |
|
|
</div>
|
813 |
|
|
<a class="anchor" id="adca74bf3d9f5a4137f53633fcdaf4625"></a><!-- doxytag: member="alu::ir" ref="adca74bf3d9f5a4137f53633fcdaf4625" args="" -->
|
814 |
|
|
<div class="memitem">
|
815 |
|
|
<div class="memproto">
|
816 |
|
|
<table class="memname">
|
817 |
|
|
<tr>
|
818 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a></span> <b><span class="vhdlchar">[</span><span class="vhdldigit">15</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Input]</code></td>
|
819 |
|
|
</tr>
|
820 |
|
|
</table>
|
821 |
|
|
</div>
|
822 |
|
|
<div class="memdoc">
|
823 |
|
|
|
824 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02554">2554</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
825 |
|
|
|
826 |
|
|
</div>
|
827 |
|
|
</div>
|
828 |
|
|
<a class="anchor" id="a2dcdbec96479ce2e4183caf6173a90d7"></a><!-- doxytag: member="alu::size" ref="a2dcdbec96479ce2e4183caf6173a90d7" args="" -->
|
829 |
|
|
<div class="memitem">
|
830 |
|
|
<div class="memproto">
|
831 |
|
|
<table class="memname">
|
832 |
|
|
<tr>
|
833 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#a2dcdbec96479ce2e4183caf6173a90d7">size</a></span> <b><span class="vhdlchar">[</span><span class="vhdldigit">1</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Input]</code></td>
|
834 |
|
|
</tr>
|
835 |
|
|
</table>
|
836 |
|
|
</div>
|
837 |
|
|
<div class="memdoc">
|
838 |
|
|
|
839 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02556">2556</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
840 |
|
|
|
841 |
|
|
</div>
|
842 |
|
|
</div>
|
843 |
|
|
<a class="anchor" id="a224405fe69bdbfbcfce86640e891968b"></a><!-- doxytag: member="alu::operand1" ref="a224405fe69bdbfbcfce86640e891968b" args="" -->
|
844 |
|
|
<div class="memitem">
|
845 |
|
|
<div class="memproto">
|
846 |
|
|
<table class="memname">
|
847 |
|
|
<tr>
|
848 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a></span> <b><span class="vhdlchar">[</span><span class="vhdldigit">31</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Input]</code></td>
|
849 |
|
|
</tr>
|
850 |
|
|
</table>
|
851 |
|
|
</div>
|
852 |
|
|
<div class="memdoc">
|
853 |
|
|
|
854 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02558">2558</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
855 |
|
|
|
856 |
|
|
</div>
|
857 |
|
|
</div>
|
858 |
|
|
<a class="anchor" id="ad29df655eb2fbf597cab42f723ee89b8"></a><!-- doxytag: member="alu::operand2" ref="ad29df655eb2fbf597cab42f723ee89b8" args="" -->
|
859 |
|
|
<div class="memitem">
|
860 |
|
|
<div class="memproto">
|
861 |
|
|
<table class="memname">
|
862 |
|
|
<tr>
|
863 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a></span> <b><span class="vhdlchar">[</span><span class="vhdldigit">31</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Input]</code></td>
|
864 |
|
|
</tr>
|
865 |
|
|
</table>
|
866 |
|
|
</div>
|
867 |
|
|
<div class="memdoc">
|
868 |
|
|
|
869 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02559">2559</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
870 |
|
|
|
871 |
|
|
</div>
|
872 |
|
|
</div>
|
873 |
|
|
<a class="anchor" id="ab9e3f505c78e6c0b2340a5e1b364514b"></a><!-- doxytag: member="alu::interrupt_mask" ref="ab9e3f505c78e6c0b2340a5e1b364514b" args="" -->
|
874 |
|
|
<div class="memitem">
|
875 |
|
|
<div class="memproto">
|
876 |
|
|
<table class="memname">
|
877 |
|
|
<tr>
|
878 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#ab9e3f505c78e6c0b2340a5e1b364514b">interrupt_mask</a></span> <b><span class="vhdlchar">[</span><span class="vhdldigit">2</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Input]</code></td>
|
879 |
|
|
</tr>
|
880 |
|
|
</table>
|
881 |
|
|
</div>
|
882 |
|
|
<div class="memdoc">
|
883 |
|
|
|
884 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02561">2561</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
885 |
|
|
|
886 |
|
|
</div>
|
887 |
|
|
</div>
|
888 |
|
|
<a class="anchor" id="ab0c0bd4569a63b8d08b2e7a1d27cf177"></a><!-- doxytag: member="alu::alu_control" ref="ab0c0bd4569a63b8d08b2e7a1d27cf177" args="" -->
|
889 |
|
|
<div class="memitem">
|
890 |
|
|
<div class="memproto">
|
891 |
|
|
<table class="memname">
|
892 |
|
|
<tr>
|
893 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#ab0c0bd4569a63b8d08b2e7a1d27cf177">alu_control</a></span> <b><span class="vhdlchar">[</span><span class="vhdldigit">4</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Input]</code></td>
|
894 |
|
|
</tr>
|
895 |
|
|
</table>
|
896 |
|
|
</div>
|
897 |
|
|
<div class="memdoc">
|
898 |
|
|
|
899 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02562">2562</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
900 |
|
|
|
901 |
|
|
</div>
|
902 |
|
|
</div>
|
903 |
|
|
<a class="anchor" id="acf8f101c1e7acf19b3f2689e167274bb"></a><!-- doxytag: member="alu::sr" ref="acf8f101c1e7acf19b3f2689e167274bb" args="" -->
|
904 |
|
|
<div class="memitem">
|
905 |
|
|
<div class="memproto">
|
906 |
|
|
<table class="memname">
|
907 |
|
|
<tr>
|
908 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a></span> <b><span class="vhdlkeyword">reg</span><span class="vhdlchar">[</span><span class="vhdldigit">15</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Output]</code></td>
|
909 |
|
|
</tr>
|
910 |
|
|
</table>
|
911 |
|
|
</div>
|
912 |
|
|
<div class="memdoc">
|
913 |
|
|
|
914 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02564">2564</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
915 |
|
|
|
916 |
|
|
</div>
|
917 |
|
|
</div>
|
918 |
|
|
<a class="anchor" id="ae6619e261e0bef4badfe6941e2208782"></a><!-- doxytag: member="alu::result" ref="ae6619e261e0bef4badfe6941e2208782" args="" -->
|
919 |
|
|
<div class="memitem">
|
920 |
|
|
<div class="memproto">
|
921 |
|
|
<table class="memname">
|
922 |
|
|
<tr>
|
923 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a></span> <b><span class="vhdlkeyword">reg</span><span class="vhdlchar">[</span><span class="vhdldigit">31</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Output]</code></td>
|
924 |
|
|
</tr>
|
925 |
|
|
</table>
|
926 |
|
|
</div>
|
927 |
|
|
<div class="memdoc">
|
928 |
|
|
|
929 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02565">2565</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
930 |
|
|
|
931 |
|
|
</div>
|
932 |
|
|
</div>
|
933 |
|
|
<a class="anchor" id="a9967a58a4b4ce228c54e58f560547165"></a><!-- doxytag: member="alu::special" ref="a9967a58a4b4ce228c54e58f560547165" args="" -->
|
934 |
|
|
<div class="memitem">
|
935 |
|
|
<div class="memproto">
|
936 |
|
|
<table class="memname">
|
937 |
|
|
<tr>
|
938 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#a9967a58a4b4ce228c54e58f560547165">special</a></span> <b><span class="vhdlkeyword">reg</span><span class="vhdlchar">[</span><span class="vhdldigit">1</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Output]</code></td>
|
939 |
|
|
</tr>
|
940 |
|
|
</table>
|
941 |
|
|
</div>
|
942 |
|
|
<div class="memdoc">
|
943 |
|
|
|
944 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02566">2566</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
945 |
|
|
|
946 |
|
|
</div>
|
947 |
|
|
</div>
|
948 |
|
|
<a class="anchor" id="a84d66cf834afa9133f1934f03d6cc1a5"></a><!-- doxytag: member="alu::divu_quotient" ref="a84d66cf834afa9133f1934f03d6cc1a5" args="wire[31:0]" -->
|
949 |
|
|
<div class="memitem">
|
950 |
|
|
<div class="memproto">
|
951 |
|
|
<table class="memname">
|
952 |
|
|
<tr>
|
953 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#a84d66cf834afa9133f1934f03d6cc1a5">divu_quotient</a></span> <b><span class="vhdlchar"> </span></b> <code> [wire[31:0]]</code></td>
|
954 |
|
|
</tr>
|
955 |
|
|
</table>
|
956 |
|
|
</div>
|
957 |
|
|
<div class="memdoc">
|
958 |
|
|
|
959 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02569">2569</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
960 |
|
|
|
961 |
|
|
</div>
|
962 |
|
|
</div>
|
963 |
|
|
<a class="anchor" id="a8cef22afb37b55eea85eda4c20f9b1b7"></a><!-- doxytag: member="alu::divu_remainder" ref="a8cef22afb37b55eea85eda4c20f9b1b7" args="wire[15:0]" -->
|
964 |
|
|
<div class="memitem">
|
965 |
|
|
<div class="memproto">
|
966 |
|
|
<table class="memname">
|
967 |
|
|
<tr>
|
968 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#a8cef22afb37b55eea85eda4c20f9b1b7">divu_remainder</a></span> <b><span class="vhdlchar"> </span></b> <code> [wire[15:0]]</code></td>
|
969 |
|
|
</tr>
|
970 |
|
|
</table>
|
971 |
|
|
</div>
|
972 |
|
|
<div class="memdoc">
|
973 |
|
|
|
974 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02570">2570</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
975 |
|
|
|
976 |
|
|
</div>
|
977 |
|
|
</div>
|
978 |
|
|
<a class="anchor" id="ad580d5c6f7f3f0bc39f873db4ba36301"></a><!-- doxytag: member="alu::divs_quotient" ref="ad580d5c6f7f3f0bc39f873db4ba36301" args="wire[31:0]" -->
|
979 |
|
|
<div class="memitem">
|
980 |
|
|
<div class="memproto">
|
981 |
|
|
<table class="memname">
|
982 |
|
|
<tr>
|
983 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#ad580d5c6f7f3f0bc39f873db4ba36301">divs_quotient</a></span> <b><span class="vhdlchar"> </span></b> <code> [wire[31:0]]</code></td>
|
984 |
|
|
</tr>
|
985 |
|
|
</table>
|
986 |
|
|
</div>
|
987 |
|
|
<div class="memdoc">
|
988 |
|
|
|
989 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02571">2571</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
990 |
|
|
|
991 |
|
|
</div>
|
992 |
|
|
</div>
|
993 |
|
|
<a class="anchor" id="a0723b9ed6da6c9a2d2b68b36563b42e3"></a><!-- doxytag: member="alu::divs_remainder" ref="a0723b9ed6da6c9a2d2b68b36563b42e3" args="wire[15:0]" -->
|
994 |
|
|
<div class="memitem">
|
995 |
|
|
<div class="memproto">
|
996 |
|
|
<table class="memname">
|
997 |
|
|
<tr>
|
998 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#a0723b9ed6da6c9a2d2b68b36563b42e3">divs_remainder</a></span> <b><span class="vhdlchar"> </span></b> <code> [wire[15:0]]</code></td>
|
999 |
|
|
</tr>
|
1000 |
|
|
</table>
|
1001 |
|
|
</div>
|
1002 |
|
|
<div class="memdoc">
|
1003 |
|
|
|
1004 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02572">2572</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
1005 |
|
|
|
1006 |
|
|
</div>
|
1007 |
|
|
</div>
|
1008 |
|
|
<a class="anchor" id="a23c8e6648d0b07c6593402658bf83095"></a><!-- doxytag: member="alu::mulu_result" ref="a23c8e6648d0b07c6593402658bf83095" args="wire[31:0]" -->
|
1009 |
|
|
<div class="memitem">
|
1010 |
|
|
<div class="memproto">
|
1011 |
|
|
<table class="memname">
|
1012 |
|
|
<tr>
|
1013 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#a23c8e6648d0b07c6593402658bf83095">mulu_result</a></span> <b><span class="vhdlchar"> </span></b> <code> [wire[31:0]]</code></td>
|
1014 |
|
|
</tr>
|
1015 |
|
|
</table>
|
1016 |
|
|
</div>
|
1017 |
|
|
<div class="memdoc">
|
1018 |
|
|
|
1019 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02573">2573</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
1020 |
|
|
|
1021 |
|
|
</div>
|
1022 |
|
|
</div>
|
1023 |
|
|
<a class="anchor" id="a37551519218b05f156135f78f2ee2fe1"></a><!-- doxytag: member="alu::muls_result" ref="a37551519218b05f156135f78f2ee2fe1" args="wire[31:0]" -->
|
1024 |
|
|
<div class="memitem">
|
1025 |
|
|
<div class="memproto">
|
1026 |
|
|
<table class="memname">
|
1027 |
|
|
<tr>
|
1028 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#a37551519218b05f156135f78f2ee2fe1">muls_result</a></span> <b><span class="vhdlchar"> </span></b> <code> [wire[31:0]]</code></td>
|
1029 |
|
|
</tr>
|
1030 |
|
|
</table>
|
1031 |
|
|
</div>
|
1032 |
|
|
<div class="memdoc">
|
1033 |
|
|
|
1034 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02574">2574</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
1035 |
|
|
|
1036 |
|
|
</div>
|
1037 |
|
|
</div>
|
1038 |
|
|
<a class="anchor" id="a9b48bcb40d77a92c8109c2e4a2fa44c8"></a><!-- doxytag: member="alu::interrupt_mask_copy" ref="a9b48bcb40d77a92c8109c2e4a2fa44c8" args="reg[2:0]" -->
|
1039 |
|
|
<div class="memitem">
|
1040 |
|
|
<div class="memproto">
|
1041 |
|
|
<table class="memname">
|
1042 |
|
|
<tr>
|
1043 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#a9b48bcb40d77a92c8109c2e4a2fa44c8">interrupt_mask_copy</a></span> <b><span class="vhdlchar"> </span></b> <code> [reg[2:0]]</code></td>
|
1044 |
|
|
</tr>
|
1045 |
|
|
</table>
|
1046 |
|
|
</div>
|
1047 |
|
|
<div class="memdoc">
|
1048 |
|
|
|
1049 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02663">2663</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
1050 |
|
|
|
1051 |
|
|
</div>
|
1052 |
|
|
</div>
|
1053 |
|
|
<a class="anchor" id="a2a89cf942a86f276e4786fba4873e515"></a><!-- doxytag: member="alu::was_interrupt" ref="a2a89cf942a86f276e4786fba4873e515" args="reg" -->
|
1054 |
|
|
<div class="memitem">
|
1055 |
|
|
<div class="memproto">
|
1056 |
|
|
<table class="memname">
|
1057 |
|
|
<tr>
|
1058 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#a2a89cf942a86f276e4786fba4873e515">was_interrupt</a></span> <b><span class="vhdlchar"> </span></b> <code> [reg]</code></td>
|
1059 |
|
|
</tr>
|
1060 |
|
|
</table>
|
1061 |
|
|
</div>
|
1062 |
|
|
<div class="memdoc">
|
1063 |
|
|
|
1064 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02664">2664</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
1065 |
|
|
|
1066 |
|
|
</div>
|
1067 |
|
|
</div>
|
1068 |
|
|
<a class="anchor" id="a50ba636de1e4c3986cdd2a6d7d5779d3"></a><!-- doxytag: member="alu::Dm" ref="a50ba636de1e4c3986cdd2a6d7d5779d3" args="((size==2'b00)?operand1[7]:(size==2'b01)?operand1[15]:operand1[31])" -->
|
1069 |
|
|
<div class="memitem">
|
1070 |
|
|
<div class="memproto">
|
1071 |
|
|
<table class="memname">
|
1072 |
|
|
<tr>
|
1073 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">Dm</a></span> <b><span class="vhdlchar"> </span></b><code> [Define]</code></td>
|
1074 |
|
|
</tr>
|
1075 |
|
|
</table>
|
1076 |
|
|
</div>
|
1077 |
|
|
<div class="memdoc">
|
1078 |
|
|
|
1079 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02655">2655</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
1080 |
|
|
|
1081 |
|
|
</div>
|
1082 |
|
|
</div>
|
1083 |
|
|
<a class="anchor" id="a663a13286f43eb65ddc36752990daf91"></a><!-- doxytag: member="alu::lpm_divide" ref="a663a13286f43eb65ddc36752990daf91" args="" -->
|
1084 |
|
|
<div class="memitem">
|
1085 |
|
|
<div class="memproto">
|
1086 |
|
|
<table class="memname">
|
1087 |
|
|
<tr>
|
1088 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#a663a13286f43eb65ddc36752990daf91">lpm_divide</a></span> <b><span class="vhdlchar">divu_inst</span><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Module Instance]</code></td>
|
1089 |
|
|
</tr>
|
1090 |
|
|
</table>
|
1091 |
|
|
</div>
|
1092 |
|
|
<div class="memdoc">
|
1093 |
|
|
|
1094 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02591">2591</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
1095 |
|
|
|
1096 |
|
|
</div>
|
1097 |
|
|
</div>
|
1098 |
|
|
<a class="anchor" id="a63937f247c96f23cecbf16343afc85c6"></a><!-- doxytag: member="alu::lpm_divide" ref="a63937f247c96f23cecbf16343afc85c6" args="" -->
|
1099 |
|
|
<div class="memitem">
|
1100 |
|
|
<div class="memproto">
|
1101 |
|
|
<table class="memname">
|
1102 |
|
|
<tr>
|
1103 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#a63937f247c96f23cecbf16343afc85c6">lpm_divide</a></span> <b><span class="vhdlchar">divs_inst</span><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Module Instance]</code></td>
|
1104 |
|
|
</tr>
|
1105 |
|
|
</table>
|
1106 |
|
|
</div>
|
1107 |
|
|
<div class="memdoc">
|
1108 |
|
|
|
1109 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02608">2608</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
1110 |
|
|
|
1111 |
|
|
</div>
|
1112 |
|
|
</div>
|
1113 |
|
|
<a class="anchor" id="a971600ecbf5096805b63eedb9e8c57e2"></a><!-- doxytag: member="alu::lpm_mult" ref="a971600ecbf5096805b63eedb9e8c57e2" args="" -->
|
1114 |
|
|
<div class="memitem">
|
1115 |
|
|
<div class="memproto">
|
1116 |
|
|
<table class="memname">
|
1117 |
|
|
<tr>
|
1118 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#a971600ecbf5096805b63eedb9e8c57e2">lpm_mult</a></span> <b><span class="vhdlchar">mulu_inst</span><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Module Instance]</code></td>
|
1119 |
|
|
</tr>
|
1120 |
|
|
</table>
|
1121 |
|
|
</div>
|
1122 |
|
|
<div class="memdoc">
|
1123 |
|
|
|
1124 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02624">2624</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
1125 |
|
|
|
1126 |
|
|
</div>
|
1127 |
|
|
</div>
|
1128 |
|
|
<a class="anchor" id="a26728d930b96d3b4eb3777152250aa48"></a><!-- doxytag: member="alu::lpm_mult" ref="a26728d930b96d3b4eb3777152250aa48" args="" -->
|
1129 |
|
|
<div class="memitem">
|
1130 |
|
|
<div class="memproto">
|
1131 |
|
|
<table class="memname">
|
1132 |
|
|
<tr>
|
1133 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#a26728d930b96d3b4eb3777152250aa48">lpm_mult</a></span> <b><span class="vhdlchar">muls_inst</span><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Module Instance]</code></td>
|
1134 |
|
|
</tr>
|
1135 |
|
|
</table>
|
1136 |
|
|
</div>
|
1137 |
|
|
<div class="memdoc">
|
1138 |
|
|
|
1139 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02638">2638</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
1140 |
|
|
|
1141 |
|
|
</div>
|
1142 |
|
|
</div>
|
1143 |
|
|
<a class="anchor" id="a427db1cde5547577da8b980693d9bf64"></a><!-- doxytag: member="alu::Rm" ref="a427db1cde5547577da8b980693d9bf64" args="((size==2'b00)?result[7]:(size==2'b01)?result[15]:result[31])" -->
|
1144 |
|
|
<div class="memitem">
|
1145 |
|
|
<div class="memproto">
|
1146 |
|
|
<table class="memname">
|
1147 |
|
|
<tr>
|
1148 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#a427db1cde5547577da8b980693d9bf64">Rm</a></span> <b><span class="vhdlchar"> </span></b><code> [Define]</code></td>
|
1149 |
|
|
</tr>
|
1150 |
|
|
</table>
|
1151 |
|
|
</div>
|
1152 |
|
|
<div class="memdoc">
|
1153 |
|
|
|
1154 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02657">2657</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
1155 |
|
|
|
1156 |
|
|
</div>
|
1157 |
|
|
</div>
|
1158 |
|
|
<a class="anchor" id="a5b1a1cc35b92a5b359102232856eacc1"></a><!-- doxytag: member="alu::Sm" ref="a5b1a1cc35b92a5b359102232856eacc1" args="((size==2'b00)?operand2[7]:(size==2'b01)?operand2[15]:operand2[31])" -->
|
1159 |
|
|
<div class="memitem">
|
1160 |
|
|
<div class="memproto">
|
1161 |
|
|
<table class="memname">
|
1162 |
|
|
<tr>
|
1163 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">Sm</a></span> <b><span class="vhdlchar"> </span></b><code> [Define]</code></td>
|
1164 |
|
|
</tr>
|
1165 |
|
|
</table>
|
1166 |
|
|
</div>
|
1167 |
|
|
<div class="memdoc">
|
1168 |
|
|
|
1169 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02653">2653</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
1170 |
|
|
|
1171 |
|
|
</div>
|
1172 |
|
|
</div>
|
1173 |
|
|
<a class="anchor" id="a23a70b72cb751afcb0b4fd2c1adfe24c"></a><!-- doxytag: member="alu::Z" ref="a23a70b72cb751afcb0b4fd2c1adfe24c" args="((size==2'b00)?(result[7:0]==8'b0):(size==2'b01)?(result[15:0]==16'b0):(result[31:0]==32'b0))" -->
|
1174 |
|
|
<div class="memitem">
|
1175 |
|
|
<div class="memproto">
|
1176 |
|
|
<table class="memname">
|
1177 |
|
|
<tr>
|
1178 |
|
|
<td class="memname"><span class="stringliteral"><a class="el" href="classalu.html#a23a70b72cb751afcb0b4fd2c1adfe24c">Z</a></span> <b><span class="vhdlchar"> </span></b><code> [Define]</code></td>
|
1179 |
|
|
</tr>
|
1180 |
|
|
</table>
|
1181 |
|
|
</div>
|
1182 |
|
|
<div class="memdoc">
|
1183 |
|
|
|
1184 |
|
|
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l02659">2659</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
|
1185 |
|
|
|
1186 |
|
|
</div>
|
1187 |
|
|
</div>
|
1188 |
|
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
1189 |
|
|
<li><a class="el" href="ao68000_8v_source.html">ao68000.v</a></li>
|
1190 |
|
|
</ul>
|
1191 |
|
|
</div>
|
1192 |
|
|
<hr class="footer"/><address class="footer"><small>Generated on Sat Dec 11 2010 13:21:13 for ao68000 by 
|
1193 |
|
|
<a href="http://www.doxygen.org/index.html">
|
1194 |
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address>
|
1195 |
|
|
</body>
|
1196 |
|
|
</html>
|