736 lines
45 KiB
HTML
736 lines
45 KiB
HTML
<!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>
|