--- /dev/null
+\documentclass[10pt]{article}
+\usepackage{palatino}
+\usepackage{amsmath}
+\usepackage{epsfig}
+\usepackage{color}
+\usepackage{bytefield1}
+\usepackage{wrapfig}
+\usepackage{stmaryrd}
+\usepackage{subfigure}
+\usepackage{syntax}
+\usepackage{comment}
+\usepackage{fancyhdr}
+\usepackage{lastpage}
+\include{megacz}
+\bibliographystyle{alpha}
+\pagestyle{fancyplain}
+
+\definecolor{light}{gray}{0.7}
+
+\newcommand{\footnoteremember}[2]{
+ \footnote{#2}
+ \newcounter{#1}
+ \setcounter{#1}{\value{footnote}}
+} \newcommand{\footnoterecall}[1]{
+ \footnotemark[\value{#1}]
+}
+
+%\pdfpagewidth 8.5in
+%\pdfpageheight 11in
+%\topmargin 0in
+%\textheight 7.5in
+%\textwidth 6.0in
+%\oddsidemargin 0.25in
+%\evensidemargin 0.25in
+%\headwidth 6.0in
+\def\to{\ $\rightarrow$\ }
+
+\def\docnum{AM33}
+
+\author{
+\normalsize{
+\begin{tabular}{c}
+\end{tabular}}
+}
+
+\title{\vspace{-1cm}The FleetTwo Dock}
+
+\begin{document}
+
+\maketitle
+
+\begin{abstract}
+\end{abstract}
+
+\vfill
+
+\begin{center}
+\epsfig{file=overview,width=1.5in}
+\epsfig{file=ports,width=1.5in}
+\epsfig{file=best,width=1.5in}
+\end{center}
+
+\pagebreak
+
+\section{Overview of Fleet}
+
+A Fleet processor consists of a {\it switch fabric} with several
+functional units called {\it ships} connected to it. At each
+connection between a ship and the switch fabric lies a programmable
+element known as the {\it dock}.
+
+A {\it path} specifies a route through the switch fabric from a
+particular {\it source} to a particular {\it destination}. The
+combination of a path and a single word {\it payload} is called a {\it packet}. The
+switch fabric carries packets from their sources to their
+destinations. Each dock has two destinations: one for {\it
+ instructions} and one for {\it data}. A Fleet is programmed by
+depositing packets into the switch fabric; these packets' paths lead
+them to the instruction destinations of the docks.
+
+When a packet arrives at the instruction destination of a dock, it is
+enqueued for execution. Before the instruction executes, it may cause
+the dock to wait for a packet to arrive at the dock's data destination
+or for a value to be presented by the ship. It may present a data
+value to the ship or transmit it for transmission to some other
+destination.
+
+When an instruction sends a packet into the switch fabric, it may
+specify that the payload of the packet is irrelevant. Such packets
+are known as {\it tokens}, and consume less energy than data packets.
+From a programmer's perspective, a token packet is indistinguishable
+from a data packet with a unknown payload.
+
+\begin{center}
+\epsfig{file=overview,width=4in}\\
+{\it Overview of a Fleet processor}
+\end{center}
+
+\pagebreak
+
+\section{The Ship-Switch Fabric Interface}
+
+The diagram below represents a {\it programmer's} conceptual view of
+the interface between ships and the switch fabric. Actual
+implementation circuitry may differ substantially. Sources and
+destinations that can send and receive only tokens -- not data items
+-- are drawn as dashed lines.
+
+\begin{center}
+\epsfig{file=ports,width=4in}\\
+{\it The interface betwen the switch fabric and the ship}
+\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.
+
+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}
+
+\pagebreak
+\section{Instructions}
+
+In order to cause an instruction to execute, the programmer must first
+cause that instruction word to arrive in the data latch of some output
+dock. For example, this might be the ``data read'' output dock of the
+memory access ship or the output of a fifo ship. Once an instruction
+has arrived at this output dock, it is {\it dispatched} by sending it
+to the {\it instruction port} of the dock at which it is to execute.
+
+Each instruction is 26 bits long, which makes it possible for an
+instruction and an 11-bit path to fit in a single word of memory.
+This path is the path from the {\it dispatching} dock to the {\it
+ executing} dock.
+
+\setlength{\bitwidth}{3.5mm}
+{\tt \footnotesize
+\begin{bytefield}{37}
+ \bitheader[b]{0,25,26,36}\\
+ \bitbox{11}{dispatch path}
+ \bitbox{26}{instruction}
+\end{bytefield}}
+
+{\bf Note:} the instruction encodings below are simply ``something to
+shoot at'' and a sanity check to make sure we haven't overrun our bit
+budget. The final instruction encodings will probably be
+different.
+
+All instructions other than {\tt interrupt}, {\tt massacre}, {\tt clog},
+and {\tt unclog} have the following format:
+
+\setlength{\bitwidth}{3.5mm}
+{\tt \footnotesize
+\begin{bytefield}{37}
+ \bitheader[b]{0,21,22,23,24,25,26,36}\\
+\color{light}
+ \bitbox{11}{dispatch path}
+\color{black}
+ \bitbox{1}{IM}
+ \bitbox{1}{DL}
+ \bitbox{2}{P}
+\color{light}
+ \bitbox[tbr]{22}{}
+\color{black}
+\end{bytefield}}
+
+The abbreviation {\tt IM} stands for {\it Interruptible/Massacreable}.
+An {\tt interrupt} or {\tt massacre} instruction will not execute
+until an instruction with the {\tt IM} bit is present at the head of
+the instruction fifo.
+
+The abbreviation {\tt DL} stands for {\it Decrement Loop}; if this bit
+is set, the loop counter decrements. Once an instruction has
+finished executing (including repeating, if applicable), the
+instruction will reloop if the loop count ({\tt LC}) value was
+greater than zero {\it prior to decrementing}.
+
+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}
+
+\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 clog} & N & N \\
+{\tt unclog} & n/a & n/a \\
+{\tt interrupt} & n/a & n/a \\
+{\tt massacre} & n/a & n/a \\\hline
+\end{tabular}
+\end{center}
+\end{minipage}
+\caption{classification of instructions}
+\end{table}
+
+{\bf RePeating}\\
+An instruction will repeat if it is classified as a repeating
+instruction and the repeat counter is nonzero. Instructions
+non-repeating instructions have no effect on the repeat
+counter (except for {\tt repeat}, of course).
+
+{\bf ReLooping}\\
+An instruction reloops if {\bf all} of the following are true:
+\begin{enumerate}
+\item The repeat counter has reached zero.
+\item The instruction is a ``relooping instruction'' as shown below.
+\item The loop counter is greater than zero. This check takes into
+ account the result of a {\tt literal} instruction, but does not
+ take into account the effect of the {\tt DL} bit.
+\end{enumerate}
+{\it Important:} if an instruction is {\it not} going to reloop
+(according to the rules above), it must execute even if the tail of
+the instruction fifo is occupied (full).
+
+
+\pagebreak
+\subsection{{\tt send} (variants: {\tt sendto}, {\tt dispatch})}
+
+\setlength{\bitwidth}{5mm}
+{\tt
+\begin{bytefield}{26}
+ \bitheader[b]{12-16,19,21}\\
+\color{light}
+ \bitbox{1}{IM}
+ \bitbox{1}{DL}
+ \bitbox{2}{P}
+\color{black}
+ \bitbox{3}{001}
+\color{light}
+ \bitbox[trb]{2}{}
+\color{black}
+ \bitbox{1}{\tt Ti}
+ \bitbox{1}{\tt Di}
+ \bitbox{1}{\tt Dc}
+ \bitbox{1}{\tt Do}
+ \bitbox{1}{\tt To}
+ \bitbox[l]{17}{}
+\end{bytefield}}
+
+%\begin{bytefield}{26}
+% \bitheader[b]{12-18}\\
+% \bitbox[]{8}{\raggedleft Input Dock:}
+% \bitbox[r]{2}{}
+% \bitbox{1}{\tt So}
+% \bitbox{1}{\tt Dc}
+% \bitbox[l]{15}{}
+%\end{bytefield}
+%
+%\begin{bytefield}{26}
+% \bitheader[b]{12-18}\\
+% \bitbox[]{8}{\raggedleft Output Dock:}
+% \bitbox[r]{2}{}
+% \bitbox{1}{\tt Si}
+% \bitbox{1}{\tt To}
+% \bitbox[l]{15}{}
+%\end{bytefield}
+
+\begin{bytefield}{26}
+ \bitheader[b]{0,10,11}\\
+ \bitbox[1]{13}{\raggedleft {\tt sendto} ({\tt LiteralPath\to Path})}
+ \bitbox[r]{1}{}
+ \bitbox{1}{\tt 1}
+ \bitbox{11}{\tt LiteralPath}
+\end{bytefield}
+
+\begin{bytefield}{26}
+ \bitheader[b]{10,11}\\
+ \bitbox[1]{13}{\raggedleft {\tt dispatch} ({\tt DP[37:27]\to Path})\ \ }
+ \bitbox[r]{1}{}
+ \bitbox{1}{\tt 0}
+ \bitbox{1}{\tt 1}
+\color{light}
+ \bitbox[trb]{10}{}
+\color{black}
+\end{bytefield}
+
+\begin{bytefield}{26}
+ \bitheader[b]{10,11}\\
+ \bitbox[1]{13}{\raggedleft {\tt send} ({\tt Path} unchanged):}
+ \bitbox[r]{1}{}
+ \bitbox{1}{\tt 0}
+ \bitbox{1}{\tt 0}
+\color{light}
+ \bitbox[trb]{10}{}
+\color{black}
+\end{bytefield}
+
+\begin{itemize}
+\item {\tt Ti} - Token Input: wait for the token predecessor to be full and drain it.
+\item {\tt Di} - Data Input: wait for the data predecessor to be full and drain it.
+\item {\tt Dc} - Data Capture: pulse the data latch.
+\item {\tt Do} - Data Output: fill the data successor.
+\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 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).
+
+
+\pagebreak
+\subsection{{\tt data}, {\tt datahi}, {\tt datalo}}
+
+These instructions load part or all of the data latch ({\tt DL}).
+
+{\tt datahi: Literal[18:1]\to D[37:20]} (and {\tt Literal[18]\to S})
+
+\setlength{\bitwidth}{5mm}
+{\tt
+\begin{bytefield}{26}
+ \bitheader[b]{0,18,19,21}\\
+\color{light}
+ \bitbox{1}{IM}
+ \bitbox{1}{DL}
+ \bitbox{2}{P}
+\color{black}
+ \bitbox{1}{0}
+ \bitbox{2}{11}
+\color{light}
+ \bitbox[trb]{1}{}
+\color{black}
+ \bitbox{18}{Literal}
+\end{bytefield}}
+
+{\tt datalo: Literal[19:1]\to D[19:1]}
+
+\setlength{\bitwidth}{5mm}
+{\tt
+\begin{bytefield}{26}
+ \bitheader[b]{0,18,19,21}\\
+\color{light}
+ \bitbox{1}{IM}
+ \bitbox{1}{DL}
+ \bitbox{2}{P}
+\color{black}
+ \bitbox{1}{0}
+ \bitbox{2}{10}
+ \bitbox{19}{Literal}
+\end{bytefield}}
+
+{\tt data:}
+
+\setlength{\bitwidth}{5mm}
+{\tt
+\begin{bytefield}{26}
+ \bitheader[b]{0,18,19,21}\\
+\color{light}
+ \bitbox{1}{IM}
+ \bitbox{1}{DL}
+ \bitbox{2}{P}
+\color{black}
+ \bitbox{1}{1}
+ \bitbox{2}{SEL}
+ \bitbox{19}{Literal}
+\end{bytefield}}
+
+{\tt
+\begin{tabular}{|r|c|c|c|}\hline
+sel & D[37:20] & D[19:1] \\\hline
+00 & Literal[18:1] & all 0 \\
+01 & Literal[18:1] & all 1 \\
+10 & all 0 & Literal[19:1] \\
+11 & all 1 & Literal[19:1] \\
+\hline
+\end{tabular}}
+
+
+
+
+\subsection{{\tt flags}}
+
+\setlength{\bitwidth}{5mm}
+{\tt
+\begin{bytefield}{26}
+ \bitheader[b]{0,7,8,15,16-19,21}\\
+\color{light}
+ \bitbox{1}{IM}
+ \bitbox{1}{DL}
+ \bitbox{2}{P}
+\color{black}
+ \bitbox{3}{000}
+ \bitbox{1}{0}
+ \bitbox{2}{00}
+\color{black}
+ \bitbox{8}{nextA}
+ \bitbox{8}{nextB}
+\end{bytefield}}
+
+The {\tt P} field is a predicate; if it does not hold, the instruction
+is ignored. Otherwise the two flags ({\tt A} and {\tt B}) are updated
+according to the {\tt nextA} and {\tt nextB} fields; each specifies
+the new value as the logical {\tt OR} of zero or more inputs:
+
+\begin{center}
+{\tt
+\begin{bytefield}{8}
+ \bitheader[b]{0-7}\\
+ \bitbox{1}{${\text{\tt A}}$}
+ \bitbox{1}{$\overline{\text{\tt A}}$}
+ \bitbox{1}{${\text{\tt B}}$}
+ \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}}$}
+\end{bytefield}}
+\end{center}
+
+Each bit corresponds to one possible input; all inputs whose bits are
+set are {\tt OR}ed together, and the resulting value is assigned to
+the flag. Note that if none of the bits are set, the value assigned
+is zero. Note also that it is possible to produce a {\tt 1} by {\tt
+ OR}ing any flag with its complement.
+
+
+\pagebreak
+
+\subsection{{\tt repeat}}
+
+This instruction loads the repeat counter with either a literal
+number, the special value $\infty$, or the contents of the {\tt data}
+register.
+
+\setlength{\bitwidth}{5mm}
+{\tt
+\begin{bytefield}{26}
+ \bitheader[b]{16-19,21}\\
+\color{light}
+ \bitbox{1}{IM}
+ \bitbox{1}{DL}
+ \bitbox{2}{P}
+\color{black}
+ \bitbox{3}{000}
+ \bitbox{1}{0}
+ \bitbox{2}{01}
+\color{light}
+ \bitbox[tbr]{8}{}
+ \bitbox[l]{8}{}
+\color{black}
+\end{bytefield}}\\
+
+\begin{bytefield}{26}
+ \bitbox[r]{18}{\raggedleft from data latch:\hspace{0.2cm}\ }
+ \bitbox{2}{\tt 00}
+\color{light}
+ \bitbox[tbr]{6}{}
+\color{black}
+\end{bytefield}
+
+\begin{bytefield}{26}
+ \bitheader[b]{0,5,6,7}\\
+ \bitbox[r]{18}{\raggedleft from literal:\hspace{0.2cm}\ }
+ \bitbox{2}{\tt 10}
+ \bitbox{6}{\tt Literal}
+\end{bytefield}
+
+\begin{bytefield}{26}
+ \bitheader[b]{0,5,6,7}\\
+ \bitbox[r]{18}{\raggedleft with $\infty$\ \ }
+ \bitbox{2}{\tt 11}
+\color{light}
+ \bitbox[tbr]{6}{}
+\color{black}
+\end{bytefield}
+
+
+\subsection{{\tt loop}}
+
+This instruction loads the loop counter with either 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{1}{IM}
+\color{black}
+ \bitbox{1}{0}
+\color{light}
+ \bitbox[tbr]{2}{P}
+\color{black}
+ \bitbox{3}{000}
+ \bitbox{1}{0}
+ \bitbox{2}{10}
+\color{light}
+ \bitbox[tbr]{9}{}
+ \bitbox[l]{7}{}
+\color{black}
+\end{bytefield}}\\
+
+\begin{bytefield}{26}
+ \bitbox[r]{19}{\raggedleft from data latch:\hspace{0.2cm}\ }
+ \bitbox{1}{\tt 0}
+\color{light}
+ \bitbox[tbr]{6}{}
+\color{black}
+\end{bytefield}
+
+\begin{bytefield}{26}
+ \bitheader[b]{0,5,6}\\
+ \bitbox[r]{19}{\raggedleft from literal:\hspace{0.2cm}\ }
+ \bitbox{1}{\tt 1}
+ \bitbox{6}{\tt Literal}
+\end{bytefield}
+
+Note that the bit normally marked {\tt DL} (``decrement loop
+ counter'') {\bf must} be set to {\tt
+ 0} in this case.
+
+\pagebreak
+\subsection{{\tt takeLoopCounter}}
+
+\setlength{\bitwidth}{5mm}
+{\tt
+\begin{bytefield}{26}
+ \bitheader[b]{16-19,21}\\
+\color{light}
+ \bitbox{1}{IM}
+ \bitbox{1}{DL}
+ \bitbox{2}{P}
+\color{black}
+ \bitbox{3}{000}
+ \bitbox{1}{0}
+ \bitbox{2}{11}
+\color{light}
+ \bitbox[tbr]{16}{}
+\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.
+
+\subsection{{\tt takeRepeatCounter}}
+
+\setlength{\bitwidth}{5mm}
+{\tt
+\begin{bytefield}{26}
+ \bitheader[b]{16-19,21}\\
+\color{light}
+ \bitbox{1}{IM}
+ \bitbox{1}{DL}
+ \bitbox{2}{P}
+\color{black}
+ \bitbox{3}{???}
+ \bitbox{1}{?}
+ \bitbox{2}{??}
+\color{light}
+ \bitbox[tbr]{16}{}
+\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.
+
+\pagebreak
+\subsection{{\tt interrupt}}
+
+\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}{00}
+\color{light}
+ \bitbox[tbr]{16}{}
+%\color{black}
+% \bitbox{6}{Count}
+\end{bytefield}}
+
+When an {\tt interrupt} instruction reaches {\tt IH}, it will wait
+there for the {\tt OD} stage to be full with an instruction that has
+the {\tt IM} bit set. When this occurs, the instruction at {\tt OD}
+{\it will not execute}, but {\it may reloop} if the conditions for
+relooping are met.
+\footnote{The ability to interrupt an instruction yet have it reloop is very
+useful for processing chunks of data with a fixed size header and/or
+footer and a variable length body.}
+
+
+\subsection{{\tt massacre}}
+
+\setlength{\bitwidth}{5mm}
+{\tt
+\begin{bytefield}{26}
+ \bitheader[b]{16-19,21}\\
+\color{light}
+ \bitbox{4}{}
+\color{black}
+ \bitbox{3}{000}
+ \bitbox{1}{1}
+ \bitbox{2}{01}
+\color{light}
+ \bitbox[tbr]{16}{}
+\color{black}
+\end{bytefield}}
+
+When a {\tt massacre} instruction reaches {\tt IH}, it will wait there
+for the {\tt OD} stage to be full with an instruction that has the
+{\tt IM} bit set. When this occurs, all instructions in the
+instruction fifo (including {\tt OD}) are retired.
+
+\subsection{{\tt clog}}
+
+\setlength{\bitwidth}{5mm}
+{\tt
+\begin{bytefield}{26}
+ \bitheader[b]{16-19,21}\\
+\color{light}
+ \bitbox{4}{}
+\color{black}
+ \bitbox{3}{000}
+ \bitbox{1}{1}
+ \bitbox{2}{10}
+\color{light}
+ \bitbox[tbr]{16}{}
+\color{black}
+\end{bytefield}}
+
+When a {\tt clog} instruction reaches {\tt OD}, it remains there and
+no more instructions will be executed until an {\tt unclog} is
+performed.
+
+\subsection{{\tt unclog}}
+
+\setlength{\bitwidth}{5mm}
+{\tt
+\begin{bytefield}{26}
+ \bitheader[b]{16-19,21}\\
+\color{light}
+ \bitbox{4}{}
+\color{black}
+ \bitbox{3}{000}
+ \bitbox{1}{1}
+ \bitbox[lrtb]{2}{11}
+\color{light}
+ \bitbox[tbr]{16}{}
+\color{black}
+\end{bytefield}}
+
+When an {\tt unclog} instruction reaches {\tt IH}, it will wait there
+until a {\tt clog} instruction is at {\tt OD}. When this occurs, both
+instructions retire.
+
+Note that issuing an {\tt unclog} instruction to a dock which is not
+clogged and whose instruction fifo contains no {\tt clog} instructions
+will cause the dock to deadlock.
+
+
+
+\pagebreak
+\epsfig{file=overview,height=5in,angle=90}
+
+\pagebreak
+\epsfig{file=ports,height=5in,angle=90}
+
+\pagebreak
+\epsfig{file=best,height=5in,angle=90}
+
+
+\end{document}
--- /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://web.resource.org/cc/"
+ 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="653.65997"
+ height="600"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.45.1"
+ version="1.0"
+ sodipodi:docbase="/Users/megacz/proj/sun/am32"
+ sodipodi:docname="best.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow1Sstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Sstart"
+ style="overflow:visible">
+ <path
+ id="path3275"
+ 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.2,0,0,0.2,1.2,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Mend"
+ style="overflow:visible">
+ <path
+ id="path3626"
+ 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="TriangleOutM"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="TriangleOutM"
+ style="overflow:visible">
+ <path
+ id="path3700"
+ d="M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="scale(0.4,0.4)" />
+ </marker>
+ <marker
+ inkscape:stockid="RazorWire"
+ id="RazorWire"
+ refX="0"
+ refY="0"
+ orient="auto">
+ style="overflow:visible">
+ <path
+ id="path3769"
+ transform="scale(0.8,0.8)"
+ style="fill:#808080;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.1pt"
+ d="M 0.022727273,-0.74009011 L 0.022727273,0.69740989 L -7.7585227,3.0099099 L 10.678977,3.0099099 L 3.4914773,0.69740989 L 3.4914773,-0.74009011 L 10.741477,-2.8963401 L -7.7272727,-2.8963401 L 0.022727273,-0.74009011 z " />
+</marker>
+ <marker
+ inkscape:stockid="SquareL"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="SquareL"
+ style="overflow:visible">
+ <path
+ id="path3670"
+ d="M -5,-5 L -5,5 L 5,5 L 5,-5 L -5,-5 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="scale(0.8,0.8)" />
+ </marker>
+ <marker
+ inkscape:stockid="Tail"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Tail"
+ style="overflow:visible">
+ <g
+ id="g3635"
+ transform="scale(-1.2,-1.2)">
+ <path
+ id="path3637"
+ d="M -3.8048674,-3.9585227 L 0.54352094,0"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none" />
+ <path
+ id="path3639"
+ d="M -1.2866832,-3.9585227 L 3.0617053,0"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none" />
+ <path
+ id="path3641"
+ d="M 1.3053582,-3.9585227 L 5.6537466,0"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none" />
+ <path
+ id="path3643"
+ d="M -3.8048674,4.1775838 L 0.54352094,0.21974226"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none" />
+ <path
+ id="path3645"
+ d="M -1.2866832,4.1775838 L 3.0617053,0.21974226"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none" />
+ <path
+ id="path3647"
+ d="M 1.3053582,4.1775838 L 5.6537466,0.21974226"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.80000001;stroke-linecap:round;marker-start:none;marker-end:none" />
+ </g>
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Mstart"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mstart"
+ style="overflow:visible">
+ <path
+ id="path3334"
+ 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>
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ id="path3337"
+ 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>
+ <marker
+ inkscape:stockid="Arrow1Send"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Send"
+ style="overflow:visible">
+ <path
+ id="path3343"
+ 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.2,0,0,-0.2,-1.2,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path3331"
+ 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.8,0,0,-0.8,-10,0)" />
+ </marker>
+ </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="1.3283333"
+ inkscape:cx="326.82997"
+ inkscape:cy="299.99998"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ width="653.65997px"
+ height="600px"
+ showgrid="true"
+ showguides="true"
+ inkscape:grid-points="false"
+ inkscape:window-width="1307"
+ inkscape:window-height="1009"
+ inkscape:window-x="20"
+ inkscape:window-y="22"
+ inkscape:grid-bbox="false"
+ inkscape:guide-bbox="true" />
+ <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"
+ transform="translate(-406.34314,-149.09448)">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#808000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 150,170 L 150,220 L 155,225 L 200,225"
+ id="path3385"
+ transform="translate(406.34314,149.09448)" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 571.34314,380.09448 L 611.34314,380.09448"
+ id="path3383" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 605.73954,456.11363 L 782.74947,455.59448 L 787.74947,450.59448 L 786.34314,264.09448 L 791.34314,259.09448 L 818.41386,259.61363"
+ id="path2388"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 605.73954,455.11363 L 762.32763,454.59448 L 767.32763,449.59448 L 767.2414,238.57533 L 772.2414,233.57533 L 816.34314,234.09448"
+ id="path4093"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#999999;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 550.78059,572.25628 L 570.78059,572.25628 L 580.40838,581.13965 L 580.40838,615.97836 L 590.40838,625.97836 L 610.40838,625.97836"
+ id="path7644"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 661.34314,560.11363 L 825.07391,560.61363 L 830.07391,555.61363 L 830.07391,534.59448 L 835.07391,529.59448 L 868.12974,529.09448"
+ id="path7628"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 617.18681,573.18381 L 486.34314,573.18381 L 476.34314,583.18381 L 476.34314,715.09448"
+ id="path7606"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 230,350 L 343.46702,350 L 348.46702,355 L 348.46702,365 L 343.46702,370 L 185,370 L 180,365 L 180,355 L 185,350 L 215,350"
+ id="path7579"
+ transform="translate(406.34314,149.09448)"
+ sodipodi:nodetypes="cccccccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 145,360 L 155,360 L 165,350 L 165,311.93225 L 170,306.93225 L 200,306.93225"
+ id="path7561"
+ sodipodi:nodetypes="cccccc"
+ transform="translate(406.34314,149.09448)" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 661.84314,456.59448 L 824.82949,456.09448 L 829.82949,461.09448 L 829.82949,489.09448 L 834.82949,494.09448 L 871.60741,494.59448"
+ id="path7559"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 155,360 L 165,350 L 165,187 L 175,177 L 216.05459,177"
+ id="path3346"
+ sodipodi:nodetypes="ccccc"
+ transform="translate(406.34314,149.09448)" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#008080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 285,177 L 295,167 L 295,102.41531 L 305,92.415307 L 420,92.915307"
+ id="path3379"
+ sodipodi:nodetypes="ccccc"
+ transform="translate(406.34314,149.09448)" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#808000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;stroke-dashoffset:0"
+ d="M 481.067,70.5 L 491.067,70.5 L 501.067,80.5 L 501.067,130.5 L 491.067,140.5 L 115,140 L 106.067,150.5 L 105,160 L 115,170.5 L 222.75434,170.5"
+ id="path3342"
+ sodipodi:nodetypes="cccccccccc"
+ transform="translate(406.34314,149.09448)" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#808000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 586.34314,219.32687 L 596.34314,229.32687 L 596.34314,259.32687 L 606.34314,269.32687 L 816.34314,269.32687"
+ id="path2390" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#808080;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.5, 0.5;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 707.43743,154.09448 L 706.97589,694.09448"
+ id="path3377"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#008080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 665.34314,326.59448 L 745.88285,326.59448 L 751.34314,331.09448 L 751.34314,343.09448 L 746.34314,348.09448 L 596.34314,348.09448 L 591.34314,343.09448 L 591.34314,336.09448 L 596.34314,331.09448 L 616.34314,329.59448"
+ id="path3375"
+ sodipodi:nodetypes="cccccccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#008000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 881.34314,514.09448 L 1005.7414,514.09448 L 1015.7414,502.09448 L 1015.7414,314.69486 L 1005.7414,304.09448 L 436.34314,304.09448 L 426.34314,314.09448 L 426.34314,499.09448 L 436.34314,509.09448 L 511.34314,509.09448"
+ id="path4140"
+ sodipodi:nodetypes="cccccccccc" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#008000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 944.90766,512.86867 L 924.90766,482.86867 L 864.90766,482.86867 L 864.90766,542.86867 L 924.90766,542.86867 L 944.90766,512.86867 z "
+ id="path3322"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#ff0000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 681.84314,455.09448 L 661.84314,425.09448 L 601.84314,425.09448 L 601.84314,485.09448 L 661.84314,485.09448 L 681.84314,455.09448 z "
+ id="path3320"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#808000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:1, 2;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 866.34314,244.1137 L 866.34314,184.1137 L 936.34314,184.1137"
+ id="path2330" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#808000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Mstart);marker-end:none;stroke-miterlimit:4;stroke-dasharray:1, 2;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 826.34314,224.59448 L 826.34314,184.59448 L 724.38284,184.59448"
+ id="path3301"
+ sodipodi:nodetypes="ccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="636.86639"
+ y="457.53552"
+ id="text3209"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="636.86639"
+ y="457.53552"
+ style="font-size:10px"
+ id="tspan3211">On Deck</tspan><tspan
+ sodipodi:role="line"
+ x="636.86639"
+ y="470.03552"
+ style="font-size:10px"
+ id="tspan2346">(OD)</tspan></text>
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#008080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 696.34314,333.09448 L 682.34314,316.09448 L 602.34314,316.09448 L 602.34314,333.09448 L 676.34314,333.09448 L 696.34314,333.09448 z "
+ id="path3213"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:9.07430172px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="607.22925"
+ y="327.94107"
+ id="text3215"><tspan
+ sodipodi:role="line"
+ id="tspan3217"
+ x="607.22925"
+ y="327.94107"
+ style="font-size:8px;text-align:start;text-anchor:start;fill:#000000">Loop Count (LC)</tspan></text>
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#808000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 1047.5025,216.09602 L 1027.5025,186.09602 L 967.50253,186.09602 L 967.50253,246.09602 L 1027.5025,246.09602 L 1047.5025,216.09602 z "
+ id="path3948"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#808000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 1037.5025,216.09602 L 1017.5025,186.09602 L 957.50253,186.09602 L 957.50253,246.09602 L 1017.5025,246.09602 L 1037.5025,216.09602 z "
+ id="path3954"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path3958"
+ d="M 958.00255,215.59603 L 973.00259,215.59603"
+ style="fill:none;fill-rule:evenodd;stroke:#808000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-mid:none;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#808000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 1027.5025,216.09602 L 1007.5025,186.09602 L 947.50253,186.09602 L 947.50253,246.09602 L 1007.5025,246.09602 L 1027.5025,216.09602 z "
+ id="path3962"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#808000;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3.00000002, 3.00000002;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 1017.3959,212.83644 L 997.3959,186.02085 L 937.39585,186.02085 L 937.39585,245.84602 L 997.3959,245.84602 L 1017.3959,212.83644 z "
+ id="path3330"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#808000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="972.35876"
+ y="210.33186"
+ id="text3332"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="972.35876"
+ y="210.33186"
+ style="font-size:10px;fill:#808000"
+ id="tspan3338">Data</tspan><tspan
+ sodipodi:role="line"
+ x="972.35876"
+ y="222.83186"
+ style="font-size:10px;fill:#808000"
+ id="tspan3350">Successor</tspan><tspan
+ sodipodi:role="line"
+ x="972.35876"
+ y="235.33186"
+ style="font-size:10px;fill:#808000"
+ id="tspan3352" /></text>
+ <path
+ sodipodi:nodetypes="cc"
+ id="path3283"
+ d="M 541.34314,219.09448 L 811.34314,219.32687"
+ style="fill:none;fill-rule:evenodd;stroke:#808000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;marker-mid:none;marker-end:url(#Arrow1Send);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path3285"
+ d="M 891.34314,219.32687 L 935.34314,219.32687"
+ style="fill:none;fill-rule:evenodd;stroke:#808000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;marker-mid:none;marker-end:url(#Arrow1Send);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path3892"
+ d="M 457.34314,222.84603 L 472.34314,222.84603"
+ style="fill:none;fill-rule:evenodd;stroke:#808000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-mid:none;marker-end:url(#Arrow1Mend);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#808000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 526.84314,223.34602 L 506.84314,193.34602 L 446.84314,193.34602 L 446.84314,253.34602 L 506.84314,253.34602 L 526.84314,223.34602 z "
+ id="path3896"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#808000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 536.84314,223.34602 L 516.84314,193.34602 L 456.84314,193.34602 L 456.84314,253.34602 L 516.84314,253.34602 L 536.84314,223.34602 z "
+ id="path3888"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#808000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 546.84314,223.34602 L 526.84314,193.34602 L 466.84314,193.34602 L 466.84314,253.34602 L 526.84314,253.34602 L 546.84314,223.34602 z "
+ id="path3882"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#808000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 556.23648,223.34602 L 536.23648,193.34602 L 476.23648,193.34602 L 476.23648,253.34602 L 536.23648,253.34602 L 556.23648,223.34602 z "
+ id="path3279"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#808000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="511.1994"
+ y="213.83186"
+ id="text3287"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="511.1994"
+ y="213.83186"
+ style="font-size:10px;fill:#808000"
+ id="tspan3293">Data</tspan><tspan
+ sodipodi:role="line"
+ x="511.1994"
+ y="226.33186"
+ style="font-size:10px;fill:#808000"
+ id="tspan3300">Predecessor</tspan><tspan
+ sodipodi:role="line"
+ x="511.1994"
+ y="238.83186"
+ style="font-size:10px;fill:#808000"
+ id="tspan3302">(DP)</tspan></text>
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#808000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 891.34314,221.84602 L 871.34314,191.84602 L 811.34314,191.84602 L 811.34314,251.84602 L 871.34314,251.84602 L 891.34314,221.84602 z "
+ id="path5008"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#808000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="845.10291"
+ y="220.34602"
+ id="text5010"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="845.10291"
+ y="220.34602"
+ style="font-size:10px;fill:#808000"
+ id="tspan5016">Data</tspan><tspan
+ sodipodi:role="line"
+ x="845.10291"
+ y="232.84602"
+ style="font-size:10px;fill:#808000"
+ id="tspan5023">(D)</tspan></text>
+ <path
+ sodipodi:nodetypes="cc"
+ id="path3528"
+ d="M 613.34314,560.11364 L 628.34314,560.11364"
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-mid:none;marker-end:url(#Arrow1Mend);stroke-opacity:1" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4, 4;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 678.84314,560.61363 L 658.84314,530.61363 L 598.84314,530.61363 L 598.84314,590.61363 L 658.84314,590.61363 L 678.84314,560.61363 z "
+ id="path3536"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="632.25861"
+ y="549.90308"
+ id="text3538"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="632.25861"
+ y="549.90308"
+ id="tspan3542"
+ style="font-size:10px">Instruction</tspan><tspan
+ sodipodi:role="line"
+ x="632.25861"
+ y="562.40308"
+ style="font-size:10px"
+ id="tspan3574">Horn</tspan><tspan
+ sodipodi:role="line"
+ x="632.25861"
+ y="574.90308"
+ style="font-size:10px"
+ id="tspan2350">(IH)</tspan></text>
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#800080;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 556.84314,508.56781 L 536.84314,478.56781 L 476.84314,478.56781 L 476.84314,538.56781 L 536.84314,538.56781 L 556.84314,508.56781 z "
+ id="path3478"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#800080;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 546.84314,508.56781 L 526.84314,478.56781 L 466.84314,478.56781 L 466.84314,538.56781 L 526.84314,538.56781 L 546.84314,508.56781 z "
+ id="path3472"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path3994"
+ d="M 467.34314,508.06782 L 482.34314,508.06782"
+ style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-mid:none;marker-end:url(#Arrow1Mend);stroke-opacity:1" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#800080;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 536.84314,508.56781 L 516.84314,478.56781 L 456.84314,478.56781 L 456.84314,538.56781 L 516.84314,538.56781 L 536.84314,508.56781 z "
+ id="path4752"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#800080;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 526.84313,508.56781 L 506.84313,478.56781 L 446.84313,478.56781 L 446.84313,538.56781 L 506.84313,538.56781 L 526.84313,508.56781 z "
+ id="path4726"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="899.42133"
+ y="509.52213"
+ id="text2361"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="899.42133"
+ y="509.52213"
+ style="font-size:10px"
+ id="tspan2365">Fifo0</tspan><tspan
+ sodipodi:role="line"
+ x="899.42133"
+ y="522.02213"
+ style="font-size:10px"
+ id="tspan2348">(F0)</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#808000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="779.37299"
+ y="172.19214"
+ id="text3303"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="779.37299"
+ y="172.19214"
+ style="font-size:10px;fill:#808000"
+ id="tspan3309">Token Predecessor (TP)</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#808000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="934.02869"
+ y="171.88452"
+ id="text3316"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="934.02869"
+ y="171.88452"
+ style="font-size:10px;fill:#808000"
+ id="tspan3318">Token Successor (TS)</tspan></text>
+ <g
+ id="g3366"
+ transform="matrix(1,0,0,-1,100,698.68896)">
+ <rect
+ y="364.59448"
+ x="616.34314"
+ height="20"
+ width="20"
+ id="rect3350"
+ style="fill:#ffffff;fill-opacity:1;stroke:#008080;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <text
+ id="text3352"
+ y="380.62085"
+ x="622.3739"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#008080;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="font-size:22px;stroke:#008080"
+ y="380.62085"
+ x="622.3739"
+ id="tspan3354"
+ sodipodi:role="line">-</tspan></text>
+ </g>
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#008080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 715.50641,349.15868 L 720.71559,339.22289 L 736.34314,339.22289 L 736.34314,359.09448 L 720.71559,359.09448 L 715.50641,349.15868 z "
+ id="path3371"
+ sodipodi:nodetypes="cccccc" />
+ <g
+ id="g7510"
+ transform="translate(-28.82196,-55.476141)">
+ <rect
+ y="394.09448"
+ x="651.2948"
+ height="20"
+ width="20"
+ id="rect3383"
+ style="fill:#ffffff;fill-opacity:1;stroke:#008080;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <text
+ id="text3385"
+ y="407.73462"
+ x="661.30701"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#008080;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;text-align:center;text-anchor:middle;stroke:#008080"
+ y="407.73462"
+ x="661.30701"
+ id="tspan3387"
+ sodipodi:role="line">CD</tspan></text>
+ </g>
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#808000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 871.84314,253.82687 L 856.34314,274.32687 L 811.34314,274.32687 L 811.84318,253.82687 L 855.84314,253.82687 L 871.84314,253.82687 z "
+ id="path2382"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#808000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="836.23767"
+ y="267.32687"
+ id="text2384"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="836.23767"
+ y="267.32687"
+ style="font-size:10px;fill:#808000"
+ id="tspan2386">Path (P)</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="641.34314"
+ y="221.32687"
+ id="text3458"><tspan
+ sodipodi:role="line"
+ id="tspan3460"
+ x="641.34314"
+ y="221.32687"
+ style="font-size:6px">word (37 bits)</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="946.09119"
+ y="379.50952"
+ id="text4431"><tspan
+ sodipodi:role="line"
+ id="tspan4433"
+ x="946.09119"
+ y="379.50952"
+ style="font-size:6px">word</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="-418.46478"
+ y="789.18988"
+ id="text7342"
+ transform="matrix(0,-1,1,0,0,0)"><tspan
+ sodipodi:role="line"
+ id="tspan7344"
+ x="-418.46478"
+ y="789.18988"
+ style="font-size:6px">path (11 bits)</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="-444.59448"
+ y="768.6391"
+ id="text7346"
+ transform="matrix(0,-1,1,0,0,0)"><tspan
+ sodipodi:role="line"
+ id="tspan7348"
+ x="-444.59448"
+ y="768.6391"
+ style="font-size:6px">sign-extended literal (17+ bits)_</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="631.34314"
+ y="271.32687"
+ id="text7350"><tspan
+ sodipodi:role="line"
+ id="tspan7352"
+ x="631.34314"
+ y="271.32687"
+ style="font-size:6px">path (11 bits)</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="573.57642"
+ y="456.73602"
+ id="text7370"><tspan
+ sodipodi:role="line"
+ id="tspan7372"
+ x="573.57642"
+ y="456.73602"
+ style="font-size:6px">decoded</tspan></text>
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:#0000ff;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect7385"
+ width="20"
+ height="20"
+ x="788.78729"
+ y="549.6156" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#0000ff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="793.9328"
+ y="563.98962"
+ id="text7387"><tspan
+ sodipodi:role="line"
+ id="tspan7389"
+ x="793.9328"
+ y="563.98962"
+ style="font-size:12px;stroke:#0000ff">D</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="966.82178"
+ y="346.30341"
+ id="text7391"><tspan
+ sodipodi:role="line"
+ id="tspan7393"
+ x="966.82178"
+ y="346.30341"
+ style="font-size:6px">decoded</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="722.14246"
+ y="562.46808"
+ id="text7395"><tspan
+ sodipodi:role="line"
+ id="tspan7397"
+ x="722.14246"
+ y="562.46808"
+ style="font-size:6px">encoded (26 bits)</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="461.95273"
+ y="346.30341"
+ id="text7419"><tspan
+ sodipodi:role="line"
+ id="tspan7421"
+ x="461.95273"
+ y="346.30341"
+ style="font-size:6px">decoded</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="952.19739"
+ y="516.14691"
+ id="text7423"><tspan
+ sodipodi:role="line"
+ id="tspan7425"
+ x="952.19739"
+ y="516.14691"
+ style="font-size:6px">decoded</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="539.54443"
+ y="575.09949"
+ id="text7503"><tspan
+ sodipodi:role="line"
+ id="tspan7505"
+ x="539.54443"
+ y="575.09949"
+ style="font-size:6px">word (37 bits)</tspan></text>
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:#800080;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect7517"
+ width="20"
+ height="20"
+ x="561.34314"
+ y="406.99286" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#800080;fill-opacity:1;stroke:#800080;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="571.35535"
+ y="420.633"
+ id="text7519"><tspan
+ sodipodi:role="line"
+ id="tspan7521"
+ x="571.35535"
+ y="420.633"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#800080;stroke:#800080">CD</tspan></text>
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:#808000;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect7525"
+ width="20"
+ height="20"
+ x="526.34314"
+ y="309.09448" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#808000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="536.35535"
+ y="322.73462"
+ id="text7527"><tspan
+ sodipodi:role="line"
+ id="tspan7529"
+ x="536.35535"
+ y="322.73462"
+ style="font-size:10px;text-align:center;text-anchor:middle;stroke:#808000">CD</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="535.60535"
+ y="366.4632"
+ id="text7358"><tspan
+ sodipodi:role="line"
+ id="tspan7360"
+ x="535.60535"
+ y="366.4632"
+ style="font-size:6px;text-align:center;text-anchor:middle">count</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#008080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 726.34314,619.09448 L 746.34314,619.09448 L 756.34314,629.09448 L 757.09376,655.59448 L 747.09376,665.59448 L 591.34314,665.59448 L 581.34314,655.59448 L 581.34314,634.09448 L 591.34314,624.09448 L 730.88408,624.09448"
+ id="path7531"
+ sodipodi:nodetypes="cccccccccc" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#008080;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 688.6129,636.45332 L 673.6129,616.45332 L 608.6129,616.45332 L 608.6129,636.45332 L 668.6129,636.45332 L 688.6129,636.45332 z "
+ id="path7533"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:9.07430172px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="647.34863"
+ y="629.83624"
+ id="text7535"><tspan
+ sodipodi:role="line"
+ id="tspan7537"
+ x="647.34863"
+ y="629.83624"
+ style="text-align:center;text-anchor:middle;fill:#000000">KillCount (KC)</tspan></text>
+ <g
+ id="g7539"
+ transform="matrix(1,0,0,-1,103.61982,997.18332)">
+ <rect
+ y="364.59448"
+ x="616.34314"
+ height="20"
+ width="20"
+ id="rect7541"
+ style="fill:#ffffff;fill-opacity:1;stroke:#008080;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <text
+ id="text7543"
+ y="380.62085"
+ x="622.3739"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#008080;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="font-size:22px;stroke:#008080"
+ y="380.62085"
+ x="622.3739"
+ id="tspan7545"
+ sodipodi:role="line">-</tspan></text>
+ </g>
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#008080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 624.73051,664.32807 L 629.93969,654.39228 L 645.56724,654.39228 L 645.56724,674.26387 L 629.93969,674.26387 L 624.73051,664.32807 z "
+ id="path7547"
+ sodipodi:nodetypes="cccccc" />
+ <g
+ id="g7549"
+ transform="translate(68.86968,260)">
+ <rect
+ y="394.09448"
+ x="651.2948"
+ height="20"
+ width="20"
+ id="rect7551"
+ style="fill:#ffffff;fill-opacity:1;stroke:#008080;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <text
+ id="text7553"
+ y="407.73462"
+ x="661.30701"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#008080;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;text-align:center;text-anchor:middle;stroke:#008080"
+ y="407.73462"
+ x="661.30701"
+ id="tspan7555"
+ sodipodi:role="line">CD</tspan></text>
+ </g>
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 668.99823,509.09448 L 653.99823,494.09448 L 599.43247,494.09448 L 599.43247,509.09448 L 653.99823,509.09448 L 668.99823,509.09448 z "
+ id="path7563"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="628.80408"
+ y="504.09448"
+ id="text7565"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="628.80408"
+ y="504.09448"
+ style="font-size:10px"
+ id="tspan7567">Flags (F)</tspan></text>
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect7583"
+ width="20"
+ height="20"
+ x="673.04291"
+ y="509.93814" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="683.05511"
+ y="523.57831"
+ id="text7585"><tspan
+ sodipodi:role="line"
+ id="tspan7587"
+ x="683.05511"
+ y="523.57831"
+ style="font-size:10px;text-align:center;text-anchor:middle;fill:#000000;stroke:none">Δ</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="577.80817"
+ y="-578.50183"
+ id="text7599"
+ transform="matrix(0,1,-1,0,0,0)"><tspan
+ sodipodi:role="line"
+ id="tspan7601"
+ x="577.80817"
+ y="-578.50183"
+ style="font-size:6px">count (6 bits)</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="538.54199"
+ y="553.33563"
+ id="text7624"><tspan
+ sodipodi:role="line"
+ id="tspan7626"
+ x="538.54199"
+ y="553.33563"
+ style="font-size:6px">word (37 bits)</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="815.0929"
+ y="291.39304"
+ id="text7628"><tspan
+ sodipodi:role="line"
+ id="tspan7630"
+ x="815.0929"
+ y="291.39304"
+ style="font-size:6px">word (37 bits)</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="720.37018"
+ y="458.0311"
+ id="text7632"><tspan
+ sodipodi:role="line"
+ id="tspan7634"
+ x="720.37018"
+ y="458.0311"
+ style="font-size:6px">decoded</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="837.24365"
+ y="495.99631"
+ id="text7636"><tspan
+ sodipodi:role="line"
+ id="tspan7638"
+ x="837.24365"
+ y="495.99631"
+ style="font-size:6px">decoded</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="837.24365"
+ y="530.98389"
+ id="text7640"><tspan
+ sodipodi:role="line"
+ id="tspan7642"
+ x="837.24365"
+ y="530.98389"
+ style="font-size:6px">decoded</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:8px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="726.94214"
+ y="352.61099"
+ id="text2357"><tspan
+ sodipodi:role="line"
+ id="tspan2359"
+ x="726.94214"
+ y="352.61099"
+ style="font-size:8px;text-align:center;text-anchor:middle;fill:#000000">NLC</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:8px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="636.92889"
+ y="666.90302"
+ id="text2362"><tspan
+ sodipodi:role="line"
+ id="tspan2364"
+ x="636.92889"
+ y="666.90302"
+ style="font-size:8px;text-align:center;text-anchor:middle;fill:#000000">NKC</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#008080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 663.34314,381.59448 L 743.88285,381.59448 L 749.34314,386.09448 L 749.34314,398.09448 L 744.34314,403.09448 L 594.34314,403.09448 L 589.34314,398.09448 L 589.34314,391.09448 L 594.34314,386.09448 L 614.34314,384.59448"
+ id="path3353"
+ sodipodi:nodetypes="cccccccccc" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#008080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 694.34314,388.09448 L 680.34314,371.09448 L 600.34314,371.09448 L 600.34314,388.09448 L 674.34314,388.09448 L 694.34314,388.09448 z "
+ id="path3355"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:9.07430172px;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="605.22925"
+ y="382.94107"
+ id="text3357"><tspan
+ sodipodi:role="line"
+ id="tspan3359"
+ x="605.22925"
+ y="382.94107"
+ style="font-size:8px;text-align:start;text-anchor:start;fill:#000000">Repeat Count (RC)</tspan></text>
+ <g
+ id="g3361"
+ transform="matrix(1,0,0,-1,98,753.68896)">
+ <rect
+ y="364.59448"
+ x="616.34314"
+ height="20"
+ width="20"
+ id="rect3363"
+ style="fill:#ffffff;fill-opacity:1;stroke:#008080;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <text
+ id="text3365"
+ y="380.62085"
+ x="622.3739"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#008080;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="font-size:22px;stroke:#008080"
+ y="380.62085"
+ x="622.3739"
+ id="tspan3367"
+ sodipodi:role="line">-</tspan></text>
+ </g>
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#008080;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 713.50641,404.15868 L 718.71559,394.22289 L 734.34314,394.22289 L 734.34314,414.09448 L 718.71559,414.09448 L 713.50641,404.15868 z "
+ id="path3369"
+ sodipodi:nodetypes="cccccc" />
+ <g
+ id="g3371"
+ transform="translate(-30.82196,-0.47614)">
+ <rect
+ y="394.09448"
+ x="651.2948"
+ height="20"
+ width="20"
+ id="rect3373"
+ style="fill:#ffffff;fill-opacity:1;stroke:#008080;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <text
+ id="text3375"
+ y="407.73462"
+ x="661.30701"
+ style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:#008080;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;text-align:center;text-anchor:middle;stroke:#008080"
+ y="407.73462"
+ x="661.30701"
+ id="tspan3377"
+ sodipodi:role="line">CD</tspan></text>
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:8px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="724.94214"
+ y="407.61099"
+ id="text3379"><tspan
+ sodipodi:role="line"
+ id="tspan3381"
+ x="724.94214"
+ y="407.61099"
+ style="font-size:8px;text-align:center;text-anchor:middle;fill:#000000">NRC</tspan></text>
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 720.39153,519.48343 L 725.60071,509.54764 L 741.22826,509.54764 L 741.22826,529.41923 L 725.60071,529.41923 L 720.39153,519.48343 z "
+ id="path2350"
+ sodipodi:nodetypes="cccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:8px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="731.82727"
+ y="522.93573"
+ id="text2352"><tspan
+ sodipodi:role="line"
+ id="tspan2354"
+ x="731.82727"
+ y="522.93573"
+ style="font-size:8px;text-align:center;text-anchor:middle;fill:#000000">NF</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://web.resource.org/cc/"
+ 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="1052.3622"
+ height="744.09448"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.45.1"
+ sodipodi:docbase="/Users/megacz/proj/fleet/doc"
+ sodipodi:docname="ports.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.0">
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ id="path3224"
+ 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"
+ refX="0"
+ id="Arrow2Mend"
+ style="overflow:visible">
+ <path
+ id="path3227"
+ 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="path3209"
+ 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>
+ </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="1.1836462"
+ inkscape:cx="679.09752"
+ inkscape:cy="195.2233"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ gridspacingx="2mm"
+ gridspacingy="2mm"
+ gridanglex="8.4666669mm"
+ gridanglez="8.4666669mm"
+ grid_units="mm"
+ inkscape:grid-bbox="false"
+ inkscape:grid-points="true"
+ inkscape:window-width="1454"
+ inkscape:window-height="1050"
+ inkscape:window-x="137"
+ inkscape:window-y="22"
+ width="1052.3622px"
+ height="744.09448px" />
+ <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:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 439.37009,581.10236 L 609.44883,581.10236 C 609.44883,581.10236 616.87235,580.77704 616.53544,588.18897 L 616.53544,644.53543 C 616.53544,644.53543 617.19767,651.62204 609.44883,651.62204 L 411.02363,651.62204 C 411.02363,651.62204 403.93701,652.95808 403.93701,644.53543 L 403.93701,588.18897 C 402.92629,579.76632 411.02363,581.10236 411.02363,581.10236 L 439.37009,581.10236 z "
+ id="path2172"
+ sodipodi:nodetypes="cccccccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 616.53543,602.18898 L 616.53543,630.53543"
+ id="path3421"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#008080;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 616.53543,460.62992 L 843.30709,460.62992"
+ id="path3457"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 878.74016,191.33858 L 627.62205,191.33858"
+ id="path3413"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#008080;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 616.53543,141.73228 L 846.3937,141.73228"
+ id="path3397"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 347.24409,496.06299 L 484.97638,496.06299"
+ id="path3195"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 450.45669,177.16535 L 357.41732,177.16535"
+ id="path3193"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 566.92913,581.10237 L 566.92913,524.40945"
+ id="path3147" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 425.19686,566.92914 L 425.19686,595.27559 L 460.62993,595.27559 L 474.80316,581.10237 L 460.62993,566.92914 L 425.19686,566.92914 z "
+ id="path2160" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 481.88977,566.92914 L 481.88977,595.27559 L 517.32284,595.27559 L 531.49607,581.10237 L 517.32284,566.92914 L 481.88977,566.92914 z "
+ id="path2162" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 588.18897,637.79527 L 588.18897,666.14172 L 552.7559,666.14172 L 538.58267,651.9685 L 552.7559,637.79527 L 588.18897,637.79527 z "
+ id="path2164" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 531.49606,637.79528 L 531.49606,666.14173 L 496.06299,666.14173 L 481.88976,651.96851 L 496.06299,637.79528 L 531.49606,637.79528 z "
+ id="path2166" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 474.80315,637.79527 L 474.80315,666.14172 L 439.37008,666.14172 L 425.19685,651.9685 L 439.37008,637.79527 L 474.80315,637.79527 z "
+ id="path2168" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 545.6693,566.92914 L 545.6693,595.27559 L 581.10237,595.27559 L 595.2756,581.10237 L 581.10237,566.92914 L 545.6693,566.92914 z "
+ id="path2170" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#008000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 488.97638,439.53292 L 488.97638,545.83213 L 616.53543,545.83213 L 666.14173,496.22584 L 616.53543,439.53292 L 488.97638,439.53292 z "
+ id="path2174"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 557.37175,545.83213 L 566.92913,531.49607 L 576.48651,545.83213 L 557.37175,545.83213 z "
+ id="path3149" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 566.92913,262.20473 L 566.92913,205.51181"
+ id="path3171" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#008000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 623.62205,120.47243 L 623.62205,226.77165 L 496.063,226.77165 L 446.4567,177.16535 L 496.063,120.47243 L 623.62205,120.47243 z "
+ id="path3187"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 557.37175,226.93449 L 566.92913,212.59843 L 576.48651,226.93449 L 557.37175,226.93449 z "
+ id="path3189" />
+ <rect
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect3191"
+ width="177.16536"
+ height="552.75592"
+ x="177.16536"
+ y="106.29921" />
+ <g
+ id="g3407"
+ transform="translate(325.32331,106.75592)"
+ style="stroke:#800080">
+ <rect
+ y="74.409424"
+ x="439.37009"
+ height="21.259842"
+ width="21.259842"
+ id="rect3399"
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#800080;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <rect
+ y="74.409424"
+ x="460.62991"
+ height="21.259842"
+ width="21.259842"
+ id="rect3401"
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#800080;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <rect
+ y="74.409424"
+ x="481.88977"
+ height="21.259842"
+ width="21.259842"
+ id="rect3403"
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#800080;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <rect
+ y="74.409424"
+ x="503.1496"
+ height="21.259842"
+ width="21.259842"
+ id="rect3405"
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#800080;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ </g>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 876.04724,533.49606 L 635.62205,533.49606"
+ id="path3445"
+ sodipodi:nodetypes="cc" />
+ <g
+ id="g3447"
+ transform="translate(325.98424,448.91341)"
+ style="stroke:#800080">
+ <rect
+ y="74.409424"
+ x="439.37009"
+ height="21.259842"
+ width="21.259842"
+ id="rect3449"
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#800080;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <rect
+ y="74.409424"
+ x="460.62991"
+ height="21.259842"
+ width="21.259842"
+ id="rect3451"
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#800080;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <rect
+ y="74.409424"
+ x="481.88977"
+ height="21.259842"
+ width="21.259842"
+ id="rect3453"
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#800080;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <rect
+ y="74.409424"
+ x="503.1496"
+ height="21.259842"
+ width="21.259842"
+ id="rect3455"
+ style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#800080;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:52.43335342px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="205.51183"
+ y="396.8504"
+ id="text3459"><tspan
+ sodipodi:role="line"
+ id="tspan3461"
+ x="205.51183"
+ y="396.8504">Ship</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:21.72095108px;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="484.06299"
+ y="622.36218"
+ id="text3467"><tspan
+ sodipodi:role="line"
+ id="tspan3469"
+ x="484.06299"
+ y="622.36218">Pump</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#800080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="703.63574"
+ y="184.24554"
+ id="text3479"
+ transform="scale(0.9999652,1.0000348)"><tspan
+ sodipodi:role="line"
+ id="tspan3481"
+ x="703.63574"
+ y="184.24554"
+ style="font-size:18px;text-align:center;text-anchor:middle;fill:#800080">Destination</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;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="703.61377"
+ y="134.64098"
+ id="text3483"
+ transform="scale(0.9999652,1.0000348)"><tspan
+ sodipodi:role="line"
+ id="tspan3485"
+ x="703.61377"
+ y="134.64098"
+ style="font-size:18px;text-align:center;text-anchor:middle;fill:#008080">Source</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;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="703.61377"
+ y="455.52747"
+ id="text3487"
+ transform="scale(0.9999652,1.0000348)"><tspan
+ sodipodi:role="line"
+ id="tspan3489"
+ x="703.61377"
+ y="455.52747"
+ style="font-size:18px;text-align:center;text-anchor:middle;fill:#008080">Source</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;fill:#800080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="651.99121"
+ y="528.39105"
+ id="text3491"
+ transform="scale(0.9999652,1.0000348)"><tspan
+ sodipodi:role="line"
+ id="tspan3493"
+ x="651.99121"
+ y="528.39105"
+ style="font-size:18px;fill:#800080">Destination</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#800080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="703.63574"
+ y="644.85944"
+ id="text3495"
+ transform="scale(0.9999652,1.0000348)"><tspan
+ sodipodi:role="line"
+ id="tspan3497"
+ x="703.63574"
+ y="644.85944"
+ style="font-size:18px;text-align:center;text-anchor:middle;fill:#800080">Destination</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 389.76378,680.31495 L 389.76378,708.66141"
+ id="path3501" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 389.76378,694.48818 L 155.90551,694.48818"
+ id="path3503" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 673.22835,680.31495 L 673.22835,708.66141"
+ id="path3507" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 673.22835,694.48818 L 850.3937,694.48818"
+ id="path3509" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow2Mstart);marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 389.76378,694.48818 L 673.22835,694.48818"
+ id="path3511" />
+ <text
+ xml:space="preserve"
+ style="font-size:21.32734108px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="273.22864"
+ y="722.83466"
+ id="text3515"><tspan
+ sodipodi:role="line"
+ id="tspan3517"
+ x="273.22864"
+ y="722.83466">Ship</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:21.32734108px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="541.69458"
+ y="722.83466"
+ id="text3519"><tspan
+ sodipodi:role="line"
+ id="tspan3521"
+ x="541.69458"
+ y="722.83466"
+ style="text-align:center;text-anchor:middle">Docks</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:21.32734108px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="972.50598"
+ y="531.49603"
+ id="text3523"><tspan
+ sodipodi:role="line"
+ x="972.50598"
+ y="531.49603"
+ style="text-align:center;text-anchor:middle"
+ id="tspan3535">Output</tspan><tspan
+ sodipodi:role="line"
+ x="972.50598"
+ y="558.15521"
+ style="text-align:center;text-anchor:middle"
+ id="tspan3539">Port</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.10158062;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 871.70433,389.81456 C 871.70433,389.81456 885.82677,389.91124 885.82677,405.52036 L 885.82677,531.16676 C 885.82677,546.79199 899.94921,546.87256 899.94921,546.87256 C 899.94921,546.87256 885.82677,548.38826 885.82677,562.57837 L 885.82677,664.66606 C 885.82677,680.98468 871.70433,680.37186 871.70433,680.37186"
+ id="path3527"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 871.65354,106.29921 C 871.65354,106.29921 885.82677,106.38646 885.82677,120.47244 L 885.82677,233.85827 C 885.82677,247.95879 900,248.0315 900,248.0315 C 900,248.0315 885.82677,249.39929 885.82677,262.20473 L 885.82677,354.33071 C 885.82677,369.05696 871.65354,368.50394 871.65354,368.50394"
+ id="path3529"
+ sodipodi:nodetypes="ccccccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:21.32734108px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="756.60126"
+ y="722.83466"
+ id="text3531"><tspan
+ sodipodi:role="line"
+ id="tspan3533"
+ x="756.60126"
+ y="722.83466"
+ style="text-align:center;text-anchor:middle">Switch Fabric</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:21.32734108px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="972.50598"
+ y="240.94487"
+ id="text3541"><tspan
+ sodipodi:role="line"
+ x="972.50598"
+ y="240.94487"
+ style="text-align:center;text-anchor:middle"
+ id="tspan3545">Input</tspan><tspan
+ sodipodi:role="line"
+ x="972.50598"
+ y="267.60405"
+ style="text-align:center;text-anchor:middle"
+ id="tspan3549">Port</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:21.72095108px;font-style:normal;font-weight:normal;fill:#008000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="565.48059"
+ y="488.62991"
+ id="text3551"><tspan
+ sodipodi:role="line"
+ id="tspan3553"
+ x="565.48059"
+ y="488.62991"
+ style="text-align:center;text-anchor:middle;fill:#008000">Data</tspan><tspan
+ sodipodi:role="line"
+ x="565.48059"
+ y="515.7811"
+ id="tspan3555"
+ style="text-align:center;text-anchor:middle;fill:#008000">Latch</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:21.72095108px;font-style:normal;font-weight:normal;fill:#008000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="548.9068"
+ y="167.03481"
+ id="text3565"><tspan
+ sodipodi:role="line"
+ id="tspan3567"
+ x="548.9068"
+ y="167.03481"
+ style="text-align:center;text-anchor:middle;fill:#008000">Data</tspan><tspan
+ sodipodi:role="line"
+ x="548.9068"
+ y="194.18599"
+ id="tspan3569"
+ style="text-align:center;text-anchor:middle;fill:#008000">Latch</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 680.31496,652.22401 L 595.2756,652.22401"
+ id="path3221"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 878.74016,652.224 L 627.62205,652.224"
+ id="path3423"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 439.37013,276.37794 L 609.44887,276.37794 C 609.44887,276.37794 616.87239,276.05262 616.53548,283.46455 L 616.53548,339.81101 C 616.53548,339.81101 617.19771,346.89762 609.44887,346.89762 L 411.02367,346.89762 C 411.02367,346.89762 403.93705,348.23366 403.93705,339.81101 L 403.93705,283.46455 C 402.92633,275.0419 411.02367,276.37794 411.02367,276.37794 L 439.37013,276.37794 z "
+ id="path3223"
+ sodipodi:nodetypes="cccccccccc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 616.53547,297.46456 L 616.53547,325.81101"
+ id="path3225"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 425.1969,262.20472 L 425.1969,290.55117 L 460.62997,290.55117 L 474.8032,276.37795 L 460.62997,262.20472 L 425.1969,262.20472 z "
+ id="path3228" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 481.88981,262.20472 L 481.88981,290.55117 L 517.32288,290.55117 L 531.49611,276.37795 L 517.32288,262.20472 L 481.88981,262.20472 z "
+ id="path3230" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 588.18901,333.07085 L 588.18901,361.4173 L 552.75594,361.4173 L 538.58271,347.24408 L 552.75594,333.07085 L 588.18901,333.07085 z "
+ id="path3232" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 531.4961,333.07086 L 531.4961,361.41731 L 496.06303,361.41731 L 481.8898,347.24409 L 496.06303,333.07086 L 531.4961,333.07086 z "
+ id="path3234" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 474.80319,333.07085 L 474.80319,361.4173 L 439.37012,361.4173 L 425.19689,347.24408 L 439.37012,333.07085 L 474.80319,333.07085 z "
+ id="path3236" />
+ <path
+ style="fill:#ffffff;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 545.66934,262.20472 L 545.66934,290.55117 L 581.10241,290.55117 L 595.27564,276.37795 L 581.10241,262.20472 L 545.66934,262.20472 z "
+ id="path3238" />
+ <text
+ xml:space="preserve"
+ style="font-size:21.72095108px;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="484.06305"
+ y="317.63776"
+ id="text3240"><tspan
+ sodipodi:role="line"
+ id="tspan3242"
+ x="484.06305"
+ y="317.63776">Pump</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;text-anchor:middle;fill:#800080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="703.63574"
+ y="340.14563"
+ id="text3244"
+ transform="scale(0.9999652,1.0000348)"><tspan
+ sodipodi:role="line"
+ id="tspan3246"
+ x="703.63574"
+ y="340.14563"
+ style="font-size:18px;text-align:center;text-anchor:middle;fill:#800080">Destination</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 680.315,347.49959 L 595.27564,347.49959"
+ id="path3248"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#800080;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow2Mend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 878.74016,347.49958 L 627.62209,347.49958"
+ id="path3250"
+ sodipodi:nodetypes="cc" />
+ </g>
+</svg>