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

Subversion Repositories ao68000

[/] [ao68000/] [trunk/] [doc/] [doxygen/] [html/] [classbus__control.html] - Blame information for rev 16

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: bus_control 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="#Parameters">Parameters</a> &#124;
34
<a href="#Always Constructs">Always Constructs</a>  </div>
35
  <div class="headertitle">
36
<h1>bus_control Module Reference</h1>  </div>
37
</div>
38
<div class="contents">
39
<!-- doxytag: class="bus_control" -->
40
<p>Initiate WISHBONE MASTER bus cycles.
41
<a href="#_details">More...</a></p>
42
<!-- startSectionHeader --><div class="dynheader">
43
Inheritance diagram for bus_control:<!-- endSectionHeader --></div>
44
<!-- startSectionSummary --><!-- endSectionSummary --><!-- startSectionContent --><div class="dyncontent">
45
 <div class="center">
46
  <img src="classbus__control.png" usemap="#bus_control_map" alt=""/>
47
  <map id="bus_control_map" name="bus_control_map">
48
<area href="classao68000.html" alt="ao68000" shape="rect" coords="0,56,78,80"/>
49
</map>
50
 </div><!-- endSectionContent --></div>
51
 
52
<p><a href="classbus__control-members.html">List of all members.</a></p>
53
<table class="memberdecls">
54
<tr><td colspan="2"><h2><a name="Always Constructs"></a>
55
Always Constructs</h2></td></tr>
56 16 alfik
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#ad06cdf24c29b1b82596011bac2c9169c">ALWAYS_0</a>&#160;</td><td class="memItemRight" valign="bottom"><b> ( <b><b><a class="el" href="classbus__control.html#a4054e75175a8d9a78f2e34150e1c0465">CLK_I</a></b> <span class="vhdlchar"> </span></b> , <b><b><a class="el" href="classbus__control.html#a7c0d04a169a341f11af2b012abd481b3">reset_n</a></b> <span class="vhdlchar"> </span></b> )</b></td></tr>
57
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#af34450e53e6fd2fd36db7dff17caf063">ALWAYS_1</a>&#160;</td><td class="memItemRight" valign="bottom"><b> ( <b><b><a class="el" href="classbus__control.html#a4054e75175a8d9a78f2e34150e1c0465">CLK_I</a></b> <span class="vhdlchar"> </span></b> , <b><b><a class="el" href="classbus__control.html#a7c0d04a169a341f11af2b012abd481b3">reset_n</a></b> <span class="vhdlchar"> </span></b> )</b></td></tr>
58 12 alfik
<tr><td colspan="2"><h2><a name="Inputs"></a>
59
Inputs</h2></td></tr>
60 16 alfik
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a4054e75175a8d9a78f2e34150e1c0465">CLK_I</a> &#160;</td><td class="memItemRight" valign="bottom"></td></tr>
61
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a7c0d04a169a341f11af2b012abd481b3">reset_n</a> &#160;</td><td class="memItemRight" valign="bottom"></td></tr>
62
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</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>
63
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#ae3d44827a99e7e34d82d6d9c963d969a">ACK_I</a> &#160;</td><td class="memItemRight" valign="bottom"></td></tr>
64
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#aed18e255e00983e6fa7ff68e5ef0a330">ERR_I</a> &#160;</td><td class="memItemRight" valign="bottom"></td></tr>
65
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#ac04b92d002ff6e8ef2ebdf0f8927e7fe">RTY_I</a> &#160;</td><td class="memItemRight" valign="bottom"></td></tr>
66
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a93ed536c4b75b18958ffa28838ae5957">ipl_i</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>
67 12 alfik
<tr><td colspan="2"><h2><a name="Outputs"></a>
68
Outputs</h2></td></tr>
69 16 alfik
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdlkeyword">reg</span><span class="vhdlchar"> </span></b>  </td></tr>
70
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#ab52b5981311dc9ab34a62adce2ffc430">ADR_O</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">2</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="classbus__control.html#aaf441f3256d7e10eee17eb5f1b70f1f4">DAT_O</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>
72
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a2207a4305beaf41acb3471efdad89ee8">SEL_O</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdlkeyword">reg</span><span class="vhdlchar">[</span><span class="vhdldigit">3</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="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdlkeyword">reg</span><span class="vhdlchar"> </span></b>  </td></tr>
74
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#ac79dbc3b2006a3d57dbd1612c87dc04d">WE_O</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdlkeyword">reg</span><span class="vhdlchar"> </span></b>  </td></tr>
75
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#aae2a079b8db9e4631c16bcf5adac9291">SGL_O</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdlkeyword">reg</span><span class="vhdlchar"> </span></b>  </td></tr>
76
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a7b17f75c0d89e01e582ef03415312775">BLK_O</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdlkeyword">reg</span><span class="vhdlchar"> </span></b>  </td></tr>
77
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#ab953355fe090ce478d166356b9cf085d">RMW_O</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdlkeyword">reg</span><span class="vhdlchar"> </span></b>  </td></tr>
78
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a832208fcd8a362c800163c4016a876b1">CTI_O</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdlkeyword">reg</span><span class="vhdlchar">[</span><span class="vhdldigit">2</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b>  </td></tr>
79
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a1dd14b92bd4443311024f3a3fa6e0c8d">BTE_O</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>
80
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a488e1e7c4869bb96a3cb4c0db79cf8c5">fc_o</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdlkeyword">reg</span><span class="vhdlchar">[</span><span class="vhdldigit">2</span><span class="vhdlchar">:</span><span class="vhdldigit">0</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b>  </td></tr>
81
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a139d4b4c2d79d749375db4dd71f3a9fd">reset_o</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdlkeyword">reg</span><span class="vhdlchar"> </span></b>  </td></tr>
82 12 alfik
<tr><td colspan="2"><h2><a name="Parameters"></a>
83
Parameters</h2></td></tr>
84 16 alfik
 <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#aec447565d3715dba2b7ce53da597625a">S_INIT</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>  <b><span class="vhdldigit">5'd0</span><span class="vhdlchar"> </span></b></td></tr>
85
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a8e24d83b04e325557b534b6fbe3c06ca">S_RESET</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">5'd1</span><span class="vhdlchar"> </span></b></td></tr>
86
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a2545a07988315cbf68e808af80333335">S_BLOCKED</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">5'd2</span><span class="vhdlchar"> </span></b></td></tr>
87
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a8ff92de377aefca42782778cda7132f3">S_INT_1</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">5'd3</span><span class="vhdlchar"> </span></b></td></tr>
88
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#af752b2515eb632068e26865f1569598c">S_READ_1</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">5'd4</span><span class="vhdlchar"> </span></b></td></tr>
89
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a269161b7fabba2e00d3a3a5153a9620e">S_READ_2</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">5'd5</span><span class="vhdlchar"> </span></b></td></tr>
90
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a8af7b5fb8c5d5d3788e5af5dad48393b">S_READ_3</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">5'd6</span><span class="vhdlchar"> </span></b></td></tr>
91
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a53bab195602acdcbccabf53952bbd2c3">S_WAIT</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">5'd7</span><span class="vhdlchar"> </span></b></td></tr>
92
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#aad6d7bc2df8264837b68548b4045a54b">S_WRITE_1</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">5'd8</span><span class="vhdlchar"> </span></b></td></tr>
93
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a1f273f6cbe8fa88c5ac793cdb16128c5">S_WRITE_2</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">5'd9</span><span class="vhdlchar"> </span></b></td></tr>
94
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#aa913a2abc1c8f2afa2bb8f6ebcbbca01">S_WRITE_3</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">5'd10</span><span class="vhdlchar"> </span></b></td></tr>
95
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#abc89f2549e5275c60648fc9a94876e29">S_PC_0</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">5'd11</span><span class="vhdlchar"> </span></b></td></tr>
96
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a729095d9bb813c82aee565216b092f38">S_PC_1</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">5'd12</span><span class="vhdlchar"> </span></b></td></tr>
97
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#aaa3088e2e223cdc5551d535c3739cad5">S_PC_2</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">5'd13</span><span class="vhdlchar"> </span></b></td></tr>
98
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a28895ce8a15bd607103ea20914434342">S_PC_3</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">5'd14</span><span class="vhdlchar"> </span></b></td></tr>
99
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a5e72ed7bc2e7991094fecd272775f92c">S_PC_4</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">5'd15</span><span class="vhdlchar"> </span></b></td></tr>
100
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#aa19b7d76f1e25fd78b158b98088bd82a">S_PC_5</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">5'd16</span><span class="vhdlchar"> </span></b></td></tr>
101
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a1c803cc4a4f514cd4027a798d9236e5e">S_PC_6</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">5'd17</span><span class="vhdlchar"> </span></b></td></tr>
102
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#abd13c1b70988aa3f59e1d9cc23e62eb2">FC_USER_DATA</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>  <b><span class="vhdldigit">3'd1</span><span class="vhdlchar"> </span></b></td></tr>
103
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a80b93f8634a7f03a199836a78c52d9bb">FC_USER_PROGRAM</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">3'd2</span><span class="vhdlchar"> </span></b></td></tr>
104
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a6cb25547c77c5085562bd0ace17d08a4">FC_SUPERVISOR_DATA</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">3'd5</span><span class="vhdlchar"> </span></b></td></tr>
105
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a1dc6742718597d6e0ef98e8200bb49bf">FC_SUPERVISOR_PROGRAM</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">3'd6</span><span class="vhdlchar"> </span></b></td></tr>
106
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#ac44cb27522dcf872ea1f1d63cb652d9b">FC_CPU_SPACE</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">3'd7</span><span class="vhdlchar"> </span></b></td></tr>
107
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#ad836a90bd600a96241bed00462efaa7f">CTI_CLASSIC_CYCLE</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>  <b><span class="vhdldigit">3'd0</span><span class="vhdlchar"> </span></b></td></tr>
108
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a4780c76f8764756e9ca6bc92a016fe8c">CTI_CONST_CYCLE</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">3'd1</span><span class="vhdlchar"> </span></b></td></tr>
109
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a9c7e8a6d030ee1f404d7526ebda509ca">CTI_INCR_CYCLE</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">3'd2</span><span class="vhdlchar"> </span></b></td></tr>
110
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a081002f0819a6acaf8e4dada896282ab">CTI_END_OF_BURST</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">3'd7</span><span class="vhdlchar"> </span></b></td></tr>
111
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a63d428a3abed8bfe070ad6e6f82ca72e">VECTOR_BUS_TRAP</a> &#160;</td><td class="memItemRight" valign="bottom"><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></b>  <b><span class="vhdldigit">8'd2</span><span class="vhdlchar"> </span></b></td></tr>
112
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbus__control.html#a16c432fa4a9897426aab6df04ee608e0">VECTOR_ADDRESS_TRAP</a> &#160;</td><td class="memItemRight" valign="bottom"><b><span class="vhdldigit">8'd3</span><span class="vhdlchar"> </span></b></td></tr>
113 12 alfik
<tr><td colspan="2"><h2><a name="Signals"></a>
114
Signals</h2></td></tr>
115 16 alfik
 <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="classbus__control.html#a96afbad4fe8073f7c58baf255b66c944">pc_i_plus_6</a> </td></tr>
116
<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="classbus__control.html#addb6490ae2acff8c93b321b1e14c7bd4">pc_i_plus_4</a> </td></tr>
117
<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="classbus__control.html#a2997069937ed71fba6eefb8837ba3282">address_i_plus_4</a> </td></tr>
118
<tr><td class="memItemLeft" align="right" valign="top"><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> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbus__control.html#a9d1ac811b477c31c0d6aec541dca418d">saved_pc_change</a> </td></tr>
119
<tr><td class="memItemLeft" align="right" valign="top"><b><span class="vhdlkeyword">reg</span><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> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> </td></tr>
120
<tr><td class="memItemLeft" align="right" valign="top"><b><span class="vhdlkeyword">reg</span><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></b> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbus__control.html#af4b71c6c152246795fcfed45e67bab33">reset_counter</a> </td></tr>
121
<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="classbus__control.html#a18d43f989323778008d066233ddaa191">last_interrupt_mask</a> </td></tr>
122 12 alfik
</table>
123
<hr/><a name="_details"></a><h2>Detailed Description</h2>
124
<p>Initiate WISHBONE MASTER bus cycles. </p>
125
<p>The <a class="el" href="classbus__control.html" title="Initiate WISHBONE MASTER bus cycles.">bus_control</a> module is the only module that has contact with signals from outside of the IP core. It is responsible for initiating WISHBONE MASTER bus cycles. The cycles can be divided into:</p>
126
<ul>
127
<li>memory read cycles (supervisor data, supervisor program, user data, user program)</li>
128
<li>memory write cycles (supervisor data, user data),</li>
129
<li>interrupt acknowledge.</li>
130
</ul>
131
<p>Every cycle is supplemented with the following tags:</p>
132
<ul>
133
<li>standard WISHBONE cycle tags: SGL_O, BLK_O, RMW_O,</li>
134
<li>register feedback WISHBONE address tags: CTI_O and BTE_O,</li>
135
<li><a class="el" href="classao68000.html" title="ao68000 top level module.">ao68000</a> specific cycle tag: fc_o which is equivalent to MC68000 function codes.</li>
136
</ul>
137
<p>The <a class="el" href="classbus__control.html" title="Initiate WISHBONE MASTER bus cycles.">bus_control</a> module is also responsible for registering interrupt inputs and initiating the interrupt acknowledge cycle in response to a microcode request. Microcode requests a interrupt acknowledge at the end of instruction processing, when the interrupt privilege level is higher than the current interrupt privilege mask, as specified in the MC68000 User's Manual.</p>
138
<p>Finally, <a class="el" href="classbus__control.html" title="Initiate WISHBONE MASTER bus cycles.">bus_control</a> controls also two <a class="el" href="classao68000.html" title="ao68000 top level module.">ao68000</a> specific core outputs:</p>
139
<ul>
140
<li>blocked output, high when that the processor is blocked after encountering a double bus error. The only way to leave this block state is by reseting the <a class="el" href="classao68000.html" title="ao68000 top level module.">ao68000</a> by the asynchronous reset input signal.</li>
141
<li>reset output, high when processing the RESET instruction. Can be used to reset external devices. </li>
142
</ul>
143
 
144 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00757">757</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
145 12 alfik
<hr/><h2>Member Function Documentation</h2>
146
<a class="anchor" id="ad06cdf24c29b1b82596011bac2c9169c"></a><!-- doxytag: member="bus_control::ALWAYS_0" ref="ad06cdf24c29b1b82596011bac2c9169c" args="CLK_I, reset_n" -->
147
<div class="memitem">
148
<div class="memproto">
149
      <table class="memname">
150
        <tr>
151
          <td class="memname"><b><span class="vhdlchar"> </span></b>ALWAYS_0          <td></td>
152 16 alfik
          <td class="paramtype">(<span class="keywordtype"></span> <b><b><a class="el" href="classbus__control.html#a4054e75175a8d9a78f2e34150e1c0465">CLK_I</a></b> <span class="vhdlchar"> </span></b>  <em><span class="vhdlkeyword"></span></em> , </td>
153 12 alfik
        </tr>
154
        <tr>
155
          <td class="paramkey"></td>
156
          <td></td>
157 16 alfik
          <td class="paramtype"><span class="keywordtype"></span> <b><b><a class="el" href="classbus__control.html#a7c0d04a169a341f11af2b012abd481b3">reset_n</a></b> <span class="vhdlchar"> </span></b>  <em><span class="vhdlkeyword"></span></em> ) </td>
158 12 alfik
        </tr>
159
<code> [Always Construct]</code></td>
160
        </tr>
161
      </table>
162
</div>
163
<div class="memdoc">
164
 
165 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00886">886</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
166 12 alfik
<div class="fragment"><pre class="fragment">
167 16 alfik
<a name="l00886"></a>00886 <span class="vhdlkeyword">always</span> @(<span class="vhdlkeyword">posedge</span> <a class="code" href="classbus__control.html#a4054e75175a8d9a78f2e34150e1c0465">CLK_I</a> <span class="vhdlkeyword">or</span> <span class="vhdlkeyword">negedge</span> <a class="code" href="classbus__control.html#a7c0d04a169a341f11af2b012abd481b3">reset_n</a>) <span class="vhdlkeyword">begin</span>
168
<a name="l00887"></a>00887     <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#a7c0d04a169a341f11af2b012abd481b3">reset_n</a> == <span class="vhdllogic">1&#39;b0</span>) <span class="vhdlkeyword">begin</span>
169
<a name="l00888"></a>00888         <span class="vhdlchar">interrupt_mask_o</span> &lt;= <span class="vhdllogic">3&#39;b000</span>;
170
<a name="l00889"></a>00889         <a class="code" href="classbus__control.html#a18d43f989323778008d066233ddaa191">last_interrupt_mask</a> &lt;= <span class="vhdllogic">3&#39;b000</span>;
171
<a name="l00890"></a>00890     <span class="vhdlkeyword">end</span>
172
<a name="l00891"></a>00891     <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#a93ed536c4b75b18958ffa28838ae5957">ipl_i</a> &gt; <span class="vhdlchar">ipm_i</span> &amp;&amp; <span class="vhdlchar">do_interrupt_i</span> == <span class="vhdllogic">1&#39;b0</span>) <span class="vhdlkeyword">begin</span>
173
<a name="l00892"></a>00892         <span class="vhdlchar">interrupt_mask_o</span> &lt;= <a class="code" href="classbus__control.html#a93ed536c4b75b18958ffa28838ae5957">ipl_i</a>;
174
<a name="l00893"></a>00893         <a class="code" href="classbus__control.html#a18d43f989323778008d066233ddaa191">last_interrupt_mask</a> &lt;= <span class="vhdlchar">interrupt_mask_o</span>;
175
<a name="l00894"></a>00894     <span class="vhdlkeyword">end</span>
176
<a name="l00895"></a>00895     <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<span class="vhdlchar">do_interrupt_i</span> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
177
<a name="l00896"></a>00896         <span class="vhdlchar">interrupt_mask_o</span> &lt;= <a class="code" href="classbus__control.html#a18d43f989323778008d066233ddaa191">last_interrupt_mask</a>;
178
<a name="l00897"></a>00897     <span class="vhdlkeyword">end</span>
179
<a name="l00898"></a>00898     <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
180
<a name="l00899"></a>00899         <span class="vhdlchar">interrupt_mask_o</span> &lt;= <span class="vhdllogic">3&#39;b000</span>;
181
<a name="l00900"></a>00900         <a class="code" href="classbus__control.html#a18d43f989323778008d066233ddaa191">last_interrupt_mask</a> &lt;= <span class="vhdllogic">3&#39;b000</span>;
182
<a name="l00901"></a>00901     <span class="vhdlkeyword">end</span>
183
<a name="l00902"></a>00902 <span class="vhdlkeyword">end</span>
184 12 alfik
</pre></div>
185
</div>
186
</div>
187
<a class="anchor" id="af34450e53e6fd2fd36db7dff17caf063"></a><!-- doxytag: member="bus_control::ALWAYS_1" ref="af34450e53e6fd2fd36db7dff17caf063" args="CLK_I, reset_n" -->
188
<div class="memitem">
189
<div class="memproto">
190
      <table class="memname">
191
        <tr>
192
          <td class="memname"><b><span class="vhdlchar"> </span></b>ALWAYS_1          <td></td>
193 16 alfik
          <td class="paramtype">(<span class="keywordtype"></span> <b><b><a class="el" href="classbus__control.html#a4054e75175a8d9a78f2e34150e1c0465">CLK_I</a></b> <span class="vhdlchar"> </span></b>  <em><span class="vhdlkeyword"></span></em> , </td>
194 12 alfik
        </tr>
195
        <tr>
196
          <td class="paramkey"></td>
197
          <td></td>
198 16 alfik
          <td class="paramtype"><span class="keywordtype"></span> <b><b><a class="el" href="classbus__control.html#a7c0d04a169a341f11af2b012abd481b3">reset_n</a></b> <span class="vhdlchar"> </span></b>  <em><span class="vhdlkeyword"></span></em> ) </td>
199 12 alfik
        </tr>
200
<code> [Always Construct]</code></td>
201
        </tr>
202
      </table>
203
</div>
204
<div class="memdoc">
205
 
206 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00906">906</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
207 12 alfik
<div class="fragment"><pre class="fragment">
208 16 alfik
<a name="l00906"></a>00906 <span class="vhdlkeyword">always</span> @(<span class="vhdlkeyword">posedge</span> <a class="code" href="classbus__control.html#a4054e75175a8d9a78f2e34150e1c0465">CLK_I</a> <span class="vhdlkeyword">or</span> <span class="vhdlkeyword">negedge</span> <a class="code" href="classbus__control.html#a7c0d04a169a341f11af2b012abd481b3">reset_n</a>) <span class="vhdlkeyword">begin</span>
209
<a name="l00907"></a>00907     <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#a7c0d04a169a341f11af2b012abd481b3">reset_n</a> == <span class="vhdllogic">1&#39;b0</span>) <span class="vhdlkeyword">begin</span>
210
<a name="l00908"></a>00908         <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#aec447565d3715dba2b7ce53da597625a">S_INIT</a>;
211
<a name="l00909"></a>00909         <span class="vhdlchar">interrupt_trap_o</span> &lt;= <span class="vhdllogic">8&#39;d0</span>;
212
<a name="l00910"></a>00910         <span class="vhdlchar">prefetch_ir_valid_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
213
<a name="l00911"></a>00911         <span class="vhdlchar">prefetch_ir_valid_32_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
214
<a name="l00912"></a>00912         <span class="vhdlchar">prefetch_ir_valid_80_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
215
<a name="l00913"></a>00913
216
<a name="l00914"></a>00914         <span class="vhdlchar">jmp_address_trap_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
217
<a name="l00915"></a>00915         <span class="vhdlchar">jmp_bus_trap_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
218
<a name="l00916"></a>00916
219
<a name="l00917"></a>00917         <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
220
<a name="l00918"></a>00918         <a class="code" href="classbus__control.html#ab52b5981311dc9ab34a62adce2ffc430">ADR_O</a> &lt;= <span class="vhdllogic">30&#39;d0</span>;
221
<a name="l00919"></a>00919         <a class="code" href="classbus__control.html#aaf441f3256d7e10eee17eb5f1b70f1f4">DAT_O</a> &lt;= <span class="vhdllogic">32&#39;d0</span>;
222
<a name="l00920"></a>00920         <a class="code" href="classbus__control.html#a2207a4305beaf41acb3471efdad89ee8">SEL_O</a> &lt;= <span class="vhdllogic">4&#39;b0</span>;
223
<a name="l00921"></a>00921         <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
224
<a name="l00922"></a>00922         <a class="code" href="classbus__control.html#ac79dbc3b2006a3d57dbd1612c87dc04d">WE_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
225
<a name="l00923"></a>00923         <a class="code" href="classbus__control.html#aae2a079b8db9e4631c16bcf5adac9291">SGL_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
226
<a name="l00924"></a>00924         <a class="code" href="classbus__control.html#a7b17f75c0d89e01e582ef03415312775">BLK_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
227
<a name="l00925"></a>00925         <a class="code" href="classbus__control.html#ab953355fe090ce478d166356b9cf085d">RMW_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
228
<a name="l00926"></a>00926         <a class="code" href="classbus__control.html#a832208fcd8a362c800163c4016a876b1">CTI_O</a> &lt;= <span class="vhdllogic">3&#39;d0</span>;
229
<a name="l00927"></a>00927         <a class="code" href="classbus__control.html#a488e1e7c4869bb96a3cb4c0db79cf8c5">fc_o</a> &lt;= <span class="vhdllogic">3&#39;d0</span>;
230
<a name="l00928"></a>00928         <a class="code" href="classbus__control.html#a139d4b4c2d79d749375db4dd71f3a9fd">reset_o</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
231
<a name="l00929"></a>00929         <span class="vhdlchar">blocked_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
232
<a name="l00930"></a>00930         <span class="vhdlchar">data_read_o</span> &lt;= <span class="vhdllogic">32&#39;d0</span>;
233
<a name="l00931"></a>00931         <span class="vhdlchar">finished_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
234
<a name="l00932"></a>00932         <span class="vhdlchar">rw_state_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
235
<a name="l00933"></a>00933         <span class="vhdlchar">fc_state_o</span> &lt;= <span class="vhdllogic">3&#39;d0</span>;
236
<a name="l00934"></a>00934         <span class="vhdlchar">fault_address_state_o</span> &lt;= <span class="vhdllogic">32&#39;d0</span>;
237
<a name="l00935"></a>00935         <a class="code" href="classbus__control.html#a9d1ac811b477c31c0d6aec541dca418d">saved_pc_change</a> &lt;= <span class="vhdllogic">2&#39;b0</span>;
238
<a name="l00936"></a>00936         <a class="code" href="classbus__control.html#af4b71c6c152246795fcfed45e67bab33">reset_counter</a> &lt;= <span class="vhdllogic">8&#39;d0</span>;
239
<a name="l00937"></a>00937     <span class="vhdlkeyword">end</span>
240
<a name="l00938"></a>00938     <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
241
<a name="l00939"></a>00939         <span class="vhdlkeyword">case</span>(<a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a>)
242
<a name="l00940"></a>00940             <a class="code" href="classbus__control.html#aec447565d3715dba2b7ce53da597625a">S_INIT</a>: <span class="vhdlkeyword">begin</span>
243
<a name="l00941"></a>00941                 <span class="vhdlchar">finished_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
244
<a name="l00942"></a>00942                 <span class="vhdlchar">jmp_address_trap_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
245
<a name="l00943"></a>00943                 <span class="vhdlchar">jmp_bus_trap_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
246
<a name="l00944"></a>00944                 <a class="code" href="classbus__control.html#a139d4b4c2d79d749375db4dd71f3a9fd">reset_o</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
247
<a name="l00945"></a>00945                 <span class="vhdlchar">blocked_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
248
<a name="l00946"></a>00946
249
<a name="l00947"></a>00947                 <span class="keyword">// block</span>
250
<a name="l00948"></a>00948                 <span class="vhdlkeyword">if</span>(<span class="vhdlchar">do_blocked_i</span> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
251
<a name="l00949"></a>00949                     <span class="vhdlchar">blocked_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
252
<a name="l00950"></a>00950                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a2545a07988315cbf68e808af80333335">S_BLOCKED</a>;
253 13 alfik
<a name="l00951"></a>00951                 <span class="vhdlkeyword">end</span>
254 16 alfik
<a name="l00952"></a>00952                 <span class="keyword">// reset</span>
255
<a name="l00953"></a>00953                 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<span class="vhdlchar">do_reset_i</span> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
256
<a name="l00954"></a>00954                     <a class="code" href="classbus__control.html#a139d4b4c2d79d749375db4dd71f3a9fd">reset_o</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
257
<a name="l00955"></a>00955                     <a class="code" href="classbus__control.html#af4b71c6c152246795fcfed45e67bab33">reset_counter</a> &lt;= <span class="vhdllogic">8&#39;d124</span>;
258
<a name="l00956"></a>00956                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a8e24d83b04e325557b534b6fbe3c06ca">S_RESET</a>;
259
<a name="l00957"></a>00957                 <span class="vhdlkeyword">end</span>
260
<a name="l00958"></a>00958                 <span class="keyword">// read</span>
261
<a name="l00959"></a>00959                 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<span class="vhdlchar">do_read_i</span> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
262
<a name="l00960"></a>00960                     <a class="code" href="classbus__control.html#ac79dbc3b2006a3d57dbd1612c87dc04d">WE_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
263
<a name="l00961"></a>00961                     <span class="vhdlkeyword">if</span>(<span class="vhdlchar">supervisor_i</span> == <span class="vhdllogic">1&#39;b1</span>)    <a class="code" href="classbus__control.html#a488e1e7c4869bb96a3cb4c0db79cf8c5">fc_o</a> &lt;= (<span class="vhdlchar">address_type_i</span> == <span class="vhdllogic">1&#39;b0</span>) ? <a class="code" href="classbus__control.html#a6cb25547c77c5085562bd0ace17d08a4">FC_SUPERVISOR_DATA</a> : <a class="code" href="classbus__control.html#a1dc6742718597d6e0ef98e8200bb49bf">FC_SUPERVISOR_PROGRAM</a>;
264
<a name="l00962"></a>00962                     <span class="vhdlkeyword">else</span>                        <a class="code" href="classbus__control.html#a488e1e7c4869bb96a3cb4c0db79cf8c5">fc_o</a> &lt;= (<span class="vhdlchar">address_type_i</span> == <span class="vhdllogic">1&#39;b0</span>) ? <a class="code" href="classbus__control.html#abd13c1b70988aa3f59e1d9cc23e62eb2">FC_USER_DATA</a> : <a class="code" href="classbus__control.html#a80b93f8634a7f03a199836a78c52d9bb">FC_USER_PROGRAM</a>;
265
<a name="l00963"></a>00963
266
<a name="l00964"></a>00964                     <span class="vhdlkeyword">if</span>(<span class="vhdlchar">address_i</span>[<span class="vhdllogic">0</span>] == <span class="vhdllogic">1&#39;b1</span> &amp;&amp; (<span class="vhdlchar">size_i</span>[<span class="vhdllogic">0</span>] == <span class="vhdllogic">1&#39;b0</span>)) <span class="vhdlkeyword">begin</span> <span class="keyword">// WORD or LONG WORD</span>
267
<a name="l00965"></a>00965                         <span class="vhdlchar">fault_address_state_o</span> &lt;= <span class="vhdlchar">address_i</span>;
268
<a name="l00966"></a>00966                         <span class="vhdlchar">rw_state_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
269
<a name="l00967"></a>00967                         <span class="vhdlchar">fc_state_o</span> &lt;= (<span class="vhdlchar">supervisor_i</span> == <span class="vhdllogic">1&#39;b1</span>) ?  ((<span class="vhdlchar">address_type_i</span> == <span class="vhdllogic">1&#39;b0</span>) ? <a class="code" href="classbus__control.html#a6cb25547c77c5085562bd0ace17d08a4">FC_SUPERVISOR_DATA</a> : <a class="code" href="classbus__control.html#a1dc6742718597d6e0ef98e8200bb49bf">FC_SUPERVISOR_PROGRAM</a>) :
270
<a name="l00968"></a>00968                                                                 ((<span class="vhdlchar">address_type_i</span> == <span class="vhdllogic">1&#39;b0</span>) ? <a class="code" href="classbus__control.html#abd13c1b70988aa3f59e1d9cc23e62eb2">FC_USER_DATA</a> : <a class="code" href="classbus__control.html#a80b93f8634a7f03a199836a78c52d9bb">FC_USER_PROGRAM</a>);
271
<a name="l00969"></a>00969                         <span class="vhdlchar">interrupt_trap_o</span> &lt;= <a class="code" href="classbus__control.html#a16c432fa4a9897426aab6df04ee608e0">VECTOR_ADDRESS_TRAP</a>;
272
<a name="l00970"></a>00970
273
<a name="l00971"></a>00971                         <span class="vhdlchar">jmp_address_trap_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
274
<a name="l00972"></a>00972                         <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a53bab195602acdcbccabf53952bbd2c3">S_WAIT</a>;
275
<a name="l00973"></a>00973                     <span class="vhdlkeyword">end</span>
276
<a name="l00974"></a>00974                     <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
277
<a name="l00975"></a>00975                         <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
278
<a name="l00976"></a>00976                         <a class="code" href="classbus__control.html#ab52b5981311dc9ab34a62adce2ffc430">ADR_O</a> &lt;= <span class="vhdlchar">address_i</span>[<span class="vhdllogic">31</span>:<span class="vhdllogic">2</span>];
279
<a name="l00977"></a>00977                         <a class="code" href="classbus__control.html#a2207a4305beaf41acb3471efdad89ee8">SEL_O</a> &lt;=    (<span class="vhdlchar">size_i</span>[<span class="vhdllogic">0</span>] == <span class="vhdllogic">1&#39;b1</span> &amp;&amp; <span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b00</span>)? <span class="vhdllogic">4&#39;b1000</span> :
280
<a name="l00978"></a>00978                                     (<span class="vhdlchar">size_i</span>[<span class="vhdllogic">0</span>] == <span class="vhdllogic">1&#39;b1</span> &amp;&amp; <span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b01</span>)? <span class="vhdllogic">4&#39;b0100</span> :
281
<a name="l00979"></a>00979                                     (<span class="vhdlchar">size_i</span>[<span class="vhdllogic">0</span>] == <span class="vhdllogic">1&#39;b1</span> &amp;&amp; <span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b10</span>)? <span class="vhdllogic">4&#39;b0010</span> :
282
<a name="l00980"></a>00980                                     (<span class="vhdlchar">size_i</span>[<span class="vhdllogic">0</span>] == <span class="vhdllogic">1&#39;b1</span> &amp;&amp; <span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b11</span>)? <span class="vhdllogic">4&#39;b0001</span> :
283
<a name="l00981"></a>00981                                     (<span class="vhdlchar">size_i</span>[<span class="vhdllogic">1</span>] == <span class="vhdllogic">1&#39;b1</span> &amp;&amp; <span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>] == <span class="vhdllogic">2&#39;b0</span>)?    <span class="vhdllogic">4&#39;b1100</span> :
284
<a name="l00982"></a>00982                                     (<span class="vhdlchar">size_i</span>[<span class="vhdllogic">0</span>] == <span class="vhdllogic">1&#39;b0</span> &amp;&amp; <span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>] == <span class="vhdllogic">2&#39;b1</span>)?    <span class="vhdllogic">4&#39;b0011</span> :
285
<a name="l00983"></a>00983                                                                                     <span class="vhdllogic">4&#39;b1111</span>;
286
<a name="l00984"></a>00984                         <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
287
<a name="l00985"></a>00985
288
<a name="l00986"></a>00986                         <span class="vhdlkeyword">if</span>(<span class="vhdlchar">read_modify_write_i</span> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
289
<a name="l00987"></a>00987                             <a class="code" href="classbus__control.html#aae2a079b8db9e4631c16bcf5adac9291">SGL_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
290
<a name="l00988"></a>00988                             <a class="code" href="classbus__control.html#a7b17f75c0d89e01e582ef03415312775">BLK_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
291
<a name="l00989"></a>00989                             <a class="code" href="classbus__control.html#ab953355fe090ce478d166356b9cf085d">RMW_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
292
<a name="l00990"></a>00990                             <a class="code" href="classbus__control.html#a832208fcd8a362c800163c4016a876b1">CTI_O</a> &lt;= <a class="code" href="classbus__control.html#a081002f0819a6acaf8e4dada896282ab">CTI_END_OF_BURST</a>;
293 13 alfik
<a name="l00991"></a>00991                         <span class="vhdlkeyword">end</span>
294 16 alfik
<a name="l00992"></a>00992                         <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b10</span> &amp;&amp; <span class="vhdlchar">size_i</span>[<span class="vhdllogic">2</span>] == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
295
<a name="l00993"></a>00993                             <a class="code" href="classbus__control.html#aae2a079b8db9e4631c16bcf5adac9291">SGL_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
296
<a name="l00994"></a>00994                             <a class="code" href="classbus__control.html#a7b17f75c0d89e01e582ef03415312775">BLK_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
297
<a name="l00995"></a>00995                             <a class="code" href="classbus__control.html#ab953355fe090ce478d166356b9cf085d">RMW_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
298
<a name="l00996"></a>00996                             <a class="code" href="classbus__control.html#a832208fcd8a362c800163c4016a876b1">CTI_O</a> &lt;= <a class="code" href="classbus__control.html#a9c7e8a6d030ee1f404d7526ebda509ca">CTI_INCR_CYCLE</a>;
299 13 alfik
<a name="l00997"></a>00997                         <span class="vhdlkeyword">end</span>
300 16 alfik
<a name="l00998"></a>00998                         <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
301
<a name="l00999"></a>00999                             <a class="code" href="classbus__control.html#aae2a079b8db9e4631c16bcf5adac9291">SGL_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
302
<a name="l01000"></a>01000                             <a class="code" href="classbus__control.html#a7b17f75c0d89e01e582ef03415312775">BLK_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
303
<a name="l01001"></a>01001                             <a class="code" href="classbus__control.html#ab953355fe090ce478d166356b9cf085d">RMW_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
304
<a name="l01002"></a>01002                             <a class="code" href="classbus__control.html#a832208fcd8a362c800163c4016a876b1">CTI_O</a> &lt;= <a class="code" href="classbus__control.html#a081002f0819a6acaf8e4dada896282ab">CTI_END_OF_BURST</a>;
305
<a name="l01003"></a>01003                         <span class="vhdlkeyword">end</span>
306
<a name="l01004"></a>01004
307
<a name="l01005"></a>01005                         <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#af752b2515eb632068e26865f1569598c">S_READ_1</a>;
308
<a name="l01006"></a>01006                     <span class="vhdlkeyword">end</span>
309
<a name="l01007"></a>01007                 <span class="vhdlkeyword">end</span>
310
<a name="l01008"></a>01008                 <span class="keyword">// write</span>
311
<a name="l01009"></a>01009                 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<span class="vhdlchar">do_write_i</span> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
312
<a name="l01010"></a>01010                     <a class="code" href="classbus__control.html#ac79dbc3b2006a3d57dbd1612c87dc04d">WE_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
313
<a name="l01011"></a>01011                     <span class="vhdlkeyword">if</span>(<span class="vhdlchar">supervisor_i</span> == <span class="vhdllogic">1&#39;b1</span>)    <a class="code" href="classbus__control.html#a488e1e7c4869bb96a3cb4c0db79cf8c5">fc_o</a> &lt;= <a class="code" href="classbus__control.html#a6cb25547c77c5085562bd0ace17d08a4">FC_SUPERVISOR_DATA</a>;
314
<a name="l01012"></a>01012                     <span class="vhdlkeyword">else</span>                        <a class="code" href="classbus__control.html#a488e1e7c4869bb96a3cb4c0db79cf8c5">fc_o</a> &lt;= <a class="code" href="classbus__control.html#abd13c1b70988aa3f59e1d9cc23e62eb2">FC_USER_DATA</a>;
315 13 alfik
<a name="l01013"></a>01013
316 16 alfik
<a name="l01014"></a>01014                     <span class="vhdlkeyword">if</span>(<span class="vhdlchar">address_i</span>[<span class="vhdllogic">0</span>] == <span class="vhdllogic">1&#39;b1</span> &amp;&amp; <span class="vhdlchar">size_i</span>[<span class="vhdllogic">0</span>] == <span class="vhdllogic">1&#39;b0</span>) <span class="vhdlkeyword">begin</span> <span class="keyword">// WORD or LONG WORD</span>
317
<a name="l01015"></a>01015                         <span class="vhdlchar">fault_address_state_o</span> &lt;= <span class="vhdlchar">address_i</span>;
318
<a name="l01016"></a>01016                         <span class="vhdlchar">rw_state_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
319
<a name="l01017"></a>01017                         <span class="vhdlchar">fc_state_o</span> &lt;= (<span class="vhdlchar">supervisor_i</span> == <span class="vhdllogic">1&#39;b1</span>) ? <a class="code" href="classbus__control.html#a6cb25547c77c5085562bd0ace17d08a4">FC_SUPERVISOR_DATA</a> : <a class="code" href="classbus__control.html#abd13c1b70988aa3f59e1d9cc23e62eb2">FC_USER_DATA</a>;
320
<a name="l01018"></a>01018                         <span class="vhdlchar">interrupt_trap_o</span> &lt;= <a class="code" href="classbus__control.html#a16c432fa4a9897426aab6df04ee608e0">VECTOR_ADDRESS_TRAP</a>;
321
<a name="l01019"></a>01019
322
<a name="l01020"></a>01020                         <span class="vhdlchar">jmp_address_trap_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
323
<a name="l01021"></a>01021                         <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a53bab195602acdcbccabf53952bbd2c3">S_WAIT</a>;
324
<a name="l01022"></a>01022                     <span class="vhdlkeyword">end</span>
325
<a name="l01023"></a>01023                     <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
326
<a name="l01024"></a>01024                         <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
327
<a name="l01025"></a>01025                         <a class="code" href="classbus__control.html#ab52b5981311dc9ab34a62adce2ffc430">ADR_O</a> &lt;= <span class="vhdlchar">address_i</span>[<span class="vhdllogic">31</span>:<span class="vhdllogic">2</span>];
328
<a name="l01026"></a>01026                         <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
329
<a name="l01027"></a>01027
330
<a name="l01028"></a>01028                         <span class="vhdlkeyword">if</span>(<span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b10</span> &amp;&amp; <span class="vhdlchar">size_i</span>[<span class="vhdllogic">2</span>] == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
331
<a name="l01029"></a>01029                             <a class="code" href="classbus__control.html#aaf441f3256d7e10eee17eb5f1b70f1f4">DAT_O</a> &lt;= { <span class="vhdllogic">16&#39;b0</span>, <span class="vhdlchar">data_write_i</span>[<span class="vhdllogic">31</span>:<span class="vhdllogic">16</span>] };
332
<a name="l01030"></a>01030                             <a class="code" href="classbus__control.html#a2207a4305beaf41acb3471efdad89ee8">SEL_O</a> &lt;= <span class="vhdllogic">4&#39;b0011</span>;
333
<a name="l01031"></a>01031                         <span class="vhdlkeyword">end</span>
334
<a name="l01032"></a>01032                         <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b00</span> &amp;&amp; <span class="vhdlchar">size_i</span>[<span class="vhdllogic">2</span>] == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
335
<a name="l01033"></a>01033                             <a class="code" href="classbus__control.html#aaf441f3256d7e10eee17eb5f1b70f1f4">DAT_O</a> &lt;= <span class="vhdlchar">data_write_i</span>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>];
336
<a name="l01034"></a>01034                             <a class="code" href="classbus__control.html#a2207a4305beaf41acb3471efdad89ee8">SEL_O</a> &lt;= <span class="vhdllogic">4&#39;b1111</span>;
337
<a name="l01035"></a>01035                         <span class="vhdlkeyword">end</span>
338
<a name="l01036"></a>01036                         <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b10</span> &amp;&amp; <span class="vhdlchar">size_i</span>[<span class="vhdllogic">1</span>] == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
339
<a name="l01037"></a>01037                             <a class="code" href="classbus__control.html#aaf441f3256d7e10eee17eb5f1b70f1f4">DAT_O</a> &lt;= { <span class="vhdllogic">16&#39;b0</span>, <span class="vhdlchar">data_write_i</span>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] };
340
<a name="l01038"></a>01038                             <a class="code" href="classbus__control.html#a2207a4305beaf41acb3471efdad89ee8">SEL_O</a> &lt;= <span class="vhdllogic">4&#39;b0011</span>;
341
<a name="l01039"></a>01039                         <span class="vhdlkeyword">end</span>
342
<a name="l01040"></a>01040                         <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b00</span> &amp;&amp; <span class="vhdlchar">size_i</span>[<span class="vhdllogic">1</span>] == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
343
<a name="l01041"></a>01041                             <a class="code" href="classbus__control.html#aaf441f3256d7e10eee17eb5f1b70f1f4">DAT_O</a> &lt;= { <span class="vhdlchar">data_write_i</span>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>], <span class="vhdllogic">16&#39;b0</span> };
344
<a name="l01042"></a>01042                             <a class="code" href="classbus__control.html#a2207a4305beaf41acb3471efdad89ee8">SEL_O</a> &lt;= <span class="vhdllogic">4&#39;b1100</span>;
345
<a name="l01043"></a>01043                         <span class="vhdlkeyword">end</span>
346
<a name="l01044"></a>01044                         <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b11</span> &amp;&amp; <span class="vhdlchar">size_i</span>[<span class="vhdllogic">0</span>] == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
347
<a name="l01045"></a>01045                             <a class="code" href="classbus__control.html#aaf441f3256d7e10eee17eb5f1b70f1f4">DAT_O</a> &lt;= { <span class="vhdllogic">24&#39;b0</span>, <span class="vhdlchar">data_write_i</span>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] };
348
<a name="l01046"></a>01046                             <a class="code" href="classbus__control.html#a2207a4305beaf41acb3471efdad89ee8">SEL_O</a> &lt;= <span class="vhdllogic">4&#39;b0001</span>;
349
<a name="l01047"></a>01047                         <span class="vhdlkeyword">end</span>
350
<a name="l01048"></a>01048                         <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b10</span> &amp;&amp; <span class="vhdlchar">size_i</span>[<span class="vhdllogic">0</span>] == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
351
<a name="l01049"></a>01049                             <a class="code" href="classbus__control.html#aaf441f3256d7e10eee17eb5f1b70f1f4">DAT_O</a> &lt;= { <span class="vhdllogic">16&#39;b0</span>, <span class="vhdlchar">data_write_i</span>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>], <span class="vhdllogic">8&#39;b0</span> };
352
<a name="l01050"></a>01050                             <a class="code" href="classbus__control.html#a2207a4305beaf41acb3471efdad89ee8">SEL_O</a> &lt;= <span class="vhdllogic">4&#39;b0010</span>;
353
<a name="l01051"></a>01051                         <span class="vhdlkeyword">end</span>
354
<a name="l01052"></a>01052                         <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b01</span> &amp;&amp; <span class="vhdlchar">size_i</span>[<span class="vhdllogic">0</span>] == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
355
<a name="l01053"></a>01053                             <a class="code" href="classbus__control.html#aaf441f3256d7e10eee17eb5f1b70f1f4">DAT_O</a> &lt;= { <span class="vhdllogic">8&#39;b0</span>, <span class="vhdlchar">data_write_i</span>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>], <span class="vhdllogic">16&#39;b0</span> };
356
<a name="l01054"></a>01054                             <a class="code" href="classbus__control.html#a2207a4305beaf41acb3471efdad89ee8">SEL_O</a> &lt;= <span class="vhdllogic">4&#39;b0100</span>;
357
<a name="l01055"></a>01055                         <span class="vhdlkeyword">end</span>
358
<a name="l01056"></a>01056                         <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b00</span> &amp;&amp; <span class="vhdlchar">size_i</span>[<span class="vhdllogic">0</span>] == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
359
<a name="l01057"></a>01057                             <a class="code" href="classbus__control.html#aaf441f3256d7e10eee17eb5f1b70f1f4">DAT_O</a> &lt;= { <span class="vhdlchar">data_write_i</span>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>], <span class="vhdllogic">24&#39;b0</span> };
360
<a name="l01058"></a>01058                             <a class="code" href="classbus__control.html#a2207a4305beaf41acb3471efdad89ee8">SEL_O</a> &lt;= <span class="vhdllogic">4&#39;b1000</span>;
361
<a name="l01059"></a>01059                         <span class="vhdlkeyword">end</span>
362
<a name="l01060"></a>01060
363
<a name="l01061"></a>01061                         <span class="vhdlkeyword">if</span>(<span class="vhdlchar">read_modify_write_i</span> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
364
<a name="l01062"></a>01062                             <a class="code" href="classbus__control.html#aae2a079b8db9e4631c16bcf5adac9291">SGL_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
365
<a name="l01063"></a>01063                             <a class="code" href="classbus__control.html#a7b17f75c0d89e01e582ef03415312775">BLK_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
366
<a name="l01064"></a>01064                             <a class="code" href="classbus__control.html#ab953355fe090ce478d166356b9cf085d">RMW_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
367
<a name="l01065"></a>01065                             <a class="code" href="classbus__control.html#a832208fcd8a362c800163c4016a876b1">CTI_O</a> &lt;= <a class="code" href="classbus__control.html#a081002f0819a6acaf8e4dada896282ab">CTI_END_OF_BURST</a>;
368 13 alfik
<a name="l01066"></a>01066                         <span class="vhdlkeyword">end</span>
369 16 alfik
<a name="l01067"></a>01067                         <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b10</span> &amp;&amp; <span class="vhdlchar">size_i</span>[<span class="vhdllogic">2</span>] == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
370
<a name="l01068"></a>01068                             <a class="code" href="classbus__control.html#aae2a079b8db9e4631c16bcf5adac9291">SGL_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
371
<a name="l01069"></a>01069                             <a class="code" href="classbus__control.html#a7b17f75c0d89e01e582ef03415312775">BLK_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
372
<a name="l01070"></a>01070                             <a class="code" href="classbus__control.html#ab953355fe090ce478d166356b9cf085d">RMW_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
373
<a name="l01071"></a>01071                             <a class="code" href="classbus__control.html#a832208fcd8a362c800163c4016a876b1">CTI_O</a> &lt;= <a class="code" href="classbus__control.html#a9c7e8a6d030ee1f404d7526ebda509ca">CTI_INCR_CYCLE</a>;
374 13 alfik
<a name="l01072"></a>01072                         <span class="vhdlkeyword">end</span>
375 16 alfik
<a name="l01073"></a>01073                         <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
376
<a name="l01074"></a>01074                             <a class="code" href="classbus__control.html#aae2a079b8db9e4631c16bcf5adac9291">SGL_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
377
<a name="l01075"></a>01075                             <a class="code" href="classbus__control.html#a7b17f75c0d89e01e582ef03415312775">BLK_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
378
<a name="l01076"></a>01076                             <a class="code" href="classbus__control.html#ab953355fe090ce478d166356b9cf085d">RMW_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
379
<a name="l01077"></a>01077                             <a class="code" href="classbus__control.html#a832208fcd8a362c800163c4016a876b1">CTI_O</a> &lt;= <a class="code" href="classbus__control.html#a081002f0819a6acaf8e4dada896282ab">CTI_END_OF_BURST</a>;
380
<a name="l01078"></a>01078                         <span class="vhdlkeyword">end</span>
381 13 alfik
<a name="l01079"></a>01079
382 16 alfik
<a name="l01080"></a>01080                         <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#aad6d7bc2df8264837b68548b4045a54b">S_WRITE_1</a>;
383
<a name="l01081"></a>01081                     <span class="vhdlkeyword">end</span>
384
<a name="l01082"></a>01082                 <span class="vhdlkeyword">end</span>
385
<a name="l01083"></a>01083                 <span class="keyword">// pc</span>
386
<a name="l01084"></a>01084                 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<span class="vhdlchar">prefetch_ir_valid_o</span> == <span class="vhdllogic">1&#39;b0</span> || <span class="vhdlchar">pc_change_i</span> != <span class="vhdllogic">2&#39;b00</span>) <span class="vhdlkeyword">begin</span>
387 13 alfik
<a name="l01085"></a>01085
388 16 alfik
<a name="l01086"></a>01086                     <span class="vhdlkeyword">if</span>(<span class="vhdlchar">prefetch_ir_valid_o</span> == <span class="vhdllogic">1&#39;b0</span> || <span class="vhdlchar">pc_change_i</span> == <span class="vhdllogic">2&#39;b10</span> || <span class="vhdlchar">pc_change_i</span> == <span class="vhdllogic">2&#39;b11</span>) <span class="vhdlkeyword">begin</span>
389
<a name="l01087"></a>01087                         <span class="keyword">// load 4 words: [79:16] in 2,3 cycles</span>
390
<a name="l01088"></a>01088                         <span class="vhdlchar">prefetch_ir_valid_32_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
391
<a name="l01089"></a>01089                         <span class="vhdlchar">prefetch_ir_valid_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
392
<a name="l01090"></a>01090                         <span class="vhdlchar">prefetch_ir_valid_80_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
393
<a name="l01091"></a>01091
394
<a name="l01092"></a>01092                         <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#abc89f2549e5275c60648fc9a94876e29">S_PC_0</a>;
395
<a name="l01093"></a>01093                     <span class="vhdlkeyword">end</span>
396
<a name="l01094"></a>01094                     <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<span class="vhdlchar">prefetch_ir_valid_80_o</span> == <span class="vhdllogic">1&#39;b0</span> &amp;&amp; <span class="vhdlchar">pc_change_i</span> == <span class="vhdllogic">2&#39;b01</span>) <span class="vhdlkeyword">begin</span>
397
<a name="l01095"></a>01095                         <span class="keyword">// load 2 words: [31:0] in 1 cycle</span>
398
<a name="l01096"></a>01096                         <span class="vhdlchar">prefetch_ir_valid_32_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
399
<a name="l01097"></a>01097                         <span class="vhdlchar">prefetch_ir_valid_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
400
<a name="l01098"></a>01098                         <span class="vhdlchar">prefetch_ir_valid_80_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
401
<a name="l01099"></a>01099
402
<a name="l01100"></a>01100                         <span class="vhdlchar">prefetch_ir_o</span> &lt;= { <span class="vhdlchar">prefetch_ir_o</span>[<span class="vhdllogic">63</span>:<span class="vhdllogic">0</span>], <span class="vhdllogic">16&#39;b0</span> };
403
<a name="l01101"></a>01101                         <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#abc89f2549e5275c60648fc9a94876e29">S_PC_0</a>;
404
<a name="l01102"></a>01102                     <span class="vhdlkeyword">end</span>
405
<a name="l01103"></a>01103                     <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
406
<a name="l01104"></a>01104                         <span class="keyword">// do not load any words</span>
407
<a name="l01105"></a>01105                         <span class="vhdlchar">prefetch_ir_valid_32_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
408
<a name="l01106"></a>01106                         <span class="vhdlchar">prefetch_ir_valid_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
409
<a name="l01107"></a>01107                         <span class="vhdlchar">prefetch_ir_valid_80_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
410
<a name="l01108"></a>01108
411
<a name="l01109"></a>01109                         <span class="vhdlchar">prefetch_ir_o</span> &lt;= { <span class="vhdlchar">prefetch_ir_o</span>[<span class="vhdllogic">63</span>:<span class="vhdllogic">0</span>], <span class="vhdllogic">16&#39;b0</span> };
412
<a name="l01110"></a>01110                     <span class="vhdlkeyword">end</span>
413
<a name="l01111"></a>01111
414
<a name="l01112"></a>01112
415
<a name="l01113"></a>01113                 <span class="vhdlkeyword">end</span>
416
<a name="l01114"></a>01114                 <span class="keyword">// interrupt</span>
417
<a name="l01115"></a>01115                 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<span class="vhdlchar">do_interrupt_i</span> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
418
<a name="l01116"></a>01116                     <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
419
<a name="l01117"></a>01117                     <a class="code" href="classbus__control.html#ab52b5981311dc9ab34a62adce2ffc430">ADR_O</a> &lt;= { <span class="vhdllogic">27&#39;b111_1111_1111_1111_1111_1111_1111</span>, <a class="code" href="classbus__control.html#a18d43f989323778008d066233ddaa191">last_interrupt_mask</a> };
420
<a name="l01118"></a>01118                     <a class="code" href="classbus__control.html#a2207a4305beaf41acb3471efdad89ee8">SEL_O</a> &lt;= <span class="vhdllogic">4&#39;b1111</span>;
421
<a name="l01119"></a>01119                     <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
422
<a name="l01120"></a>01120                     <a class="code" href="classbus__control.html#ac79dbc3b2006a3d57dbd1612c87dc04d">WE_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
423
<a name="l01121"></a>01121
424
<a name="l01122"></a>01122                     <a class="code" href="classbus__control.html#aae2a079b8db9e4631c16bcf5adac9291">SGL_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
425
<a name="l01123"></a>01123                     <a class="code" href="classbus__control.html#a7b17f75c0d89e01e582ef03415312775">BLK_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
426
<a name="l01124"></a>01124                     <a class="code" href="classbus__control.html#ab953355fe090ce478d166356b9cf085d">RMW_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
427
<a name="l01125"></a>01125                     <a class="code" href="classbus__control.html#a832208fcd8a362c800163c4016a876b1">CTI_O</a> &lt;= <a class="code" href="classbus__control.html#a081002f0819a6acaf8e4dada896282ab">CTI_END_OF_BURST</a>;
428 12 alfik
<a name="l01126"></a>01126
429 16 alfik
<a name="l01127"></a>01127                     <a class="code" href="classbus__control.html#a488e1e7c4869bb96a3cb4c0db79cf8c5">fc_o</a> &lt;= <a class="code" href="classbus__control.html#ac44cb27522dcf872ea1f1d63cb652d9b">FC_CPU_SPACE</a>;
430
<a name="l01128"></a>01128
431
<a name="l01129"></a>01129                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a8ff92de377aefca42782778cda7132f3">S_INT_1</a>;
432
<a name="l01130"></a>01130                 <span class="vhdlkeyword">end</span>
433
<a name="l01131"></a>01131             <span class="vhdlkeyword">end</span>
434
<a name="l01132"></a>01132
435
<a name="l01133"></a>01133             <a class="code" href="classbus__control.html#a8e24d83b04e325557b534b6fbe3c06ca">S_RESET</a>: <span class="vhdlkeyword">begin</span>
436
<a name="l01134"></a>01134                 <a class="code" href="classbus__control.html#af4b71c6c152246795fcfed45e67bab33">reset_counter</a> &lt;= <a class="code" href="classbus__control.html#af4b71c6c152246795fcfed45e67bab33">reset_counter</a> - <span class="vhdllogic">8&#39;d1</span>;
437 12 alfik
<a name="l01135"></a>01135
438 16 alfik
<a name="l01136"></a>01136                 <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#af4b71c6c152246795fcfed45e67bab33">reset_counter</a> == <span class="vhdllogic">8&#39;d0</span>) <span class="vhdlkeyword">begin</span>
439
<a name="l01137"></a>01137                     <span class="vhdlchar">finished_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
440
<a name="l01138"></a>01138                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a53bab195602acdcbccabf53952bbd2c3">S_WAIT</a>;
441
<a name="l01139"></a>01139                 <span class="vhdlkeyword">end</span>
442
<a name="l01140"></a>01140             <span class="vhdlkeyword">end</span>
443
<a name="l01141"></a>01141
444
<a name="l01142"></a>01142             <a class="code" href="classbus__control.html#a2545a07988315cbf68e808af80333335">S_BLOCKED</a>: <span class="vhdlkeyword">begin</span>
445
<a name="l01143"></a>01143             <span class="vhdlkeyword">end</span>
446
<a name="l01144"></a>01144
447
<a name="l01145"></a>01145             <a class="code" href="classbus__control.html#a8ff92de377aefca42782778cda7132f3">S_INT_1</a>: <span class="vhdlkeyword">begin</span>
448
<a name="l01146"></a>01146                 <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#ae3d44827a99e7e34d82d6d9c963d969a">ACK_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
449
<a name="l01147"></a>01147                     <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
450
<a name="l01148"></a>01148                     <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
451
<a name="l01149"></a>01149
452
<a name="l01150"></a>01150                     <span class="vhdlchar">interrupt_trap_o</span> &lt;= <a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>];
453
<a name="l01151"></a>01151
454
<a name="l01152"></a>01152                     <span class="vhdlchar">finished_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
455
<a name="l01153"></a>01153                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a53bab195602acdcbccabf53952bbd2c3">S_WAIT</a>;
456
<a name="l01154"></a>01154                 <span class="vhdlkeyword">end</span>
457
<a name="l01155"></a>01155                 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#ac04b92d002ff6e8ef2ebdf0f8927e7fe">RTY_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
458
<a name="l01156"></a>01156                     <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
459
<a name="l01157"></a>01157                     <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
460
<a name="l01158"></a>01158
461
<a name="l01159"></a>01159                     <span class="vhdlchar">interrupt_trap_o</span> &lt;= <span class="vhdllogic">8&#39;d24</span> + { <span class="vhdllogic">5&#39;b0</span>, <span class="vhdlchar">interrupt_mask_o</span> };
462
<a name="l01160"></a>01160
463
<a name="l01161"></a>01161                     <span class="vhdlchar">finished_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
464
<a name="l01162"></a>01162                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a53bab195602acdcbccabf53952bbd2c3">S_WAIT</a>;
465
<a name="l01163"></a>01163                 <span class="vhdlkeyword">end</span>
466
<a name="l01164"></a>01164                 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#aed18e255e00983e6fa7ff68e5ef0a330">ERR_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
467
<a name="l01165"></a>01165                     <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
468
<a name="l01166"></a>01166                     <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
469
<a name="l01167"></a>01167
470
<a name="l01168"></a>01168                     <span class="vhdlchar">interrupt_trap_o</span> &lt;= <span class="vhdllogic">8&#39;d24</span>; <span class="keyword">// spurious interrupt</span>
471
<a name="l01169"></a>01169
472
<a name="l01170"></a>01170                     <span class="vhdlchar">finished_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
473
<a name="l01171"></a>01171                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a53bab195602acdcbccabf53952bbd2c3">S_WAIT</a>;
474
<a name="l01172"></a>01172                 <span class="vhdlkeyword">end</span>
475
<a name="l01173"></a>01173             <span class="vhdlkeyword">end</span>
476
<a name="l01174"></a>01174
477
<a name="l01175"></a>01175             <a class="code" href="classbus__control.html#abc89f2549e5275c60648fc9a94876e29">S_PC_0</a>: <span class="vhdlkeyword">begin</span>
478
<a name="l01176"></a>01176                 <a class="code" href="classbus__control.html#ac79dbc3b2006a3d57dbd1612c87dc04d">WE_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
479
<a name="l01177"></a>01177                 <span class="vhdlkeyword">if</span>(<span class="vhdlchar">supervisor_i</span> == <span class="vhdllogic">1&#39;b1</span>)    <a class="code" href="classbus__control.html#a488e1e7c4869bb96a3cb4c0db79cf8c5">fc_o</a> &lt;= <a class="code" href="classbus__control.html#a1dc6742718597d6e0ef98e8200bb49bf">FC_SUPERVISOR_PROGRAM</a>;
480
<a name="l01178"></a>01178                 <span class="vhdlkeyword">else</span>                        <a class="code" href="classbus__control.html#a488e1e7c4869bb96a3cb4c0db79cf8c5">fc_o</a> &lt;= <a class="code" href="classbus__control.html#a80b93f8634a7f03a199836a78c52d9bb">FC_USER_PROGRAM</a>;
481
<a name="l01179"></a>01179
482
<a name="l01180"></a>01180                 <span class="vhdlkeyword">if</span>(<span class="vhdlchar">pc_i</span>[<span class="vhdllogic">0</span>] == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
483
<a name="l01181"></a>01181                     <span class="vhdlchar">prefetch_ir_valid_32_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
484
<a name="l01182"></a>01182                     <span class="vhdlchar">prefetch_ir_valid_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
485
<a name="l01183"></a>01183                     <span class="vhdlchar">prefetch_ir_valid_80_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
486
<a name="l01184"></a>01184
487
<a name="l01185"></a>01185                     <span class="vhdlchar">fault_address_state_o</span> &lt;= <span class="vhdlchar">pc_i</span>;
488
<a name="l01186"></a>01186                     <span class="vhdlchar">rw_state_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
489
<a name="l01187"></a>01187                     <span class="vhdlchar">fc_state_o</span> &lt;= (<span class="vhdlchar">supervisor_i</span> == <span class="vhdllogic">1&#39;b1</span>) ? <a class="code" href="classbus__control.html#a1dc6742718597d6e0ef98e8200bb49bf">FC_SUPERVISOR_PROGRAM</a> : <a class="code" href="classbus__control.html#a80b93f8634a7f03a199836a78c52d9bb">FC_USER_PROGRAM</a>;
490
<a name="l01188"></a>01188                     <span class="vhdlchar">interrupt_trap_o</span> &lt;= <a class="code" href="classbus__control.html#a16c432fa4a9897426aab6df04ee608e0">VECTOR_ADDRESS_TRAP</a>;
491
<a name="l01189"></a>01189
492
<a name="l01190"></a>01190                     <span class="vhdlchar">jmp_address_trap_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
493
<a name="l01191"></a>01191                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a53bab195602acdcbccabf53952bbd2c3">S_WAIT</a>;
494
<a name="l01192"></a>01192                 <span class="vhdlkeyword">end</span>
495
<a name="l01193"></a>01193                 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
496
<a name="l01194"></a>01194                     <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
497
<a name="l01195"></a>01195
498
<a name="l01196"></a>01196                     <span class="vhdlkeyword">if</span>(<span class="vhdlchar">prefetch_ir_valid_32_o</span> == <span class="vhdllogic">1&#39;b0</span>)                      <a class="code" href="classbus__control.html#ab52b5981311dc9ab34a62adce2ffc430">ADR_O</a> &lt;= <span class="vhdlchar">pc_i</span>[<span class="vhdllogic">31</span>:<span class="vhdllogic">2</span>];
499
<a name="l01197"></a>01197                     <span class="vhdlkeyword">else</span>                                                    <a class="code" href="classbus__control.html#ab52b5981311dc9ab34a62adce2ffc430">ADR_O</a> &lt;= <a class="code" href="classbus__control.html#a96afbad4fe8073f7c58baf255b66c944">pc_i_plus_6</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">2</span>];
500
<a name="l01198"></a>01198
501
<a name="l01199"></a>01199                     <a class="code" href="classbus__control.html#a2207a4305beaf41acb3471efdad89ee8">SEL_O</a> &lt;=    (<span class="vhdlchar">pc_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b10</span>)?   <span class="vhdllogic">4&#39;b0011</span> :
502
<a name="l01200"></a>01200                                                         <span class="vhdllogic">4&#39;b1111</span>;
503
<a name="l01201"></a>01201                     <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
504
<a name="l01202"></a>01202
505
<a name="l01203"></a>01203                     <span class="vhdlkeyword">if</span>(<span class="vhdlchar">prefetch_ir_valid_32_o</span> == <span class="vhdllogic">1&#39;b0</span>) <span class="vhdlkeyword">begin</span>
506
<a name="l01204"></a>01204                         <a class="code" href="classbus__control.html#aae2a079b8db9e4631c16bcf5adac9291">SGL_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
507
<a name="l01205"></a>01205                         <a class="code" href="classbus__control.html#a7b17f75c0d89e01e582ef03415312775">BLK_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
508
<a name="l01206"></a>01206                         <a class="code" href="classbus__control.html#ab953355fe090ce478d166356b9cf085d">RMW_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
509
<a name="l01207"></a>01207                         <a class="code" href="classbus__control.html#a832208fcd8a362c800163c4016a876b1">CTI_O</a> &lt;= <a class="code" href="classbus__control.html#a9c7e8a6d030ee1f404d7526ebda509ca">CTI_INCR_CYCLE</a>;
510 13 alfik
<a name="l01208"></a>01208                     <span class="vhdlkeyword">end</span>
511 16 alfik
<a name="l01209"></a>01209                     <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
512
<a name="l01210"></a>01210                         <a class="code" href="classbus__control.html#aae2a079b8db9e4631c16bcf5adac9291">SGL_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
513
<a name="l01211"></a>01211                         <a class="code" href="classbus__control.html#a7b17f75c0d89e01e582ef03415312775">BLK_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
514
<a name="l01212"></a>01212                         <a class="code" href="classbus__control.html#ab953355fe090ce478d166356b9cf085d">RMW_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
515
<a name="l01213"></a>01213                         <a class="code" href="classbus__control.html#a832208fcd8a362c800163c4016a876b1">CTI_O</a> &lt;= <a class="code" href="classbus__control.html#a081002f0819a6acaf8e4dada896282ab">CTI_END_OF_BURST</a>;
516
<a name="l01214"></a>01214                     <span class="vhdlkeyword">end</span>
517
<a name="l01215"></a>01215
518
<a name="l01216"></a>01216                     <a class="code" href="classbus__control.html#a9d1ac811b477c31c0d6aec541dca418d">saved_pc_change</a> &lt;= <span class="vhdlchar">pc_change_i</span>;
519
<a name="l01217"></a>01217                     <span class="vhdlchar">prefetch_ir_valid_32_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
520
<a name="l01218"></a>01218
521
<a name="l01219"></a>01219                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a729095d9bb813c82aee565216b092f38">S_PC_1</a>;
522
<a name="l01220"></a>01220                 <span class="vhdlkeyword">end</span>
523
<a name="l01221"></a>01221             <span class="vhdlkeyword">end</span>
524
<a name="l01222"></a>01222
525
<a name="l01223"></a>01223             <a class="code" href="classbus__control.html#a729095d9bb813c82aee565216b092f38">S_PC_1</a>: <span class="vhdlkeyword">begin</span>
526
<a name="l01224"></a>01224                 <span class="vhdlkeyword">if</span>(<span class="vhdlchar">pc_change_i</span> != <span class="vhdllogic">2&#39;b00</span>) <a class="code" href="classbus__control.html#a9d1ac811b477c31c0d6aec541dca418d">saved_pc_change</a> &lt;= <span class="vhdlchar">pc_change_i</span>;
527
<a name="l01225"></a>01225
528
<a name="l01226"></a>01226                 <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#ae3d44827a99e7e34d82d6d9c963d969a">ACK_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
529
<a name="l01227"></a>01227                     <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#a832208fcd8a362c800163c4016a876b1">CTI_O</a> == <a class="code" href="classbus__control.html#a9c7e8a6d030ee1f404d7526ebda509ca">CTI_INCR_CYCLE</a>) <span class="vhdlkeyword">begin</span>
530
<a name="l01228"></a>01228                         <span class="keyword">//CYC_O &lt;= 1&#39;b1;</span>
531
<a name="l01229"></a>01229                         <a class="code" href="classbus__control.html#ab52b5981311dc9ab34a62adce2ffc430">ADR_O</a> &lt;= <a class="code" href="classbus__control.html#addb6490ae2acff8c93b321b1e14c7bd4">pc_i_plus_4</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">2</span>];
532
<a name="l01230"></a>01230                         <a class="code" href="classbus__control.html#a2207a4305beaf41acb3471efdad89ee8">SEL_O</a> &lt;= <span class="vhdllogic">4&#39;b1111</span>;
533
<a name="l01231"></a>01231                         <span class="keyword">//STB_O &lt;= 1&#39;b1;</span>
534
<a name="l01232"></a>01232                         <span class="keyword">//WE_O &lt;= 1&#39;b0;</span>
535
<a name="l01233"></a>01233
536
<a name="l01234"></a>01234                         <span class="vhdlkeyword">if</span>(<span class="vhdlchar">pc_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b10</span>) <span class="vhdlkeyword">begin</span>
537
<a name="l01235"></a>01235                             <a class="code" href="classbus__control.html#aae2a079b8db9e4631c16bcf5adac9291">SGL_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
538
<a name="l01236"></a>01236                             <a class="code" href="classbus__control.html#a7b17f75c0d89e01e582ef03415312775">BLK_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
539
<a name="l01237"></a>01237                             <a class="code" href="classbus__control.html#ab953355fe090ce478d166356b9cf085d">RMW_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
540
<a name="l01238"></a>01238                             <a class="code" href="classbus__control.html#a832208fcd8a362c800163c4016a876b1">CTI_O</a> &lt;= <a class="code" href="classbus__control.html#a9c7e8a6d030ee1f404d7526ebda509ca">CTI_INCR_CYCLE</a>;
541 13 alfik
<a name="l01239"></a>01239                         <span class="vhdlkeyword">end</span>
542 16 alfik
<a name="l01240"></a>01240                         <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
543
<a name="l01241"></a>01241                             <a class="code" href="classbus__control.html#aae2a079b8db9e4631c16bcf5adac9291">SGL_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
544
<a name="l01242"></a>01242                             <a class="code" href="classbus__control.html#a7b17f75c0d89e01e582ef03415312775">BLK_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
545
<a name="l01243"></a>01243                             <a class="code" href="classbus__control.html#ab953355fe090ce478d166356b9cf085d">RMW_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
546
<a name="l01244"></a>01244                             <a class="code" href="classbus__control.html#a832208fcd8a362c800163c4016a876b1">CTI_O</a> &lt;= <a class="code" href="classbus__control.html#a081002f0819a6acaf8e4dada896282ab">CTI_END_OF_BURST</a>;
547
<a name="l01245"></a>01245                         <span class="vhdlkeyword">end</span>
548 13 alfik
<a name="l01246"></a>01246
549 16 alfik
<a name="l01247"></a>01247                         <span class="keyword">//if(supervisor_i == 1&#39;b1)    fc_o &lt;= FC_SUPERVISOR_PROGRAM;</span>
550
<a name="l01248"></a>01248                         <span class="keyword">//else                        fc_o &lt;= FC_USER_PROGRAM;</span>
551
<a name="l01249"></a>01249
552
<a name="l01250"></a>01250                         <span class="vhdlkeyword">if</span>(<span class="vhdlchar">pc_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b10</span>)      <span class="vhdlchar">prefetch_ir_o</span> &lt;= { <a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>], <span class="vhdllogic">64&#39;b0</span> };
553
<a name="l01251"></a>01251                         <span class="vhdlkeyword">else</span>                        <span class="vhdlchar">prefetch_ir_o</span> &lt;= { <a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>], <span class="vhdllogic">48&#39;b0</span> };
554 13 alfik
<a name="l01252"></a>01252
555 16 alfik
<a name="l01253"></a>01253                         <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a28895ce8a15bd607103ea20914434342">S_PC_3</a>;
556
<a name="l01254"></a>01254                     <span class="vhdlkeyword">end</span>
557
<a name="l01255"></a>01255                     <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
558
<a name="l01256"></a>01256                         <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
559
<a name="l01257"></a>01257                         <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
560 13 alfik
<a name="l01258"></a>01258
561 16 alfik
<a name="l01259"></a>01259                         <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#a9d1ac811b477c31c0d6aec541dca418d">saved_pc_change</a> == <span class="vhdllogic">2&#39;b10</span> || <a class="code" href="classbus__control.html#a9d1ac811b477c31c0d6aec541dca418d">saved_pc_change</a> == <span class="vhdllogic">2&#39;b11</span> || <span class="vhdlchar">pc_change_i</span> == <span class="vhdllogic">2&#39;b10</span> || <span class="vhdlchar">pc_change_i</span> == <span class="vhdllogic">2&#39;b11</span>) <span class="vhdlkeyword">begin</span>
562
<a name="l01260"></a>01260                             <span class="keyword">// load 4 words: [79:16] in 2,3 cycles</span>
563
<a name="l01261"></a>01261                             <span class="vhdlchar">prefetch_ir_valid_32_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
564
<a name="l01262"></a>01262                             <span class="vhdlchar">prefetch_ir_valid_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
565
<a name="l01263"></a>01263                             <span class="vhdlchar">prefetch_ir_valid_80_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
566
<a name="l01264"></a>01264
567
<a name="l01265"></a>01265                             <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#abc89f2549e5275c60648fc9a94876e29">S_PC_0</a>;
568
<a name="l01266"></a>01266                         <span class="vhdlkeyword">end</span>
569
<a name="l01267"></a>01267                         <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#a9d1ac811b477c31c0d6aec541dca418d">saved_pc_change</a> == <span class="vhdllogic">2&#39;b01</span> || <span class="vhdlchar">pc_change_i</span> == <span class="vhdllogic">2&#39;b01</span>) <span class="vhdlkeyword">begin</span>
570
<a name="l01268"></a>01268                             <span class="keyword">// do not load any words</span>
571
<a name="l01269"></a>01269                             <span class="vhdlchar">prefetch_ir_valid_32_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
572
<a name="l01270"></a>01270                             <span class="vhdlchar">prefetch_ir_valid_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
573
<a name="l01271"></a>01271                             <span class="vhdlchar">prefetch_ir_valid_80_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
574
<a name="l01272"></a>01272
575
<a name="l01273"></a>01273                             <span class="vhdlchar">prefetch_ir_o</span> &lt;= { <span class="vhdlchar">prefetch_ir_o</span>[<span class="vhdllogic">63</span>:<span class="vhdllogic">32</span>], <a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>], <span class="vhdllogic">16&#39;b0</span> };
576
<a name="l01274"></a>01274                             <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#aec447565d3715dba2b7ce53da597625a">S_INIT</a>;
577
<a name="l01275"></a>01275                         <span class="vhdlkeyword">end</span>
578
<a name="l01276"></a>01276                         <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
579
<a name="l01277"></a>01277                             <span class="vhdlchar">prefetch_ir_valid_32_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
580
<a name="l01278"></a>01278                             <span class="vhdlchar">prefetch_ir_valid_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
581
<a name="l01279"></a>01279                             <span class="vhdlchar">prefetch_ir_valid_80_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
582
<a name="l01280"></a>01280
583
<a name="l01281"></a>01281                             <span class="vhdlchar">prefetch_ir_o</span> &lt;= { <span class="vhdlchar">prefetch_ir_o</span>[<span class="vhdllogic">79</span>:<span class="vhdllogic">32</span>], <a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] };
584
<a name="l01282"></a>01282                             <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#aec447565d3715dba2b7ce53da597625a">S_INIT</a>;
585
<a name="l01283"></a>01283                         <span class="vhdlkeyword">end</span>
586
<a name="l01284"></a>01284                     <span class="vhdlkeyword">end</span>
587 13 alfik
<a name="l01285"></a>01285                 <span class="vhdlkeyword">end</span>
588 16 alfik
<a name="l01286"></a>01286                 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#ac04b92d002ff6e8ef2ebdf0f8927e7fe">RTY_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
589
<a name="l01287"></a>01287                     <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
590
<a name="l01288"></a>01288                     <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
591 13 alfik
<a name="l01289"></a>01289
592 16 alfik
<a name="l01290"></a>01290                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#aaa3088e2e223cdc5551d535c3739cad5">S_PC_2</a>;
593
<a name="l01291"></a>01291                 <span class="vhdlkeyword">end</span>
594
<a name="l01292"></a>01292                 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#aed18e255e00983e6fa7ff68e5ef0a330">ERR_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
595
<a name="l01293"></a>01293                     <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
596
<a name="l01294"></a>01294                     <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
597
<a name="l01295"></a>01295
598
<a name="l01296"></a>01296                     <span class="vhdlchar">fault_address_state_o</span> &lt;= { <a class="code" href="classbus__control.html#ab52b5981311dc9ab34a62adce2ffc430">ADR_O</a>, <span class="vhdllogic">2&#39;b00</span> };
599
<a name="l01297"></a>01297                     <span class="vhdlchar">rw_state_o</span> &lt;= ~<a class="code" href="classbus__control.html#ac79dbc3b2006a3d57dbd1612c87dc04d">WE_O</a>;
600
<a name="l01298"></a>01298                     <span class="vhdlchar">fc_state_o</span> &lt;= <a class="code" href="classbus__control.html#a488e1e7c4869bb96a3cb4c0db79cf8c5">fc_o</a>;
601
<a name="l01299"></a>01299                     <span class="vhdlchar">interrupt_trap_o</span> &lt;= <a class="code" href="classbus__control.html#a63d428a3abed8bfe070ad6e6f82ca72e">VECTOR_BUS_TRAP</a>;
602
<a name="l01300"></a>01300
603
<a name="l01301"></a>01301                     <span class="vhdlchar">jmp_bus_trap_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
604
<a name="l01302"></a>01302                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a53bab195602acdcbccabf53952bbd2c3">S_WAIT</a>;
605
<a name="l01303"></a>01303                 <span class="vhdlkeyword">end</span>
606 13 alfik
<a name="l01304"></a>01304             <span class="vhdlkeyword">end</span>
607 16 alfik
<a name="l01305"></a>01305             <a class="code" href="classbus__control.html#aaa3088e2e223cdc5551d535c3739cad5">S_PC_2</a>: <span class="vhdlkeyword">begin</span>
608
<a name="l01306"></a>01306                 <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
609
<a name="l01307"></a>01307                 <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
610
<a name="l01308"></a>01308
611
<a name="l01309"></a>01309                 <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a729095d9bb813c82aee565216b092f38">S_PC_1</a>;
612
<a name="l01310"></a>01310             <span class="vhdlkeyword">end</span>
613
<a name="l01311"></a>01311             <a class="code" href="classbus__control.html#a28895ce8a15bd607103ea20914434342">S_PC_3</a>: <span class="vhdlkeyword">begin</span>
614
<a name="l01312"></a>01312                 <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#ae3d44827a99e7e34d82d6d9c963d969a">ACK_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
615
<a name="l01313"></a>01313                     <span class="vhdlkeyword">if</span>(<span class="vhdlchar">pc_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b10</span>) <span class="vhdlkeyword">begin</span>
616
<a name="l01314"></a>01314                         <span class="keyword">//CYC_O &lt;= 1&#39;b1;</span>
617
<a name="l01315"></a>01315                         <a class="code" href="classbus__control.html#ab52b5981311dc9ab34a62adce2ffc430">ADR_O</a> &lt;= <a class="code" href="classbus__control.html#a96afbad4fe8073f7c58baf255b66c944">pc_i_plus_6</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">2</span>];
618
<a name="l01316"></a>01316                         <a class="code" href="classbus__control.html#a2207a4305beaf41acb3471efdad89ee8">SEL_O</a> &lt;= <span class="vhdllogic">4&#39;b1111</span>;
619
<a name="l01317"></a>01317                         <span class="keyword">//STB_O &lt;= 1&#39;b1;</span>
620
<a name="l01318"></a>01318                         <span class="keyword">//WE_O &lt;= 1&#39;b0;</span>
621
<a name="l01319"></a>01319
622
<a name="l01320"></a>01320                         <a class="code" href="classbus__control.html#aae2a079b8db9e4631c16bcf5adac9291">SGL_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
623
<a name="l01321"></a>01321                         <a class="code" href="classbus__control.html#a7b17f75c0d89e01e582ef03415312775">BLK_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
624
<a name="l01322"></a>01322                         <a class="code" href="classbus__control.html#ab953355fe090ce478d166356b9cf085d">RMW_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
625
<a name="l01323"></a>01323                         <a class="code" href="classbus__control.html#a832208fcd8a362c800163c4016a876b1">CTI_O</a> &lt;= <a class="code" href="classbus__control.html#a081002f0819a6acaf8e4dada896282ab">CTI_END_OF_BURST</a>;
626
<a name="l01324"></a>01324
627
<a name="l01325"></a>01325                         <span class="keyword">//if(supervisor_i == 1&#39;b1)    fc_o &lt;= FC_SUPERVISOR_PROGRAM;</span>
628
<a name="l01326"></a>01326                         <span class="keyword">//else                        fc_o &lt;= FC_USER_PROGRAM;</span>
629
<a name="l01327"></a>01327
630
<a name="l01328"></a>01328                         <span class="vhdlchar">prefetch_ir_o</span> &lt;= { <span class="vhdlchar">prefetch_ir_o</span>[<span class="vhdllogic">79</span>:<span class="vhdllogic">64</span>], <a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>], <span class="vhdllogic">32&#39;b0</span> };
631 13 alfik
<a name="l01329"></a>01329
632 16 alfik
<a name="l01330"></a>01330                         <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#aa19b7d76f1e25fd78b158b98088bd82a">S_PC_5</a>;
633
<a name="l01331"></a>01331                     <span class="vhdlkeyword">end</span>
634
<a name="l01332"></a>01332                     <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
635
<a name="l01333"></a>01333                         <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
636
<a name="l01334"></a>01334                         <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
637
<a name="l01335"></a>01335
638
<a name="l01336"></a>01336                         <span class="vhdlchar">prefetch_ir_o</span> &lt;= { <span class="vhdlchar">prefetch_ir_o</span>[<span class="vhdllogic">79</span>:<span class="vhdllogic">48</span>], <a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>], <span class="vhdllogic">16&#39;b0</span> };
639
<a name="l01337"></a>01337
640
<a name="l01338"></a>01338                         <span class="vhdlchar">prefetch_ir_valid_32_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
641
<a name="l01339"></a>01339                         <span class="vhdlchar">prefetch_ir_valid_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
642
<a name="l01340"></a>01340                         <span class="vhdlchar">prefetch_ir_valid_80_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
643
<a name="l01341"></a>01341                         <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#aec447565d3715dba2b7ce53da597625a">S_INIT</a>;
644
<a name="l01342"></a>01342                     <span class="vhdlkeyword">end</span>
645 13 alfik
<a name="l01343"></a>01343                 <span class="vhdlkeyword">end</span>
646 16 alfik
<a name="l01344"></a>01344                 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#ac04b92d002ff6e8ef2ebdf0f8927e7fe">RTY_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
647
<a name="l01345"></a>01345                     <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
648
<a name="l01346"></a>01346                     <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
649 13 alfik
<a name="l01347"></a>01347
650 16 alfik
<a name="l01348"></a>01348                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a5e72ed7bc2e7991094fecd272775f92c">S_PC_4</a>;
651
<a name="l01349"></a>01349                 <span class="vhdlkeyword">end</span>
652
<a name="l01350"></a>01350                 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#aed18e255e00983e6fa7ff68e5ef0a330">ERR_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
653
<a name="l01351"></a>01351                     <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
654
<a name="l01352"></a>01352                     <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
655
<a name="l01353"></a>01353
656
<a name="l01354"></a>01354                     <span class="vhdlchar">fault_address_state_o</span> &lt;= { <a class="code" href="classbus__control.html#ab52b5981311dc9ab34a62adce2ffc430">ADR_O</a>, <span class="vhdllogic">2&#39;b00</span> };
657
<a name="l01355"></a>01355                     <span class="vhdlchar">rw_state_o</span> &lt;= ~<a class="code" href="classbus__control.html#ac79dbc3b2006a3d57dbd1612c87dc04d">WE_O</a>;
658
<a name="l01356"></a>01356                     <span class="vhdlchar">fc_state_o</span> &lt;= <a class="code" href="classbus__control.html#a488e1e7c4869bb96a3cb4c0db79cf8c5">fc_o</a>;
659
<a name="l01357"></a>01357                     <span class="vhdlchar">interrupt_trap_o</span> &lt;= <a class="code" href="classbus__control.html#a63d428a3abed8bfe070ad6e6f82ca72e">VECTOR_BUS_TRAP</a>;
660
<a name="l01358"></a>01358
661
<a name="l01359"></a>01359                     <span class="vhdlchar">jmp_bus_trap_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
662
<a name="l01360"></a>01360                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a53bab195602acdcbccabf53952bbd2c3">S_WAIT</a>;
663
<a name="l01361"></a>01361                 <span class="vhdlkeyword">end</span>
664 13 alfik
<a name="l01362"></a>01362             <span class="vhdlkeyword">end</span>
665 16 alfik
<a name="l01363"></a>01363             <a class="code" href="classbus__control.html#a5e72ed7bc2e7991094fecd272775f92c">S_PC_4</a>: <span class="vhdlkeyword">begin</span>
666
<a name="l01364"></a>01364                 <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
667
<a name="l01365"></a>01365                 <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
668
<a name="l01366"></a>01366
669
<a name="l01367"></a>01367                 <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a28895ce8a15bd607103ea20914434342">S_PC_3</a>;
670
<a name="l01368"></a>01368             <span class="vhdlkeyword">end</span>
671
<a name="l01369"></a>01369             <a class="code" href="classbus__control.html#aa19b7d76f1e25fd78b158b98088bd82a">S_PC_5</a>: <span class="vhdlkeyword">begin</span>
672
<a name="l01370"></a>01370                 <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#ae3d44827a99e7e34d82d6d9c963d969a">ACK_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
673
<a name="l01371"></a>01371                     <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
674
<a name="l01372"></a>01372                     <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
675
<a name="l01373"></a>01373
676
<a name="l01374"></a>01374                     <span class="vhdlchar">prefetch_ir_o</span> &lt;= { <span class="vhdlchar">prefetch_ir_o</span>[<span class="vhdllogic">79</span>:<span class="vhdllogic">32</span>], <a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>] };
677
<a name="l01375"></a>01375
678
<a name="l01376"></a>01376                     <span class="vhdlchar">prefetch_ir_valid_32_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
679
<a name="l01377"></a>01377                     <span class="vhdlchar">prefetch_ir_valid_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
680
<a name="l01378"></a>01378                     <span class="vhdlchar">prefetch_ir_valid_80_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
681
<a name="l01379"></a>01379                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#aec447565d3715dba2b7ce53da597625a">S_INIT</a>;
682 13 alfik
<a name="l01380"></a>01380                 <span class="vhdlkeyword">end</span>
683 16 alfik
<a name="l01381"></a>01381                 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#ac04b92d002ff6e8ef2ebdf0f8927e7fe">RTY_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
684
<a name="l01382"></a>01382                     <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
685
<a name="l01383"></a>01383                     <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
686 13 alfik
<a name="l01384"></a>01384
687 16 alfik
<a name="l01385"></a>01385                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a1c803cc4a4f514cd4027a798d9236e5e">S_PC_6</a>;
688
<a name="l01386"></a>01386                 <span class="vhdlkeyword">end</span>
689
<a name="l01387"></a>01387                 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#aed18e255e00983e6fa7ff68e5ef0a330">ERR_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
690
<a name="l01388"></a>01388                     <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
691
<a name="l01389"></a>01389                     <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
692
<a name="l01390"></a>01390
693
<a name="l01391"></a>01391                     <span class="vhdlchar">fault_address_state_o</span> &lt;= { <a class="code" href="classbus__control.html#ab52b5981311dc9ab34a62adce2ffc430">ADR_O</a>, <span class="vhdllogic">2&#39;b00</span> };
694
<a name="l01392"></a>01392                     <span class="vhdlchar">rw_state_o</span> &lt;= ~<a class="code" href="classbus__control.html#ac79dbc3b2006a3d57dbd1612c87dc04d">WE_O</a>;
695
<a name="l01393"></a>01393                     <span class="vhdlchar">fc_state_o</span> &lt;= <a class="code" href="classbus__control.html#a488e1e7c4869bb96a3cb4c0db79cf8c5">fc_o</a>;
696
<a name="l01394"></a>01394                     <span class="vhdlchar">interrupt_trap_o</span> &lt;= <a class="code" href="classbus__control.html#a63d428a3abed8bfe070ad6e6f82ca72e">VECTOR_BUS_TRAP</a>;
697
<a name="l01395"></a>01395
698
<a name="l01396"></a>01396                     <span class="vhdlchar">jmp_bus_trap_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
699
<a name="l01397"></a>01397                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a53bab195602acdcbccabf53952bbd2c3">S_WAIT</a>;
700
<a name="l01398"></a>01398                 <span class="vhdlkeyword">end</span>
701 13 alfik
<a name="l01399"></a>01399             <span class="vhdlkeyword">end</span>
702 16 alfik
<a name="l01400"></a>01400             <a class="code" href="classbus__control.html#a1c803cc4a4f514cd4027a798d9236e5e">S_PC_6</a>: <span class="vhdlkeyword">begin</span>
703
<a name="l01401"></a>01401                 <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
704
<a name="l01402"></a>01402                 <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
705
<a name="l01403"></a>01403
706
<a name="l01404"></a>01404                 <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#aa19b7d76f1e25fd78b158b98088bd82a">S_PC_5</a>;
707
<a name="l01405"></a>01405             <span class="vhdlkeyword">end</span>
708
<a name="l01406"></a>01406
709
<a name="l01407"></a>01407             <span class="keyword">//*******************</span>
710
<a name="l01408"></a>01408             <a class="code" href="classbus__control.html#af752b2515eb632068e26865f1569598c">S_READ_1</a>: <span class="vhdlkeyword">begin</span>
711
<a name="l01409"></a>01409                 <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#ae3d44827a99e7e34d82d6d9c963d969a">ACK_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
712
<a name="l01410"></a>01410                     <span class="vhdlkeyword">if</span>(<span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b10</span> &amp;&amp; <span class="vhdlchar">size_i</span>[<span class="vhdllogic">2</span>] == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
713
<a name="l01411"></a>01411                         <span class="keyword">//CYC_O &lt;= 1&#39;b1;</span>
714
<a name="l01412"></a>01412                         <a class="code" href="classbus__control.html#ab52b5981311dc9ab34a62adce2ffc430">ADR_O</a> &lt;= <a class="code" href="classbus__control.html#a2997069937ed71fba6eefb8837ba3282">address_i_plus_4</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">2</span>];
715
<a name="l01413"></a>01413                         <a class="code" href="classbus__control.html#a2207a4305beaf41acb3471efdad89ee8">SEL_O</a> &lt;= <span class="vhdllogic">4&#39;b1100</span>;
716
<a name="l01414"></a>01414                         <span class="keyword">//STB_O &lt;= 1&#39;b1;</span>
717
<a name="l01415"></a>01415                         <span class="keyword">//WE_O &lt;= 1&#39;b0;</span>
718
<a name="l01416"></a>01416
719
<a name="l01417"></a>01417                         <span class="keyword">//SGL_O &lt;= 1&#39;b0;</span>
720
<a name="l01418"></a>01418                         <span class="keyword">//BLK_O &lt;= 1&#39;b1;</span>
721
<a name="l01419"></a>01419                         <span class="keyword">//RMW_O &lt;= 1&#39;b0;</span>
722
<a name="l01420"></a>01420                         <a class="code" href="classbus__control.html#a832208fcd8a362c800163c4016a876b1">CTI_O</a> &lt;= <a class="code" href="classbus__control.html#a081002f0819a6acaf8e4dada896282ab">CTI_END_OF_BURST</a>;
723
<a name="l01421"></a>01421
724
<a name="l01422"></a>01422                         <span class="keyword">//if(supervisor_i == 1&#39;b1)    fc_o &lt;= (address_type_i == 1&#39;b0) ? FC_SUPERVISOR_DATA : FC_SUPERVISOR_PROGRAM;</span>
725
<a name="l01423"></a>01423                         <span class="keyword">//else                        fc_o &lt;= (address_type_i == 1&#39;b0) ? FC_USER_DATA : FC_USER_PROGRAM;</span>
726
<a name="l01424"></a>01424
727
<a name="l01425"></a>01425                         <span class="vhdlchar">data_read_o</span> &lt;= { <a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>], <span class="vhdllogic">16&#39;b0</span> };
728
<a name="l01426"></a>01426
729
<a name="l01427"></a>01427                         <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a269161b7fabba2e00d3a3a5153a9620e">S_READ_2</a>;
730
<a name="l01428"></a>01428                     <span class="vhdlkeyword">end</span>
731
<a name="l01429"></a>01429                     <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
732
<a name="l01430"></a>01430                         <span class="vhdlkeyword">if</span>(<span class="vhdlchar">read_modify_write_i</span> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
733
<a name="l01431"></a>01431                             <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
734
<a name="l01432"></a>01432                             <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
735
<a name="l01433"></a>01433                         <span class="vhdlkeyword">end</span>
736
<a name="l01434"></a>01434                         <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
737
<a name="l01435"></a>01435                             <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
738
<a name="l01436"></a>01436                             <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
739
<a name="l01437"></a>01437                         <span class="vhdlkeyword">end</span>
740
<a name="l01438"></a>01438
741
<a name="l01439"></a>01439                         <span class="vhdlkeyword">if</span>(<span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b00</span> &amp;&amp; <span class="vhdlchar">size_i</span>[<span class="vhdllogic">2</span>] == <span class="vhdllogic">1&#39;b1</span>)             <span class="vhdlchar">data_read_o</span> &lt;= <a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">0</span>];
742
<a name="l01440"></a>01440                         <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b10</span> &amp;&amp; <span class="vhdlchar">size_i</span>[<span class="vhdllogic">1</span>] == <span class="vhdllogic">1&#39;b1</span>)        <span class="vhdlchar">data_read_o</span> &lt;= { {<span class="vhdllogic">16</span>{<a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">15</span>]}}, <a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>] };
743
<a name="l01441"></a>01441                         <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b00</span> &amp;&amp; <span class="vhdlchar">size_i</span>[<span class="vhdllogic">1</span>] == <span class="vhdllogic">1&#39;b1</span>)        <span class="vhdlchar">data_read_o</span> &lt;= { {<span class="vhdllogic">16</span>{<a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">31</span>]}}, <a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">16</span>] };
744
<a name="l01442"></a>01442                         <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b11</span> &amp;&amp; <span class="vhdlchar">size_i</span>[<span class="vhdllogic">0</span>] == <span class="vhdllogic">1&#39;b1</span>)        <span class="vhdlchar">data_read_o</span> &lt;= { {<span class="vhdllogic">24</span>{<a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">7</span>]}}, <a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">7</span>:<span class="vhdllogic">0</span>] };
745
<a name="l01443"></a>01443                         <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b10</span> &amp;&amp; <span class="vhdlchar">size_i</span>[<span class="vhdllogic">0</span>] == <span class="vhdllogic">1&#39;b1</span>)        <span class="vhdlchar">data_read_o</span> &lt;= { {<span class="vhdllogic">24</span>{<a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">15</span>]}}, <a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">15</span>:<span class="vhdllogic">8</span>] };
746
<a name="l01444"></a>01444                         <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b01</span> &amp;&amp; <span class="vhdlchar">size_i</span>[<span class="vhdllogic">0</span>] == <span class="vhdllogic">1&#39;b1</span>)        <span class="vhdlchar">data_read_o</span> &lt;= { {<span class="vhdllogic">24</span>{<a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">23</span>]}}, <a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">23</span>:<span class="vhdllogic">16</span>] };
747
<a name="l01445"></a>01445                         <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b00</span> &amp;&amp; <span class="vhdlchar">size_i</span>[<span class="vhdllogic">0</span>] == <span class="vhdllogic">1&#39;b1</span>)        <span class="vhdlchar">data_read_o</span> &lt;= { {<span class="vhdllogic">24</span>{<a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">31</span>]}}, <a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">24</span>] };
748
<a name="l01446"></a>01446
749
<a name="l01447"></a>01447                         <span class="vhdlchar">finished_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
750
<a name="l01448"></a>01448                         <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a53bab195602acdcbccabf53952bbd2c3">S_WAIT</a>;
751
<a name="l01449"></a>01449                     <span class="vhdlkeyword">end</span>
752 13 alfik
<a name="l01450"></a>01450                 <span class="vhdlkeyword">end</span>
753 16 alfik
<a name="l01451"></a>01451                 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#ac04b92d002ff6e8ef2ebdf0f8927e7fe">RTY_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
754
<a name="l01452"></a>01452                     <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
755
<a name="l01453"></a>01453                     <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
756 13 alfik
<a name="l01454"></a>01454
757 16 alfik
<a name="l01455"></a>01455                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#aec447565d3715dba2b7ce53da597625a">S_INIT</a>;
758
<a name="l01456"></a>01456                 <span class="vhdlkeyword">end</span>
759
<a name="l01457"></a>01457                 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#aed18e255e00983e6fa7ff68e5ef0a330">ERR_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
760
<a name="l01458"></a>01458                     <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
761
<a name="l01459"></a>01459                     <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
762
<a name="l01460"></a>01460
763
<a name="l01461"></a>01461                     <span class="vhdlchar">fault_address_state_o</span> &lt;= { <a class="code" href="classbus__control.html#ab52b5981311dc9ab34a62adce2ffc430">ADR_O</a>, <span class="vhdllogic">2&#39;b00</span> };
764
<a name="l01462"></a>01462                     <span class="vhdlchar">rw_state_o</span> &lt;= ~<a class="code" href="classbus__control.html#ac79dbc3b2006a3d57dbd1612c87dc04d">WE_O</a>;
765
<a name="l01463"></a>01463                     <span class="vhdlchar">fc_state_o</span> &lt;= <a class="code" href="classbus__control.html#a488e1e7c4869bb96a3cb4c0db79cf8c5">fc_o</a>;
766
<a name="l01464"></a>01464                     <span class="vhdlchar">interrupt_trap_o</span> &lt;= <a class="code" href="classbus__control.html#a63d428a3abed8bfe070ad6e6f82ca72e">VECTOR_BUS_TRAP</a>;
767
<a name="l01465"></a>01465
768
<a name="l01466"></a>01466                     <span class="vhdlchar">jmp_bus_trap_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
769
<a name="l01467"></a>01467                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a53bab195602acdcbccabf53952bbd2c3">S_WAIT</a>;
770
<a name="l01468"></a>01468                 <span class="vhdlkeyword">end</span>
771
<a name="l01469"></a>01469             <span class="vhdlkeyword">end</span>
772
<a name="l01470"></a>01470             <a class="code" href="classbus__control.html#a269161b7fabba2e00d3a3a5153a9620e">S_READ_2</a>: <span class="vhdlkeyword">begin</span>
773
<a name="l01471"></a>01471                 <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#ae3d44827a99e7e34d82d6d9c963d969a">ACK_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
774
<a name="l01472"></a>01472                     <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
775
<a name="l01473"></a>01473                     <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
776
<a name="l01474"></a>01474
777
<a name="l01475"></a>01475                     <span class="vhdlchar">data_read_o</span> &lt;= { <span class="vhdlchar">data_read_o</span>[<span class="vhdllogic">31</span>:<span class="vhdllogic">16</span>], <a class="code" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">16</span>] };
778
<a name="l01476"></a>01476
779
<a name="l01477"></a>01477                     <span class="vhdlchar">finished_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
780
<a name="l01478"></a>01478                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a53bab195602acdcbccabf53952bbd2c3">S_WAIT</a>;
781
<a name="l01479"></a>01479
782 13 alfik
<a name="l01480"></a>01480                 <span class="vhdlkeyword">end</span>
783 16 alfik
<a name="l01481"></a>01481                 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#ac04b92d002ff6e8ef2ebdf0f8927e7fe">RTY_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
784
<a name="l01482"></a>01482                     <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
785
<a name="l01483"></a>01483                     <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
786 13 alfik
<a name="l01484"></a>01484
787 16 alfik
<a name="l01485"></a>01485                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a8af7b5fb8c5d5d3788e5af5dad48393b">S_READ_3</a>;
788
<a name="l01486"></a>01486                 <span class="vhdlkeyword">end</span>
789
<a name="l01487"></a>01487                 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#aed18e255e00983e6fa7ff68e5ef0a330">ERR_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
790
<a name="l01488"></a>01488                     <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
791
<a name="l01489"></a>01489                     <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
792
<a name="l01490"></a>01490
793
<a name="l01491"></a>01491                     <span class="vhdlchar">fault_address_state_o</span> &lt;= { <a class="code" href="classbus__control.html#ab52b5981311dc9ab34a62adce2ffc430">ADR_O</a>, <span class="vhdllogic">2&#39;b00</span> };
794
<a name="l01492"></a>01492                     <span class="vhdlchar">rw_state_o</span> &lt;= ~<a class="code" href="classbus__control.html#ac79dbc3b2006a3d57dbd1612c87dc04d">WE_O</a>;
795
<a name="l01493"></a>01493                     <span class="vhdlchar">fc_state_o</span> &lt;= <a class="code" href="classbus__control.html#a488e1e7c4869bb96a3cb4c0db79cf8c5">fc_o</a>;
796
<a name="l01494"></a>01494                     <span class="vhdlchar">interrupt_trap_o</span> &lt;= <a class="code" href="classbus__control.html#a63d428a3abed8bfe070ad6e6f82ca72e">VECTOR_BUS_TRAP</a>;
797
<a name="l01495"></a>01495
798
<a name="l01496"></a>01496                     <span class="vhdlchar">jmp_bus_trap_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
799
<a name="l01497"></a>01497                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a53bab195602acdcbccabf53952bbd2c3">S_WAIT</a>;
800
<a name="l01498"></a>01498                 <span class="vhdlkeyword">end</span>
801
<a name="l01499"></a>01499
802 13 alfik
<a name="l01500"></a>01500             <span class="vhdlkeyword">end</span>
803 16 alfik
<a name="l01501"></a>01501             <a class="code" href="classbus__control.html#a8af7b5fb8c5d5d3788e5af5dad48393b">S_READ_3</a>: <span class="vhdlkeyword">begin</span>
804
<a name="l01502"></a>01502                 <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
805
<a name="l01503"></a>01503                 <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
806
<a name="l01504"></a>01504
807
<a name="l01505"></a>01505                 <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a269161b7fabba2e00d3a3a5153a9620e">S_READ_2</a>;
808
<a name="l01506"></a>01506             <span class="vhdlkeyword">end</span>
809
<a name="l01507"></a>01507
810
<a name="l01508"></a>01508
811
<a name="l01509"></a>01509             <a class="code" href="classbus__control.html#a53bab195602acdcbccabf53952bbd2c3">S_WAIT</a>: <span class="vhdlkeyword">begin</span>
812
<a name="l01510"></a>01510                 <span class="vhdlchar">jmp_address_trap_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
813
<a name="l01511"></a>01511                 <span class="vhdlchar">jmp_bus_trap_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
814 13 alfik
<a name="l01512"></a>01512
815 16 alfik
<a name="l01513"></a>01513                 <span class="vhdlkeyword">if</span>(<span class="vhdlchar">do_read_i</span> == <span class="vhdllogic">1&#39;b0</span> &amp;&amp; <span class="vhdlchar">do_write_i</span> == <span class="vhdllogic">1&#39;b0</span> &amp;&amp; <span class="vhdlchar">do_interrupt_i</span> == <span class="vhdllogic">1&#39;b0</span> &amp;&amp; <span class="vhdlchar">do_reset_i</span> == <span class="vhdllogic">1&#39;b0</span>) <span class="vhdlkeyword">begin</span>
816
<a name="l01514"></a>01514                     <span class="vhdlchar">finished_o</span> &lt;= <span class="vhdllogic">1&#39;b0</span>;
817
<a name="l01515"></a>01515                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#aec447565d3715dba2b7ce53da597625a">S_INIT</a>;
818
<a name="l01516"></a>01516                 <span class="vhdlkeyword">end</span>
819
<a name="l01517"></a>01517             <span class="vhdlkeyword">end</span>
820
<a name="l01518"></a>01518
821
<a name="l01519"></a>01519             <span class="keyword">//**********************</span>
822
<a name="l01520"></a>01520             <a class="code" href="classbus__control.html#aad6d7bc2df8264837b68548b4045a54b">S_WRITE_1</a>: <span class="vhdlkeyword">begin</span>
823
<a name="l01521"></a>01521                 <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#ae3d44827a99e7e34d82d6d9c963d969a">ACK_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
824
<a name="l01522"></a>01522                     <span class="vhdlkeyword">if</span>(<span class="vhdlchar">address_i</span>[<span class="vhdllogic">1</span>:<span class="vhdllogic">0</span>] == <span class="vhdllogic">2&#39;b10</span> &amp;&amp; <span class="vhdlchar">size_i</span>[<span class="vhdllogic">2</span>] == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
825
<a name="l01523"></a>01523                         <span class="keyword">//CYC_O &lt;= 1&#39;b1;</span>
826
<a name="l01524"></a>01524                         <a class="code" href="classbus__control.html#ab52b5981311dc9ab34a62adce2ffc430">ADR_O</a> &lt;= <a class="code" href="classbus__control.html#a2997069937ed71fba6eefb8837ba3282">address_i_plus_4</a>[<span class="vhdllogic">31</span>:<span class="vhdllogic">2</span>];
827
<a name="l01525"></a>01525                         <span class="keyword">//STB_O &lt;= 1&#39;b1;</span>
828
<a name="l01526"></a>01526                         <span class="keyword">//WE_O &lt;= 1&#39;b1;</span>
829
<a name="l01527"></a>01527
830
<a name="l01528"></a>01528                         <a class="code" href="classbus__control.html#aaf441f3256d7e10eee17eb5f1b70f1f4">DAT_O</a> &lt;= { <span class="vhdlchar">data_write_i</span>[<span class="vhdllogic">15</span>:<span class="vhdllogic">0</span>], <span class="vhdllogic">16&#39;b0</span> };
831
<a name="l01529"></a>01529                         <a class="code" href="classbus__control.html#a2207a4305beaf41acb3471efdad89ee8">SEL_O</a> &lt;= <span class="vhdllogic">4&#39;b1100</span>;
832
<a name="l01530"></a>01530
833
<a name="l01531"></a>01531                         <span class="keyword">//SGL_O &lt;= 1&#39;b0;</span>
834
<a name="l01532"></a>01532                         <span class="keyword">//BLK_O &lt;= 1&#39;b1;</span>
835
<a name="l01533"></a>01533                         <span class="keyword">//RMW_O &lt;= 1&#39;b0;</span>
836
<a name="l01534"></a>01534                         <a class="code" href="classbus__control.html#a832208fcd8a362c800163c4016a876b1">CTI_O</a> &lt;= <a class="code" href="classbus__control.html#a081002f0819a6acaf8e4dada896282ab">CTI_END_OF_BURST</a>;
837
<a name="l01535"></a>01535
838
<a name="l01536"></a>01536                         <span class="keyword">//if(supervisor_i == 1&#39;b1)    fc_o &lt;= FC_SUPERVISOR_DATA;</span>
839
<a name="l01537"></a>01537                         <span class="keyword">//else                        fc_o &lt;= FC_USER_DATA;</span>
840 13 alfik
<a name="l01538"></a>01538
841 16 alfik
<a name="l01539"></a>01539                         <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a1f273f6cbe8fa88c5ac793cdb16128c5">S_WRITE_2</a>;
842
<a name="l01540"></a>01540                     <span class="vhdlkeyword">end</span>
843
<a name="l01541"></a>01541                     <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">begin</span>
844
<a name="l01542"></a>01542                         <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
845
<a name="l01543"></a>01543                         <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
846
<a name="l01544"></a>01544
847
<a name="l01545"></a>01545                         <span class="vhdlchar">finished_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
848
<a name="l01546"></a>01546                         <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a53bab195602acdcbccabf53952bbd2c3">S_WAIT</a>;
849
<a name="l01547"></a>01547                     <span class="vhdlkeyword">end</span>
850 13 alfik
<a name="l01548"></a>01548                 <span class="vhdlkeyword">end</span>
851 16 alfik
<a name="l01549"></a>01549                 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#ac04b92d002ff6e8ef2ebdf0f8927e7fe">RTY_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
852
<a name="l01550"></a>01550                     <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
853
<a name="l01551"></a>01551                     <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
854 13 alfik
<a name="l01552"></a>01552
855 16 alfik
<a name="l01553"></a>01553                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#aec447565d3715dba2b7ce53da597625a">S_INIT</a>;
856
<a name="l01554"></a>01554                 <span class="vhdlkeyword">end</span>
857
<a name="l01555"></a>01555                 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#aed18e255e00983e6fa7ff68e5ef0a330">ERR_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
858
<a name="l01556"></a>01556                     <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
859
<a name="l01557"></a>01557                     <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
860
<a name="l01558"></a>01558
861
<a name="l01559"></a>01559                     <span class="vhdlchar">fault_address_state_o</span> &lt;= { <a class="code" href="classbus__control.html#ab52b5981311dc9ab34a62adce2ffc430">ADR_O</a>, <span class="vhdllogic">2&#39;b00</span> };
862
<a name="l01560"></a>01560                     <span class="vhdlchar">rw_state_o</span> &lt;= ~<a class="code" href="classbus__control.html#ac79dbc3b2006a3d57dbd1612c87dc04d">WE_O</a>;
863
<a name="l01561"></a>01561                     <span class="vhdlchar">fc_state_o</span> &lt;= <a class="code" href="classbus__control.html#a488e1e7c4869bb96a3cb4c0db79cf8c5">fc_o</a>;
864
<a name="l01562"></a>01562                     <span class="vhdlchar">interrupt_trap_o</span> &lt;= <a class="code" href="classbus__control.html#a63d428a3abed8bfe070ad6e6f82ca72e">VECTOR_BUS_TRAP</a>;
865
<a name="l01563"></a>01563
866
<a name="l01564"></a>01564                     <span class="vhdlchar">jmp_bus_trap_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
867
<a name="l01565"></a>01565                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a53bab195602acdcbccabf53952bbd2c3">S_WAIT</a>;
868
<a name="l01566"></a>01566                 <span class="vhdlkeyword">end</span>
869 12 alfik
<a name="l01567"></a>01567
870 16 alfik
<a name="l01568"></a>01568             <span class="vhdlkeyword">end</span>
871
<a name="l01569"></a>01569             <a class="code" href="classbus__control.html#a1f273f6cbe8fa88c5ac793cdb16128c5">S_WRITE_2</a>: <span class="vhdlkeyword">begin</span>
872
<a name="l01570"></a>01570                 <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#ae3d44827a99e7e34d82d6d9c963d969a">ACK_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
873
<a name="l01571"></a>01571                     <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
874
<a name="l01572"></a>01572                     <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
875
<a name="l01573"></a>01573
876
<a name="l01574"></a>01574                     <span class="vhdlchar">finished_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
877
<a name="l01575"></a>01575                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a53bab195602acdcbccabf53952bbd2c3">S_WAIT</a>;
878
<a name="l01576"></a>01576
879 13 alfik
<a name="l01577"></a>01577                 <span class="vhdlkeyword">end</span>
880 16 alfik
<a name="l01578"></a>01578                 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#ac04b92d002ff6e8ef2ebdf0f8927e7fe">RTY_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
881
<a name="l01579"></a>01579                     <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
882
<a name="l01580"></a>01580                     <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
883 13 alfik
<a name="l01581"></a>01581
884 16 alfik
<a name="l01582"></a>01582                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#aa913a2abc1c8f2afa2bb8f6ebcbbca01">S_WRITE_3</a>;
885
<a name="l01583"></a>01583                 <span class="vhdlkeyword">end</span>
886
<a name="l01584"></a>01584                 <span class="vhdlkeyword">else</span> <span class="vhdlkeyword">if</span>(<a class="code" href="classbus__control.html#aed18e255e00983e6fa7ff68e5ef0a330">ERR_I</a> == <span class="vhdllogic">1&#39;b1</span>) <span class="vhdlkeyword">begin</span>
887
<a name="l01585"></a>01585                     <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
888
<a name="l01586"></a>01586                     <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b0</span>;
889
<a name="l01587"></a>01587
890
<a name="l01588"></a>01588                     <span class="vhdlchar">fault_address_state_o</span> &lt;= { <a class="code" href="classbus__control.html#ab52b5981311dc9ab34a62adce2ffc430">ADR_O</a>, <span class="vhdllogic">2&#39;b00</span> };
891
<a name="l01589"></a>01589                     <span class="vhdlchar">rw_state_o</span> &lt;= ~<a class="code" href="classbus__control.html#ac79dbc3b2006a3d57dbd1612c87dc04d">WE_O</a>;
892
<a name="l01590"></a>01590                     <span class="vhdlchar">fc_state_o</span> &lt;= <a class="code" href="classbus__control.html#a488e1e7c4869bb96a3cb4c0db79cf8c5">fc_o</a>;
893
<a name="l01591"></a>01591                     <span class="vhdlchar">interrupt_trap_o</span> &lt;= <a class="code" href="classbus__control.html#a63d428a3abed8bfe070ad6e6f82ca72e">VECTOR_BUS_TRAP</a>;
894
<a name="l01592"></a>01592
895
<a name="l01593"></a>01593                     <span class="vhdlchar">jmp_bus_trap_o</span> &lt;= <span class="vhdllogic">1&#39;b1</span>;
896
<a name="l01594"></a>01594                     <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a53bab195602acdcbccabf53952bbd2c3">S_WAIT</a>;
897
<a name="l01595"></a>01595                 <span class="vhdlkeyword">end</span>
898
<a name="l01596"></a>01596
899 13 alfik
<a name="l01597"></a>01597             <span class="vhdlkeyword">end</span>
900 16 alfik
<a name="l01598"></a>01598             <a class="code" href="classbus__control.html#aa913a2abc1c8f2afa2bb8f6ebcbbca01">S_WRITE_3</a>: <span class="vhdlkeyword">begin</span>
901
<a name="l01599"></a>01599                 <a class="code" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
902
<a name="l01600"></a>01600                 <a class="code" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a> &lt;= <span class="vhdllogic">1&#39;b1</span>;
903
<a name="l01601"></a>01601
904
<a name="l01602"></a>01602                 <a class="code" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a> &lt;= <a class="code" href="classbus__control.html#a1f273f6cbe8fa88c5ac793cdb16128c5">S_WRITE_2</a>;
905
<a name="l01603"></a>01603             <span class="vhdlkeyword">end</span>
906
<a name="l01604"></a>01604
907
<a name="l01605"></a>01605         <span class="vhdlkeyword">endcase</span>
908
<a name="l01606"></a>01606     <span class="vhdlkeyword">end</span>
909
<a name="l01607"></a>01607 <span class="vhdlkeyword">end</span>
910 12 alfik
</pre></div>
911
</div>
912
</div>
913
<hr/><h2>Member Data Documentation</h2>
914 16 alfik
<a class="anchor" id="a9d1ac811b477c31c0d6aec541dca418d"></a><!-- doxytag: member="bus_control::saved_pc_change" ref="a9d1ac811b477c31c0d6aec541dca418d" args="reg[1:0]" -->
915 12 alfik
<div class="memitem">
916
<div class="memproto">
917
      <table class="memname">
918
        <tr>
919 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a9d1ac811b477c31c0d6aec541dca418d">saved_pc_change</a></span> <b><span class="vhdlchar"> </span></b> <code> [reg[1:0]]</code></td>
920 12 alfik
        </tr>
921
      </table>
922
</div>
923
<div class="memdoc">
924
 
925 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00843">843</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
926 12 alfik
 
927
</div>
928
</div>
929 16 alfik
<a class="anchor" id="aec447565d3715dba2b7ce53da597625a"></a><!-- doxytag: member="bus_control::S_INIT" ref="aec447565d3715dba2b7ce53da597625a" args="5'd0" -->
930 12 alfik
<div class="memitem">
931
<div class="memproto">
932
      <table class="memname">
933
        <tr>
934 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#aec447565d3715dba2b7ce53da597625a">S_INIT</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="vhdldigit">5'd0</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
935 12 alfik
        </tr>
936
      </table>
937
</div>
938
<div class="memdoc">
939
 
940 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00845">845</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
941 12 alfik
 
942
</div>
943
</div>
944 16 alfik
<a class="anchor" id="a8e24d83b04e325557b534b6fbe3c06ca"></a><!-- doxytag: member="bus_control::S_RESET" ref="a8e24d83b04e325557b534b6fbe3c06ca" args="5'd1" -->
945 12 alfik
<div class="memitem">
946
<div class="memproto">
947
      <table class="memname">
948
        <tr>
949 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a8e24d83b04e325557b534b6fbe3c06ca">S_RESET</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">5'd1</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
950 12 alfik
        </tr>
951
      </table>
952
</div>
953
<div class="memdoc">
954
 
955 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00845">845</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
956 12 alfik
 
957
</div>
958
</div>
959 16 alfik
<a class="anchor" id="a2545a07988315cbf68e808af80333335"></a><!-- doxytag: member="bus_control::S_BLOCKED" ref="a2545a07988315cbf68e808af80333335" args="5'd2" -->
960 12 alfik
<div class="memitem">
961
<div class="memproto">
962
      <table class="memname">
963
        <tr>
964 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a2545a07988315cbf68e808af80333335">S_BLOCKED</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">5'd2</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
965 12 alfik
        </tr>
966
      </table>
967
</div>
968
<div class="memdoc">
969
 
970 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00845">845</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
971 12 alfik
 
972
</div>
973
</div>
974 16 alfik
<a class="anchor" id="a8ff92de377aefca42782778cda7132f3"></a><!-- doxytag: member="bus_control::S_INT_1" ref="a8ff92de377aefca42782778cda7132f3" args="5'd3" -->
975 12 alfik
<div class="memitem">
976
<div class="memproto">
977
      <table class="memname">
978
        <tr>
979 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a8ff92de377aefca42782778cda7132f3">S_INT_1</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">5'd3</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
980 12 alfik
        </tr>
981
      </table>
982
</div>
983
<div class="memdoc">
984
 
985 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00845">845</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
986 12 alfik
 
987
</div>
988
</div>
989 16 alfik
<a class="anchor" id="af752b2515eb632068e26865f1569598c"></a><!-- doxytag: member="bus_control::S_READ_1" ref="af752b2515eb632068e26865f1569598c" args="5'd4" -->
990 12 alfik
<div class="memitem">
991
<div class="memproto">
992
      <table class="memname">
993
        <tr>
994 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#af752b2515eb632068e26865f1569598c">S_READ_1</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">5'd4</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
995 12 alfik
        </tr>
996
      </table>
997
</div>
998
<div class="memdoc">
999
 
1000 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00845">845</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1001 12 alfik
 
1002
</div>
1003
</div>
1004 16 alfik
<a class="anchor" id="a269161b7fabba2e00d3a3a5153a9620e"></a><!-- doxytag: member="bus_control::S_READ_2" ref="a269161b7fabba2e00d3a3a5153a9620e" args="5'd5" -->
1005 12 alfik
<div class="memitem">
1006
<div class="memproto">
1007
      <table class="memname">
1008
        <tr>
1009 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a269161b7fabba2e00d3a3a5153a9620e">S_READ_2</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">5'd5</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1010 12 alfik
        </tr>
1011
      </table>
1012
</div>
1013
<div class="memdoc">
1014
 
1015 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00845">845</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1016 12 alfik
 
1017
</div>
1018
</div>
1019 16 alfik
<a class="anchor" id="a8af7b5fb8c5d5d3788e5af5dad48393b"></a><!-- doxytag: member="bus_control::S_READ_3" ref="a8af7b5fb8c5d5d3788e5af5dad48393b" args="5'd6" -->
1020 12 alfik
<div class="memitem">
1021
<div class="memproto">
1022
      <table class="memname">
1023
        <tr>
1024 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a8af7b5fb8c5d5d3788e5af5dad48393b">S_READ_3</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">5'd6</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1025 12 alfik
        </tr>
1026
      </table>
1027
</div>
1028
<div class="memdoc">
1029
 
1030 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00845">845</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1031 12 alfik
 
1032
</div>
1033
</div>
1034 16 alfik
<a class="anchor" id="a53bab195602acdcbccabf53952bbd2c3"></a><!-- doxytag: member="bus_control::S_WAIT" ref="a53bab195602acdcbccabf53952bbd2c3" args="5'd7" -->
1035 12 alfik
<div class="memitem">
1036
<div class="memproto">
1037
      <table class="memname">
1038
        <tr>
1039 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a53bab195602acdcbccabf53952bbd2c3">S_WAIT</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">5'd7</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1040 12 alfik
        </tr>
1041
      </table>
1042
</div>
1043
<div class="memdoc">
1044
 
1045 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00845">845</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1046 12 alfik
 
1047
</div>
1048
</div>
1049 16 alfik
<a class="anchor" id="aad6d7bc2df8264837b68548b4045a54b"></a><!-- doxytag: member="bus_control::S_WRITE_1" ref="aad6d7bc2df8264837b68548b4045a54b" args="5'd8" -->
1050 12 alfik
<div class="memitem">
1051
<div class="memproto">
1052
      <table class="memname">
1053
        <tr>
1054 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#aad6d7bc2df8264837b68548b4045a54b">S_WRITE_1</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">5'd8</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1055 12 alfik
        </tr>
1056
      </table>
1057
</div>
1058
<div class="memdoc">
1059
 
1060 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00845">845</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1061 12 alfik
 
1062
</div>
1063
</div>
1064 16 alfik
<a class="anchor" id="a1f273f6cbe8fa88c5ac793cdb16128c5"></a><!-- doxytag: member="bus_control::S_WRITE_2" ref="a1f273f6cbe8fa88c5ac793cdb16128c5" args="5'd9" -->
1065 12 alfik
<div class="memitem">
1066
<div class="memproto">
1067
      <table class="memname">
1068
        <tr>
1069 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a1f273f6cbe8fa88c5ac793cdb16128c5">S_WRITE_2</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">5'd9</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1070 12 alfik
        </tr>
1071
      </table>
1072
</div>
1073
<div class="memdoc">
1074
 
1075 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00845">845</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1076 12 alfik
 
1077
</div>
1078
</div>
1079 16 alfik
<a class="anchor" id="aa913a2abc1c8f2afa2bb8f6ebcbbca01"></a><!-- doxytag: member="bus_control::S_WRITE_3" ref="aa913a2abc1c8f2afa2bb8f6ebcbbca01" args="5'd10" -->
1080 12 alfik
<div class="memitem">
1081
<div class="memproto">
1082
      <table class="memname">
1083
        <tr>
1084 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#aa913a2abc1c8f2afa2bb8f6ebcbbca01">S_WRITE_3</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">5'd10</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1085 12 alfik
        </tr>
1086
      </table>
1087
</div>
1088
<div class="memdoc">
1089
 
1090 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00845">845</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1091 12 alfik
 
1092
</div>
1093
</div>
1094 16 alfik
<a class="anchor" id="abc89f2549e5275c60648fc9a94876e29"></a><!-- doxytag: member="bus_control::S_PC_0" ref="abc89f2549e5275c60648fc9a94876e29" args="5'd11" -->
1095 12 alfik
<div class="memitem">
1096
<div class="memproto">
1097
      <table class="memname">
1098
        <tr>
1099 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#abc89f2549e5275c60648fc9a94876e29">S_PC_0</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">5'd11</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1100 12 alfik
        </tr>
1101
      </table>
1102
</div>
1103
<div class="memdoc">
1104
 
1105 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00845">845</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1106 12 alfik
 
1107
</div>
1108
</div>
1109 16 alfik
<a class="anchor" id="a729095d9bb813c82aee565216b092f38"></a><!-- doxytag: member="bus_control::S_PC_1" ref="a729095d9bb813c82aee565216b092f38" args="5'd12" -->
1110 12 alfik
<div class="memitem">
1111
<div class="memproto">
1112
      <table class="memname">
1113
        <tr>
1114 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a729095d9bb813c82aee565216b092f38">S_PC_1</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">5'd12</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1115 12 alfik
        </tr>
1116
      </table>
1117
</div>
1118
<div class="memdoc">
1119
 
1120 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00845">845</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1121 12 alfik
 
1122
</div>
1123
</div>
1124 16 alfik
<a class="anchor" id="aaa3088e2e223cdc5551d535c3739cad5"></a><!-- doxytag: member="bus_control::S_PC_2" ref="aaa3088e2e223cdc5551d535c3739cad5" args="5'd13" -->
1125 12 alfik
<div class="memitem">
1126
<div class="memproto">
1127
      <table class="memname">
1128
        <tr>
1129 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#aaa3088e2e223cdc5551d535c3739cad5">S_PC_2</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">5'd13</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1130 12 alfik
        </tr>
1131
      </table>
1132
</div>
1133
<div class="memdoc">
1134
 
1135 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00845">845</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1136 12 alfik
 
1137
</div>
1138
</div>
1139 16 alfik
<a class="anchor" id="a28895ce8a15bd607103ea20914434342"></a><!-- doxytag: member="bus_control::S_PC_3" ref="a28895ce8a15bd607103ea20914434342" args="5'd14" -->
1140 12 alfik
<div class="memitem">
1141
<div class="memproto">
1142
      <table class="memname">
1143
        <tr>
1144 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a28895ce8a15bd607103ea20914434342">S_PC_3</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">5'd14</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1145 12 alfik
        </tr>
1146
      </table>
1147
</div>
1148
<div class="memdoc">
1149
 
1150 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00845">845</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1151 12 alfik
 
1152
</div>
1153
</div>
1154 16 alfik
<a class="anchor" id="a5e72ed7bc2e7991094fecd272775f92c"></a><!-- doxytag: member="bus_control::S_PC_4" ref="a5e72ed7bc2e7991094fecd272775f92c" args="5'd15" -->
1155 12 alfik
<div class="memitem">
1156
<div class="memproto">
1157
      <table class="memname">
1158
        <tr>
1159 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a5e72ed7bc2e7991094fecd272775f92c">S_PC_4</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">5'd15</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1160 12 alfik
        </tr>
1161
      </table>
1162
</div>
1163
<div class="memdoc">
1164
 
1165 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00845">845</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1166 12 alfik
 
1167
</div>
1168
</div>
1169 16 alfik
<a class="anchor" id="aa19b7d76f1e25fd78b158b98088bd82a"></a><!-- doxytag: member="bus_control::S_PC_5" ref="aa19b7d76f1e25fd78b158b98088bd82a" args="5'd16" -->
1170 12 alfik
<div class="memitem">
1171
<div class="memproto">
1172
      <table class="memname">
1173
        <tr>
1174 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#aa19b7d76f1e25fd78b158b98088bd82a">S_PC_5</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">5'd16</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1175 12 alfik
        </tr>
1176
      </table>
1177
</div>
1178
<div class="memdoc">
1179
 
1180 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00845">845</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1181 12 alfik
 
1182
</div>
1183
</div>
1184 16 alfik
<a class="anchor" id="a1c803cc4a4f514cd4027a798d9236e5e"></a><!-- doxytag: member="bus_control::S_PC_6" ref="a1c803cc4a4f514cd4027a798d9236e5e" args="5'd17" -->
1185 12 alfik
<div class="memitem">
1186
<div class="memproto">
1187
      <table class="memname">
1188
        <tr>
1189 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a1c803cc4a4f514cd4027a798d9236e5e">S_PC_6</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">5'd17</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1190 12 alfik
        </tr>
1191
      </table>
1192
</div>
1193
<div class="memdoc">
1194
 
1195 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00845">845</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1196 12 alfik
 
1197
</div>
1198
</div>
1199 16 alfik
<a class="anchor" id="abd13c1b70988aa3f59e1d9cc23e62eb2"></a><!-- doxytag: member="bus_control::FC_USER_DATA" ref="abd13c1b70988aa3f59e1d9cc23e62eb2" args="3'd1" -->
1200 12 alfik
<div class="memitem">
1201
<div class="memproto">
1202
      <table class="memname">
1203
        <tr>
1204 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#abd13c1b70988aa3f59e1d9cc23e62eb2">FC_USER_DATA</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="vhdldigit">3'd1</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1205 12 alfik
        </tr>
1206
      </table>
1207
</div>
1208
<div class="memdoc">
1209
 
1210 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00865">865</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1211 12 alfik
 
1212
</div>
1213
</div>
1214 16 alfik
<a class="anchor" id="a80b93f8634a7f03a199836a78c52d9bb"></a><!-- doxytag: member="bus_control::FC_USER_PROGRAM" ref="a80b93f8634a7f03a199836a78c52d9bb" args="3'd2" -->
1215 12 alfik
<div class="memitem">
1216
<div class="memproto">
1217
      <table class="memname">
1218
        <tr>
1219 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a80b93f8634a7f03a199836a78c52d9bb">FC_USER_PROGRAM</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">3'd2</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1220 12 alfik
        </tr>
1221
      </table>
1222
</div>
1223
<div class="memdoc">
1224
 
1225 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00865">865</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1226 12 alfik
 
1227
</div>
1228
</div>
1229 16 alfik
<a class="anchor" id="a6cb25547c77c5085562bd0ace17d08a4"></a><!-- doxytag: member="bus_control::FC_SUPERVISOR_DATA" ref="a6cb25547c77c5085562bd0ace17d08a4" args="3'd5" -->
1230 12 alfik
<div class="memitem">
1231
<div class="memproto">
1232
      <table class="memname">
1233
        <tr>
1234 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a6cb25547c77c5085562bd0ace17d08a4">FC_SUPERVISOR_DATA</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">3'd5</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1235 12 alfik
        </tr>
1236
      </table>
1237
</div>
1238
<div class="memdoc">
1239
 
1240 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00865">865</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1241 12 alfik
 
1242
</div>
1243
</div>
1244 16 alfik
<a class="anchor" id="a1dc6742718597d6e0ef98e8200bb49bf"></a><!-- doxytag: member="bus_control::FC_SUPERVISOR_PROGRAM" ref="a1dc6742718597d6e0ef98e8200bb49bf" args="3'd6" -->
1245 12 alfik
<div class="memitem">
1246
<div class="memproto">
1247
      <table class="memname">
1248
        <tr>
1249 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a1dc6742718597d6e0ef98e8200bb49bf">FC_SUPERVISOR_PROGRAM</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">3'd6</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1250 12 alfik
        </tr>
1251
      </table>
1252
</div>
1253
<div class="memdoc">
1254
 
1255 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00865">865</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1256 12 alfik
 
1257
</div>
1258
</div>
1259 16 alfik
<a class="anchor" id="ac44cb27522dcf872ea1f1d63cb652d9b"></a><!-- doxytag: member="bus_control::FC_CPU_SPACE" ref="ac44cb27522dcf872ea1f1d63cb652d9b" args="3'd7" -->
1260 12 alfik
<div class="memitem">
1261
<div class="memproto">
1262
      <table class="memname">
1263
        <tr>
1264 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#ac44cb27522dcf872ea1f1d63cb652d9b">FC_CPU_SPACE</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">3'd7</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1265 12 alfik
        </tr>
1266
      </table>
1267
</div>
1268
<div class="memdoc">
1269
 
1270 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00865">865</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1271 12 alfik
 
1272
</div>
1273
</div>
1274 16 alfik
<a class="anchor" id="ad836a90bd600a96241bed00462efaa7f"></a><!-- doxytag: member="bus_control::CTI_CLASSIC_CYCLE" ref="ad836a90bd600a96241bed00462efaa7f" args="3'd0" -->
1275 12 alfik
<div class="memitem">
1276
<div class="memproto">
1277
      <table class="memname">
1278
        <tr>
1279 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#ad836a90bd600a96241bed00462efaa7f">CTI_CLASSIC_CYCLE</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="vhdldigit">3'd0</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1280 12 alfik
        </tr>
1281
      </table>
1282
</div>
1283
<div class="memdoc">
1284
 
1285 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00872">872</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1286 12 alfik
 
1287
</div>
1288
</div>
1289 16 alfik
<a class="anchor" id="a4780c76f8764756e9ca6bc92a016fe8c"></a><!-- doxytag: member="bus_control::CTI_CONST_CYCLE" ref="a4780c76f8764756e9ca6bc92a016fe8c" args="3'd1" -->
1290 12 alfik
<div class="memitem">
1291
<div class="memproto">
1292
      <table class="memname">
1293
        <tr>
1294 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a4780c76f8764756e9ca6bc92a016fe8c">CTI_CONST_CYCLE</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">3'd1</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1295 12 alfik
        </tr>
1296
      </table>
1297
</div>
1298
<div class="memdoc">
1299
 
1300 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00872">872</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1301 12 alfik
 
1302
</div>
1303
</div>
1304 16 alfik
<a class="anchor" id="a9c7e8a6d030ee1f404d7526ebda509ca"></a><!-- doxytag: member="bus_control::CTI_INCR_CYCLE" ref="a9c7e8a6d030ee1f404d7526ebda509ca" args="3'd2" -->
1305 12 alfik
<div class="memitem">
1306
<div class="memproto">
1307
      <table class="memname">
1308
        <tr>
1309 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a9c7e8a6d030ee1f404d7526ebda509ca">CTI_INCR_CYCLE</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">3'd2</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1310 12 alfik
        </tr>
1311
      </table>
1312
</div>
1313
<div class="memdoc">
1314
 
1315 13 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00872">872</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1316 12 alfik
 
1317
</div>
1318
</div>
1319 16 alfik
<a class="anchor" id="a081002f0819a6acaf8e4dada896282ab"></a><!-- doxytag: member="bus_control::CTI_END_OF_BURST" ref="a081002f0819a6acaf8e4dada896282ab" args="3'd7" -->
1320 12 alfik
<div class="memitem">
1321
<div class="memproto">
1322
      <table class="memname">
1323
        <tr>
1324 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a081002f0819a6acaf8e4dada896282ab">CTI_END_OF_BURST</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">3'd7</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1325 12 alfik
        </tr>
1326
      </table>
1327
</div>
1328
<div class="memdoc">
1329
 
1330 13 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00872">872</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1331 12 alfik
 
1332
</div>
1333
</div>
1334 16 alfik
<a class="anchor" id="a63d428a3abed8bfe070ad6e6f82ca72e"></a><!-- doxytag: member="bus_control::VECTOR_BUS_TRAP" ref="a63d428a3abed8bfe070ad6e6f82ca72e" args="8'd2" -->
1335 12 alfik
<div class="memitem">
1336
<div class="memproto">
1337
      <table class="memname">
1338
        <tr>
1339 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a63d428a3abed8bfe070ad6e6f82ca72e">VECTOR_BUS_TRAP</a></span> <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></b> <b><span class="vhdldigit">8'd2</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1340 12 alfik
        </tr>
1341
      </table>
1342
</div>
1343
<div class="memdoc">
1344
 
1345 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00878">878</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1346 12 alfik
 
1347
</div>
1348
</div>
1349 16 alfik
<a class="anchor" id="a16c432fa4a9897426aab6df04ee608e0"></a><!-- doxytag: member="bus_control::VECTOR_ADDRESS_TRAP" ref="a16c432fa4a9897426aab6df04ee608e0" args="8'd3" -->
1350 12 alfik
<div class="memitem">
1351
<div class="memproto">
1352
      <table class="memname">
1353
        <tr>
1354 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a16c432fa4a9897426aab6df04ee608e0">VECTOR_ADDRESS_TRAP</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdldigit">8'd3</span><span class="vhdlchar"> </span></b> <code> [Parameter]</code></td>
1355 12 alfik
        </tr>
1356
      </table>
1357
</div>
1358
<div class="memdoc">
1359
 
1360 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00878">878</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1361 12 alfik
 
1362
</div>
1363
</div>
1364 16 alfik
<a class="anchor" id="a2f9cb92f6d2028ff32830fbcf7e2d9ca"></a><!-- doxytag: member="bus_control::current_state" ref="a2f9cb92f6d2028ff32830fbcf7e2d9ca" args="reg[4:0]" -->
1365 12 alfik
<div class="memitem">
1366
<div class="memproto">
1367
      <table class="memname">
1368
        <tr>
1369 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a2f9cb92f6d2028ff32830fbcf7e2d9ca">current_state</a></span> <b><span class="vhdlchar"> </span></b> <code> [reg[4:0]]</code></td>
1370 12 alfik
        </tr>
1371
      </table>
1372
</div>
1373
<div class="memdoc">
1374
 
1375 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00882">882</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1376 12 alfik
 
1377
</div>
1378
</div>
1379 16 alfik
<a class="anchor" id="af4b71c6c152246795fcfed45e67bab33"></a><!-- doxytag: member="bus_control::reset_counter" ref="af4b71c6c152246795fcfed45e67bab33" args="reg[7:0]" -->
1380 12 alfik
<div class="memitem">
1381
<div class="memproto">
1382
      <table class="memname">
1383
        <tr>
1384 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#af4b71c6c152246795fcfed45e67bab33">reset_counter</a></span> <b><span class="vhdlchar"> </span></b> <code> [reg[7:0]]</code></td>
1385 12 alfik
        </tr>
1386
      </table>
1387
</div>
1388
<div class="memdoc">
1389
 
1390 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00883">883</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1391 12 alfik
 
1392
</div>
1393
</div>
1394 16 alfik
<a class="anchor" id="a18d43f989323778008d066233ddaa191"></a><!-- doxytag: member="bus_control::last_interrupt_mask" ref="a18d43f989323778008d066233ddaa191" args="reg[2:0]" -->
1395 12 alfik
<div class="memitem">
1396
<div class="memproto">
1397
      <table class="memname">
1398
        <tr>
1399 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a18d43f989323778008d066233ddaa191">last_interrupt_mask</a></span> <b><span class="vhdlchar"> </span></b> <code> [reg[2:0]]</code></td>
1400 12 alfik
        </tr>
1401
      </table>
1402
</div>
1403
<div class="memdoc">
1404
 
1405 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00885">885</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1406 12 alfik
 
1407
</div>
1408
</div>
1409 16 alfik
<a class="anchor" id="a4054e75175a8d9a78f2e34150e1c0465"></a><!-- doxytag: member="bus_control::CLK_I" ref="a4054e75175a8d9a78f2e34150e1c0465" args="" -->
1410 12 alfik
<div class="memitem">
1411
<div class="memproto">
1412
      <table class="memname">
1413
        <tr>
1414 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a4054e75175a8d9a78f2e34150e1c0465">CLK_I</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Input]</code></td>
1415 12 alfik
        </tr>
1416
      </table>
1417
</div>
1418
<div class="memdoc">
1419
 
1420 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00760">760</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1421 12 alfik
 
1422
</div>
1423
</div>
1424 16 alfik
<a class="anchor" id="a7c0d04a169a341f11af2b012abd481b3"></a><!-- doxytag: member="bus_control::reset_n" ref="a7c0d04a169a341f11af2b012abd481b3" args="" -->
1425 12 alfik
<div class="memitem">
1426
<div class="memproto">
1427
      <table class="memname">
1428
        <tr>
1429 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a7c0d04a169a341f11af2b012abd481b3">reset_n</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Input]</code></td>
1430 12 alfik
        </tr>
1431
      </table>
1432
</div>
1433
<div class="memdoc">
1434
 
1435 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00761">761</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1436 12 alfik
 
1437
</div>
1438
</div>
1439 16 alfik
<a class="anchor" id="aa477164de6a4b0a52d27cefcaf870550"></a><!-- doxytag: member="bus_control::CYC_O" ref="aa477164de6a4b0a52d27cefcaf870550" args="" -->
1440 12 alfik
<div class="memitem">
1441
<div class="memproto">
1442
      <table class="memname">
1443
        <tr>
1444 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#aa477164de6a4b0a52d27cefcaf870550">CYC_O</a></span> <b><span class="vhdlkeyword">reg</span><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Output]</code></td>
1445 12 alfik
        </tr>
1446
      </table>
1447
</div>
1448
<div class="memdoc">
1449
 
1450 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00763">763</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1451 12 alfik
 
1452
</div>
1453
</div>
1454 16 alfik
<a class="anchor" id="ab52b5981311dc9ab34a62adce2ffc430"></a><!-- doxytag: member="bus_control::ADR_O" ref="ab52b5981311dc9ab34a62adce2ffc430" args="" -->
1455 12 alfik
<div class="memitem">
1456
<div class="memproto">
1457
      <table class="memname">
1458
        <tr>
1459 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#ab52b5981311dc9ab34a62adce2ffc430">ADR_O</a></span> <b><span class="vhdlkeyword">reg</span><span class="vhdlchar">[</span><span class="vhdldigit">31</span><span class="vhdlchar">:</span><span class="vhdldigit">2</span><span class="vhdlchar">]</span><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Output]</code></td>
1460 12 alfik
        </tr>
1461
      </table>
1462
</div>
1463
<div class="memdoc">
1464
 
1465 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00764">764</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1466 12 alfik
 
1467
</div>
1468
</div>
1469 16 alfik
<a class="anchor" id="aaf441f3256d7e10eee17eb5f1b70f1f4"></a><!-- doxytag: member="bus_control::DAT_O" ref="aaf441f3256d7e10eee17eb5f1b70f1f4" args="" -->
1470 12 alfik
<div class="memitem">
1471
<div class="memproto">
1472
      <table class="memname">
1473
        <tr>
1474 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#aaf441f3256d7e10eee17eb5f1b70f1f4">DAT_O</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>
1475 12 alfik
        </tr>
1476
      </table>
1477
</div>
1478
<div class="memdoc">
1479
 
1480 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00765">765</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1481 12 alfik
 
1482
</div>
1483
</div>
1484 16 alfik
<a class="anchor" id="a89823a79ad55c73cf0b948fb1f284729"></a><!-- doxytag: member="bus_control::DAT_I" ref="a89823a79ad55c73cf0b948fb1f284729" args="" -->
1485 12 alfik
<div class="memitem">
1486
<div class="memproto">
1487
      <table class="memname">
1488
        <tr>
1489 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a89823a79ad55c73cf0b948fb1f284729">DAT_I</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>
1490 12 alfik
        </tr>
1491
      </table>
1492
</div>
1493
<div class="memdoc">
1494
 
1495 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00766">766</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1496 12 alfik
 
1497
</div>
1498
</div>
1499 16 alfik
<a class="anchor" id="a2207a4305beaf41acb3471efdad89ee8"></a><!-- doxytag: member="bus_control::SEL_O" ref="a2207a4305beaf41acb3471efdad89ee8" args="" -->
1500 12 alfik
<div class="memitem">
1501
<div class="memproto">
1502
      <table class="memname">
1503
        <tr>
1504 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a2207a4305beaf41acb3471efdad89ee8">SEL_O</a></span> <b><span class="vhdlkeyword">reg</span><span class="vhdlchar">[</span><span class="vhdldigit">3</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>
1505 12 alfik
        </tr>
1506
      </table>
1507
</div>
1508
<div class="memdoc">
1509
 
1510 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00767">767</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1511 12 alfik
 
1512
</div>
1513
</div>
1514 16 alfik
<a class="anchor" id="a67a1d21ce5fe5171d487d2bfb98d1fe7"></a><!-- doxytag: member="bus_control::STB_O" ref="a67a1d21ce5fe5171d487d2bfb98d1fe7" args="" -->
1515 12 alfik
<div class="memitem">
1516
<div class="memproto">
1517
      <table class="memname">
1518
        <tr>
1519 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a67a1d21ce5fe5171d487d2bfb98d1fe7">STB_O</a></span> <b><span class="vhdlkeyword">reg</span><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Output]</code></td>
1520 12 alfik
        </tr>
1521
      </table>
1522
</div>
1523
<div class="memdoc">
1524
 
1525 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00768">768</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1526 12 alfik
 
1527
</div>
1528
</div>
1529 16 alfik
<a class="anchor" id="ac79dbc3b2006a3d57dbd1612c87dc04d"></a><!-- doxytag: member="bus_control::WE_O" ref="ac79dbc3b2006a3d57dbd1612c87dc04d" args="" -->
1530 12 alfik
<div class="memitem">
1531
<div class="memproto">
1532
      <table class="memname">
1533
        <tr>
1534 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#ac79dbc3b2006a3d57dbd1612c87dc04d">WE_O</a></span> <b><span class="vhdlkeyword">reg</span><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Output]</code></td>
1535 12 alfik
        </tr>
1536
      </table>
1537
</div>
1538
<div class="memdoc">
1539
 
1540 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00769">769</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1541 12 alfik
 
1542
</div>
1543
</div>
1544 16 alfik
<a class="anchor" id="ae3d44827a99e7e34d82d6d9c963d969a"></a><!-- doxytag: member="bus_control::ACK_I" ref="ae3d44827a99e7e34d82d6d9c963d969a" args="" -->
1545 12 alfik
<div class="memitem">
1546
<div class="memproto">
1547
      <table class="memname">
1548
        <tr>
1549 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#ae3d44827a99e7e34d82d6d9c963d969a">ACK_I</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Input]</code></td>
1550 12 alfik
        </tr>
1551
      </table>
1552
</div>
1553
<div class="memdoc">
1554
 
1555 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00771">771</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1556 12 alfik
 
1557
</div>
1558
</div>
1559 16 alfik
<a class="anchor" id="aed18e255e00983e6fa7ff68e5ef0a330"></a><!-- doxytag: member="bus_control::ERR_I" ref="aed18e255e00983e6fa7ff68e5ef0a330" args="" -->
1560 12 alfik
<div class="memitem">
1561
<div class="memproto">
1562
      <table class="memname">
1563
        <tr>
1564 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#aed18e255e00983e6fa7ff68e5ef0a330">ERR_I</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Input]</code></td>
1565 12 alfik
        </tr>
1566
      </table>
1567
</div>
1568
<div class="memdoc">
1569
 
1570 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00772">772</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1571 12 alfik
 
1572
</div>
1573
</div>
1574 16 alfik
<a class="anchor" id="ac04b92d002ff6e8ef2ebdf0f8927e7fe"></a><!-- doxytag: member="bus_control::RTY_I" ref="ac04b92d002ff6e8ef2ebdf0f8927e7fe" args="" -->
1575 12 alfik
<div class="memitem">
1576
<div class="memproto">
1577
      <table class="memname">
1578
        <tr>
1579 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#ac04b92d002ff6e8ef2ebdf0f8927e7fe">RTY_I</a></span> <b><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Input]</code></td>
1580 12 alfik
        </tr>
1581
      </table>
1582
</div>
1583
<div class="memdoc">
1584
 
1585 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00773">773</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1586 12 alfik
 
1587
</div>
1588
</div>
1589 16 alfik
<a class="anchor" id="aae2a079b8db9e4631c16bcf5adac9291"></a><!-- doxytag: member="bus_control::SGL_O" ref="aae2a079b8db9e4631c16bcf5adac9291" args="" -->
1590 12 alfik
<div class="memitem">
1591
<div class="memproto">
1592
      <table class="memname">
1593
        <tr>
1594 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#aae2a079b8db9e4631c16bcf5adac9291">SGL_O</a></span> <b><span class="vhdlkeyword">reg</span><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Output]</code></td>
1595 12 alfik
        </tr>
1596
      </table>
1597
</div>
1598
<div class="memdoc">
1599
 
1600 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00776">776</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1601 12 alfik
 
1602
</div>
1603
</div>
1604 16 alfik
<a class="anchor" id="a7b17f75c0d89e01e582ef03415312775"></a><!-- doxytag: member="bus_control::BLK_O" ref="a7b17f75c0d89e01e582ef03415312775" args="" -->
1605 12 alfik
<div class="memitem">
1606
<div class="memproto">
1607
      <table class="memname">
1608
        <tr>
1609 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a7b17f75c0d89e01e582ef03415312775">BLK_O</a></span> <b><span class="vhdlkeyword">reg</span><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Output]</code></td>
1610 12 alfik
        </tr>
1611
      </table>
1612
</div>
1613
<div class="memdoc">
1614
 
1615 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00777">777</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1616 12 alfik
 
1617
</div>
1618
</div>
1619 16 alfik
<a class="anchor" id="ab953355fe090ce478d166356b9cf085d"></a><!-- doxytag: member="bus_control::RMW_O" ref="ab953355fe090ce478d166356b9cf085d" args="" -->
1620 12 alfik
<div class="memitem">
1621
<div class="memproto">
1622
      <table class="memname">
1623
        <tr>
1624 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#ab953355fe090ce478d166356b9cf085d">RMW_O</a></span> <b><span class="vhdlkeyword">reg</span><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Output]</code></td>
1625 12 alfik
        </tr>
1626
      </table>
1627
</div>
1628
<div class="memdoc">
1629
 
1630 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00778">778</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1631 12 alfik
 
1632
</div>
1633
</div>
1634 16 alfik
<a class="anchor" id="a832208fcd8a362c800163c4016a876b1"></a><!-- doxytag: member="bus_control::CTI_O" ref="a832208fcd8a362c800163c4016a876b1" args="" -->
1635 12 alfik
<div class="memitem">
1636
<div class="memproto">
1637
      <table class="memname">
1638
        <tr>
1639 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a832208fcd8a362c800163c4016a876b1">CTI_O</a></span> <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> <b><span class="vhdlchar"> </span></b> <code> [Output]</code></td>
1640 12 alfik
        </tr>
1641
      </table>
1642
</div>
1643
<div class="memdoc">
1644
 
1645 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00781">781</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1646 12 alfik
 
1647
</div>
1648
</div>
1649 16 alfik
<a class="anchor" id="a1dd14b92bd4443311024f3a3fa6e0c8d"></a><!-- doxytag: member="bus_control::BTE_O" ref="a1dd14b92bd4443311024f3a3fa6e0c8d" args="" -->
1650 12 alfik
<div class="memitem">
1651
<div class="memproto">
1652
      <table class="memname">
1653
        <tr>
1654 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a1dd14b92bd4443311024f3a3fa6e0c8d">BTE_O</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> [Output]</code></td>
1655 12 alfik
        </tr>
1656
      </table>
1657
</div>
1658
<div class="memdoc">
1659
 
1660 13 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00782">782</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1661 12 alfik
 
1662
</div>
1663
</div>
1664 16 alfik
<a class="anchor" id="a488e1e7c4869bb96a3cb4c0db79cf8c5"></a><!-- doxytag: member="bus_control::fc_o" ref="a488e1e7c4869bb96a3cb4c0db79cf8c5" args="" -->
1665 12 alfik
<div class="memitem">
1666
<div class="memproto">
1667
      <table class="memname">
1668
        <tr>
1669 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a488e1e7c4869bb96a3cb4c0db79cf8c5">fc_o</a></span> <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> <b><span class="vhdlchar"> </span></b> <code> [Output]</code></td>
1670 12 alfik
        </tr>
1671
      </table>
1672
</div>
1673
<div class="memdoc">
1674
 
1675 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00785">785</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1676 12 alfik
 
1677
</div>
1678
</div>
1679 16 alfik
<a class="anchor" id="a93ed536c4b75b18958ffa28838ae5957"></a><!-- doxytag: member="bus_control::ipl_i" ref="a93ed536c4b75b18958ffa28838ae5957" args="" -->
1680 12 alfik
<div class="memitem">
1681
<div class="memproto">
1682
      <table class="memname">
1683
        <tr>
1684 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a93ed536c4b75b18958ffa28838ae5957">ipl_i</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>
1685 12 alfik
        </tr>
1686
      </table>
1687
</div>
1688
<div class="memdoc">
1689
 
1690 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00788">788</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1691 12 alfik
 
1692
</div>
1693
</div>
1694 16 alfik
<a class="anchor" id="a139d4b4c2d79d749375db4dd71f3a9fd"></a><!-- doxytag: member="bus_control::reset_o" ref="a139d4b4c2d79d749375db4dd71f3a9fd" args="" -->
1695 12 alfik
<div class="memitem">
1696
<div class="memproto">
1697
      <table class="memname">
1698
        <tr>
1699 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a139d4b4c2d79d749375db4dd71f3a9fd">reset_o</a></span> <b><span class="vhdlkeyword">reg</span><span class="vhdlchar"> </span></b> <b><span class="vhdlchar"> </span></b> <code> [Output]</code></td>
1700 12 alfik
        </tr>
1701
      </table>
1702
</div>
1703
<div class="memdoc">
1704
 
1705 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00789">789</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1706 12 alfik
 
1707
</div>
1708
</div>
1709 16 alfik
<a class="anchor" id="a96afbad4fe8073f7c58baf255b66c944"></a><!-- doxytag: member="bus_control::pc_i_plus_6" ref="a96afbad4fe8073f7c58baf255b66c944" args="wire[31:0]" -->
1710 12 alfik
<div class="memitem">
1711
<div class="memproto">
1712
      <table class="memname">
1713
        <tr>
1714 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a96afbad4fe8073f7c58baf255b66c944">pc_i_plus_6</a></span> <b><span class="vhdlchar"> </span></b> <code> [wire[31:0]]</code></td>
1715 12 alfik
        </tr>
1716
      </table>
1717
</div>
1718
<div class="memdoc">
1719
 
1720 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00835">835</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1721 12 alfik
 
1722
</div>
1723
</div>
1724 16 alfik
<a class="anchor" id="addb6490ae2acff8c93b321b1e14c7bd4"></a><!-- doxytag: member="bus_control::pc_i_plus_4" ref="addb6490ae2acff8c93b321b1e14c7bd4" args="wire[31:0]" -->
1725 12 alfik
<div class="memitem">
1726
<div class="memproto">
1727
      <table class="memname">
1728
        <tr>
1729 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#addb6490ae2acff8c93b321b1e14c7bd4">pc_i_plus_4</a></span> <b><span class="vhdlchar"> </span></b> <code> [wire[31:0]]</code></td>
1730 12 alfik
        </tr>
1731
      </table>
1732
</div>
1733
<div class="memdoc">
1734
 
1735 13 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00837">837</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1736 12 alfik
 
1737
</div>
1738
</div>
1739 16 alfik
<a class="anchor" id="a2997069937ed71fba6eefb8837ba3282"></a><!-- doxytag: member="bus_control::address_i_plus_4" ref="a2997069937ed71fba6eefb8837ba3282" args="wire[31:0]" -->
1740 12 alfik
<div class="memitem">
1741
<div class="memproto">
1742
      <table class="memname">
1743
        <tr>
1744 16 alfik
          <td class="memname"><span class="stringliteral"><a class="el" href="classbus__control.html#a2997069937ed71fba6eefb8837ba3282">address_i_plus_4</a></span> <b><span class="vhdlchar"> </span></b> <code> [wire[31:0]]</code></td>
1745 12 alfik
        </tr>
1746
      </table>
1747
</div>
1748
<div class="memdoc">
1749
 
1750 16 alfik
<p>Definition at line <a class="el" href="ao68000_8v_source.html#l00840">840</a> of file <a class="el" href="ao68000_8v_source.html">ao68000.v</a>.</p>
1751 12 alfik
 
1752
</div>
1753
</div>
1754
<hr/>The documentation for this class was generated from the following file:<ul>
1755
<li><a class="el" href="ao68000_8v_source.html">ao68000.v</a></li>
1756
</ul>
1757
</div>
1758 16 alfik
<hr class="footer"/><address class="footer"><small>Generated on Sat Jan 15 2011 22:20:15 for ao68000 by&#160;
1759 12 alfik
<a href="http://www.doxygen.org/index.html">
1760
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address>
1761
</body>
1762
</html>

powered by: WebSVN 2.1.0

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