Line 1... |
Line 1... |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
<html>
|
<html>
|
<head>
|
<head>
|
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8">
|
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=UTF-8">
|
<title>signal,port and pad naming guidelines</title>
|
<title>signal,port and pad naming guidelines</title>
|
<meta name="GENERATOR" content="OpenOffice.org 3.0 (Linux)">
|
<meta name="GENERATOR" content="OpenOffice.org 3.0 (Linux)">
|
<meta name="CREATED" content="0;0">
|
<meta name="CREATED" content="0;0">
|
<meta name="CHANGED" content="20100309;9305300">
|
<meta name="CHANGED" content="20100309;9305300">
|
<meta name="KEYWORDS" content="start">
|
<meta name="KEYWORDS" content="start">
|
Line 28... |
Line 28... |
<h1><a name="socgen_project"></a>SOCGEN Project</h1>
|
<h1><a name="socgen_project"></a>SOCGEN Project</h1>
|
<h2>Signal,Port and Pad Naming Guidelines</h2>
|
<h2>Signal,Port and Pad Naming Guidelines</h2>
|
<p><br>
|
<p><br>
|
<br>
|
<br>
|
</p>
|
</p>
|
<p>As designs and design teams continue to grow in size it is mandatory
|
<p>As Digital designs and design teams continue to grow it is
|
that all rtl code must follow established name space guidelines. The
|
mandatory
|
days when designers could simply pull names out of thin air are faster
|
that all rtl code must follow an established name space guideline. The
|
|
days when designers could simply pull names out of thin air are fast
|
disappearing. Naming guidelines have three functions. First they
|
disappearing. Naming guidelines have three functions. First they
|
ensure that no two designers select the same name for different objects
|
ensure that no two designers select the same name for different objects
|
and have a name collision. The second function is to ensure that the
|
and have a name collision. The second function is to ensure that the
|
chosen names are meaningful to all of the design team. It is quite
|
chosen names are meaningful to all of the design team. It is quite
|
common for designers to select names
|
common for designers to select names
|
Line 62... |
Line 63... |
<p><br>
|
<p><br>
|
There are two distinct groups that use these names. The IC design team
|
There are two distinct groups that use these names. The IC design team
|
is one group and it will use all three. The other group consists
|
is one group and it will use all three. The other group consists
|
of System designers,PCB designers, Board Test engineers etc.<br>
|
of System designers,PCB designers, Board Test engineers etc.<br>
|
They only access the chip via the pad names and never see the internal
|
They only access the chip via the pad names and never see the internal
|
ones. These two groups have incompatible objectives. The IC
|
ones. These two groups often have incompatible objectives. The IC
|
design team is dealing with millions of names and needs a naming scheme
|
design team is dealing with millions of names and needs a naming scheme
|
that produces long descriptive names that won't collide and conveys
|
that produces long descriptive names that won't collide and conveys
|
information about the signals function. <br>
|
information about the signals function. <br>
|
</p>
|
</p>
|
<p>The rest of the world is only dealing with a few hundred or thousand
|
<p>The rest of the world is only dealing with a few hundred or thousand
|
names. They also have their own naming requirements. These typically
|
names. They also have their own naming requirements as well. These
|
|
typically
|
are:<br>
|
are:<br>
|
</p>
|
</p>
|
<p><br>
|
<p><br>
|
</p>
|
</p>
|
<ul>
|
<ul>
|
Line 81... |
Line 83... |
wasted white space on your schematic.</li>
|
wasted white space on your schematic.</li>
|
</ul>
|
</ul>
|
<br>
|
<br>
|
<ul>
|
<ul>
|
<li>Capital Letters. They make a packed schematic
|
<li>Capital Letters. They make a packed schematic
|
readable. You don't want your board designers trying to guess if it's a
|
readable. You don't want your board designers squinting at a sheet
|
|
trying to guess if it's a
|
1 or a l.</li>
|
1 or a l.</li>
|
</ul>
|
</ul>
|
<br>
|
<br>
|
<ul>
|
<ul>
|
<li>ATE naming requirements. Do you know what the IEEE 1149.1
|
<li>ATE naming requirements. Do you know what the IEEE 1149.1
|
pad naming rules are? If not then you shouldn't be selecting pad names.</li>
|
pad naming rules are? If not then you better not try to pick any pad
|
|
names.</li>
|
</ul>
|
</ul>
|
<br>
|
<br>
|
<br>
|
<br>
|
The guideline for selecting pad names is that the IC design team should
|
The guideline for selecting pad names is that the IC design team should
|
not attempt to pick pad names based on the internal signal names.
|
not attempt to pick pad names based on the internal signal names.
|
Line 100... |
Line 104... |
collisions are avoided by ensuring that ALL pad names start with a
|
collisions are avoided by ensuring that ALL pad names start with a
|
capital letter and that all internal names start with a small
|
capital letter and that all internal names start with a small
|
one. <br>
|
one. <br>
|
<br>
|
<br>
|
<br>
|
<br>
|
|
<br>
|
|
<br>
|
For internal signal and port names you must first find the four pieces
|
For internal signal and port names you must first find the four pieces
|
of information that will uniquely identify every signal in the design.
|
of information that will uniquely identify every signal in the design.
|
These are:<br>
|
These are:<br>
|
<br>
|
<br>
|
<br>
|
<br>
|
Line 126... |
Line 132... |
</li>
|
</li>
|
</ul>
|
</ul>
|
<br>
|
<br>
|
<br>
|
<br>
|
<ul>
|
<ul>
|
<li>ad
|
<li>Ad
|
hoc
|
hoc
|
If a signal is not defined by a standard interface then an ad hoc
|
If
|
|
a signal is not defined by a standard interface then an ad hoc
|
signal can be created based on the designers insight. If a module has 2
|
signal can be created based on the designers insight. If a module has 2
|
or more signals with the same standard interface then a ad hoc field is
|
or more signals with the same standard interface then a ad hoc field is
|
needed to distinguish between them.</li>
|
needed to distinguish between them.</li>
|
</ul>
|
</ul>
|
<br>
|
<br>
|
Line 142... |
Line 149... |
will be one and only one driver per node.</li>
|
will be one and only one driver per node.</li>
|
</ul>
|
</ul>
|
<br>
|
<br>
|
<br>
|
<br>
|
<br>
|
<br>
|
You can create signal names by simply gathering this information and
|
You can create signal names by simply gathering akk this information
|
concatenating it into a name but it is perfectly acceptable to
|
and
|
drop any field(s) if they are not needed to uniquely identify a node.<br>
|
concatenating it into a valid signal name. While you can use all
|
For example a IC design may have a signal named "clk". Clk is the
|
four fields,it is acceptable to
|
|
drop any field(s) if they are not needed to <br>
|
|
uniquely identify a node. For example a IC design may have a signal
|
|
named "clk". Clk is the
|
standard interface name for a clock signal so we know that it is a
|
standard interface name for a clock signal so we know that it is a
|
clock. The clock interface has two sub_members - rising edge and
|
clock. The clock interface has two sub_members - rising edge and
|
falling edge. If you have N sub_members then you only have to
|
falling edge. If you have N sub_members then you only have to
|
identify N-1 of them. In this case the standard chooses _n for falling
|
identify N-1 of them. In this case the standard chooses _n for falling
|
edge clocks and nothing for rising edge. clk is a rising edge clock. An
|
edge clocks and nothing for rising edge. clk is a rising edge clock. An
|
Line 265... |
Line 275... |
<p>It would parse as both a clock signal and a sram signal. If this
|
<p>It would parse as both a clock signal and a sram signal. If this
|
were a dual port sram then the signal would be:</p>
|
were a dual port sram then the signal would be:</p>
|
<p><br>
|
<p><br>
|
</p>
|
</p>
|
<p>
|
<p>
|
bank_2_eth_3_sram_a_clk <br>
|
bank_2_eth_3_sram_a_clk
|
|
<br>
|
</p>
|
</p>
|
<p><br>
|
<p><br>
|
</p>
|
</p>
|
<p>Notice that there is an ad hoc field both before and after the sram
|
<p>Notice that there is an ad hoc field both before and after the sram
|
interface name and it still parses as both a clock and a sram signal.<br>
|
interface name and it still parses as both a clock and a sram signal.<br>
|
Line 346... |
Line 357... |
</p>
|
</p>
|
<p><br>
|
<p><br>
|
</p>
|
</p>
|
<p><br>
|
<p><br>
|
</p>
|
</p>
|
|
<h3 class="western">Clock <br>
|
|
</h3>
|
<h3 class="western">Clock <br></h3>
|
|
<p><br>
|
<p><br>
|
A clock is a signal that drives the clock port of a flipflop.<br>
|
A clock is a signal that drives the clock port of a flipflop.<br>
|
</p>
|
</p>
|
<br>
|
<br>
|
<table style="text-align: left; width: 500px; height: 120px;" border="8" cellpadding="4" cellspacing="4">
|
<table style="text-align: left; width: 500px; height: 120px;" border="8"
|
|
cellpadding="4" cellspacing="4">
|
<tbody>
|
<tbody>
|
<tr>
|
<tr>
|
<td style="vertical-align: top;">Interface<br> </td>
|
<td style="vertical-align: top;">Interface<br>
|
<td style="vertical-align: top;">Clock<br> </td>
|
</td>
|
<td style="vertical-align: top;">Name<br> </td>
|
<td style="vertical-align: top;">Clock<br>
|
<td style="vertical-align: top;">Sub <br> </td>
|
</td>
|
</tr>
|
<td style="vertical-align: top;">Name<br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"> <br> </td>
|
<td style="vertical-align: top;">Sub <br>
|
<td style="vertical-align: top;"> <br> </td>
|
</td>
|
<td style="vertical-align: top;">CLK<br> </td>
|
</tr>
|
<td style="vertical-align: top;"> <br> </td>
|
<tr>
|
</tr>
|
<td style="vertical-align: top;"> <br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"> <br> </td>
|
<td style="vertical-align: top;"> <br>
|
<td style="vertical-align: top;">Rising Edge<br> </td>
|
</td>
|
<td style="vertical-align: top;">CLK<br> </td>
|
<td style="vertical-align: top;">CLK<br>
|
<td style="vertical-align: top;"> <br> </td>
|
</td>
|
</tr>
|
<td style="vertical-align: top;"> <br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"><br> </td>
|
</tr>
|
<td style="vertical-align: top;">Falling Edge<br> </td>
|
<tr>
|
<td style="vertical-align: top;">CLK<br> </td>
|
<td style="vertical-align: top;"> <br>
|
<td style="vertical-align: top;">_N<br> </td>
|
</td>
|
|
<td style="vertical-align: top;">Rising Edge<br>
|
|
</td>
|
|
<td style="vertical-align: top;">CLK<br>
|
|
</td>
|
|
<td style="vertical-align: top;"> <br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;"><br>
|
|
</td>
|
|
<td style="vertical-align: top;">Falling Edge<br>
|
|
</td>
|
|
<td style="vertical-align: top;">CLK<br>
|
|
</td>
|
|
<td style="vertical-align: top;">_N<br>
|
|
</td>
|
</tr>
|
</tr>
|
</tbody>
|
</tbody>
|
</table>
|
</table>
|
<br>
|
<br>
|
<br>
|
<br>
|
<br>
|
<br>
|
|
<h3 class="western">Reset <br>
|
|
</h3>
|
|
|
<h3 class="western">Reset <br></h3>
|
|
<p><br>
|
<p><br>
|
A reset is a signal forces nodes into a known safe state<br>
|
A reset is a signal forces nodes into a known safe state<br>
|
</p>
|
</p>
|
<br>
|
<br>
|
<table style="text-align: left; width: 500px; height: 120px;" border="8" cellpadding="4" cellspacing="4">
|
<table style="text-align: left; width: 500px; height: 120px;" border="8"
|
|
cellpadding="4" cellspacing="4">
|
<tbody>
|
<tbody>
|
<tr>
|
<tr>
|
<td style="vertical-align: top;">Interface<br> </td>
|
<td style="vertical-align: top;">Interface<br>
|
<td style="vertical-align: top;">Reset<br> </td>
|
</td>
|
<td style="vertical-align: top;">Name<br> </td>
|
<td style="vertical-align: top;">Reset<br>
|
<td style="vertical-align: top;">Sub <br> </td>
|
</td>
|
</tr>
|
<td style="vertical-align: top;">Name<br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"> <br> </td>
|
<td style="vertical-align: top;">Sub <br>
|
<td style="vertical-align: top;"> <br> </td>
|
</td>
|
<td style="vertical-align: top;">RESET<br> </td>
|
</tr>
|
<td style="vertical-align: top;"> <br> </td>
|
<tr>
|
</tr>
|
<td style="vertical-align: top;"> <br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"> <br> </td>
|
<td style="vertical-align: top;"> <br>
|
<td style="vertical-align: top;">Active high sync<br> </td>
|
</td>
|
<td style="vertical-align: top;">RESET<br> </td>
|
<td style="vertical-align: top;">RESET<br>
|
<td style="vertical-align: top;"> <br> </td>
|
</td>
|
</tr>
|
<td style="vertical-align: top;"> <br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"><br> </td>
|
</tr>
|
<td style="vertical-align: top;">Active Low async<br> </td>
|
<tr>
|
<td style="vertical-align: top;">RESET<br> </td>
|
<td style="vertical-align: top;"> <br>
|
<td style="vertical-align: top;">_N<br> </td>
|
</td>
|
|
<td style="vertical-align: top;">Active high sync<br>
|
|
</td>
|
|
<td style="vertical-align: top;">RESET<br>
|
|
</td>
|
|
<td style="vertical-align: top;"> <br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;"><br>
|
|
</td>
|
|
<td style="vertical-align: top;">Active Low async<br>
|
|
</td>
|
|
<td style="vertical-align: top;">RESET<br>
|
|
</td>
|
|
<td style="vertical-align: top;">_N<br>
|
|
</td>
|
</tr>
|
</tr>
|
</tbody>
|
</tbody>
|
</table>
|
</table>
|
<br>
|
<br>
|
<br>
|
<br>
|
<br>
|
<br>
|
|
<h3 class="western">Pads <br>
|
|
</h3>
|
|
|
|
|
|
|
<h3 class="western">Pads <br></h3>
|
|
<p><br>
|
<p><br>
|
Pads are the connections made between the pad_ring and the core.<br>
|
Pads are the connections made between the pad_ring and the core.<br>
|
</p>
|
</p>
|
<br>
|
<br>
|
<table style="text-align: left; width: 500px; height: 120px;" border="8" cellpadding="4" cellspacing="4">
|
<table style="text-align: left; width: 500px; height: 120px;" border="8"
|
|
cellpadding="4" cellspacing="4">
|
<tbody>
|
<tbody>
|
<tr>
|
<tr>
|
<td style="vertical-align: top;">Interface<br> </td>
|
<td style="vertical-align: top;">Interface<br>
|
<td style="vertical-align: top;">Pads<br> </td>
|
</td>
|
<td style="vertical-align: top;">Name<br> </td>
|
<td style="vertical-align: top;">Pads<br>
|
<td style="vertical-align: top;">Sub <br> </td>
|
</td>
|
</tr>
|
<td style="vertical-align: top;">Name<br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"> <br> </td>
|
<td style="vertical-align: top;">Sub <br>
|
<td style="vertical-align: top;"> <br> </td>
|
</td>
|
<td style="vertical-align: top;">PAD<br> </td>
|
</tr>
|
<td style="vertical-align: top;"> <br> </td>
|
<tr>
|
</tr>
|
<td style="vertical-align: top;"> <br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"> <br> </td>
|
<td style="vertical-align: top;"> <br>
|
<td style="vertical-align: top;">output<br> </td>
|
</td>
|
<td style="vertical-align: top;">PAD<br> </td>
|
<td style="vertical-align: top;">PAD<br>
|
<td style="vertical-align: top;">_OUT <br> </td>
|
</td>
|
</tr>
|
<td style="vertical-align: top;"> <br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"><br> </td>
|
</tr>
|
<td style="vertical-align: top;">Input<br> </td>
|
<tr>
|
<td style="vertical-align: top;">PAD<br> </td>
|
<td style="vertical-align: top;"> <br>
|
<td style="vertical-align: top;">_IN<br> </td>
|
</td>
|
</tr>
|
<td style="vertical-align: top;">output<br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"><br> </td>
|
<td style="vertical-align: top;">PAD<br>
|
<td style="vertical-align: top;">Enable<br> </td>
|
</td>
|
<td style="vertical-align: top;">PAD<br> </td>
|
<td style="vertical-align: top;">_OUT <br>
|
<td style="vertical-align: top;">_OE<br> </td>
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;"><br>
|
|
</td>
|
|
<td style="vertical-align: top;">Input<br>
|
|
</td>
|
|
<td style="vertical-align: top;">PAD<br>
|
|
</td>
|
|
<td style="vertical-align: top;">_IN<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;"><br>
|
|
</td>
|
|
<td style="vertical-align: top;">Enable<br>
|
|
</td>
|
|
<td style="vertical-align: top;">PAD<br>
|
|
</td>
|
|
<td style="vertical-align: top;">_OE<br>
|
|
</td>
|
</tr>
|
</tr>
|
</tbody>
|
</tbody>
|
</table>
|
</table>
|
<br>
|
<br>
|
<br>
|
<br>
|
<br>
|
<br>
|
|
<h3 class="western">Sram <br>
|
|
</h3>
|
|
|
<h3 class="western">Sram <br></h3>
|
|
<p><br>
|
<p><br>
|
Sram signals connect between the core and an instantiated memory cell.<br>
|
Sram signals connect between the core and an instantiated memory cell.<br>
|
</p>
|
</p>
|
<br>
|
<br>
|
<table style="text-align: left; width: 500px; height: 120px;" border="8" cellpadding="4" cellspacing="4">
|
<table style="text-align: left; width: 500px; height: 120px;" border="8"
|
|
cellpadding="4" cellspacing="4">
|
<tbody>
|
<tbody>
|
<tr>
|
<tr>
|
<td style="vertical-align: top;">Interface<br> </td>
|
<td style="vertical-align: top;">Interface<br>
|
<td style="vertical-align: top;">SRAM<br> </td>
|
</td>
|
<td style="vertical-align: top;">Name<br> </td>
|
<td style="vertical-align: top;">SRAM<br>
|
<td style="vertical-align: top;">Sub <br> </td>
|
</td>
|
</tr>
|
<td style="vertical-align: top;">Name<br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"> <br> </td>
|
<td style="vertical-align: top;">Sub <br>
|
<td style="vertical-align: top;"> <br> </td>
|
</td>
|
<td style="vertical-align: top;">SRAM<br> </td>
|
</tr>
|
<td style="vertical-align: top;"> <br> </td>
|
<tr>
|
</tr>
|
<td style="vertical-align: top;"> <br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"> <br> </td>
|
<td style="vertical-align: top;"> <br>
|
<td style="vertical-align: top;">RW Address<br> </td>
|
</td>
|
<td style="vertical-align: top;">SRAM<br> </td>
|
<td style="vertical-align: top;">SRAM<br>
|
<td style="vertical-align: top;">_ADDR <br> </td>
|
</td>
|
</tr>
|
<td style="vertical-align: top;"> <br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"> <br> </td>
|
</tr>
|
<td style="vertical-align: top;">Read Address<br> </td>
|
<tr>
|
<td style="vertical-align: top;">SRAM<br> </td>
|
<td style="vertical-align: top;"> <br>
|
<td style="vertical-align: top;">_RADDR <br> </td>
|
</td>
|
</tr>
|
<td style="vertical-align: top;">RW Address<br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"> <br> </td>
|
<td style="vertical-align: top;">SRAM<br>
|
<td style="vertical-align: top;">Write Address<br> </td>
|
</td>
|
<td style="vertical-align: top;">SRAM<br> </td>
|
<td style="vertical-align: top;">_ADDR <br>
|
<td style="vertical-align: top;">_WADDR <br> </td>
|
</td>
|
</tr>
|
</tr>
|
<tr>
|
<tr>
|
<td style="vertical-align: top;"><br> </td>
|
<td style="vertical-align: top;"> <br>
|
<td style="vertical-align: top;">Write Data<br> </td>
|
</td>
|
<td style="vertical-align: top;">SRAM<br> </td>
|
<td style="vertical-align: top;">Read Address<br>
|
<td style="vertical-align: top;">_WDATA<br> </td>
|
</td>
|
</tr>
|
<td style="vertical-align: top;">SRAM<br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"><br> </td>
|
<td style="vertical-align: top;">_RADDR <br>
|
<td style="vertical-align: top;">Read Data<br> </td>
|
</td>
|
<td style="vertical-align: top;">SRAM<br> </td>
|
</tr>
|
<td style="vertical-align: top;">_RDATA<br> </td>
|
<tr>
|
</tr>
|
<td style="vertical-align: top;"> <br>
|
|
</td>
|
|
<td style="vertical-align: top;">Write Address<br>
|
|
</td>
|
<tr>
|
<td style="vertical-align: top;">SRAM<br>
|
<td style="vertical-align: top;"><br> </td>
|
</td>
|
<td style="vertical-align: top;">Ram Select<br> </td>
|
<td style="vertical-align: top;">_WADDR <br>
|
<td style="vertical-align: top;">SRAM<br> </td>
|
</td>
|
<td style="vertical-align: top;">_CS<br> </td>
|
</tr>
|
</tr>
|
<tr>
|
|
<td style="vertical-align: top;"><br>
|
|
</td>
|
<tr>
|
<td style="vertical-align: top;">Write Data<br>
|
<td style="vertical-align: top;"><br> </td>
|
</td>
|
<td style="vertical-align: top;">Write Enable<br> </td>
|
<td style="vertical-align: top;">SRAM<br>
|
<td style="vertical-align: top;">SRAM<br> </td>
|
</td>
|
<td style="vertical-align: top;">_WR<br> </td>
|
<td style="vertical-align: top;">_WDATA<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;"><br>
|
|
</td>
|
|
<td style="vertical-align: top;">Read Data<br>
|
|
</td>
|
|
<td style="vertical-align: top;">SRAM<br>
|
|
</td>
|
|
<td style="vertical-align: top;">_RDATA<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;"><br>
|
|
</td>
|
|
<td style="vertical-align: top;">Ram Select<br>
|
|
</td>
|
|
<td style="vertical-align: top;">SRAM<br>
|
|
</td>
|
|
<td style="vertical-align: top;">_CS<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;"><br>
|
|
</td>
|
|
<td style="vertical-align: top;">Write Enable<br>
|
|
</td>
|
|
<td style="vertical-align: top;">SRAM<br>
|
|
</td>
|
|
<td style="vertical-align: top;">_WR<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;"><br>
|
|
</td>
|
|
<td style="vertical-align: top;">Read Enable<br>
|
|
</td>
|
|
<td style="vertical-align: top;">SRAM<br>
|
|
</td>
|
|
<td style="vertical-align: top;">_RD<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;"><br>
|
|
</td>
|
|
<td style="vertical-align: top;">Bit Write Enable<br>
|
|
</td>
|
|
<td style="vertical-align: top;">SRAM<br>
|
|
</td>
|
|
<td style="vertical-align: top;">_BE<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;"><br>
|
|
</td>
|
|
<td style="vertical-align: top;">Clock<br>
|
|
</td>
|
|
<td style="vertical-align: top;">SRAM<br>
|
|
</td>
|
|
<td style="vertical-align: top;">_CLK<br>
|
|
</td>
|
</tr>
|
</tr>
|
|
|
|
|
<tr>
|
|
<td style="vertical-align: top;"><br> </td>
|
|
<td style="vertical-align: top;">Read Enable<br> </td>
|
|
<td style="vertical-align: top;">SRAM<br> </td>
|
|
<td style="vertical-align: top;">_RD<br> </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td style="vertical-align: top;"><br> </td>
|
|
<td style="vertical-align: top;">Bit Write Enable<br> </td>
|
|
<td style="vertical-align: top;">SRAM<br> </td>
|
|
<td style="vertical-align: top;">_BE<br> </td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td style="vertical-align: top;"><br> </td>
|
|
<td style="vertical-align: top;">Clock<br> </td>
|
|
<td style="vertical-align: top;">SRAM<br> </td>
|
|
<td style="vertical-align: top;">_CLK<br> </td>
|
|
</tr>
|
|
|
|
|
|
|
|
</tbody>
|
</tbody>
|
</table>
|
</table>
|
<br>
|
<br>
|
<br>
|
<br>
|
<br>
|
<br>
|
|
<h3 class="western">Wishbone Bus <br>
|
<h3 class="western">Wishbone Bus <br></h3>
|
</h3>
|
<p><br>
|
<p><br>
|
The wishbone bus provides microprocessor interconnection .<br>
|
The wishbone bus provides microprocessor interconnection .<br>
|
</p>
|
</p>
|
<br>
|
<br>
|
<table style="text-align: left; width: 500px; height: 120px;" border="8" cellpadding="4" cellspacing="4">
|
<table style="text-align: left; width: 500px; height: 120px;" border="8"
|
|
cellpadding="4" cellspacing="4">
|
<tbody>
|
<tbody>
|
<tr>
|
<tr>
|
<td style="vertical-align: top;">Interface<br> </td>
|
<td style="vertical-align: top;">Interface<br>
|
<td style="vertical-align: top;">Wishbone<br> </td>
|
</td>
|
<td style="vertical-align: top;">Name<br> </td>
|
<td style="vertical-align: top;">Wishbone<br>
|
<td style="vertical-align: top;">Sub <br> </td>
|
</td>
|
</tr>
|
<td style="vertical-align: top;">Name<br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"> <br> </td>
|
<td style="vertical-align: top;">Sub <br>
|
<td style="vertical-align: top;">Address<br> </td>
|
</td>
|
<td style="vertical-align: top;">WB<br> </td>
|
</tr>
|
<td style="vertical-align: top;">_ADR<br> </td>
|
<tr>
|
</tr>
|
<td style="vertical-align: top;"> <br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"> <br> </td>
|
<td style="vertical-align: top;">Address<br>
|
<td style="vertical-align: top;">Write Data<br> </td>
|
</td>
|
<td style="vertical-align: top;">WB<br> </td>
|
<td style="vertical-align: top;">WB<br>
|
<td style="vertical-align: top;"> _WDAT<br> </td>
|
</td>
|
</tr>
|
<td style="vertical-align: top;">_ADR<br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"><br> </td>
|
</tr>
|
<td style="vertical-align: top;">Read Data<br> </td>
|
<tr>
|
<td style="vertical-align: top;">WB<br> </td>
|
<td style="vertical-align: top;"> <br>
|
<td style="vertical-align: top;">_RDAT<br> </td>
|
</td>
|
</tr>
|
<td style="vertical-align: top;">Write Data<br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"><br> </td>
|
<td style="vertical-align: top;">WB<br>
|
<td style="vertical-align: top;">Write Enable<br> </td>
|
</td>
|
<td style="vertical-align: top;">WB<br> </td>
|
<td style="vertical-align: top;"> _WDAT<br>
|
<td style="vertical-align: top;">_WE<br> </td>
|
</td>
|
</tr>
|
</tr>
|
<tr>
|
<tr>
|
<td style="vertical-align: top;"><br> </td>
|
<td style="vertical-align: top;"><br>
|
<td style="vertical-align: top;">Byte Select<br> </td>
|
</td>
|
<td style="vertical-align: top;">WB<br> </td>
|
<td style="vertical-align: top;">Read Data<br>
|
<td style="vertical-align: top;">_SEL<br> </td>
|
</td>
|
</tr>
|
<td style="vertical-align: top;">WB<br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"><br> </td>
|
<td style="vertical-align: top;">_RDAT<br>
|
<td style="vertical-align: top;">Cycle<br> </td>
|
</td>
|
<td style="vertical-align: top;">WB<br> </td>
|
</tr>
|
<td style="vertical-align: top;">_CYC<br> </td>
|
<tr>
|
</tr>
|
<td style="vertical-align: top;"><br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"><br> </td>
|
<td style="vertical-align: top;">Write Enable<br>
|
<td style="vertical-align: top;">Data Strobe<br> </td>
|
</td>
|
<td style="vertical-align: top;">WB<br> </td>
|
<td style="vertical-align: top;">WB<br>
|
<td style="vertical-align: top;">_STB<br> </td>
|
</td>
|
</tr>
|
<td style="vertical-align: top;">_WE<br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"><br> </td>
|
</tr>
|
<td style="vertical-align: top;">Acknowledge<br> </td>
|
<tr>
|
<td style="vertical-align: top;">WB<br> </td>
|
<td style="vertical-align: top;"><br>
|
<td style="vertical-align: top;">_ACK<br> </td>
|
</td>
|
</tr>
|
<td style="vertical-align: top;">Byte Select<br>
|
<tr>
|
</td>
|
<td style="vertical-align: top;"><br> </td>
|
<td style="vertical-align: top;">WB<br>
|
<td style="vertical-align: top;">CTI<br> </td>
|
</td>
|
<td style="vertical-align: top;">WB<br> </td>
|
<td style="vertical-align: top;">_SEL<br>
|
<td style="vertical-align: top;">_CTI<br> </td>
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;"><br>
|
|
</td>
|
|
<td style="vertical-align: top;">Cycle<br>
|
|
</td>
|
|
<td style="vertical-align: top;">WB<br>
|
|
</td>
|
|
<td style="vertical-align: top;">_CYC<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;"><br>
|
|
</td>
|
|
<td style="vertical-align: top;">Data Strobe<br>
|
|
</td>
|
|
<td style="vertical-align: top;">WB<br>
|
|
</td>
|
|
<td style="vertical-align: top;">_STB<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;"><br>
|
|
</td>
|
|
<td style="vertical-align: top;">Acknowledge<br>
|
|
</td>
|
|
<td style="vertical-align: top;">WB<br>
|
|
</td>
|
|
<td style="vertical-align: top;">_ACK<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="vertical-align: top;"><br>
|
|
</td>
|
|
<td style="vertical-align: top;">CTI<br>
|
|
</td>
|
|
<td style="vertical-align: top;">WB<br>
|
|
</td>
|
|
<td style="vertical-align: top;">_CTI<br>
|
|
</td>
|
</tr>
|
</tr>
|
</tbody>
|
</tbody>
|
</table>
|
</table>
|
<br>
|
<br>
|
<br>
|
<br>
|
<br>
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p></p>
|
<p></p>
|
<br>
|
<br>
|
<br>
|
<br>
|
<p><br>
|
<p><br>
|
</p>
|
</p>
|