OpenCores
URL https://opencores.org/ocsvn/ao68000/ao68000/trunk

Subversion Repositories ao68000

[/] [ao68000/] [trunk/] [doc/] [doxygen/] [html/] [classalu.html] - Blame information for rev 12

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
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&#160;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&#160;Unit&#160;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&#160;List</span></a></li>
23
      <li><a href="hierarchy.html"><span>Design&#160;Unit&#160;Hierarchy</span></a></li>
24
      <li><a href="functions.html"><span>Design&#160;Unit&#160;Members</span></a></li>
25
    </ul>
26
  </div>
27
</div>
28
<div class="header">
29
  <div class="summary">
30
<a href="#Inputs">Inputs</a> &#124;
31
<a href="#Outputs">Outputs</a> &#124;
32
<a href="#Signals">Signals</a> &#124;
33
<a href="#Module Instances">Module Instances</a> &#124;
34
<a href="#Defines">Defines</a> &#124;
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>&#160;</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> &#160;</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> &#160;</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> &#160;</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> &#160;</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> &#160;</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> &#160;</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> &#160;</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> &#160;</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> &#160;</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> &#160;</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> &#160;</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> &#160;</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> &#160;</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> &#160;</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> &#160;</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> &#160;</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>&#160;</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>&#160;</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>&#160;</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>&#160;</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> &#160;</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> &#160;</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> &#160;</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> &#160;</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> &#160;</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> &#160;</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> &#160;</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> &#160;</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&#39;b0</span>) <span class="vhdlkeyword">begin</span>
127
<a name="l02668"></a>02668         <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a> &lt;= { <span class="vhdllogic">1&#39;b0</span>, <span class="vhdllogic">1&#39;b0</span>, <span class="vhdllogic">1&#39;b1</span>, <span class="vhdllogic">2&#39;b0</span>, <span class="vhdllogic">3&#39;b111</span>, <span class="vhdllogic">8&#39;b0</span> };
128
<a name="l02669"></a>02669         <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> &lt;= <span class="vhdllogic">32&#39;d0</span>;
129
<a name="l02670"></a>02670         <a class="code" href="classalu.html#a9967a58a4b4ce228c54e58f560547165">special</a> &lt;= <span class="vhdllogic">2&#39;b0</span>;
130
<a name="l02671"></a>02671         <a class="code" href="classalu.html#a9b48bcb40d77a92c8109c2e4a2fa44c8">interrupt_mask_copy</a> &lt;= <span class="vhdllogic">3&#39;b0</span>;
131
<a name="l02672"></a>02672         <a class="code" href="classalu.html#a2a89cf942a86f276e4786fba4873e515">was_interrupt</a> &lt;= <span class="vhdllogic">1&#39;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> &lt;= <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> &lt;= <span class="vhdllogic">1&#39;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&#39;b1</span>) <span class="vhdlkeyword">begin</span>
142
<a name="l02683"></a>02683                     <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a> &lt;= { <span class="vhdllogic">1&#39;b0</span>, <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">14</span>], <span class="vhdllogic">1&#39;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> &lt;= { <span class="vhdllogic">1&#39;b0</span>, <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">14</span>], <span class="vhdllogic">1&#39;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> &lt;= <span class="vhdllogic">1&#39;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&#39;b1</span>)   <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">24</span>] &lt;= <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>] &lt;= <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&#39;b1</span>)   <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">23</span>:<span class="vhdllogic">16</span>] &lt;= <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>] &lt;= <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&#39;b1</span>)   <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">8</span>] &lt;= <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&#39;b1</span>)   <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] &lt;= <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&#39;b1</span>)   <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] &lt;= <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>] &lt;= <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&#39;b1</span>)   <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] &lt;= <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>] &lt;= <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>] &lt;= <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>] &lt;= <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&#39;b01</span>) <span class="vhdlkeyword">begin</span>
194
<a name="l02735"></a>02735                     <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> &lt;= { {<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> &lt;= <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&#39;b0000</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">3&#39;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&#39;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&#39;b0000</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">3&#39;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&#39;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>] &amp; <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&#39;b0000</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">3&#39;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&#39;b1011</span> &amp;&amp; (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">3&#39;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&#39;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&#39;b110</span>) &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">5</span>:<span class="vhdllogic">3</span>] != <span class="vhdllogic">3&#39;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&#39;b0000</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">3&#39;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&#39;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&#39;b0101</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1&#39;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&#39;b0000</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">3&#39;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&#39;b0000</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">3&#39;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&#39;b1011</span> &amp;&amp; (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">3&#39;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&#39;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&#39;b110</span>) &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">5</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">3&#39;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&#39;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&#39;b1011</span> &amp;&amp; (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">3&#39;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&#39;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&#39;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&#39;b0101</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1&#39;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>] &lt;= <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>] &lt;= <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&#39;b0000</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">3&#39;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&#39;b1011</span> &amp;&amp; (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">3&#39;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&#39;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&#39;b110</span>) &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">5</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">3&#39;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&#39;b1011</span> &amp;&amp; (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>:<span class="vhdllogic">6</span>] == <span class="vhdllogic">3&#39;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&#39;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&#39;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>] &lt;= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> &amp; ~<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> &amp; ~<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> &amp; <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>] &lt;= (~<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> &amp; <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> &amp; ~<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> &amp; ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> &amp; <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&#39;b0000</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">3&#39;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&#39;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&#39;b0101</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1&#39;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>] &lt;= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> &amp; <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> &amp; <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> &amp; ~<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>] &lt;= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> &amp; <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> &amp; <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> &amp; ~<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>] &lt;= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> &amp; <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> &amp; ~<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> &amp; ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> &amp; <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&#39;b0000</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">11</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">3&#39;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&#39;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&#39;b0101</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1&#39;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>] &lt;= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> &amp; ~<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> &amp; ~<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> &amp; <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>] &lt;= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> &amp; ~<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> &amp; ~<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> &amp; <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>] &lt;= (~<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> &amp; <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> &amp; ~<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> &amp; ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> &amp; <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>] &lt;= <span class="vhdllogic">1&#39;b0</span>;
269
<a name="l02810"></a>02810                     <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] &lt;= <span class="vhdllogic">1&#39;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&#39;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&#39;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&#39;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&#39;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&#39;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&#39;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&#39;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>] &gt; <span class="vhdllogic">6&#39;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&#39;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>] &gt; <span class="vhdllogic">6&#39;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&#39;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>] &gt; <span class="vhdllogic">6&#39;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&#39;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>] &gt; <span class="vhdllogic">6&#39;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&#39;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>] &lt;= (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>] &gt; <span class="vhdllogic">6&#39;d9</span>) ? <span class="vhdllogic">1&#39;b1</span> : <span class="vhdllogic">1&#39;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>] &lt;= (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>] &gt; <span class="vhdllogic">6&#39;d9</span>) ? <span class="vhdllogic">1&#39;b1</span> : <span class="vhdllogic">1&#39;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>] &lt;= (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">30</span>] == <span class="vhdllogic">1&#39;b0</span> &amp;&amp; <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>] == <span class="vhdllogic">1&#39;b1</span>) ? <span class="vhdllogic">1&#39;b1</span> : <span class="vhdllogic">1&#39;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&#39;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&#39;d32</span> + {<span class="vhdllogic">2&#39;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&#39;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&#39;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&#39;d32</span> + {<span class="vhdllogic">2&#39;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&#39;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&#39;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>] &lt; <span class="vhdllogic">6&#39;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&#39;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>] &lt; <span class="vhdllogic">6&#39;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&#39;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>] &lt; <span class="vhdllogic">6&#39;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&#39;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>] &lt; <span class="vhdllogic">6&#39;d32</span> &amp;&amp; <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">31</span>] == <span class="vhdllogic">1&#39;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&#39;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>] &lt;= (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>] &lt; <span class="vhdllogic">6&#39;d32</span>) ? <span class="vhdllogic">1&#39;b1</span> : <span class="vhdllogic">1&#39;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>] &lt;= (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">19</span>:<span class="vhdllogic">14</span>] &lt; <span class="vhdllogic">6&#39;d32</span>) ? <span class="vhdllogic">1&#39;b1</span> : <span class="vhdllogic">1&#39;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>] &lt;= (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">30</span>] == <span class="vhdllogic">1&#39;b1</span> &amp;&amp; <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>] == <span class="vhdllogic">1&#39;b0</span>) ? <span class="vhdllogic">1&#39;b1</span> : <span class="vhdllogic">1&#39;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&#39;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&#39;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>] &lt;= <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] &amp; <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>] &lt;= <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&#39;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>] &lt;= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> &amp; <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> &amp; <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> &amp; ~<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>] &lt;= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> &amp; <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> &amp; <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> &amp; ~<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>] &lt;= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> &amp; <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> &amp; ~<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> &amp; ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> &amp; <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&#39;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>] &lt;= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> &amp; ~<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> &amp; ~<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> &amp; <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>] &lt;= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> &amp; ~<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> &amp; ~<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> &amp; <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>] &lt;= (~<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> &amp; <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> &amp; ~<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> &amp; ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> &amp; <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&#39;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&#39;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&#39;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] &gt; 6&#39;b0 &amp;&amp; ir[8] == 1&#39;b1 &amp;&amp; ((ir[7:6] == 2&#39;b11 &amp;&amp; ir[10:9] == 2&#39;b00) || (ir[7:6] != 2&#39;b11 &amp;&amp; ir[4:3] == 2&#39;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] &lt;= `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>] &lt;= <span class="vhdllogic">1&#39;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&#39;b11</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">10</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">2&#39;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&#39;b11</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">2&#39;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>] &lt;= <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>] &lt;= <span class="vhdllogic">1&#39;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>] &lt;= <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>] &lt;= <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&#39;b11</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">10</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">2&#39;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&#39;b11</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">2&#39;b00</span>)) &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1&#39;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&#39;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>] &lt;= (<a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] == <span class="vhdllogic">1&#39;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&#39;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>] &lt;= <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>] &lt;= <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&#39;b11</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">10</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">2&#39;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&#39;b11</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">2&#39;b01</span>)) &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1&#39;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&#39;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>] &lt;= <span class="vhdllogic">1&#39;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>] &lt;= <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>] &lt;= <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&#39;b11</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">10</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">2&#39;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&#39;b11</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">2&#39;b11</span>)) &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1&#39;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>] &lt;= <span class="vhdllogic">1&#39;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>] &lt;= <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&#39;b11</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">10</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">2&#39;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&#39;b11</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">2&#39;b10</span>)) &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1&#39;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>] &lt;= <span class="vhdllogic">1&#39;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>] &lt;= <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>] &lt;= <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&#39;b11</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">10</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">2&#39;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&#39;b11</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">2&#39;b00</span>)) &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1&#39;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&#39;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&#39;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&#39;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>] &lt;= <span class="vhdllogic">1&#39;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>] &lt;= <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>] &lt;= <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&#39;b11</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">10</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">2&#39;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&#39;b11</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">2&#39;b01</span>)) &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1&#39;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&#39;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&#39;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&#39;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&#39;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&#39;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&#39;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>] &lt;= <span class="vhdllogic">1&#39;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>] &lt;= <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>] &lt;= <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&#39;b11</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">10</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">2&#39;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&#39;b11</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">2&#39;b11</span>)) &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1&#39;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&#39;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&#39;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&#39;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>] &lt;= <span class="vhdllogic">1&#39;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>] &lt;= <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&#39;b11</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">10</span>:<span class="vhdllogic">9</span>] == <span class="vhdllogic">2&#39;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&#39;b11</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">4</span>:<span class="vhdllogic">3</span>] == <span class="vhdllogic">2&#39;b10</span>)) &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1&#39;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&#39;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&#39;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&#39;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>] &lt;= <span class="vhdllogic">1&#39;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>] &lt;= <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>] &lt;= <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>] &lt;= <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>] &lt;= <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>] &lt;= <span class="vhdllogic">1&#39;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>] &lt;= <span class="vhdllogic">1&#39;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>] &lt;= <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>] &lt;= <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&#39;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&#39;b0101</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1&#39;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&#39;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&#39;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&#39;b0101</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1&#39;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&#39;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>] &lt;= <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>] &lt;= <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>] &lt;= (<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> &amp; ~<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> &amp; ~<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> &amp; <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>] &lt;= (~<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> &amp; <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> &amp; ~<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> &amp; ~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> &amp; <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] &lt;= (operand1[15:0] == 16&#39;b0) ? 1&#39;b1 : 1&#39;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] &lt;= 1&#39;b0;</span>
512
<a name="l03053"></a>03053                 <span class="keyword">//sr[1] &lt;= 1&#39;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] &lt;= (`Sm &amp; ~`Dm) | (`Rm &amp; ~`Dm) | (`Sm &amp; `Rm);</span>
516
<a name="l03057"></a>03057                 <span class="keyword">//    sr[4] &lt;= (`Sm &amp; ~`Dm) | (`Rm &amp; ~`Dm) | (`Sm &amp; `Rm); //=ccr[0];</span>
517
<a name="l03058"></a>03058                 <span class="keyword">//    sr[1] &lt;= (~`Sm &amp; `Dm &amp; ~`Rm) | (`Sm &amp; ~`Dm &amp; `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 &gt; 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>] &amp;&amp; ((~<a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> &amp; <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> &amp; ~<a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> &amp; ~<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> &amp; <a class="code" href="classalu.html#a5b1a1cc35b92a5b359102232856eacc1">`Sm</a><span class="vhdlchar"></span> &amp; ~<a class="code" href="classalu.html#a427db1cde5547577da8b980693d9bf64">`Rm</a><span class="vhdlchar"></span>)) == <span class="vhdllogic">1&#39;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>] &lt;= <span class="vhdllogic">1&#39;b0</span>;
524
<a name="l03065"></a>03065                     <a class="code" href="classalu.html#a9967a58a4b4ce228c54e58f560547165">special</a> &lt;= <span class="vhdllogic">2&#39;b01</span>;
525
<a name="l03066"></a>03066                 <span class="vhdlkeyword">end</span>
526
<a name="l03067"></a>03067                 <span class="keyword">// operand1 &lt; 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&#39;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>] &lt;= <span class="vhdllogic">1&#39;b1</span>;
530
<a name="l03071"></a>03071                     <a class="code" href="classalu.html#a9967a58a4b4ce228c54e58f560547165">special</a> &lt;= <span class="vhdllogic">2&#39;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> &lt;= <span class="vhdllogic">2&#39;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&#39;b1000</span> &amp;&amp; <a class="code" href="classalu.html#ad29df655eb2fbf597cab42f723ee89b8">operand2</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">16&#39;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>] &lt;= <span class="vhdllogic">1&#39;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>] &lt;= <span class="vhdllogic">1&#39;b0</span>;
550
<a name="l03091"></a>03091                     <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] &lt;= <span class="vhdllogic">1&#39;b0</span>;
551
<a name="l03092"></a>03092                     <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">3</span>] &lt;= <span class="vhdllogic">1&#39;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> &lt;= <span class="vhdllogic">2&#39;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&#39;b1000</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1&#39;b0</span>) &amp;&amp; (<a class="code" href="classalu.html#a84d66cf834afa9133f1934f03d6cc1a5">divu_quotient</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">16</span>] != <span class="vhdllogic">16&#39;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&#39;b1000</span> &amp;&amp; <a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1&#39;b1</span>) &amp;&amp; (<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>] &lt;= <span class="vhdllogic">1&#39;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>] &lt;= <span class="vhdllogic">1&#39;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>] &lt;= <span class="vhdllogic">1&#39;b0</span>;
567
<a name="l03108"></a>03108                     <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">3</span>] &lt;= <span class="vhdllogic">1&#39;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> &lt;= <span class="vhdllogic">2&#39;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&#39;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>] &lt;= (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1&#39;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>] &lt;= <span class="vhdllogic">1&#39;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>] &lt;= <span class="vhdllogic">1&#39;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>] &lt;= (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1&#39;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&#39;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&#39;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>] &lt;= (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1&#39;b0</span>)? (<a class="code" href="classalu.html#a84d66cf834afa9133f1934f03d6cc1a5">divu_quotient</a>[<span class="vhdllogic">15</span>] == <span class="vhdllogic">1&#39;b1</span>) : (<a class="code" href="classalu.html#ad580d5c6f7f3f0bc39f873db4ba36301">divs_quotient</a>[<span class="vhdllogic">15</span>] == <span class="vhdllogic">1&#39;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> &lt;= <span class="vhdllogic">2&#39;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&#39;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>] &lt;= (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1&#39;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>] &lt;= <span class="vhdllogic">1&#39;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>] &lt;= <span class="vhdllogic">1&#39;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>] &lt;= (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1&#39;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&#39;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&#39;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>] &lt;= (<a class="code" href="classalu.html#adca74bf3d9f5a4137f53633fcdaf4625">ir</a>[<span class="vhdllogic">8</span>] == <span class="vhdllogic">1&#39;b0</span>)? (<a class="code" href="classalu.html#a23c8e6648d0b07c6593402658bf83095">mulu_result</a>[<span class="vhdllogic">31</span>] == <span class="vhdllogic">1&#39;b1</span>) : (<a class="code" href="classalu.html#a37551519218b05f156135f78f2ee2fe1">muls_result</a>[<span class="vhdllogic">31</span>] == <span class="vhdllogic">1&#39;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> &lt;= <span class="vhdllogic">2&#39;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&#39;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>] &lt;= ~(<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&#39;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&#39;b10</span>) ? <span class="vhdllogic">1&#39;b0</span> : <span class="vhdllogic">1&#39;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&#39;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>] &lt;= ~(<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&#39;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&#39;b10</span>) ? <span class="vhdllogic">1&#39;b0</span> : <span class="vhdllogic">1&#39;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>] &lt;= { <span class="vhdllogic">1&#39;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>] &lt;= <span class="vhdllogic">1&#39;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>] &lt;= <span class="vhdllogic">1&#39;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>] &lt;= (<a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>] == <span class="vhdllogic">1&#39;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>] &lt;= (<a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">8&#39;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&#39;b0000</span> ) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> = <span class="vhdllogic">32&#39;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&#39;b0010</span> ) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> = <span class="vhdllogic">32&#39;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&#39;b0100</span> ) <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> = <span class="vhdllogic">32&#39;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&#39;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&#39;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&#39;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>] &gt; <span class="vhdllogic">4&#39;d9</span>) ? (<span class="vhdllogic">5&#39;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&#39;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&#39;b0</span> &amp;&amp; <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">3</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">4&#39;d9</span> &amp;&amp; <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">4</span>] == <span class="vhdllogic">4&#39;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&#39;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&#39;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&#39;b0</span> &amp;&amp; (<a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a>[<span class="vhdllogic">3</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">4&#39;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&#39;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&#39;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&#39;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&#39;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&#39;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>] &lt;= <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] &amp; <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>] &lt;= (<a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">8&#39;d0</span> &amp;&amp; <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] == <span class="vhdllogic">1&#39;b0</span>) ? <span class="vhdllogic">1&#39;b0</span> : <span class="vhdllogic">1&#39;b1</span>;
674
<a name="l03215"></a>03215                     <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] &lt;= (<a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">8&#39;d0</span> &amp;&amp; <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">4</span>] == <span class="vhdllogic">1&#39;b0</span>) ? <span class="vhdllogic">1&#39;b0</span> : <span class="vhdllogic">1&#39;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&#39;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&#39;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&#39;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>] &lt;= <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&#39;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&#39;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&#39;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&#39;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>] &lt;= <span class="vhdllogic">1&#39;b0</span>;
691
<a name="l03232"></a>03232                     <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">1</span>] &lt;= <span class="vhdllogic">1&#39;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>] &lt;= <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&#39;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>] &lt;= <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>] &lt;= <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>] &lt;= <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> &amp; <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>] &lt;= <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">2</span>] &amp; <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&#39;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>] &lt;= <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>] &lt;= <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>] &lt;= <a class="code" href="classalu.html#a50ba636de1e4c3986cdd2a6d7d5779d3">`Dm</a><span class="vhdlchar"></span> &amp; <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>] &lt;= <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> &lt;= <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> &lt;= <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&#39;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&#39;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&#39;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&#39;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&#39;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&#39;b0000_101_0_01_111100</span>
737
<a name="l03278"></a>03278                 )         <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a> &lt;= { <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">15</span>], <span class="vhdllogic">1&#39;b0</span>, <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a>[<span class="vhdllogic">13</span>], <span class="vhdllogic">2&#39;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&#39;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&#39;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&#39;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&#39;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&#39;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&#39;b0000_101_0_00_111100</span>
741
<a name="l03282"></a>03282                 )        <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a> &lt;= { <a class="code" href="classalu.html#acf8f101c1e7acf19b3f2689e167274bb">sr</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">8</span>], <span class="vhdllogic">3&#39;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> &lt;= <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&#39;b111</span>) <span class="vhdlkeyword">begin</span>
752
<a name="l03293"></a>03293                     <a class="code" href="classalu.html#ae6619e261e0bef4badfe6941e2208782">result</a> &lt;= <a class="code" href="classalu.html#a224405fe69bdbfbcfce86640e891968b">operand1</a> - <span class="vhdllogic">32&#39;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> &lt;= <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&#160;
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>

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.