Initial check in
This commit is contained in:
@@ -0,0 +1,735 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||
"http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
|
||||
<title>Waveform Editors</title>
|
||||
<meta name="generator" content="BBEdit 6.0">
|
||||
</head>
|
||||
<body bgcolor="white">
|
||||
|
||||
|
||||
<table border="0" cellpadding="0" cellspacing="0" width="90%" align="center">
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
<p align="center"><font face="verdana, arial" size="2" color="black"><b><a name="Waveform"></a>Waveform
|
||||
Editors </b></font>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
|
||||
<p>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black"><br>The
|
||||
four tab pages following the </font><a href="BlockDiagram.htm#BlockDiagram"><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">Block Diagram</font></a><font face="verdana, arial, helvetica, sans-serif" size="1" color="black"> page present graphical
|
||||
editors for defining four distinct GPIF waveforms (i.e. state machines).<br><br>Each
|
||||
of the four waveforms may be configured for a specific type
|
||||
of data transaction. For instance, the waveform depicted below
|
||||
is for iterative reading of data from a connected FIFO device. The
|
||||
second waveform (on the tab labeled "FIFOWr") is for iterative
|
||||
writing of data to a connected FIFO device.<br><br>Each of the waveforms
|
||||
can be configured for any IO task (i.e. Single Read, Single Write,
|
||||
Multi Read, Multi Write, etc.) That is, the first waveform
|
||||
could be created for Single Write operation, rather than the FIFO
|
||||
Read operation shown below.<br><br>The label of each waveform tab
|
||||
can be modified by right-clicking on the page tab.</font>
|
||||
<p align="center"><font color="black"><img src="images/FifoWave.gif" width="432" height="327" border="0"><br></font></p>
|
||||
<p align="center"><font color="black"> </font></p>
|
||||
<p align="left"><font color="black" face="Verdana" size="1">Each
|
||||
waveform tab page contains certain graphic elements which are used
|
||||
in the design of a waveform. The thick, horizontal lines are
|
||||
called bands. The States band shows the GPIF states that are
|
||||
implied by Action Points of the other bands. Action Points,
|
||||
placed on the several bands, define the state machine that is the
|
||||
waveform.</font></p>
|
||||
<p align="center"><font color="black"><img src="images/LabeledWave.gif" width="432" height="432" border="0"></font></p>
|
||||
<p> <font face="verdana, arial, helvetica, sans-serif" size="1" color="black">The DeltaT
|
||||
displayed in the lower left corner of each Waveform Editor tab shows
|
||||
the time, in ns, from the cursor to the nearest Action Point left
|
||||
of the cursor.<br>
|
||||
<br>
|
||||
</font></p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black"><b><a name="ActionPoints"></a>Action
|
||||
Points</b></font> </td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
|
||||
<p>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black">Action
|
||||
Points are the vehicle for imposing state and line transitions
|
||||
in a waveform. To place an action point on a band, left-click
|
||||
on the band. Action points can be dragged to different
|
||||
positions on the band in which they reside. <br><br>Each
|
||||
type of band has a corresponding specific type of action point
|
||||
associated with it. And, each type of action point has
|
||||
a different set of behaviors or properties that can be configured.
|
||||
To set the properties of an action point, right-click
|
||||
the action point. (The Addr action points are not configurable.
|
||||
They have a single function which is to increment the
|
||||
address.)</font>
|
||||
<p><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">To
|
||||
delete an action point, right-click the action point and select
|
||||
"Delete" from the pop-up menu. To delete all
|
||||
the user-placed action points from a waveform, right-click the
|
||||
waveform tab and select "Clear waveform" from the
|
||||
pop-up menu.<br><br>An "empty" waveform contains the
|
||||
permanent action points shown below. These permanent action
|
||||
points cannot be deleted or moved. However, their properties
|
||||
can be modified by right-clicking on them.<br></font></p>
|
||||
<p align="center"><font color="black"><img src="images/PermAPs.gif" width="432" height="360" border="0"></font></p>
|
||||
<p><font face="verdana, arial, helvetica, sans-serif" size="1" color="black"><br>To
|
||||
copy all the action points from one waveform to another, right-click
|
||||
on the current waveform tab and select "Copy waveform .
|
||||
. ." from the pop-up menu. A dialog box will pop-up,
|
||||
prompting for the destination tab page to receive the new action
|
||||
points. The "Copy waveform" function erases
|
||||
all existing action points from the destination waveform before
|
||||
copying the new action points to that location. So, the
|
||||
destination waveform becomes an exact copy of the source.
|
||||
<br> </font></p>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
<ul>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black"><b><a name="DATA_APs"></a>DATA
|
||||
Action Points</b></font>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
|
||||
<ul>
|
||||
<p align="left">
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black">Data
|
||||
action points control two parameters of the data bus.
|
||||
First, the action point controls whether to keep the
|
||||
same data on the bus or place new data onto the bus. Second,
|
||||
the action point controls whether to activate or de-activate
|
||||
the data bus.<br><br></font><font face="Verdana,Arial" size="1" color="black"><i>Same
|
||||
vs Next
|
||||
</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">status of the bus is depicted by the COLOR of the data trace.
|
||||
A change in color depicts Next data. Constant
|
||||
color connotes Same data.<br><br></font><font face="Verdana,Arial" size="1" color="black"><i>Active vs Inactive</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black"> status
|
||||
of the bus is depicted by the POSITION of the data trace.
|
||||
A trace running along the bottom of the band represents
|
||||
inactive. A trace along the top connotes an active
|
||||
bus.<br></font>
|
||||
<p align="center"><font face="verdana, arial, helvetica, sans-serif" size="1" color="black"><br><br></font><img src="images/DataAP.gif" width="432" height="396" border="0"></p>
|
||||
</ul>
|
||||
<ul>
|
||||
<p><font face="verdana, arial, helvetica, sans-serif" size="1" color="black"> <br>In
|
||||
the waveform above, the first data action point keeps the
|
||||
same data (trace color stays the same) on the bus and de-activates
|
||||
the data (trace moves to bottom of band). The
|
||||
next data action point places Next data on the bus (trace
|
||||
color changes) and activates the data (trace moves to top
|
||||
of band). The third data action point keeps the same
|
||||
data (trace color stays yellow) on the bus and de-activates
|
||||
the data (trace moves to bottom of the band). Finally,
|
||||
the last data action point keeps the same data (trace stays
|
||||
yellow) and activates the bus (trace moves to top of band).<br><br>Data
|
||||
action points, for the FX2 series chips, also have two variations
|
||||
on the "</font><font face="Verdana,Arial" size="1" color="black">Next
|
||||
Data"</font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
theme. These are </font><font face="Verdana,Arial" size="1" color="black"><i>SGLDATAH/L</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
and </font><font face="Verdana,Arial" size="1" color="black"><i>UDMA_CRCH/L</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">.
|
||||
Either of those selection has the same effect as </font><font face="Verdana,Arial" size="1" color="black"><i>Next
|
||||
FIFO Data</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
on the displayed data trace. </font><font face="Verdana,Arial" size="1" color="black"><i>SGLDATAH/L</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
and </font><font face="Verdana,Arial" size="1" color="black"><i>UDMA_CRCH/L</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
merely specify alternate sources of the next data.<br><br>When
|
||||
a new Data action point is placed on the Data band, the
|
||||
initial state of the action point is </font><font face="Verdana,Arial" size="1" color="black"><i>Same
|
||||
Data</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
with opposite activity to the last (rightmost) action
|
||||
point on the band.<br><br>Data action points located on
|
||||
the left edge of the IDLE state cannot present any form
|
||||
of "Next Data". Such Data action points
|
||||
are limited to </font><font face="Verdana,Arial" size="1" color="black"><i>Activate
|
||||
/ De-activate</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
as their functional domain. <br><br>HINT: Rather than
|
||||
clicking on the Data action points directly, it is also possible
|
||||
to modify the state of the Data trace by right-clicking on the Data
|
||||
band in the region of the trace. This action simply modifies
|
||||
the properties of the nearest Data action point left of the mouse. When
|
||||
you click on the band, rather than an action point, the "Delete"
|
||||
menu item will not appear.<br> </font></p>
|
||||
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
<ul>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black"><b><a name="ADDR_APs"></a>ADDR
|
||||
Action Points</b><br></font>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
|
||||
<ul>
|
||||
<p>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black">Addr
|
||||
action points are represented as a plus symbol (+) on the
|
||||
Addr band. Placing an Addr action point causes the
|
||||
value of the address bus to be incremented at that point.
|
||||
<br><br>Addr action points have no other functionality.
|
||||
So, the pop-up menu for these action points only provides
|
||||
the mechanism for deletion of the point. Of course,
|
||||
like all action points, Addr action points can be dragged.<br><br>Addr
|
||||
action points cannot be placed on the left boundary
|
||||
of the IDLE state because the IDLE state does not have the
|
||||
capability of incrementing the address. <br> </font>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
<ul>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black"><b><a name="Status_APs"></a>Status
|
||||
Action Points</b><br></font>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
|
||||
<ul>
|
||||
<p>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black">Status
|
||||
action points are also referred to as Decision Points. These
|
||||
action points are used to cause the GPIF to remain in a
|
||||
given state until (or branch to a different state when)
|
||||
some condition of the RDY lines is achieved.<br><br>Status
|
||||
action points create states of indefinite length. (The
|
||||
state will last until the decision causes a branch away
|
||||
from the state.) To indicate this, the clock trace
|
||||
at the top of each waveform diagram is "broken"
|
||||
above any status action point.<br><br>After a Status action
|
||||
point has been placed, the </font><font face="Verdana,Arial" size="1" color="black"><i>Specify
|
||||
Decision Point</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
dialog box will automatically be displayed to allow specification
|
||||
of the branching / exit condition for the state. (Note that
|
||||
the Status action point has already been placed when the dialog
|
||||
pops-up. Clicking the </font><font face="Verdana,Arial" size="1" color="black"><i>Cancel</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
button of the dialog will not delete the action point.) The</font><font face="Verdana,Arial" size="1" color="black"><i>
|
||||
Specify Decision Point</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
dialog box can be accessed later by right-clicking on the decision
|
||||
point and selecting Edit from the pop-up menu.<br><br>The exit / branch decision is a
|
||||
logic operation between any two of the enabled RDY lines
|
||||
(including internal status lines) as specified on the </font><a href="BlockDiagram.htm#BlockDiagram"><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">block
|
||||
diagram</font></a><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">. When the GPIF enters a state containing a
|
||||
decision point, any other actions indicated by action points
|
||||
at the start of the state are executed. Then, the
|
||||
logic condition is evaluated. If the condition is
|
||||
satisfied, the GPIF will branch to (GOTO) the first state
|
||||
specified. Otherwise, it will branch to the second
|
||||
(ELSE) state specified.<br></font>
|
||||
<p align="center"><img src="images/DecisionPt.gif" width="432" height="327" border="0"></p>
|
||||
</ul>
|
||||
<ul>
|
||||
<p><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">The
|
||||
decision point, displayed above, is of interest. It
|
||||
specifies that, on entry into state S3, the transaction
|
||||
counter (TCXpire) should be tested. (Note that TCXpire
|
||||
is compared against itself, causing the decision to be based
|
||||
on a single input.) If TCXpire = 1 the GPIF will branch
|
||||
to the IDLE state, concluding the waveform. If TCXpire
|
||||
= 0, the GPIF will branch to state S3 (the current
|
||||
state). This decision point essentially says "Stay
|
||||
in S3 until the transaction counter expires. Then
|
||||
exit the waveform."<br><br>For instructions on how
|
||||
to make the transaction counter (TC) an input to decision
|
||||
points, see the discussion of </font><a href="BlockDiagram.htm#RDYLines"><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">RDY
|
||||
Line Configuration</font></a><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
in the Block Diagram section.<br><br>Status action points
|
||||
are not allowed on the left boundary of the IDLE state because
|
||||
the IDLE state is not able to execute the conditional branching
|
||||
mechanism of a decision point. If you attempt to place
|
||||
a Status action point on the IDLE state boundary, the waveform
|
||||
editor will automatically insert a buffer state between
|
||||
the action point and the IDLE state.<br><br>Because the
|
||||
input arguments for a decision point depend on the RDY line
|
||||
configuration of the Block Diagram, all decision points of
|
||||
each waveform should be edited and verified for correctness
|
||||
whenever the configuration of the RDY lines is changed. <br> </font></p>
|
||||
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
<ul>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black"><b><a name="Loop"></a>LOOP
|
||||
/ Re-Execute</b><br></font>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
|
||||
<ul>
|
||||
<p>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black">The
|
||||
LOOP (Re-execute) checkbox in the Specify Decision Point
|
||||
dialog, controls whether or not the other actions of
|
||||
the state are repeated when the decision branches to
|
||||
the same state. For instance, at the beginning
|
||||
of S3 in the below waveform, the Data bus
|
||||
is asserted and next data is placed on the bus, the
|
||||
address is incremented, and CTL lines REN# and
|
||||
OE# are sent high. <br></font>
|
||||
<p align="center"><img src="images/Loop.gif" width="432" height="327" border="0"></p>
|
||||
<p><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">If
|
||||
TCXpire is not 1, the GPIF will branch back to S3, the
|
||||
current state. Because the LOOP (Re-execute) box
|
||||
is checked, next data will again be placed on the data
|
||||
bus and the address again be incremented These
|
||||
activities will repeat each time the decision point
|
||||
branches back into S3.<br><br>[If LOOP (Re-execute)
|
||||
is checked, the Re-Execute bit (b7) of the Length/Branch
|
||||
register of the state instruction is set to 1.] <br> </font></p>
|
||||
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
<ul>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black"><b><a name="CTRL_APs"></a>CTRL
|
||||
Action Points</b><br></font>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
|
||||
<ul>
|
||||
<p>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black">Depending
|
||||
on the </font><a href="BlockDiagram.htm#CTLLines"><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">CTL
|
||||
line Configuration</font></a><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
of the Block diagram, up to 6 CTL bands will be displayed
|
||||
in the waveform editors. Each CTL action point can
|
||||
be configured as High (1), Low (0), or Tri-state (z) if
|
||||
the CTL lines have been configured to allow tri-state.<br><br>Whenever
|
||||
a new CTL line is dropped onto a CTL band, it's initial
|
||||
state is opposite to that of the last (rightmost) action
|
||||
point on the band. (In deciding this initial
|
||||
status tri-state is considered to be Low (0).)<br><br>HINT:
|
||||
Rather than clicking on the CTL action points directly, it
|
||||
is also possible to modify the state of the CTL traces by right-clicking
|
||||
on the CTL bands in the region of the traces. This action
|
||||
simply modifies the properties of the nearest CTL action
|
||||
point left of the mouse. When you click on the
|
||||
band, rather than an action point, the "Delete" menu item
|
||||
will not appear.<br> </font>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black"><b><a name="States"></a>States</b></font> </td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
|
||||
<p>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black">The
|
||||
FX/FX2 GPIF is implemented as a state machine, capable of 8
|
||||
distinct states (including the IDLE) state. Each waveform
|
||||
editor contains a States band that displays the states
|
||||
implied by the action points of the waveform.<br><br>New states
|
||||
cannot be created directly, by left-clicking on the state band.
|
||||
Rather, they are created by placing action points on other
|
||||
bands. Whenever an action point is placed on a band, the
|
||||
waveform editor checks to see if the action point has been placed
|
||||
on an existing state boundary. If not, a new state is
|
||||
created. When the GPIF state machine enters one of the
|
||||
states of a waveform, it will execute those action
|
||||
points found along the state's left boundary.<br><br>By default,
|
||||
state durations are calculated from their displayed length in
|
||||
the waveform. (See </font><a href="WavefmEditors.htm#SetStateDuration"><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">Set
|
||||
State Duration</font></a><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">,
|
||||
to learn about setting the duration to a fixed length.)
|
||||
When the cursor moves over a state, the duration of the
|
||||
state will be briefly pop-up just below the cursor.<br><br>[The IDLE state has no specific duration
|
||||
and is only defined by the action points of the Data and
|
||||
CTL bands.] <br> </font> </td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
<ul>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black"><b><a name="StateProps"></a>State
|
||||
Properties</b><br></font>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
|
||||
<ul>
|
||||
<p>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black">There
|
||||
are some state properties that are not implied by action
|
||||
points. These are configured by right-clicking on
|
||||
the state to bring up a State Properties dialog box. <br></font>
|
||||
<p align="center"><img src="images/StateProps.gif" width="432" height="327" border="0"></p>
|
||||
<p><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">The
|
||||
State Properties dialog for non-decision point states (such
|
||||
as S2, above) do not allow configuration of Flow State.
|
||||
<br><br><br><br>The State Properties dialog for state
|
||||
S3 (a decision point state) has the Flow State configuration
|
||||
controls enabled, below.<br></font></p>
|
||||
<p align="center"><img src="images/StateProps2.gif" width="432" height="327" border="0"></p>
|
||||
<p><font face="verdana, arial, helvetica, sans-serif" size="1" color="black"><br>[The
|
||||
IDLE state does not have properties that can be configured
|
||||
via the State Properties dialog box. Right clicking
|
||||
on the IDLE state has no effect.]<br> </font></p>
|
||||
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
<ul>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black"><b><a name="StateGenInt"></a>Generate
|
||||
Interrupt</b></font>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
|
||||
<ul>
|
||||
<p>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black">On
|
||||
entry to a given state, the GPIF can generate a GPIFWF interrupt
|
||||
on the INT4 line. To enable the interrupt, bring-up the </font><font face="Verdana,Arial" size="1" color="black"><i>State
|
||||
Properties</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
dialog box by right-clicking on the state. Then, check
|
||||
the </font><font face="Verdana,Arial" size="1" color="black"><i>Generate
|
||||
Interrupt</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
box in the dialog.<br>
|
||||
<br>[Checking the Generate Interrupt box will
|
||||
set the GINT bit (b4) of the OPCODE register of the state instruction
|
||||
to 1.]<br> </font>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
<ul>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black"><b><a name="SetStateDuration"></a>Set
|
||||
State Duration</b></font>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
|
||||
<ul>
|
||||
<p>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black">Non-decision
|
||||
point states can range in duration from 1 to 256 clock cycles. However,
|
||||
the waveform editors only display 20 clock cycles. In order
|
||||
to create states with longer durations, the state must be designated
|
||||
as a "fixed duration", rather than a calculated duration
|
||||
state. Once this is done, there is no correlation between
|
||||
the states visible length and its duration.<br><br>To set a fixed state
|
||||
duration, bring-up the </font><a href="WavefmEditors.htm#StateProps"><i><font face="Verdana,Arial" size="1" color="black">State
|
||||
Properties</font></i></a><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
dialog by right-clicking on the state of interest. (Only non-decision
|
||||
point states can have their duration set.) Then click the
|
||||
</font><font face="Verdana,Arial" size="1" color="black"><i>Set
|
||||
State Duration</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
button. The dialog box, shown below, will appear.<br></font>
|
||||
<ul>
|
||||
<p align="center"><img src="images/StateDuration.gif" width="432" height="327" border="0"></p>
|
||||
</ul>
|
||||
<p><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">Un-check
|
||||
the </font><font face="Verdana,Arial" size="1" color="black"><i>Calculate
|
||||
Duration from Waveform Diagram</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
box. This will cause the duration to stay at the value of
|
||||
the </font><font face="Verdana,Arial" size="1" color="black"><i>Duration
|
||||
(Clock Cycles)</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
field, regardless of how long the state is made to appear on the
|
||||
waveform diagram.<br><br>When viewing a waveform, the only way to
|
||||
be sure of a state's duration is to move the mouse over the state
|
||||
and read the duration shown in the pop-up hint.<br><br>Note that
|
||||
the need to make a state's duration fixed is somewhat uncommon.<br> </font></p>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
<ul>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black"><b><a name="UseAsFlowState"></a>Use
|
||||
as the Flow State</b><br></font>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
|
||||
<ul>
|
||||
<p>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black">Decision
|
||||
point states can also be designated as a Flow State. To designate
|
||||
a decision point state as the flow state, right-click on the decision
|
||||
point state to bring-up the </font><a href="WavefmEditors.htm#StateProps"><i><font face="Verdana,Arial" size="1" color="black">State
|
||||
Properties</font></i></a><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
dialog box. Then, check the </font><font face="Verdana,Arial" size="1" color="black"><i>Use
|
||||
as the Flow State</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
box. <br><br>Only one Flow State can exist in a given waveform.
|
||||
When a state has been designated as the flow state for a waveform,
|
||||
the state will be colored yellow.<br></font>
|
||||
<p align="center"><img src="images/FlowState.gif" width="432" height="360" border="0"></p>
|
||||
<ul>
|
||||
<ul>
|
||||
<p><font face="verdana, arial, helvetica, sans-serif" size="1" color="black"> </font></p>
|
||||
|
||||
</ul>
|
||||
</ul>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
<ul>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black"><b><a name="ConfigFlowState"></a>Configure
|
||||
Flow State</b></font>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
|
||||
<ul>
|
||||
<p>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black">If the
|
||||
</font><font face="Verdana,Arial" size="1" color="black"><i>Use
|
||||
as the Flow State</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
box of the </font><font face="Verdana,Arial" size="1" color="black"><i>State
|
||||
Properties</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
dialog is checked, the </font><font face="Verdana,Arial" size="1" color="black"><i>Configure
|
||||
Flow State</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
button will be enabled, allowing configuration of the flow-state
|
||||
parameters. Click on the </font><font face="Verdana,Arial" size="1" color="black"><i>Configure
|
||||
Flow State</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
button to bring-up the </font><font face="Verdana,Arial" size="1" color="black"><i>Flow
|
||||
State Parameters</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
dialog box, below.<br></font>
|
||||
<p align="center"><img src="images/StateProps2.gif" width="432" height="327" border="0"></p>
|
||||
<ul>
|
||||
<ul>
|
||||
<p><font face="verdana, arial, helvetica, sans-serif" size="1" color="black"> </font></p>
|
||||
|
||||
</ul>
|
||||
</ul>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
<ul>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black"><b><a name="FlowLogic"></a>Flow
|
||||
Logic</b></font>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
|
||||
<ul>
|
||||
<p>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black">The
|
||||
Flow Logic tab of the </font><font face="Verdana,Arial" size="1" color="black"><i>Flow
|
||||
State Parameters</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
dialog is used to define the state of CTL lines, based on the
|
||||
state of RDY lines. This is similar to the configuration of
|
||||
</font><a href="WavefmEditors.htm#Status_APs"><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">Status
|
||||
action points</font></a><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">,
|
||||
except that the flow logic does not control exit conditions of the
|
||||
state. Rather, the flow logic test is repeatedly performed
|
||||
and the configuration of the CTL lines repeatedly changed based
|
||||
on the outcome of the test. This repeated functionality persists
|
||||
until the branching conditions of the state's decision point cause
|
||||
the GPIF to exit the state.<br><br>To cause a CTL line to be set
|
||||
High (1) when the condition of the test is satisfied, check the
|
||||
box for the CTL line in the THEN section. Un-check the
|
||||
box to make the line go Low (0). Similarly, when the condition
|
||||
is not satisfied, the state of the CTL lines can be explicitly controlled
|
||||
using the checkboxes of the ELSE section.</font>
|
||||
<p align="center"><img src="images/FlowLogic.gif" width="432" height="327" border="0"></p>
|
||||
<p>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black">If
|
||||
Tri-state has been enabled in the </font><a href="BlockDiagram.htm#CTLLines"><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">Configure
|
||||
CTL lines</font></a><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
dialog of the block diagram, the </font><font face="Verdana,Arial" size="1" color="black"><i>Enable
|
||||
output</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
checkboxes will be enabled.<br><br>[The THEN section of checkboxes
|
||||
controls the contents of the FLOWEQ1CTL register. The ELSE
|
||||
section of checkboxes controls the FLOWEQ0CTL register.]<br> </font>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
<ul>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black"><b><a name="Strobe"></a>Strobe</b></font>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
|
||||
<ul>
|
||||
<p>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black">The
|
||||
Strobe tab configures a </font><font face="Verdana,Arial" size="1" color="black"><i>Master
|
||||
Strobe Pin</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
to be used in causing data to be read or written during the flow
|
||||
state. [Most of the settings on this tab control bits of the FLOWSTB
|
||||
register.]<br><br>The </font><font face="Verdana,Arial" size="1" color="black"><i>Slave</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
checkbox should be checked if the GPIF is acting as a slave
|
||||
on the bus. In this condition, the </font><font face="Verdana,Arial" size="1" color="black"><i>Master
|
||||
Strobe Pin</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
can be selected from a list of the </font><a href="BlockDiagram.htm#RDYLines"><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">available RDY
|
||||
lines</font></a><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">.
|
||||
Also, in this condition, check the </font><font face="Verdana,Arial" size="1" color="black"><i>RDYASYNC</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
box to make the selected </font><font face="Verdana,Arial" size="1" color="black"><i>Master
|
||||
Strobe Pin</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
synchronous to IFCLK.<br></font>
|
||||
<p align="center"><i><font color="black" size="1" face="Verdana,Arial"><img src="images/FlowStrobe2.gif" width="432" height="327" border="0"></font></i></p>
|
||||
<p><font face="verdana, arial, helvetica, sans-serif" size="1" color="black"><br><br>Un-check
|
||||
the </font><font face="Verdana,Arial" size="1" color="black"><i>Slave</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
checkbox if the GPIF is acting as the bus master. In this
|
||||
condition, the </font><font face="Verdana,Arial" size="1" color="black"><i>Master
|
||||
Strobe Pin</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
can be selected from a list of the </font><a href="BlockDiagram.htm#CTLLines"><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">available
|
||||
CTL lines</font></a><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">.
|
||||
Also, in this condition, check the </font><font face="Verdana,Arial" size="1" color="black"><i>CTLTOGL</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
box to cause the THEN (i.e. satisfied) condition of the </font><font face="Verdana,Arial" size="1" color="black"><i>Flow
|
||||
Logic</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
to toggle the </font><font face="Verdana,Arial" size="1" color="black"><i>Master
|
||||
Strobe Pin</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">.
|
||||
Un-check the </font><font face="Verdana,Arial" size="1" color="black"><i>CTLTOGL</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
box to cause the ELSE (i.e. not satisfied) condition of the Flow
|
||||
Logic to toggle the </font><font face="Verdana,Arial" size="1" color="black"><i>Master
|
||||
Strobe Pin.<br><br></i></font></p>
|
||||
<p align="center"><i><font color="black" size="1" face="Verdana,Arial"><img src="images/FlowStrobe1.gif" width="432" height="327" border="0"></font></i></p>
|
||||
<p><font color="black" size="1" face="Verdana,Arial">Uncheck the
|
||||
</font><i><font color="black" size="1" face="Verdana,Arial">SUSTAIN
|
||||
</font></i><font color="black" size="1" face="Verdana,Arial">box
|
||||
to allow the <i>Master Strobe Pin</i> CTL line to be restored
|
||||
to its waveform-defined state when the GPIF exits the flow state</font><i><font color="black" size="1" face="Verdana,Arial">.<br><br><br>C</font></i><font color="black" size="1" face="Verdana,Arial">heck
|
||||
the <i>RISING EDGE</i> DATA XFER box to transfer data on the rising
|
||||
edge of the clock when <i>Master Strobe Pin</i> is toggled. </font><i><font color="black" size="1" face="Verdana,Arial">C</font></i><font color="black" size="1" face="Verdana,Arial">heck
|
||||
the <i>Falling EDGE</i> DATA XFER box to transfer data on the falling edge
|
||||
of the clock when <i>Master Strobe Pin</i> is toggled. Both
|
||||
<i>RISING EDGE</i> and <i>FALLING EDGE</i> can be selected to cause
|
||||
double-edge data transfers when <i>Master Strobe Pin</i> is toggled.
|
||||
[The DATA XFER check boxes control bits 0 and 1 of the FLOWSTBEDGE
|
||||
register.]<br><br>The<i> Master Strobe Half Period</i> field defines
|
||||
the half period of the<i> Master Strobe Pin</i> toggling frequency.
|
||||
The minimum value is 2 (or 1 clock pulse). A value of
|
||||
3 would cause the <i>Master Strobe Pin</i> to toggle every 1.5 clock
|
||||
pulses.<br> </font></p>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
<ul>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black"><b><a name="GHold-Off"></a>Hold-Off</b></font>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
<td colspan="1" align="left">
|
||||
|
||||
<ul>
|
||||
<p>
|
||||
<font face="verdana, arial, helvetica, sans-serif" size="1" color="black">The
|
||||
Hold-Off tab contains controls to configure the FLOWHOLDOFF register
|
||||
and the GPIFHOLDTIME register.
|
||||
<br><br>These settings are only useful in certain conditions.
|
||||
If the GPIF is acting as a slave on the bus (</font><font face="Verdana,Arial" size="1" color="black"><i>Slave</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
box on the </font><font face="Verdana,Arial" size="1" color="black"><i>Strobe</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
tab is checked) and the Master Strobe is asynchronous to the IFCLK
|
||||
signal </font><font face="Verdana,Arial" size="1" color="black">(<i>RDYASYNC</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
box on the Strobe tab is not checked), the Hold-Off settings will
|
||||
be used when data is written to the GPIF.<br><br>Check the </font><font face="Verdana,Arial" size="1" color="black"><i>HOCTL
|
||||
pin is asserted when Not Ready (HOSTATE)</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
box to cause the Hold-off CTL bin to be sent High (1) when not ready.
|
||||
[Checking this box causes the HOSTATE bit (b3) of the FLOWHOLDOFF
|
||||
register to be set to 1.]<br><br>Select the CTL pin that will be
|
||||
used to indicate a Hold-off condition from the </font><font face="Verdana,Arial" size="1" color="black"><i>CTL
|
||||
Pin Used to indicate Hold-Off</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
drop-down list. [The line selected determines the value of the HOCTL
|
||||
bits (2:0) of FLOWHOLDOFF register.]<br><br>The </font><font face="Verdana,Arial" size="1" color="black"><i>Hold-Off
|
||||
Period (clocks)</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
field indicates how long to keep the </font><font face="Verdana,Arial" size="1" color="black"><i>CTL
|
||||
Pin Used to indicate Hold-Off</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
in the Hold-Off State in order to allow the external bus master
|
||||
to catch-up. [This value is placed in the HOPERIOD field (bits
|
||||
7:4) of the FLOWHOLDOFF register.]<br><br>The </font><font face="Verdana,Arial" size="1" color="black"><i>Hold
|
||||
Time (clocks)</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
field determines how long data is held on the DATA bus when
|
||||
written by the GPIF. This value can be set to 0, 1/2 or
|
||||
1 clock cycle. [The </font><font face="Verdana,Arial" size="1" color="black"><i>Hold
|
||||
Time (clocks)</i></font><font face="verdana, arial, helvetica, sans-serif" size="1" color="black">
|
||||
setting controls the value of the GPIFHOLDTIME register.]<br></font>
|
||||
<p align="center"><font face="verdana, arial, helvetica, sans-serif" size="1" color="black"><br><img src="images/FlowHoldOff.gif" width="432" height="327" border="0">
|
||||
</font></p>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</font>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user