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

Subversion Repositories socgen

[/] [socgen/] [trunk/] [doc/] [src/] [guides/] [guide_names.html] - Diff between revs 20 and 80

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 20 Rev 80
<!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">
  <meta name="Info 3" content="">
  <meta name="Info 3" content="">
  <meta name="Info 4" content="">
  <meta name="Info 4" content="">
  <meta name="date" content="2008-01-08T12:01:41-0500">
  <meta name="date" content="2008-01-08T12:01:41-0500">
  <meta name="robots" content="index,follow">
  <meta name="robots" content="index,follow">
  <style type="text/css">
  <style type="text/css">
        <!--
        <!--
                H3.western { font-family: "Albany", sans-serif }
                H3.western { font-family: "Albany", sans-serif }
                H3.cjk { font-family: "HG Mincho Light J" }
                H3.cjk { font-family: "HG Mincho Light J" }
                H3.ctl { font-family: "Arial Unicode MS" }
                H3.ctl { font-family: "Arial Unicode MS" }
        -->
        -->
        </style>
        </style>
</head>
</head>
<body dir="ltr" lang="en-US">
<body dir="ltr" lang="en-US">
<div id="toc__header" dir="ltr">
<div id="toc__header" dir="ltr">
<p><br>
<p><br>
<br>
<br>
</p>
</p>
</div>
</div>
<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&nbsp; 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&nbsp; three functions. First they
disappearing. Naming guidelines have&nbsp; 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
that only make sense to themselves and no one else on the team. The
that only make sense to themselves and no one else on the team. The
third function
third function
is to ensure that all rtl code follows a consistent format so that it
is to ensure that all rtl code follows a consistent format so that it
may be parsed
may be parsed
by various eda tools.
by various eda tools.
</p>
</p>
<h3 class="western"><br>
<h3 class="western"><br>
</h3>
</h3>
<h3 class="western"><br>
<h3 class="western"><br>
</h3>
</h3>
<h3 class="western"><br>
<h3 class="western"><br>
</h3>
</h3>
<h3 class="western">Signal ,Port and Pad Names<br>
<h3 class="western">Signal ,Port and Pad Names<br>
</h3>
</h3>
<p>Signals define the nodes inside of&nbsp; a component and each node
<p>Signals define the nodes inside of&nbsp; a component and each node
must have a unique name. That signal name becomes the port name when a
must have a unique name. That signal name becomes the port name when a
node is ported up the hierarchy. The port names become the pad names at
node is ported up the hierarchy. The port names become the pad names at
the top level.&nbsp; All of these exist in the same name space along
the top level.&nbsp; All of these exist in the same name space along
with other items such as instance names. Managing this name space is
with other items such as instance names. Managing this name space is
crucial.<br>
crucial.<br>
</p>
</p>
<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&nbsp; System designers,PCB designers, Board Test engineers etc.<br>
of&nbsp; 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.&nbsp; These two groups have incompatible objectives. The IC
ones.&nbsp; 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>
  <li>Short Names that fit on a schematic graphic symbol.&nbsp; If you
  <li>Short Names that fit on a schematic graphic symbol.&nbsp; If you
have 99 short names and 1 long one then you have a long column and
have 99 short names and 1 long one then you have a long column and
wasted white space on your schematic.</li>
wasted white space on your schematic.</li>
</ul>
</ul>
<br>
<br>
<ul>
<ul>
  <li>Capital Letters.&nbsp;&nbsp; They make a packed schematic
  <li>Capital Letters.&nbsp;&nbsp; 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.&nbsp; Do you know what the IEEE 1149.1
  <li>ATE naming requirements.&nbsp; 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.&nbsp;
not attempt to pick pad names based on the internal signal names.&nbsp;
They should first meet all of the PCA customers requirements without
They should first meet all of the PCA customers requirements without
regard to what names are chosen for the internal signals.&nbsp; Name
regard to what names are chosen for the internal signals.&nbsp; Name
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&nbsp; start with a small
capital letter and that all internal names&nbsp; 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>
<ul>
<ul>
  <li>Interface Name&nbsp;&nbsp; &nbsp; You don't want 5 different ways
  <li>Interface Name&nbsp;&nbsp; &nbsp; You don't want 5 different ways
to spell clock in a design.&nbsp; Each&nbsp; team must&nbsp; agree
to spell clock in a design.&nbsp; Each&nbsp; team must&nbsp; agree
on&nbsp; common signal names and everyone must follow the rules. These
on&nbsp; common signal names and everyone must follow the rules. These
are called standard interfaces. The team must create a document that
are called standard interfaces. The team must create a document that
lists all the standard interfaces&nbsp; and their names. It is
lists all the standard interfaces&nbsp; and their names. It is
ESSENTIAL that once a standard is chosen then all signals covered by
ESSENTIAL that once a standard is chosen then all signals covered by
that standards MUST follow the naming rules and the no signals that are
that standards MUST follow the naming rules and the no signals that are
not covered by the standard are allowed to use its name.<br>
not covered by the standard are allowed to use its name.<br>
  </li>
  </li>
</ul>
</ul>
<br>
<br>
<ul>
<ul>
  <li>Sub_member &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; If the standard
  <li>Sub_member &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; If the standard
interface has more than one signal&nbsp; then you must also define the
interface has more than one signal&nbsp; then you must also define the
names for each sub_member as part of the standard <br>
names for each sub_member as part of the standard <br>
  </li>
  </li>
</ul>
</ul>
<br>
<br>
<br>
<br>
<ul>
<ul>
  <li>ad
  <li>Ad
hoc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
hoc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
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>
<ul>
<ul>
  <li>Driving Instance&nbsp;&nbsp;&nbsp; This is the instance name that
  <li>Driving Instance&nbsp;&nbsp;&nbsp; This is the instance name that
is driving the signal. Wired or tristate logic is not allowed. There
is driving the signal. Wired or tristate logic is not allowed. There
will&nbsp; be one and only one driver per node.</li>
will&nbsp; 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&nbsp; 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&nbsp; 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.&nbsp; If you have N sub_members then you only have to
falling edge.&nbsp; 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
ad hoc field is needed if the design has more than one clock and we
ad hoc field is needed if the design has more than one clock and we
have several - 2x, 4x 1.5 x etc. But again we only have to add this to
have several - 2x, 4x 1.5 x etc. But again we only have to add this to
all but one of the clocks. clk is a 1x clock. This design only has one
all but one of the clocks. clk is a 1x clock. This design only has one
clock generator so we don't need to add the driving instance.&nbsp; If
clock generator so we don't need to add the driving instance.&nbsp; If
a second clock generator is added then all of those clocks must include
a second clock generator is added then all of those clocks must include
the driving instance in their name.<br>
the driving instance in their name.<br>
<br>
<br>
<br>
<br>
Besides defining all of the standard interfaces the design team must
Besides defining all of the standard interfaces the design team must
also define a field separator such as _ (underscore) as the way to
also define a field separator such as _ (underscore) as the way to
separate the different fields that are combined to make a signal or
separate the different fields that are combined to make a signal or
port name.&nbsp; But the most important decision of all is the order
port name.&nbsp; But the most important decision of all is the order
that the fields are assembled to make up a name. This is like the Big
that the fields are assembled to make up a name. This is like the Big
Endian/Little Endian issue. They both have their strengths and
Endian/Little Endian issue. They both have their strengths and
weaknesses and it really doesn't matter which one you pick. BUT it is
weaknesses and it really doesn't matter which one you pick. BUT it is
essential that the design team picks one and everybody does it that
essential that the design team picks one and everybody does it that
way. <br>
way. <br>
<br>
<br>
Signal and port names are even worse because with four fields you can
Signal and port names are even worse because with four fields you can
have 24 possible signal names for each node.&nbsp; Unless everyone on
have 24 possible signal names for each node.&nbsp; Unless everyone on
the design team adheres to one order then it will be chaos when you try
the design team adheres to one order then it will be chaos when you try
to architect and synthesize a design.<br>
to architect and synthesize a design.<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
The recommended order for fields in a signal/port name is<br>
The recommended order for fields in a signal/port name is<br>
<br>
<br>
<br>
<br>
<br>
<br>
&nbsp;&nbsp; Driving_instance_(sep)_Ad
&nbsp;&nbsp; Driving_instance_(sep)_Ad
hoc_(sep)_Interface_(sep)_Sub_member<br>
hoc_(sep)_Interface_(sep)_Sub_member<br>
<br>
<br>
<br>
<br>
<br>
<br>
This ordering gives us the ability to have our signal names follow
This ordering gives us the ability to have our signal names follow
their function as the signals pass up and down the hierarchy. It also
their function as the signals pass up and down the hierarchy. It also
gives us an easy rule to follow when we need to pick a signal name. All
gives us an easy rule to follow when we need to pick a signal name. All
that you need to do is find the instance name of the module that is
that you need to do is find the instance name of the module that is
driving that signal and combine it with the port name from that
driving that signal and combine it with the port name from that
module.&nbsp; Since instance names are unique inside a design and port
module.&nbsp; Since instance names are unique inside a design and port
names are unique inside of a module then this rule guarantees that no
names are unique inside of a module then this rule guarantees that no
other signal will use that name.<br>
other signal will use that name.<br>
<br>
<br>
By following this rule a signal name will grow as it progresses up the
By following this rule a signal name will grow as it progresses up the
hierarchy.&nbsp; At each new level&nbsp; a new instance name&nbsp; is
hierarchy.&nbsp; At each new level&nbsp; a new instance name&nbsp; is
stuck on&nbsp; the front&nbsp; end and&nbsp; the&nbsp; instance name
stuck on&nbsp; the front&nbsp; end and&nbsp; the&nbsp; instance name
from the lower level&nbsp; becomes part of the ad hoc field.&nbsp; Each
from the lower level&nbsp; becomes part of the ad hoc field.&nbsp; Each
name contains a history&nbsp; of how it was created and what it does.<br>
name contains a history&nbsp; of how it was created and what it does.<br>
<br>
<br>
<br>
<br>
There are some special cases that can occur and these rules should be
There are some special cases that can occur and these rules should be
followed:<br>
followed:<br>
<br>
<br>
<br>
<br>
<ul>
<ul>
  <li>There is one sub_member that can be used on a&nbsp; ad hoc signal
  <li>There is one sub_member that can be used on a&nbsp; ad hoc signal
that is not defined as a standard interface. That sub_member is active
that is not defined as a standard interface. That sub_member is active
low (_n).</li>
low (_n).</li>
</ul>
</ul>
<br>
<br>
<ul>
<ul>
  <li>If a standard interface includes a signal that is itself defined
  <li>If a standard interface includes a signal that is itself defined
as another&nbsp; standard interface then the interface name of the
as another&nbsp; standard interface then the interface name of the
child becomes the sub member name for the parent. This usually occurs
child becomes the sub member name for the parent. This usually occurs
when a clock or reset is included in a bus interface. This ensures that
when a clock or reset is included in a bus interface. This ensures that
when parsing the signal name it will match on both interfaces. If there
when parsing the signal name it will match on both interfaces. If there
are multiples of this interface then a ad hoc field must be perpended
are multiples of this interface then a ad hoc field must be perpended
to the sub_member interface.</li>
to the sub_member interface.</li>
</ul>
</ul>
<br>
<br>
<ul>
<ul>
  <li>If the driving instance is not known such as a module where the
  <li>If the driving instance is not known such as a module where the
signal is an input port then the instance and port of a receiving
signal is an input port then the instance and port of a receiving
instance may be used instead.</li>
instance may be used instead.</li>
</ul>
</ul>
<br>
<br>
<br>
<br>
<br>
<br>
Again remember that any field may be dropped if it is not needed to
Again remember that any field may be dropped if it is not needed to
uniquely identify the node<br>
uniquely identify the node<br>
<br>
<br>
<br>
<br>
<br>
<br>
<img style="width: 800px; height: 600px;" alt=""
<img style="width: 800px; height: 600px;" alt=""
 src="../png/naming_guide_1.png"><br>
 src="../png/naming_guide_1.png"><br>
<p><br>
<p><br>
<br>
<br>
<br>
<br>
Here is an example of how this works in a real design. A router IC has
Here is an example of how this works in a real design. A router IC has
24 instances of a ethernet interface. Each instance controls a transmit
24 instances of a ethernet interface. Each instance controls a transmit
sram buffer and a receive sram buffer. There are four instances in a
sram buffer and a receive sram buffer. There are four instances in a
bank and the bank is instantiated six times. The&nbsp; receive write
bank and the bank is instantiated six times. The&nbsp; receive write
data&nbsp; for the&nbsp; third interface in the second bank
data&nbsp; for the&nbsp; third interface in the second bank
originates&nbsp; in a register bank deep inside a submodule. The name
originates&nbsp; in a register bank deep inside a submodule. The name
of this register is sram_wdata and that was chosen because the sram bus
of this register is sram_wdata and that was chosen because the sram bus
is a standard interface and wdata is the sub_member for the wdata. As
is a standard interface and wdata is the sub_member for the wdata. As
it passes through the hierarchy the driving instance name is prepended
it passes through the hierarchy the driving instance name is prepended
on the front. It always parses as a sram wdata signal but the ad hoc
on the front. It always parses as a sram wdata signal but the ad hoc
field keeps growing.</p>
field keeps growing.</p>
<p><br>
<p><br>
If the clock signal is also included in the sram interface then it's
If the clock signal is also included in the sram interface then it's
name would be:</p>
name would be:</p>
<p>&nbsp;<br>
<p>&nbsp;<br>
</p>
</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
bank_2_eth_3_sram_clk<br>
bank_2_eth_3_sram_clk<br>
<br>
<br>
</p>
</p>
<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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
bank_2_eth_3_sram_a_clk&nbsp;&nbsp; <br>
bank_2_eth_3_sram_a_clk&nbsp;&nbsp;
 
<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>
</p>
</p>
<p><br>
<p><br>
</p>
</p>
<p>If you want to synthesize the bank of 4 controllers then you will
<p>If you want to synthesize the bank of 4 controllers then you will
need to set an output delay on the sram outputs as a placeholder for
need to set an output delay on the sram outputs as a placeholder for
the setup and routing delays in the full chip. To do this you need the
the setup and routing delays in the full chip. To do this you need the
full instance name of the source registers as seen from the top level.
full instance name of the source registers as seen from the top level.
Assuming you use the standard _reg convention it would be:<br>
Assuming you use the standard _reg convention it would be:<br>
</p>
</p>
<p><br>
<p><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
eth_3/rx/sram_wdata_reg<br>
eth_3/rx/sram_wdata_reg<br>
</p>
</p>
<p><br>
<p><br>
</p>
</p>
<p><br>
<p><br>
</p>
</p>
<p><br>
<p><br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<br>
<br>
<p><br>
<p><br>
</p>
</p>
<h2>Standard Interfaces<br>
<h2>Standard Interfaces<br>
</h2>
</h2>
<p></p>
<p></p>
<p><br>
<p><br>
</p>
</p>
<p><br>
<p><br>
</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>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
<p><br>
<p><br>
<br>
<br>
</p>
</p>
</body>
</body>
</html>
</html>
 
 

powered by: WebSVN 2.1.0

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