\begin{abstract}
Changes:
-\color{red}
\begin{tabular}{rl}
+\color{red}
12-Mar
-& \\
-\end{tabular}
\color{black}
-\begin{tabular}{rl}
+& renamed loop+repeat to outer+inner (not in red) \\
+& renamed {\tt Z} flag to {\tt L} flag (not in red) \\
+& rewrote ``inner and outer loops'' section \\
+& updated all diagrams \\
+\color{black}
7-Mar
& Moved address bits to the LSB-side of a 37-bit instruction \\
& Added {\it micro-instruction} and {\it composite instruction} terms \\
\begin{center}
\epsfig{file=overview,width=1.5in}
-\epsfig{file=ports,width=1.5in}
-\epsfig{file=best,width=1.5in}
+\epsfig{file=indock,width=3in}
\end{center}
\pagebreak
from a data packet with a unknown payload.
\begin{center}
-\epsfig{file=overview,width=4in}\\
-{\it Overview of a Fleet processor}
+\epsfig{file=overview,width=3in}\\
+\color{red}
+{\it Overview of a Fleet processor; gray shading represents a
+ packet-switched network fabric; blue lines carry data, red lines
+ carry instructions.}
\end{center}
+\color{black}
\pagebreak
-\section{The Ship-Switch Fabric Interface}
+\section{The FleetTwo Pump}
The diagram below represents a {\it programmer's} conceptual view of
the interface between ships and the switch fabric. Actual
-- are drawn as dashed lines.
\begin{center}
-\epsfig{file=ports,width=4in}\\
-{\it The interface betwen the switch fabric and the ship}
+\epsfig{file=indock,width=3.5in}\\
+{\it an ``input'' dock}
+
+\epsfig{file=outdock,width=3.5in}\\
+{\it an ``output'' dock}
\end{center}
The term {\it port} refers to an interface to the ship, the {\it
dock} connecting it to the switch fabric, and the corresponding
sources and destinations on the switch fabric.
-Each dock consists of a {\it data latch}, which is as wide as a
-single machine word and a {\it pump}, which is a circular fifo of
-instruction-width latches. The values in the instruction fifo
-control the data latch.
+Each dock consists of a {\it data latch}, which is as wide as a single
+machine word and a {\it pump}, which is a circular fifo of
+instruction-width latches. The values in the pump control the data
+latch.
Note that the pump in each dock has a destination of its own; this is
the {\it instruction destination} mentioned in the previous section.
Note that unlike all other destinations, there is no buffering fifo
guarding this one. The size of these fifos are exposed to the
-software programmer so she can avoid deadlock.
-
-\pagebreak
-
-\section{The FleetTwo Pump}
-
-The diagram below shows the datapath for the FleetTwo pump circuitry.
-The square box marked {\tt D} on the output from the {\tt IH} latch is
-the instruction decoder, which decodes word-width instructions into a
-set of control signals suitable for operating the pump. The boxes
-marked {\tt CD} are carry detectors. These detect zero values in the
-count and also generate the partial differences used in the decrement
-operation.
-
-\begin{center}
-\epsfig{file=best,width=4in}\\
-{\it The pump datapath}
-\end{center}
-
-The latches of primary interest here are:
-\begin{itemize}
-\item {\tt IH}: Instruction Horn (leaf node; may be shared)
-\item {\tt F0}: Fifo Stage 0 (first fifo stage)
-\item {\tt OD}: On Deck
-\item {\tt F}: Flags, {\tt NF}: Next Flags
-\item {\tt P}: Path (the path to use for outbound data/tokens)
-\item {\tt D}: Data
-\item {\tt DP}: Data Predecessor (ship for output ports, switch fabric for input ports)
-\item {\tt DS}: Data Successor (switch fabric for output ports, ship for input ports)
-\item {\tt RC}: Repeat Count, {\tt NRC}: Next Repeat Count
-\item {\tt LC}: Loop Count, {\tt NLC}: Next Loop Count
-\end{itemize}
-
-Each instruction that executes causes the latches of the pump to fire
-in two phases, denoted as the ``left phase'' and the ``right phase''.
-In the diagram, the left phase latches are those to the left of the
-vertical line down the center, and the right phase latches are to the
-right. Therefore each instruction execution requires two GasP
-pipeline stages to complete.
-
-\subsection{Flags}
-
-The pump has four flags: {\tt A}, {\tt B}, {\tt S}, {\tt Z}. Of
-these four, only the first two may be modified directly by
-instructions.
-
-\begin{itemize}
-\item The {\tt A} and {\tt B} flags are general-purpose flags which
- may be set and cleared by the programmer.
-
-\item The {\tt S} flag, known as the {\it summary} flag. Its value is
- determined by the ship, but unless stated otherwise, it should
- be assumed that whenever the 37th bit of the data ({\tt D})
- latch is loaded, that same bit is also loaded into the {\tt S}
- flag. This lets the ship make decisions based on whether or not
- the top bit of the data latch is set; if two's complement
- numbers are in use, this will indicate whether or not the
- latched value is negative.
-
-\item The {\tt Z} flag, known as the {\it zero} flag, is set whenever
- the value in the loop counter ({\tt LC}) is zero. This flag can
- be used to perform certain operations (such as sending a
- completion token) only on the last iteration of a loop.
-\end{itemize}
-
-Many instruction fields are specified as two-bit {\it predicates}.
-These fields contain one of four values, indicating if an action
-should be taken unconditionally or conditionally on one of the {\tt A}
-or {\tt B} flags:
-
-\begin{itemize}
-\item {\tt 00:} if {\tt A} is set
-\item {\tt 10:} if {\tt B} is set
-\item {\tt 01:} if {\tt Z} is set ({\tt LC=0})
-\item {\tt 11:} always
-\end{itemize}
+software programmer so \color{red}he\color{black}\ can avoid deadlock.
\pagebreak
\section{Instructions}
\begin{bytefield}{37}
\bitheader[b]{0,10,11,36}\\
\color{black}
- \bitbox{2}{Hold}
+ \bitbox{1}{A}
+ \bitbox{1}{OL}
\bitbox{2}{P}
\color{light}
\bitbox[tbr]{22}{}
Each instruction word is called a {\it micro instruction}.
Collections of one or more micro instruction are known as {\it
- composite instructions}. The {\tt Hold} field indicates how micro
-instructions are gathered together into composite instructions:
+ composite instructions}.
-\begin{itemize}
-\item {\tt 00:} {\tt solo} -- this word is not part of a composite instruction
-\item {\tt 01:} {\tt soloT} -- like {\tt solo}, but {\tt torpedo}-able
-\item {\tt 10:} {\tt body} -- this word is part of a composite instruction, but not the last
-\item {\tt 11:} {\tt tail} -- this is the last micro instruction in a composite instruction
-\end{itemize}
+\color{red}
-Solo instructions never reloop (described later); they are
-``one-shot'' instructions. Multiple solo instructions may be in the
-instruction fifo simultaneously. A {\tt solo} instruction is immune
-to {\tt torpedo}s (described later); a {\tt soloT} instruction is
-not\footnote{the {\tt soloT} instruction is meant to be used for
- ``standing repeating'' instructions}.
+The {\tt A} bit stands for {\tt Armor}\footnote{this is to be
+ pronounced with a Boston accent (``AAHH-mir'')}.
+The {\tt OL} bit indicates whether or not this instruction is part of
+an outer loop. Both of the preceding bits are explained in the next section.
-Composite instructions reloop until the loop counter is zero. When a
-composite instruction is in the instruction fifo, no other
-instructions may enter the fifo. A {\tt body} instruction is immune
-to {\tt torpedo}s; a {\tt tail} instruction is not. \color{black}
+\color{black}
The abbreviation {\tt P} stands for {\it predicate}; this is a two-bit
code that indicates if the instruction should be executed or ignored.
-If an instruction is ignored, it might still reloop.
+
+
\pagebreak
-\subsection{RePeating and ReLooping}
+\subsection{Life Cycle of an Instruction}
+\color{red}
+The diagram below shows an input dock for purposes of illustration
+(behavior at an output dock is identical).
-\begin{table}[htp]
-\centering
-\begin{minipage}{3in}
-\centering
\begin{center}
-\begin{tabular}{|r|c|c|}\hline
- & RePeating? & ReLooping? \\\hline
-{\tt send} & Y & Y \\\hline
-{\tt literal} & N & Y \\\hline
-{\tt flags} & N & Y \\\hline
-{\tt repeat} & N & Y \\
-{\tt loop} & N & Y
-\footnote{note, however, that the decision to reloop or not is based on the value in the loop counter {\it before} execution of the {\tt loop} instruction}
-\\
-{\tt takeLoopCounter} & N & Y \\
-{\tt takeRepeatCounter} & N & Y \\
-\hline
-{\tt torpedo} \color{black} & n/a & n/a \\
+\epsfig{file=indock,width=3in}\\
+{\it an input dock}
+\end{center}
-%{\tt clog} & N & N \\
-%{\tt unclog} & n/a & n/a \\
-%{\tt interrupt} & n/a & n/a \\
-%{\tt massacre} & n/a & n/a \\
-\hline
-\end{tabular}
+Note the circle on the path between ``instr horn'' and ``instr fifo'';
+this is known as ``the hatch''. The hatch has two states: sealed and
+unsealed. When the machine powers up, the hatch is unsealed; it is
+sealed by the {\tt tail} instruction and unsealed as described below.
+
+When a non-{\tt torpedo} instruction arrives at the instruction horn,
+it waits there until the hatch is in the unsealed state. The
+instruction then enters the instruction fifo.
+
+When an instruction emerges from the instruction fifo, it arrives at
+the ``on deck'' stage and starts two processes {\it
+ concurrently}:
+
+\begin{itemize}
+\item
+{\bf Process \#1}\\
+If the instruction has the {\tt OL} bit set and the value of {\tt OC}
+is nonzero, this process will wait for the hatch to be {\it sealed}
+and then enqueue a duplicate copy of the instruction into the instruction fifo.
+
+\item
+{\bf Process \#2}\\
+If the value of {\tt OC} is zero and the instruction at on-deck is
+{\it not} an {\tt setOuter} instruction whose {\tt OL} bit is cleared,
+this process will unseal the hatch, set the {\it inner} loop counter
+to zero, and terminate.
+
+Otherwise, the instruction will execute one or more times, as
+determined by the flags, predicate, and inner loop counter (see
+below). If the instruction's {\tt A}rmor bit is not
+set\footnote{note: we need to say something about only {\tt send}
+ instructions being {\tt torpedo}able}, each execution attempt will
+be arbitrated against the arrival of a {\tt torpedo} instruction at
+the instruction horn. If the {\tt torpedo} wins, the {\it outer} loop
+counter is set to zero and this process terminates immediately.
+\end{itemize}
+
+When both processes have completed, the on deck stage is vacated and
+another instruction may enter it.
+
+Note that when a {\tt torpedo} arrives at the instruction horn it will
+wait there until on deck is occupied by an instruction whose {\tt
+ A}rmor bit is {\it not set}, but it does {\it not} wait for the
+hatch to be unsealed.
+
+\color{black}
+
+\subsection{Inner and Outer Loops}
+
+\color{red}
+
+Using the mechanisms described above, a programmer can perform two
+types of loops: {\it inner} loops of only one instruction and {\it
+ outer} loops of multiple instructions. Inner loops may be nested
+within an outer loop, but no other nesting of loops is allowed. The
+paths used by inner loops and outer loops are shown below:
+
+\begin{center}
+\begin{minipage}{2in}
+\begin{center}
+\epsfig{file=inner-loop,width=2in}\\
+{\it inner loop (in red)}
+\end{center}
+\end{minipage}
+\begin{minipage}{2in}
+\begin{center}
+\epsfig{file=outer-loop,width=2in}\\
+{\it outer loop (in red)}
\end{center}
\end{minipage}
-\caption{classification of instructions}
-\end{table}
+\end{center}
+
+Each type of loop has a counter associated with it: the {\tt IC}
+counter for inner loops and the {\tt OC} counter for outer loops.
+The inner loop counter applies only to {\tt send} instructions; all
+other instructions ignore the inner loop counter. When a {\tt send}
+instruction reaches the on deck position, it will execute at least
+once; the number of times it executes after that is determined by the
+inner loop counter.
-{\bf RePeating}\\
-An instruction will repeat if it is classified as a repeating
-instruction and the repeat counter is nonzero.
-Non-repeating instructions have no effect on the repeat
-counter (except for {\tt repeat}, of course).
+The outer loop counter applies to all instructions {\it except} the
+instruction {\tt setOuter} with {\tt OL=0}, because such instructions
+are needed to reset the outer loop counter after it becomes zero.
+However, {\tt setOuter} with {\tt OL} set to {\it one} is useful for
+resetting the loop counter in the middle of the execution of a loop.
+
+\color{black}
-{\bf ReLooping}\\
-Solo instructions (both {\tt solo} and {\tt soloT})
-completely ignore the loop counter; it has no effect on them.
+\subsection{Flags}
+
+The pump has four flags: {\tt A}, {\tt B}, {\tt S}, {\tt L}. Of
+these four, only the first two may be modified directly by
+instructions.
-If a {\tt body} or {\tt tail} instruction reaches the on deck stage
-and the loop counter ({\tt LC}) is zero, the instruction dies
-immediately without executing or relooping.
+\begin{itemize}
+\item The {\tt A} and {\tt B} flags are general-purpose flags which
+ may be set and cleared by the programmer.
-If a {\tt body} or {\tt tail} instruction reaches the on deck stage
-and the loop counter ({\tt LC}) is nonzero, a (duplicate) copy of that
-instruction is immediately enqueued at the head of the instruction
-fifo; the original instruction then waits at {\tt OD} until either its
-execution conditions are met or it is {\tt torpedo}ed.
+\item
+\color{red}
+ The {\tt L} flag, known as the {\it last} flag, is set whenever
+ the value in the outer counter ({\tt OC}) is one,
\color{black}
+ indicating
+ that the dock is in the midst of the last iteration of an
+ outer loop. This flag can be used to perform certain
+ operations (such as sending a completion token) only on the last
+ iteration of an outer loop.
+
+\item The {\tt S} flag, known as the {\it summary} flag. Its value is
+ determined by the ship, but unless stated otherwise, it should
+ be assumed that whenever the 37th bit of the data ({\tt D})
+ latch is loaded, that same bit is also loaded into the {\tt S}
+ flag. This lets the ship make decisions based on whether or not
+ the top bit of the data latch is set; if two's complement
+ numbers are in use, this will indicate whether or not the
+ latched value is negative.
+\end{itemize}
+
+Many instruction fields are specified as two-bit {\it predicates}.
+These fields contain one of four values, indicating if an action
+should be taken unconditionally or conditionally on one of the {\tt A}
+or {\tt B} flags:
+
+\begin{itemize}
+\item {\tt 00:} if {\tt A} is set
+\item {\tt 10:} if {\tt B} is set
+\item {\tt 01:} if {\tt L} is set ({\tt OC=1})
+\item {\tt 11:} always
+\end{itemize}
\pagebreak
\begin{bytefield}{26}
\bitheader[b]{12-16,19,21}\\
\color{light}
- \bitbox{2}{Hold}
+ \bitbox{1}{A}
+ \bitbox{1}{OL}
\bitbox{2}{P}
\color{black}
\bitbox{3}{001}
\item {\tt To} - Token Output: fill the token successor.
\end{itemize}
-The {\tt F0}, {\tt DS}, and {\tt TS} stages must all be empty in order for an
-instruction to execute.
+The data successor and token successor must both be empty in order for
+a {\tt send} instruction to attempt execution.
-The repeat counter can hold a number {\tt 0..MAX} or a special value
-$\infty$. If the repeat count ({\tt RC}) holds a value other than
-$\infty$, it is latched with {\tt max(RC-1, 0)}. If the repeat
-counter reaches zero, the instruction ceases executing and either
-reloops or retires (see earlier section for details).
+The inner loop counter can hold a number {\tt 0..MAX} or a special
+value $\infty$. If {\tt IC} is nonzero after execution of a {\tt
+ send} instruction, the instruction will execute again, and {\tt IC}
+will be latched with {\tt (IC==$\infty$?$\infty$:max(IC-1, 0))}. When
+the inner loop counter reaches zero, the instruction ceases executing.
\pagebreak
\begin{bytefield}{26}
\bitheader[b]{0,18,19,21}\\
\color{light}
- \bitbox{2}{Hold}
+ \bitbox{1}{A}
+ \bitbox{1}{OL}
\bitbox{2}{P}
\color{black}
\bitbox{1}{0}
\begin{bytefield}{26}
\bitheader[b]{0,18,19,21}\\
\color{light}
- \bitbox{2}{Hold}
+ \bitbox{1}{A}
+ \bitbox{1}{OL}
\bitbox{2}{P}
\color{black}
\bitbox{1}{0}
\begin{bytefield}{26}
\bitheader[b]{0,18,19,21}\\
\color{light}
- \bitbox{2}{Hold}
+ \bitbox{1}{A}
+ \bitbox{1}{OL}
\bitbox{2}{P}
\color{black}
\bitbox{1}{1}
\begin{bytefield}{26}
\bitheader[b]{0,7,8,15,16-19,21}\\
\color{light}
- \bitbox{2}{Hold}
+ \bitbox{1}{A}
+ \bitbox{1}{OL}
\bitbox{2}{P}
\color{black}
\bitbox{3}{000}
\bitbox{1}{$\overline{\text{\tt B}}$}
\bitbox{1}{${\text{\tt S}}$}
\bitbox{1}{$\overline{\text{\tt S}}$}
- \bitbox{1}{${\text{\tt Z}}$}
- \bitbox{1}{$\overline{\text{\tt Z}}$}
+ \bitbox{1}{${\text{\tt L}}$}
+ \bitbox{1}{$\overline{\text{\tt L}}$}
\end{bytefield}}
\end{center}
\pagebreak
-\subsection{{\tt repeat}}
+\subsection{{\tt setInner}}
-This instruction loads the repeat counter with either a literal
+This instruction loads the inner loop counter with either a literal
number, the special value $\infty$, or the contents of the {\tt data}
register.
\begin{bytefield}{26}
\bitheader[b]{16-19,21}\\
\color{light}
- \bitbox{2}{Hold}
+ \bitbox{1}{A}
+ \bitbox{1}{OL}
\bitbox{2}{P}
\color{black}
\bitbox{3}{000}
\end{bytefield}
-\subsection{{\tt loop}}
+\subsection{{\tt setOuter}}
-This instruction loads the loop counter {\tt LC} with either {\tt max(0,LC-1)}, a literal or the
-contents of the {\tt data} register.
+This instruction loads the outer loop counter {\tt OC} with either
+{\tt max(0,OC-1)}, a literal or the contents of the {\tt data}
+register.
\setlength{\bitwidth}{5mm}
{\tt
\begin{bytefield}{26}
\bitheader[b]{16-19,21,24}\\
\color{light}
- \bitbox{2}{Hold}
+ \bitbox{1}{A}
+ \bitbox{1}{OL}
\color{light}
\bitbox[tbr]{2}{P}
\color{black}
\end{bytefield}}\\
\begin{bytefield}{26}
- \bitbox[r]{19}{\raggedleft {\tt max(0,LC-1)}:\hspace{0.2cm}\ }
+ \bitbox[r]{19}{\raggedleft {\tt max(0,OC-1)}:\hspace{0.2cm}\ }
\bitbox{2}{\tt 00}
%\color{light}
\bitbox[tbr]{5}{}
\end{bytefield}
\pagebreak
-\subsection{{\tt takeLoopCounter}}
+\subsection{{\tt takeOuterLoopCounter}}
\setlength{\bitwidth}{5mm}
{\tt
\begin{bytefield}{26}
\bitheader[b]{16-19,21}\\
\color{light}
- \bitbox{2}{Hold}
+ \bitbox{1}{A}
+ \bitbox{1}{OL}
\bitbox{2}{P}
\color{black}
\bitbox{3}{000}
\color{black}
\end{bytefield}}
-The {\tt P} field is a predicate; if it does not hold, the instruction
-is ignored (but may reloop). This instruction copies the value in the
-loop counter {\tt LC} into the least significant bits of the data
-latch and leaves all other bits of the data latch unchanged.
+This instruction copies the value in the outer loop counter {\tt OC}
+into the least significant bits of the data latch and leaves all other
+bits of the data latch unchanged.
-\subsection{{\tt takeRepeatCounter}}
+\subsection{{\tt takeInnerLoopCounter}}
\setlength{\bitwidth}{5mm}
{\tt
\begin{bytefield}{26}
\bitheader[b]{16-19,21}\\
\color{light}
- \bitbox{2}{Hold}
+ \bitbox{1}{A}
+ \bitbox{1}{OL}
\bitbox{2}{P}
\color{black}
\bitbox{3}{???}
\color{black}
\end{bytefield}}
-The {\tt P} field is a predicate; if it does not hold, the instruction
-is ignored (but may reloop). This instruction copies the value in the
-repeat counter {\tt RC} into the least significant bits of the data
-latch and leaves all other bits of the data latch unchanged.
+This instruction copies the value in the inner loop counter {\tt IC}
+into the least significant bits of the data latch and leaves all other
+bits of the data latch unchanged.
+
-\pagebreak
\subsection{{\tt torpedo}}
\setlength{\bitwidth}{5mm}
\bitbox[tbr]{16}{}
\end{bytefield}}
-When a {\tt torpedo} instruction reaches {\tt IH}, it will wait there
-until an instruction is on deck (at {\tt OD}) and that instruction's
-{\tt Hold} field is {\tt tail} or {\tt soloT}. The {\tt torpedo} will then
-annihilate the on-deck instruction {\it and set the loop counter to zero}.
+\color{red}
+When a {\tt torpedo} instruction reaches the instruction horn, it will
+wait there until an instruction is on deck whose {\tt A}rmor bit is
+not set. The {\tt torpedo} will then cause ``Process \#2'' of the on
+deck instruction to terminate and will set the outer loop counter to zero.
+
+\subsection{{\tt tail}}
+
+\setlength{\bitwidth}{5mm}
+{\tt
+\begin{bytefield}{26}
+ \bitheader[b]{0,5,16-19,21}\\
+\color{light}
+ \bitbox{4}{}
+\color{black}
+ \bitbox{3}{000}
+ \bitbox{1}{1}
+ \bitbox{2}{01}
+\color{light}
+ \bitbox[tbr]{16}{}
+\end{bytefield}}
+
+When a {\tt tail} instruction reaches {\tt IH}, it seals the hatch.
+The {\tt tail} instruction does not enter the instruction fifo.
+
\color{black}
\epsfig{file=overview,height=5in,angle=90}
\pagebreak
-\epsfig{file=ports,height=5in,angle=90}
+\subsection*{Input Dock}
+\epsfig{file=indock,width=7in,angle=90}
\pagebreak
-\epsfig{file=best,height=5in,angle=90}
+\subsection*{Output Dock}
+\epsfig{file=outdock,width=6.5in,angle=90}
+
+
+%\pagebreak
+%\epsfig{file=ports,height=5in,angle=90}
+
+%\pagebreak
+%\epsfig{file=best,height=5in,angle=90}
\end{document}
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.45+devel"
- sodipodi:docname="drawing.svg"
+ sodipodi:docname="dock.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<defs
id="defs4">
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="700 : 600 : 1"
inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective65" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
id="perspective2450" />
<marker
inkscape:stockid="Arrow2Mstart"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.8"
- inkscape:cx="270.5604"
+ inkscape:cx="313.0604"
inkscape:cy="681.62441"
inkscape:document-units="px"
inkscape:current-layer="layer1"
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="744.09448"
+ height="1052.3622"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.45+devel"
+ sodipodi:docname="indock.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.0"
+ style="display:inline">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective65" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective2450" />
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ id="path3351"
+ style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z"
+ transform="scale(0.6,0.6)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Mend"
+ style="overflow:visible">
+ <path
+ id="path3354"
+ style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z"
+ transform="scale(-0.6,-0.6)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ id="path3336"
+ d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective2521" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective10" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8"
+ inkscape:cx="227.34611"
+ inkscape:cy="681.62441"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer2"
+ showgrid="true"
+ inkscape:window-width="1505"
+ inkscape:window-height="1109"
+ inkscape:window-x="15"
+ inkscape:window-y="9">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2389"
+ visible="true"
+ enabled="true"
+ empspacing="4"
+ units="mm"
+ spacingx="1mm"
+ spacingy="1mm" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow2Mstart);stroke-opacity:1"
+ d="M 262.20472,386.22046 L 155.90549,386.22046"
+ id="path3249"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 287.00787,386.22045 L 297.63779,386.22045 C 305.13779,386.22045 304.72441,393.30706 304.72441,393.30706 L 304.72441,411.0236 C 304.72441,418.5321 311.81102,418.11021 311.81102,418.11021"
+ id="path3231"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 322.44093,418.11022 L 425.19684,418.11022 C 425.19684,418.11022 439.37007,418.31373 439.37007,432.28345 L 439.37007,446.45668 C 439.37007,446.45668 439.87884,460.62991 425.19684,460.62991 L 251.57479,460.62991 C 251.57479,460.62991 237.40156,460.38983 237.40156,446.45668 L 237.40156,432.28345 C 237.40156,418.3503 251.57479,418.11022 251.57479,418.11022 L 322.44093,418.11022 z"
+ id="path3173"
+ sodipodi:nodetypes="cccccccccc" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 379.13384,403.937 L 379.13384,432.28345 L 407.4803,432.28345 L 421.65352,418.11023 L 407.4803,403.937 L 379.13384,403.937 z"
+ id="path3169" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 364.96062,403.937 L 364.96062,432.28345 L 393.30708,432.28345 L 407.4803,418.11023 L 393.30708,403.937 L 364.96062,403.937 z"
+ id="path3167" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 350.78739,403.937 L 350.78739,432.28345 L 379.13385,432.28345 L 393.30707,418.11023 L 379.13385,403.937 L 350.78739,403.937 z"
+ id="path3165" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 336.61416,403.937 L 336.61416,432.28345 L 364.96062,432.28345 L 379.13384,418.11023 L 364.96062,403.937 L 336.61416,403.937 z"
+ id="path2393" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 251.5748,403.93699 L 251.5748,432.28344 L 279.92126,432.28344 L 294.09448,418.11022 L 279.92126,403.93699 L 251.5748,403.93699 z"
+ id="path3171" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#0000ff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 265.74804,343.70079 L 265.74804,357.87402 L 219.68505,357.87402 L 212.59844,350.7874 L 219.68505,343.70079 L 265.74804,343.70079 z"
+ id="path3195"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="230.31464"
+ y="354.33118"
+ id="text3197"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ id="tspan3199"
+ x="230.31464"
+ y="354.33118"
+ style="font-size:10px">Path</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283px;font-style:normal;font-weight:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="267.31375"
+ y="414.5675"
+ id="text3201"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ id="tspan3203"
+ x="267.31375"
+ y="414.5675"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#ff0000">On</tspan><tspan
+ sodipodi:role="line"
+ x="267.31375"
+ y="427.0675"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#ff0000"
+ id="tspan3205">Deck</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283px;font-style:normal;font-weight:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="352.80966"
+ y="414.5675"
+ id="text3207"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ x="352.80966"
+ y="414.5675"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#ff0000"
+ id="tspan3211">Instr</tspan><tspan
+ sodipodi:role="line"
+ x="352.80966"
+ y="427.0675"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#ff0000"
+ id="tspan3215">Fifo</tspan></text>
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 252.17659,372.04723 L 252.17659,400.39368 L 280.52305,400.39368 L 294.69627,386.22046 L 280.52305,372.04723 L 252.17659,372.04723 z"
+ id="path3217" />
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283px;font-style:normal;font-weight:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="268.37222"
+ y="382.6777"
+ id="text3219"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ x="268.37222"
+ y="382.6777"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#ff0000"
+ id="tspan3223">Instr</tspan><tspan
+ sodipodi:role="line"
+ x="268.37222"
+ y="395.1777"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#ff0000"
+ id="tspan3227">Horn</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
+ d="M 265.74803,354.33069 L 318.89763,354.33069 C 326.39763,354.33069 325.98425,361.4173 325.98425,361.4173 L 325.98425,411.0236 C 325.98425,418.5321 318.89764,418.11021 318.89764,418.11021"
+ id="path2523"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path3233"
+ sodipodi:cx="186.02362"
+ sodipodi:cy="288.77951"
+ sodipodi:rx="1.7716535"
+ sodipodi:ry="1.7716535"
+ d="M 187.79527,288.77951 A 1.7716535,1.7716535 0 1 1 184.25197,288.77951 A 1.7716535,1.7716535 0 1 1 187.79527,288.77951 z"
+ transform="translate(139.96063,81.496058)" />
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="449.99936"
+ y="325.98468"
+ id="text14584"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ id="tspan14586"
+ x="449.99936"
+ y="325.98468"
+ style="font-size:10px;fill:#000000">Ship</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
+ d="M 474.80315,272.83462 L 446.45669,272.83462 L 442.91339,276.37793 L 442.91339,372.04722 L 446.45669,375.59053 L 474.80315,375.59053"
+ id="path14582" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ff0000;stroke-width:2.15182614;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path2454"
+ sodipodi:cx="297.63779"
+ sodipodi:cy="396.85037"
+ sodipodi:rx="7.0866141"
+ sodipodi:ry="7.0866141"
+ d="M 304.7244,396.85037 A 7.0866141,7.0866141 0 1 1 290.55117,396.85037 A 7.0866141,7.0866141 0 1 1 304.7244,396.85037 z"
+ transform="matrix(0.4647224,0,0,0.4647208,166.65546,215.96906)" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Input"
+ style="display:inline">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0;stroke-opacity:1;display:inline"
+ d="M 212.59843,350.78738 L 155.90551,350.78738"
+ id="path3294"
+ sodipodi:nodetypes="cc" />
+ <g
+ id="g3283"
+ transform="translate(24.803147,-1.7922616e-6)">
+ <path
+ sodipodi:nodetypes="cccccc"
+ id="path3270"
+ d="M 283.46457,291.59157 L 283.46457,340.15746 L 342.64215,340.15746 L 366.09396,315.8745 L 342.64215,291.59157 L 283.46457,291.59157 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <text
+ transform="scale(1.0000014,0.9999986)"
+ id="text3272"
+ y="318.89807"
+ x="304.72397"
+ style="font-size:11.99998283px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="font-size:10px"
+ y="318.89807"
+ x="304.72397"
+ id="tspan3274"
+ sodipodi:role="line">Data</tspan></text>
+ </g>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:none"
+ d="M 407.46063,315.21932 L 127.53937,315.21932"
+ id="path3288"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 269.29134,315.35431 C 276.44312,315.35431 276.37796,322.44092 276.37796,322.44092 L 276.37796,340.15746 C 276.37796,347.30924 269.29134,347.24407 269.29134,347.24407 L 265.74803,347.24407"
+ id="path2529"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 301.1811,354.33069 C 301.1811,354.33069 294.09449,354.38693 294.09449,347.24407 L 294.09449,336.61415 C 294.09449,329.82844 301.1811,329.52754 301.1811,329.52754 L 308.26772,329.52754"
+ id="path2531"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow2Mend);stroke-opacity:1"
+ d="M 155.90551,315.35431 L 308.26772,315.35431"
+ id="path2543" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-opacity:1"
+ d="M 389.76378,315.35431 L 439.37008,315.35431"
+ id="path2545" />
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="744.09448819"
+ height="1052.3622047"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.45+devel"
+ sodipodi:docname="inner-loop.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective66" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective65" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective2450" />
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ id="path3351"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) translate(0,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mend"
+ style="overflow:visible;">
+ <path
+ id="path3354"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) rotate(180) translate(0,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Mend"
+ style="overflow:visible;">
+ <path
+ id="path3336"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.4) rotate(180) translate(10,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective2521" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective10" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8"
+ inkscape:cx="298.41754"
+ inkscape:cy="681.62441"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="1505"
+ inkscape:window-height="1109"
+ inkscape:window-x="15"
+ inkscape:window-y="9">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2389"
+ visible="true"
+ enabled="true"
+ empspacing="4"
+ units="mm"
+ spacingx="1mm"
+ spacingy="1mm" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 277.46177,418.11023 L 297.6378,418.11021 C 297.6378,418.11021 304.3145,418.20409 304.3145,424.64841 L 304.3145,431.18661 C 304.3145,431.18661 304.55417,437.7248 297.6378,437.7248 L 251.5748,437.7248 C 251.5748,437.7248 244.8981,437.61405 244.8981,431.18661 L 244.8981,424.64841 C 244.8981,418.22096 251.5748,418.11021 251.5748,418.11021 L 277.46177,418.11023 z"
+ id="path2468"
+ sodipodi:nodetypes="cccccccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mstart);marker-start:none"
+ d="M 262.20472,386.22046 L 155.90549,386.22046"
+ id="path3249"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 287.00787,386.22045 L 297.63779,386.22045 C 305.13779,386.22045 304.72441,393.30706 304.72441,393.30706 L 304.72441,411.0236 C 304.72441,418.5321 311.81102,418.11021 311.81102,418.11021"
+ id="path3231"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 322.44093,418.11022 L 425.19684,418.11022 C 425.19684,418.11022 439.37007,418.31373 439.37007,432.28345 L 439.37007,446.45668 C 439.37007,446.45668 439.87884,460.62991 425.19684,460.62991 L 251.57479,460.62991 C 251.57479,460.62991 237.40156,460.38983 237.40156,446.45668 L 237.40156,432.28345 C 237.40156,418.3503 251.57479,418.11022 251.57479,418.11022 L 322.44093,418.11022 z"
+ id="path3173"
+ sodipodi:nodetypes="cccccccccc" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 379.13384,403.937 L 379.13384,432.28345 L 407.4803,432.28345 L 421.65352,418.11023 L 407.4803,403.937 L 379.13384,403.937 z"
+ id="path3169" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 364.96062,403.937 L 364.96062,432.28345 L 393.30708,432.28345 L 407.4803,418.11023 L 393.30708,403.937 L 364.96062,403.937 z"
+ id="path3167" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 350.78739,403.937 L 350.78739,432.28345 L 379.13385,432.28345 L 393.30707,418.11023 L 379.13385,403.937 L 350.78739,403.937 z"
+ id="path3165" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 336.61416,403.937 L 336.61416,432.28345 L 364.96062,432.28345 L 379.13384,418.11023 L 364.96062,403.937 L 336.61416,403.937 z"
+ id="path2393" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 251.5748,403.93699 L 251.5748,432.28344 L 279.92126,432.28344 L 294.09448,418.11022 L 279.92126,403.93699 L 251.5748,403.93699 z"
+ id="path3171" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#808080;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 265.74804,343.70079 L 265.74804,357.87402 L 219.68505,357.87402 L 212.59844,350.7874 L 219.68505,343.70079 L 265.74804,343.70079 z"
+ id="path3195"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283000000043px;font-style:normal;font-weight:normal;fill:#999999;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="230.31464"
+ y="354.33118"
+ id="text3197"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ id="tspan3199"
+ x="230.31464"
+ y="354.33118"
+ style="font-size:10px;fill:#999999">Path</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283000000043px;font-style:normal;font-weight:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="267.31375"
+ y="414.5675"
+ id="text3201"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ id="tspan3203"
+ x="267.31375"
+ y="414.5675"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#ff0000">On</tspan><tspan
+ sodipodi:role="line"
+ x="267.31375"
+ y="427.0675"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#ff0000"
+ id="tspan3205">Deck</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283000000043px;font-style:normal;font-weight:normal;fill:#999999;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="352.80966"
+ y="414.5675"
+ id="text3207"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ x="352.80966"
+ y="414.5675"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#999999"
+ id="tspan3211">Instr</tspan><tspan
+ sodipodi:role="line"
+ x="352.80966"
+ y="427.0675"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#999999"
+ id="tspan3215">Fifo</tspan></text>
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 252.17659,372.04723 L 252.17659,400.39368 L 280.52305,400.39368 L 294.69627,386.22046 L 280.52305,372.04723 L 252.17659,372.04723 z"
+ id="path3217" />
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283000000043px;font-style:normal;font-weight:normal;fill:#999999;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="268.37222"
+ y="382.6777"
+ id="text3219"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ x="268.37222"
+ y="382.6777"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#999999"
+ id="tspan3223">Instr</tspan><tspan
+ sodipodi:role="line"
+ x="268.37222"
+ y="395.1777"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#999999"
+ id="tspan3227">Horn</tspan></text>
+ <path
+ style="display:inline;fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 265.74803,354.33069 L 318.89763,354.33069 C 326.39763,354.33069 325.98425,361.4173 325.98425,361.4173 L 325.98425,411.0236 C 325.98425,418.5321 318.89764,418.11021 318.89764,418.11021"
+ id="path2523"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path3233"
+ sodipodi:cx="186.02362"
+ sodipodi:cy="288.77951"
+ sodipodi:rx="1.7716535"
+ sodipodi:ry="1.7716535"
+ d="M 187.79527,288.77951 A 1.7716535,1.7716535 0 1 1 184.25197,288.77951 A 1.7716535,1.7716535 0 1 1 187.79527,288.77951 z"
+ transform="translate(139.96063,81.496058)" />
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="449.99936"
+ y="325.98468"
+ id="text14584"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ id="tspan14586"
+ x="449.99936"
+ y="325.98468"
+ style="font-size:10px;fill:#000000">Ship</tspan></text>
+ <path
+ style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 474.80315,272.83462 L 446.45669,272.83462 L 442.91339,276.37793 L 442.91339,372.04722 L 446.45669,375.59053 L 474.80315,375.59053"
+ id="path14582" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#999999;stroke-width:2.15182613999999983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path2454"
+ sodipodi:cx="297.63779"
+ sodipodi:cy="396.85037"
+ sodipodi:rx="7.0866141"
+ sodipodi:ry="7.0866141"
+ d="M 304.7244,396.85037 A 7.0866141,7.0866141 0 1 1 290.55117,396.85037 A 7.0866141,7.0866141 0 1 1 304.7244,396.85037 z"
+ transform="matrix(0.4647224,0,0,0.4647208,166.65546,215.96906)" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer3"
+ inkscape:label="Output"
+ style="display:inline">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-opacity:1"
+ d="M 212.59842,350.78738 L 198.42519,350.78738 C 198.42519,350.78738 191.33858,351.20077 191.33858,343.70077 L 191.33858,322.44092 C 191.33858,322.44092 191.39483,314.99717 184.25197,315.35431 L 155.90551,315.35431"
+ id="path3245"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow2Mstart);stroke-opacity:1;display:inline"
+ d="M 265.74803,347.24407 L 375.59056,347.24407 C 375.59056,347.24407 382.67717,347.65746 382.67717,340.15746 L 382.67717,322.44092 C 382.67717,322.44092 382.62092,314.99717 389.76378,315.35431 L 435.82677,315.35431"
+ id="path2535"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 325.98425,361.41729 C 325.98425,361.41729 325.21373,354.33068 333.07087,354.33068 L 357.87402,354.33068 C 365.01688,354.33068 364.96063,347.24407 364.96063,347.24407 L 364.96063,333.07084 C 364.96063,325.91906 357.87402,325.98423 357.87402,325.98423 L 350.7874,325.98423"
+ id="path2537"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0;stroke-opacity:1;display:inline"
+ d="M 155.90551,350.78738 L 170.07874,350.78738 C 177.93588,350.78738 177.16535,357.87399 177.16535,357.87399 L 177.16535,361.4173 C 177.16535,368.59578 184.25197,368.50391 184.25197,368.50391 L 325.98425,368.50391"
+ id="path2539"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 180.70866,315.35431 L 269.29134,315.35431"
+ id="path2547" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 350.7874,315.35431 L 389.76378,315.35431"
+ id="path2549" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:0.99999994000000003px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 351.92073,291.07138 L 351.92073,339.63727 L 292.74315,339.63727 L 269.29134,315.35431 L 292.74315,291.07138 L 351.92073,291.07138 z"
+ id="path3235"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283000000043px;font-style:normal;font-weight:normal;fill:#999999;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="304.72397"
+ y="318.89807"
+ id="text3237"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ id="tspan3239"
+ x="304.72397"
+ y="318.89807"
+ style="font-size:10px;fill:#999999">Data</tspan></text>
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Input"
+ style="display:none">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0;stroke-opacity:1;display:inline"
+ d="M 212.59843,350.78738 L 155.90551,350.78738"
+ id="path3294"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 308.26772,291.59157 L 308.26772,340.15746 L 367.4453,340.15746 L 390.89711,315.8745 L 367.4453,291.59157 L 308.26772,291.59157 z"
+ id="path3270"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="329.52707"
+ y="318.89807"
+ id="text3272"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ id="tspan3274"
+ x="329.52707"
+ y="318.89807"
+ style="font-size:10px">Data</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:none"
+ d="M 407.46063,315.21932 L 127.53937,315.21932"
+ id="path3288"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 269.29134,315.35431 C 276.44312,315.35431 276.37796,322.44092 276.37796,322.44092 L 276.37796,340.15746 C 276.37796,347.30924 269.29134,347.24407 269.29134,347.24407 L 265.74803,347.24407"
+ id="path2529"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 301.1811,354.33069 C 301.1811,354.33069 294.09449,354.38693 294.09449,347.24407 L 294.09449,336.61415 C 294.09449,329.82844 301.1811,329.52754 301.1811,329.52754 L 308.26772,329.52754"
+ id="path2531"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow2Mend);stroke-opacity:1"
+ d="M 155.90551,315.35431 L 308.26772,315.35431"
+ id="path2543" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-opacity:1"
+ d="M 389.76378,315.35431 L 439.37008,315.35431"
+ id="path2545" />
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="744.09448819"
+ height="1052.3622047"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.45+devel"
+ sodipodi:docname="loops.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective66" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective65" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective2450" />
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ id="path3351"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) translate(0,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mend"
+ style="overflow:visible;">
+ <path
+ id="path3354"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) rotate(180) translate(0,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Mend"
+ style="overflow:visible;">
+ <path
+ id="path3336"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.4) rotate(180) translate(10,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective2521" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective10" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8"
+ inkscape:cx="298.41754"
+ inkscape:cy="681.62441"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="1505"
+ inkscape:window-height="1109"
+ inkscape:window-x="15"
+ inkscape:window-y="9">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2389"
+ visible="true"
+ enabled="true"
+ empspacing="4"
+ units="mm"
+ spacingx="1mm"
+ spacingy="1mm" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 277.46177,418.11023 L 297.6378,418.11021 C 297.6378,418.11021 304.3145,418.20409 304.3145,424.64841 L 304.3145,431.18661 C 304.3145,431.18661 304.55417,437.7248 297.6378,437.7248 L 251.5748,437.7248 C 251.5748,437.7248 244.8981,437.61405 244.8981,431.18661 L 244.8981,424.64841 C 244.8981,418.22096 251.5748,418.11021 251.5748,418.11021 L 277.46177,418.11023 z"
+ id="path2468"
+ sodipodi:nodetypes="cccccccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mstart);marker-start:none"
+ d="M 262.20472,386.22046 L 155.90549,386.22046"
+ id="path3249"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 287.00787,386.22045 L 297.63779,386.22045 C 305.13779,386.22045 304.72441,393.30706 304.72441,393.30706 L 304.72441,411.0236 C 304.72441,418.5321 311.81102,418.11021 311.81102,418.11021"
+ id="path3231"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 322.44093,418.11022 L 425.19684,418.11022 C 425.19684,418.11022 439.37007,418.31373 439.37007,432.28345 L 439.37007,446.45668 C 439.37007,446.45668 439.87884,460.62991 425.19684,460.62991 L 251.57479,460.62991 C 251.57479,460.62991 237.40156,460.38983 237.40156,446.45668 L 237.40156,432.28345 C 237.40156,418.3503 251.57479,418.11022 251.57479,418.11022 L 322.44093,418.11022 z"
+ id="path3173"
+ sodipodi:nodetypes="cccccccccc" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 379.13384,403.937 L 379.13384,432.28345 L 407.4803,432.28345 L 421.65352,418.11023 L 407.4803,403.937 L 379.13384,403.937 z"
+ id="path3169" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 364.96062,403.937 L 364.96062,432.28345 L 393.30708,432.28345 L 407.4803,418.11023 L 393.30708,403.937 L 364.96062,403.937 z"
+ id="path3167" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 350.78739,403.937 L 350.78739,432.28345 L 379.13385,432.28345 L 393.30707,418.11023 L 379.13385,403.937 L 350.78739,403.937 z"
+ id="path3165" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 336.61416,403.937 L 336.61416,432.28345 L 364.96062,432.28345 L 379.13384,418.11023 L 364.96062,403.937 L 336.61416,403.937 z"
+ id="path2393" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 251.5748,403.93699 L 251.5748,432.28344 L 279.92126,432.28344 L 294.09448,418.11022 L 279.92126,403.93699 L 251.5748,403.93699 z"
+ id="path3171" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#808080;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 265.74804,343.70079 L 265.74804,357.87402 L 219.68505,357.87402 L 212.59844,350.7874 L 219.68505,343.70079 L 265.74804,343.70079 z"
+ id="path3195"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283000000043px;font-style:normal;font-weight:normal;fill:#999999;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="230.31464"
+ y="354.33118"
+ id="text3197"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ id="tspan3199"
+ x="230.31464"
+ y="354.33118"
+ style="font-size:10px;fill:#999999">Path</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283000000043px;font-style:normal;font-weight:normal;fill:#999999;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="267.31375"
+ y="414.5675"
+ id="text3201"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ id="tspan3203"
+ x="267.31375"
+ y="414.5675"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#999999">On</tspan><tspan
+ sodipodi:role="line"
+ x="267.31375"
+ y="427.0675"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#999999"
+ id="tspan3205">Deck</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283000000043px;font-style:normal;font-weight:normal;fill:#999999;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="352.80966"
+ y="414.5675"
+ id="text3207"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ x="352.80966"
+ y="414.5675"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#999999"
+ id="tspan3211">Instr</tspan><tspan
+ sodipodi:role="line"
+ x="352.80966"
+ y="427.0675"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#999999"
+ id="tspan3215">Fifo</tspan></text>
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 252.17659,372.04723 L 252.17659,400.39368 L 280.52305,400.39368 L 294.69627,386.22046 L 280.52305,372.04723 L 252.17659,372.04723 z"
+ id="path3217" />
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283000000043px;font-style:normal;font-weight:normal;fill:#999999;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="268.37222"
+ y="382.6777"
+ id="text3219"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ x="268.37222"
+ y="382.6777"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#999999"
+ id="tspan3223">Instr</tspan><tspan
+ sodipodi:role="line"
+ x="268.37222"
+ y="395.1777"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#999999"
+ id="tspan3227">Horn</tspan></text>
+ <path
+ style="display:inline;fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 265.74803,354.33069 L 318.89763,354.33069 C 326.39763,354.33069 325.98425,361.4173 325.98425,361.4173 L 325.98425,411.0236 C 325.98425,418.5321 318.89764,418.11021 318.89764,418.11021"
+ id="path2523"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path3233"
+ sodipodi:cx="186.02362"
+ sodipodi:cy="288.77951"
+ sodipodi:rx="1.7716535"
+ sodipodi:ry="1.7716535"
+ d="M 187.79527,288.77951 A 1.7716535,1.7716535 0 1 1 184.25197,288.77951 A 1.7716535,1.7716535 0 1 1 187.79527,288.77951 z"
+ transform="translate(139.96063,81.496058)" />
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="449.99936"
+ y="325.98468"
+ id="text14584"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ id="tspan14586"
+ x="449.99936"
+ y="325.98468"
+ style="font-size:10px;fill:#000000">Ship</tspan></text>
+ <path
+ style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 474.80315,272.83462 L 446.45669,272.83462 L 442.91339,276.37793 L 442.91339,372.04722 L 446.45669,375.59053 L 474.80315,375.59053"
+ id="path14582" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#999999;stroke-width:2.15182613999999983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path2454"
+ sodipodi:cx="297.63779"
+ sodipodi:cy="396.85037"
+ sodipodi:rx="7.0866141"
+ sodipodi:ry="7.0866141"
+ d="M 304.7244,396.85037 A 7.0866141,7.0866141 0 1 1 290.55117,396.85037 A 7.0866141,7.0866141 0 1 1 304.7244,396.85037 z"
+ transform="matrix(0.4647224,0,0,0.4647208,166.65546,215.96906)" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer3"
+ inkscape:label="Output"
+ style="display:inline">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-opacity:1"
+ d="M 212.59842,350.78738 L 198.42519,350.78738 C 198.42519,350.78738 191.33858,351.20077 191.33858,343.70077 L 191.33858,322.44092 C 191.33858,322.44092 191.39483,314.99717 184.25197,315.35431 L 155.90551,315.35431"
+ id="path3245"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow2Mstart);stroke-opacity:1;display:inline"
+ d="M 265.74803,347.24407 L 375.59056,347.24407 C 375.59056,347.24407 382.67717,347.65746 382.67717,340.15746 L 382.67717,322.44092 C 382.67717,322.44092 382.62092,314.99717 389.76378,315.35431 L 435.82677,315.35431"
+ id="path2535"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 325.98425,361.41729 C 325.98425,361.41729 325.21373,354.33068 333.07087,354.33068 L 357.87402,354.33068 C 365.01688,354.33068 364.96063,347.24407 364.96063,347.24407 L 364.96063,333.07084 C 364.96063,325.91906 357.87402,325.98423 357.87402,325.98423 L 350.7874,325.98423"
+ id="path2537"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0;stroke-opacity:1;display:inline"
+ d="M 155.90551,350.78738 L 170.07874,350.78738 C 177.93588,350.78738 177.16535,357.87399 177.16535,357.87399 L 177.16535,361.4173 C 177.16535,368.59578 184.25197,368.50391 184.25197,368.50391 L 325.98425,368.50391"
+ id="path2539"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 180.70866,315.35431 L 269.29134,315.35431"
+ id="path2547" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 350.7874,315.35431 L 389.76378,315.35431"
+ id="path2549" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:0.99999994000000003px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 351.92073,291.07138 L 351.92073,339.63727 L 292.74315,339.63727 L 269.29134,315.35431 L 292.74315,291.07138 L 351.92073,291.07138 z"
+ id="path3235"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283000000043px;font-style:normal;font-weight:normal;fill:#999999;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="304.72397"
+ y="318.89807"
+ id="text3237"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ id="tspan3239"
+ x="304.72397"
+ y="318.89807"
+ style="font-size:10px;fill:#999999">Data</tspan></text>
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Input"
+ style="display:none">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0;stroke-opacity:1;display:inline"
+ d="M 212.59843,350.78738 L 155.90551,350.78738"
+ id="path3294"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 308.26772,291.59157 L 308.26772,340.15746 L 367.4453,340.15746 L 390.89711,315.8745 L 367.4453,291.59157 L 308.26772,291.59157 z"
+ id="path3270"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="329.52707"
+ y="318.89807"
+ id="text3272"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ id="tspan3274"
+ x="329.52707"
+ y="318.89807"
+ style="font-size:10px">Data</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:none"
+ d="M 407.46063,315.21932 L 127.53937,315.21932"
+ id="path3288"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 269.29134,315.35431 C 276.44312,315.35431 276.37796,322.44092 276.37796,322.44092 L 276.37796,340.15746 C 276.37796,347.30924 269.29134,347.24407 269.29134,347.24407 L 265.74803,347.24407"
+ id="path2529"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 301.1811,354.33069 C 301.1811,354.33069 294.09449,354.38693 294.09449,347.24407 L 294.09449,336.61415 C 294.09449,329.82844 301.1811,329.52754 301.1811,329.52754 L 308.26772,329.52754"
+ id="path2531"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow2Mend);stroke-opacity:1"
+ d="M 155.90551,315.35431 L 308.26772,315.35431"
+ id="path2543" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-opacity:1"
+ d="M 389.76378,315.35431 L 439.37008,315.35431"
+ id="path2545" />
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="744.09448"
+ height="1052.3622"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.45+devel"
+ sodipodi:docname="outdock.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.0"
+ style="display:inline">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective2507" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective2450" />
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ id="path3351"
+ style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z"
+ transform="scale(0.6,0.6)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Mend"
+ style="overflow:visible">
+ <path
+ id="path3354"
+ style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.97309,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z"
+ transform="scale(-0.6,-0.6)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ id="path3336"
+ d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.4,0,0,-0.4,-4,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective2521" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective10" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8"
+ inkscape:cx="227.34611"
+ inkscape:cy="681.62441"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer3"
+ showgrid="true"
+ inkscape:window-width="1505"
+ inkscape:window-height="1109"
+ inkscape:window-x="-12"
+ inkscape:window-y="44">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2389"
+ visible="true"
+ enabled="true"
+ empspacing="4"
+ units="mm"
+ spacingx="1mm"
+ spacingy="1mm" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow2Mstart);stroke-opacity:1"
+ d="M 262.20472,386.22046 L 155.90549,386.22046"
+ id="path3249"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 287.00787,386.22045 L 297.63779,386.22045 C 305.13779,386.22045 304.72441,393.30706 304.72441,393.30706 L 304.72441,411.0236 C 304.72441,418.5321 311.81102,418.11021 311.81102,418.11021"
+ id="path3231"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 322.44093,418.11022 L 425.19684,418.11022 C 425.19684,418.11022 439.37007,418.31373 439.37007,432.28345 L 439.37007,446.45668 C 439.37007,446.45668 439.87884,460.62991 425.19684,460.62991 L 251.57479,460.62991 C 251.57479,460.62991 237.40156,460.38983 237.40156,446.45668 L 237.40156,432.28345 C 237.40156,418.3503 251.57479,418.11022 251.57479,418.11022 L 322.44093,418.11022 z"
+ id="path3173"
+ sodipodi:nodetypes="cccccccccc" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 379.13384,403.937 L 379.13384,432.28345 L 407.4803,432.28345 L 421.65352,418.11023 L 407.4803,403.937 L 379.13384,403.937 z"
+ id="path3169" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 364.96062,403.937 L 364.96062,432.28345 L 393.30708,432.28345 L 407.4803,418.11023 L 393.30708,403.937 L 364.96062,403.937 z"
+ id="path3167" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 350.78739,403.937 L 350.78739,432.28345 L 379.13385,432.28345 L 393.30707,418.11023 L 379.13385,403.937 L 350.78739,403.937 z"
+ id="path3165" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 336.61416,403.937 L 336.61416,432.28345 L 364.96062,432.28345 L 379.13384,418.11023 L 364.96062,403.937 L 336.61416,403.937 z"
+ id="path2393" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 251.5748,403.93699 L 251.5748,432.28344 L 279.92126,432.28344 L 294.09448,418.11022 L 279.92126,403.93699 L 251.5748,403.93699 z"
+ id="path3171" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#0000ff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 265.74804,343.70079 L 265.74804,357.87402 L 219.68505,357.87402 L 212.59844,350.7874 L 219.68505,343.70079 L 265.74804,343.70079 z"
+ id="path3195"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="230.31464"
+ y="354.33118"
+ id="text3197"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ id="tspan3199"
+ x="230.31464"
+ y="354.33118"
+ style="font-size:10px">Path</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283px;font-style:normal;font-weight:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="267.31375"
+ y="414.5675"
+ id="text3201"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ id="tspan3203"
+ x="267.31375"
+ y="414.5675"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#ff0000">On</tspan><tspan
+ sodipodi:role="line"
+ x="267.31375"
+ y="427.0675"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#ff0000"
+ id="tspan3205">Deck</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283px;font-style:normal;font-weight:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="352.80966"
+ y="414.5675"
+ id="text3207"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ x="352.80966"
+ y="414.5675"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#ff0000"
+ id="tspan3211">Instr</tspan><tspan
+ sodipodi:role="line"
+ x="352.80966"
+ y="427.0675"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#ff0000"
+ id="tspan3215">Fifo</tspan></text>
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 252.17659,372.04723 L 252.17659,400.39368 L 280.52305,400.39368 L 294.69627,386.22046 L 280.52305,372.04723 L 252.17659,372.04723 z"
+ id="path3217" />
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283px;font-style:normal;font-weight:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="268.37222"
+ y="382.6777"
+ id="text3219"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ x="268.37222"
+ y="382.6777"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#ff0000"
+ id="tspan3223">Instr</tspan><tspan
+ sodipodi:role="line"
+ x="268.37222"
+ y="395.1777"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#ff0000"
+ id="tspan3227">Horn</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
+ d="M 265.74803,354.33069 L 318.89763,354.33069 C 326.39763,354.33069 325.98425,361.4173 325.98425,361.4173 L 325.98425,411.0236 C 325.98425,418.5321 318.89764,418.11021 318.89764,418.11021"
+ id="path2523"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path3233"
+ sodipodi:cx="186.02362"
+ sodipodi:cy="288.77951"
+ sodipodi:rx="1.7716535"
+ sodipodi:ry="1.7716535"
+ d="M 187.79527,288.77951 A 1.7716535,1.7716535 0 1 1 184.25197,288.77951 A 1.7716535,1.7716535 0 1 1 187.79527,288.77951 z"
+ transform="translate(139.96063,81.496058)" />
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="449.99936"
+ y="325.98468"
+ id="text14584"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ id="tspan14586"
+ x="449.99936"
+ y="325.98468"
+ style="font-size:10px;fill:#000000">Ship</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
+ d="M 474.80315,272.83462 L 446.45669,272.83462 L 442.91339,276.37793 L 442.91339,372.04722 L 446.45669,375.59053 L 474.80315,375.59053"
+ id="path14582" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#ff0000;stroke-width:2.15182614;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path2454"
+ sodipodi:cx="297.63779"
+ sodipodi:cy="396.85037"
+ sodipodi:rx="7.0866141"
+ sodipodi:ry="7.0866141"
+ d="M 304.7244,396.85037 A 7.0866141,7.0866141 0 1 1 290.55117,396.85037 A 7.0866141,7.0866141 0 1 1 304.7244,396.85037 z"
+ transform="matrix(0.4647224,0,0,0.4647208,166.65546,215.96906)" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer3"
+ inkscape:label="Output"
+ style="display:inline">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-opacity:1"
+ d="M 212.59842,350.78738 L 198.42519,350.78738 C 198.42519,350.78738 191.33858,351.20077 191.33858,343.70077 L 191.33858,322.44092 C 191.33858,322.44092 191.39483,314.99717 184.25197,315.35431 L 155.90551,315.35431"
+ id="path3245"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow2Mstart);stroke-opacity:1;display:inline"
+ d="M 265.74803,347.24407 L 375.59056,347.24407 C 375.59056,347.24407 382.67717,347.65746 382.67717,340.15746 L 382.67717,322.44092 C 382.67717,322.44092 382.62092,314.99717 389.76378,315.35431 L 435.82677,315.35431"
+ id="path2535"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 325.98425,361.41729 C 325.98425,361.41729 325.21373,354.33068 333.07087,354.33068 L 357.87402,354.33068 C 365.01688,354.33068 364.96063,347.24407 364.96063,347.24407 L 364.96063,333.07084 C 364.96063,325.91906 357.87402,325.98423 357.87402,325.98423 L 350.7874,325.98423"
+ id="path2537"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0;stroke-opacity:1;display:inline"
+ d="M 155.90551,350.78738 L 170.07874,350.78738 C 177.93588,350.78738 177.16535,357.87399 177.16535,357.87399 L 177.16535,361.4173 C 177.16535,368.59578 184.25197,368.50391 184.25197,368.50391 L 325.98425,368.50391"
+ id="path2539"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 180.70866,315.35431 L 269.29134,315.35431"
+ id="path2547" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 350.7874,315.35431 L 389.76378,315.35431"
+ id="path2549" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#0000ff;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 351.92073,291.07138 L 351.92073,339.63727 L 292.74315,339.63727 L 269.29134,315.35431 L 292.74315,291.07138 L 351.92073,291.07138 z"
+ id="path3235"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="304.72397"
+ y="318.89807"
+ id="text3237"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ id="tspan3239"
+ x="304.72397"
+ y="318.89807"
+ style="font-size:10px">Data</tspan></text>
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="744.09448819"
+ height="1052.3622047"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.45+devel"
+ sodipodi:docname="outer-loop.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective66" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective65" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective2450" />
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ id="path3351"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) translate(0,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mend"
+ style="overflow:visible;">
+ <path
+ id="path3354"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) rotate(180) translate(0,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Mend"
+ style="overflow:visible;">
+ <path
+ id="path3336"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.4) rotate(180) translate(10,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective2521" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective10" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8"
+ inkscape:cx="298.41754"
+ inkscape:cy="681.62441"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="1505"
+ inkscape:window-height="1109"
+ inkscape:window-x="15"
+ inkscape:window-y="9">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2389"
+ visible="true"
+ enabled="true"
+ empspacing="4"
+ units="mm"
+ spacingx="1mm"
+ spacingy="1mm" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <path
+ style="display:inline;fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 265.74803,354.33069 L 318.89763,354.33069 C 326.39763,354.33069 325.98425,361.4173 325.98425,361.4173 L 325.98425,411.0236 C 325.98425,418.5321 318.89764,418.11021 318.89764,418.11021"
+ id="path2523"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 277.46177,418.11023 L 297.6378,418.11021 C 297.6378,418.11021 304.3145,418.20409 304.3145,424.64841 L 304.3145,431.18661 C 304.3145,431.18661 304.55417,437.7248 297.6378,437.7248 L 251.5748,437.7248 C 251.5748,437.7248 244.8981,437.61405 244.8981,431.18661 L 244.8981,424.64841 C 244.8981,418.22096 251.5748,418.11021 251.5748,418.11021 L 277.46177,418.11023 z"
+ id="path2468"
+ sodipodi:nodetypes="cccccccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mstart);marker-start:none"
+ d="M 262.20472,386.22046 L 155.90549,386.22046"
+ id="path3249"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 287.00787,386.22045 L 297.63779,386.22045 C 305.13779,386.22045 304.72441,393.30706 304.72441,393.30706 L 304.72441,411.0236 C 304.72441,418.5321 311.81102,418.11021 311.81102,418.11021"
+ id="path3231"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 322.44093,418.11022 L 425.19684,418.11022 C 425.19684,418.11022 439.37007,418.31373 439.37007,432.28345 L 439.37007,446.45668 C 439.37007,446.45668 439.87884,460.62991 425.19684,460.62991 L 251.57479,460.62991 C 251.57479,460.62991 237.40156,460.38983 237.40156,446.45668 L 237.40156,432.28345 C 237.40156,418.3503 251.57479,418.11022 251.57479,418.11022 L 322.44093,418.11022 z"
+ id="path3173"
+ sodipodi:nodetypes="cccccccccc" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 379.13384,403.937 L 379.13384,432.28345 L 407.4803,432.28345 L 421.65352,418.11023 L 407.4803,403.937 L 379.13384,403.937 z"
+ id="path3169" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 364.96062,403.937 L 364.96062,432.28345 L 393.30708,432.28345 L 407.4803,418.11023 L 393.30708,403.937 L 364.96062,403.937 z"
+ id="path3167" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 350.78739,403.937 L 350.78739,432.28345 L 379.13385,432.28345 L 393.30707,418.11023 L 379.13385,403.937 L 350.78739,403.937 z"
+ id="path3165" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 336.61416,403.937 L 336.61416,432.28345 L 364.96062,432.28345 L 379.13384,418.11023 L 364.96062,403.937 L 336.61416,403.937 z"
+ id="path2393" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 251.5748,403.93699 L 251.5748,432.28344 L 279.92126,432.28344 L 294.09448,418.11022 L 279.92126,403.93699 L 251.5748,403.93699 z"
+ id="path3171" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#808080;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 265.74804,343.70079 L 265.74804,357.87402 L 219.68505,357.87402 L 212.59844,350.7874 L 219.68505,343.70079 L 265.74804,343.70079 z"
+ id="path3195"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283000000043px;font-style:normal;font-weight:normal;fill:#999999;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="230.31464"
+ y="354.33118"
+ id="text3197"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ id="tspan3199"
+ x="230.31464"
+ y="354.33118"
+ style="font-size:10px;fill:#999999">Path</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283000000043px;font-style:normal;font-weight:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="267.31375"
+ y="414.5675"
+ id="text3201"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ id="tspan3203"
+ x="267.31375"
+ y="414.5675"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#ff0000">On</tspan><tspan
+ sodipodi:role="line"
+ x="267.31375"
+ y="427.0675"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#ff0000"
+ id="tspan3205">Deck</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283000000043px;font-style:normal;font-weight:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="352.80966"
+ y="414.5675"
+ id="text3207"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ x="352.80966"
+ y="414.5675"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#ff0000"
+ id="tspan3211">Instr</tspan><tspan
+ sodipodi:role="line"
+ x="352.80966"
+ y="427.0675"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#ff0000"
+ id="tspan3215">Fifo</tspan></text>
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 252.17659,372.04723 L 252.17659,400.39368 L 280.52305,400.39368 L 294.69627,386.22046 L 280.52305,372.04723 L 252.17659,372.04723 z"
+ id="path3217" />
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283000000043px;font-style:normal;font-weight:normal;fill:#999999;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="268.37222"
+ y="382.6777"
+ id="text3219"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ x="268.37222"
+ y="382.6777"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#999999"
+ id="tspan3223">Instr</tspan><tspan
+ sodipodi:role="line"
+ x="268.37222"
+ y="395.1777"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#999999"
+ id="tspan3227">Horn</tspan></text>
+ <path
+ sodipodi:type="arc"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path3233"
+ sodipodi:cx="186.02362"
+ sodipodi:cy="288.77951"
+ sodipodi:rx="1.7716535"
+ sodipodi:ry="1.7716535"
+ d="M 187.79527,288.77951 A 1.7716535,1.7716535 0 1 1 184.25197,288.77951 A 1.7716535,1.7716535 0 1 1 187.79527,288.77951 z"
+ transform="translate(139.96063,81.496058)" />
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="449.99936"
+ y="325.98468"
+ id="text14584"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ id="tspan14586"
+ x="449.99936"
+ y="325.98468"
+ style="font-size:10px;fill:#000000">Ship</tspan></text>
+ <path
+ style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 474.80315,272.83462 L 446.45669,272.83462 L 442.91339,276.37793 L 442.91339,372.04722 L 446.45669,375.59053 L 474.80315,375.59053"
+ id="path14582" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#999999;stroke-width:2.15182613999999983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path2454"
+ sodipodi:cx="297.63779"
+ sodipodi:cy="396.85037"
+ sodipodi:rx="7.0866141"
+ sodipodi:ry="7.0866141"
+ d="M 304.7244,396.85037 A 7.0866141,7.0866141 0 1 1 290.55117,396.85037 A 7.0866141,7.0866141 0 1 1 304.7244,396.85037 z"
+ transform="matrix(0.4647224,0,0,0.4647208,166.65546,215.96906)" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer3"
+ inkscape:label="Output"
+ style="display:inline">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-opacity:1"
+ d="M 212.59842,350.78738 L 198.42519,350.78738 C 198.42519,350.78738 191.33858,351.20077 191.33858,343.70077 L 191.33858,322.44092 C 191.33858,322.44092 191.39483,314.99717 184.25197,315.35431 L 155.90551,315.35431"
+ id="path3245"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow2Mstart);stroke-opacity:1;display:inline"
+ d="M 265.74803,347.24407 L 375.59056,347.24407 C 375.59056,347.24407 382.67717,347.65746 382.67717,340.15746 L 382.67717,322.44092 C 382.67717,322.44092 382.62092,314.99717 389.76378,315.35431 L 435.82677,315.35431"
+ id="path2535"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 325.98425,361.41729 C 325.98425,361.41729 325.21373,354.33068 333.07087,354.33068 L 357.87402,354.33068 C 365.01688,354.33068 364.96063,347.24407 364.96063,347.24407 L 364.96063,333.07084 C 364.96063,325.91906 357.87402,325.98423 357.87402,325.98423 L 350.7874,325.98423"
+ id="path2537"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0;stroke-opacity:1;display:inline"
+ d="M 155.90551,350.78738 L 170.07874,350.78738 C 177.93588,350.78738 177.16535,357.87399 177.16535,357.87399 L 177.16535,361.4173 C 177.16535,368.59578 184.25197,368.50391 184.25197,368.50391 L 325.98425,368.50391"
+ id="path2539"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 180.70866,315.35431 L 269.29134,315.35431"
+ id="path2547" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 350.7874,315.35431 L 389.76378,315.35431"
+ id="path2549" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:0.99999994000000003px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 351.92073,291.07138 L 351.92073,339.63727 L 292.74315,339.63727 L 269.29134,315.35431 L 292.74315,291.07138 L 351.92073,291.07138 z"
+ id="path3235"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283000000043px;font-style:normal;font-weight:normal;fill:#999999;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="304.72397"
+ y="318.89807"
+ id="text3237"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ id="tspan3239"
+ x="304.72397"
+ y="318.89807"
+ style="font-size:10px;fill:#999999">Data</tspan></text>
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Input"
+ style="display:none">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:1, 1;stroke-dashoffset:0;stroke-opacity:1;display:inline"
+ d="M 212.59843,350.78738 L 155.90551,350.78738"
+ id="path3294"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#999999;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 308.26772,291.59157 L 308.26772,340.15746 L 367.4453,340.15746 L 390.89711,315.8745 L 367.4453,291.59157 L 308.26772,291.59157 z"
+ id="path3270"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:11.99998283px;font-style:normal;font-weight:normal;fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="329.52707"
+ y="318.89807"
+ id="text3272"
+ transform="scale(1.0000014,0.9999986)"><tspan
+ sodipodi:role="line"
+ id="tspan3274"
+ x="329.52707"
+ y="318.89807"
+ style="font-size:10px">Data</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:none"
+ d="M 407.46063,315.21932 L 127.53937,315.21932"
+ id="path3288"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 269.29134,315.35431 C 276.44312,315.35431 276.37796,322.44092 276.37796,322.44092 L 276.37796,340.15746 C 276.37796,347.30924 269.29134,347.24407 269.29134,347.24407 L 265.74803,347.24407"
+ id="path2529"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 301.1811,354.33069 C 301.1811,354.33069 294.09449,354.38693 294.09449,347.24407 L 294.09449,336.61415 C 294.09449,329.82844 301.1811,329.52754 301.1811,329.52754 L 308.26772,329.52754"
+ id="path2531"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow2Mend);stroke-opacity:1"
+ d="M 155.90551,315.35431 L 308.26772,315.35431"
+ id="path2543" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-opacity:1"
+ d="M 389.76378,315.35431 L 439.37008,315.35431"
+ id="path2545" />
+ </g>
+</svg>