clean:
latexmk -CA
+ rm -rf *.pdf
% *** GRAPHICS RELATED PACKAGES ***
%
\ifCLASSINFOpdf
- % \usepackage[pdftex]{graphicx}
+ \usepackage[pdftex]{graphicx}
% declare the path(s) where your graphic files are
% \graphicspath{{../pdf/}{../jpeg/}}
% and their extensions so you won't have to specify these with
netlist. This research also features a prototype translator called \CLaSH\
(pronounced: clash), which converts the Haskell code to equivalently behaving
synthesizable \VHDL\ code, ready to be converted to an actual netlist format
-by optimizing \VHDL\ synthesis tools.
+by an optimizing \VHDL\ synthesis tools.
\section{Hardware description in Haskell}
as a tuple), so having just a single output port does not create a
limitation.
- Each function application in turn becomes component instantiation.
+ Each function application in turn becomes a component instantiation.
Here, the result of each argument expression is assigned to a
signal, which is mapped to the corresponding input port. The output
port of the function is also mapped to a signal, which is used as
the result of the application itself.
Since every top level function generates its own component, the
- hierarchy of of function calls is reflected in the final \VHDL\
+ hierarchy of function calls is reflected in the final \VHDL\
output as well, creating a hierarchical \VHDL\ description of the
hardware. This separation in different components makes the
resulting \VHDL\ output easier to read and debug.
mac a b c = add (mul a b) c
\end{code}
-\comment{TODO: Pretty picture}
+\begin{figure}
+\centerline{\includegraphics{mac}}
+\caption{Combinatorial Multiply-Accumulate (curried)}
+\label{img:mac-comb}
+\end{figure}
+
+\begin{figure}
+\centerline{\includegraphics{mac-nocurry}}
+\caption{Combinatorial Multiply-Accumulate (uncurried)}
+\label{img:mac-comb-nocurry}
+\end{figure}
\subsection{Choices}
Although describing components and connections allows describing a
$pdflatex = 'lhs2TeX -v --poly < cλash.lhs > cλash.tex; pdflatex -file-line-error -halt-on-error -synctex=1 cλash.tex cλash.pdf';
-$clean_ext = "synctex.gz ptb tex";
\ No newline at end of file
+$clean_ext = "synctex.gz ptb tex";
+
+add_cus_dep( 'svg', 'pdf', 0, 'svg2pdf' );
+sub svg2pdf {
+ system("rsvg-convert --format=pdf < $_[0].svg > $_[0].pdf");
+}
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="162.25"
+ height="63.318073"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="mac-nocurry.svg">
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ id="path3732"
+ d="M 0,0 5,-5 -12.5,0 5,5 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="path3738"
+ d="M 0,0 5,-5 -12.5,0 5,5 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>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8284271"
+ inkscape:cx="27.334357"
+ inkscape:cy="-1.830879"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:snap-grids="true"
+ inkscape:window-width="1091"
+ inkscape:window-height="838"
+ inkscape:window-x="582"
+ inkscape:window-y="225"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2818"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-348,-555.0517)">
+ <rect
+ style="fill:#ffffff;stroke:#000000;stroke-width:0.60119492"
+ id="rect2925"
+ width="115"
+ height="55.315327"
+ x="378.5"
+ y="562.75385" />
+ <rect
+ y="583.06915"
+ x="454"
+ height="29.999987"
+ width="30"
+ id="rect5226"
+ style="fill:#ffffff;stroke:#000000;stroke-width:0.54772252" />
+ <rect
+ style="fill:#ffffff;stroke:#000000;stroke-width:0.54772252"
+ id="rect2879"
+ width="30"
+ height="29.999987"
+ x="404.5"
+ y="567.75385" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Times New Roman;-inkscape-font-specification:'Times New Roman,'"
+ x="411.0332"
+ y="585.99603"
+ id="text5214"><tspan
+ sodipodi:role="line"
+ x="411.0332"
+ y="585.99603"
+ id="tspan5216"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Times New Roman;-inkscape-font-specification:'Times New Roman, Bold'">mul<tspan
+ x="411.0332"
+ y="585.99603"
+ id="tspan5218"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Times New Roman;-inkscape-font-specification:'Times New Roman, Bold'" /></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Times New Roman;-inkscape-font-specification:'Times New Roman,'"
+ x="460.81396"
+ y="601.31134"
+ id="text5220"><tspan
+ sodipodi:role="line"
+ x="460.81396"
+ y="601.31134"
+ id="tspan5222"
+ style="font-size:10px;font-weight:bold;-inkscape-font-specification:Bitstream Vera Sans Bold">add<tspan
+ x="460.81396"
+ y="601.31134"
+ id="tspan5224"
+ style="font-size:10px;font-weight:bold;-inkscape-font-specification:Bitstream Vera Sans Bold" /></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Times New Roman;-inkscape-font-specification:'Times New Roman,'"
+ x="427.04736"
+ y="559.75385"
+ id="text5174"><tspan
+ sodipodi:role="line"
+ x="427.04736"
+ y="559.75385"
+ id="tspan5176"
+ style="font-size:10px;font-weight:bold;-inkscape-font-specification:Bitstream Vera Sans Bold"><tspan
+ x="427.04736"
+ y="559.75385"
+ id="tspan5178"
+ style="font-size:10px;font-weight:bold;-inkscape-font-specification:Bitstream Vera Sans Bold">mac</tspan></tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+ d="m 484,598.06917 25,0"
+ id="path2946"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+ d="m 434.5,582.75386 9.5,0.31531 0,5 10,0"
+ id="path4172"
+ sodipodi:nodetypes="cccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Times New Roman;-inkscape-font-specification:'Times New Roman,'"
+ x="350.5"
+ y="585.34949"
+ id="text5180"><tspan
+ sodipodi:role="line"
+ x="350.5"
+ y="585.34949"
+ id="tspan5182"
+ style="font-size:10px;font-style:italic;-inkscape-font-specification:Bitstream Vera Sans Oblique"><tspan
+ x="350.5"
+ y="585.34949"
+ id="tspan5184"
+ style="font-size:10px;font-style:italic;-inkscape-font-specification:Bitstream Vera Sans Oblique">(a,b,c)</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Times New Roman;-inkscape-font-specification:'Times New Roman,'"
+ x="390.85355"
+ y="571.6424"
+ id="text5186"><tspan
+ sodipodi:role="line"
+ x="390.85355"
+ y="571.6424"
+ id="tspan5188"
+ style="font-size:10px;font-style:italic;-inkscape-font-specification:Bitstream Vera Sans Oblique">a<tspan
+ x="390.85355"
+ y="571.6424"
+ id="tspan5190"
+ style="font-size:10px;font-style:italic;-inkscape-font-specification:Bitstream Vera Sans Oblique" /></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Times New Roman;-inkscape-font-specification:'Times New Roman,'"
+ x="440.5"
+ y="606.34949"
+ id="text5192"><tspan
+ sodipodi:role="line"
+ x="440.5"
+ y="606.34949"
+ id="tspan5194"
+ style="font-size:10px;font-style:italic;-inkscape-font-specification:Bitstream Vera Sans Oblique"><tspan
+ x="440.5"
+ y="606.34949"
+ id="tspan5196"
+ style="font-size:10px;font-style:italic;-inkscape-font-specification:Bitstream Vera Sans Oblique">c</tspan></tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+ d="m -30,33.200127 40,0 0,-15 15,0"
+ id="path2874"
+ transform="translate(378.5,555.14935)"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+ d="m 10,33.200127 0,5 15,0"
+ id="path2876"
+ transform="translate(378.5,555.14935)" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+ d="m 10,38.200127 0,15 65,0"
+ id="path2878"
+ transform="translate(378.5,555.14935)" />
+ <text
+ id="text4222"
+ y="591.6424"
+ x="391.01569"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Times New Roman;-inkscape-font-specification:'Times New Roman,'"
+ xml:space="preserve"><tspan
+ style="font-size:10px;font-style:italic;-inkscape-font-specification:Bitstream Vera Sans Oblique"
+ id="tspan4224"
+ y="591.6424"
+ x="391.01569"
+ sodipodi:role="line"><tspan
+ style="font-size:10px;font-style:italic;-inkscape-font-specification:Bitstream Vera Sans Oblique"
+ id="tspan4226"
+ y="591.6424"
+ x="391.01569">b</tspan></tspan></text>
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="131.75"
+ height="63.200127"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="mac.svg">
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow1Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Mend"
+ style="overflow:visible">
+ <path
+ id="path3732"
+ d="M 0,0 5,-5 -12.5,0 5,5 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="path3738"
+ d="M 0,0 5,-5 -12.5,0 5,5 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>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8284271"
+ inkscape:cx="55.19291"
+ inkscape:cy="32.796934"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:snap-grids="true"
+ inkscape:window-width="1091"
+ inkscape:window-height="838"
+ inkscape:window-x="30"
+ inkscape:window-y="154"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2818"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-378.5,-555.14935)">
+ <rect
+ style="fill:#ffffff;stroke:#000000;stroke-width:0.56061715"
+ id="rect2925"
+ width="100"
+ height="55.315327"
+ x="394.5"
+ y="562.75385" />
+ <rect
+ y="583.06915"
+ x="454"
+ height="29.999987"
+ width="30"
+ id="rect5226"
+ style="fill:#ffffff;stroke:#000000;stroke-width:0.54772252" />
+ <rect
+ style="fill:#ffffff;stroke:#000000;stroke-width:0.54772252"
+ id="rect2879"
+ width="30"
+ height="29.999987"
+ x="404.5"
+ y="567.75385" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Times New Roman;-inkscape-font-specification:'Times New Roman,'"
+ x="411.0332"
+ y="585.99603"
+ id="text5214"><tspan
+ sodipodi:role="line"
+ x="411.0332"
+ y="585.99603"
+ id="tspan5216"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Times New Roman;-inkscape-font-specification:'Times New Roman, Bold'">mul<tspan
+ x="411.0332"
+ y="585.99603"
+ id="tspan5218"
+ style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Times New Roman;-inkscape-font-specification:'Times New Roman, Bold'" /></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Times New Roman;-inkscape-font-specification:'Times New Roman,'"
+ x="460.81396"
+ y="601.31134"
+ id="text5220"><tspan
+ sodipodi:role="line"
+ x="460.81396"
+ y="601.31134"
+ id="tspan5222"
+ style="font-size:10px;font-weight:bold;-inkscape-font-specification:Bitstream Vera Sans Bold">add<tspan
+ x="460.81396"
+ y="601.31134"
+ id="tspan5224"
+ style="font-size:10px;font-weight:bold;-inkscape-font-specification:Bitstream Vera Sans Bold" /></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Times New Roman;-inkscape-font-specification:'Times New Roman,'"
+ x="435.54736"
+ y="559.75385"
+ id="text5174"><tspan
+ sodipodi:role="line"
+ x="435.54736"
+ y="559.75385"
+ id="tspan5176"
+ style="font-size:10px;font-weight:bold;-inkscape-font-specification:Bitstream Vera Sans Bold"><tspan
+ x="435.54736"
+ y="559.75385"
+ id="tspan5178"
+ style="font-size:10px;font-weight:bold;-inkscape-font-specification:Bitstream Vera Sans Bold">mac</tspan></tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+ d="m 379.5,572.75386 25,0"
+ id="path2940"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+ d="m 379.5,592.75386 25,0"
+ id="path2942"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+ d="m 379,608.06917 75,0"
+ id="path2944"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+ d="m 484,598.06917 25,0"
+ id="path2946"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
+ d="m 434.5,582.75386 9.5,0.31531 0,5 10,0"
+ id="path4172"
+ sodipodi:nodetypes="cccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Times New Roman;-inkscape-font-specification:'Times New Roman,'"
+ x="381.69727"
+ y="569.88757"
+ id="text5180"><tspan
+ sodipodi:role="line"
+ x="381.69727"
+ y="569.88757"
+ id="tspan5182"
+ style="font-size:10px;font-style:italic;-inkscape-font-specification:Bitstream Vera Sans Oblique"><tspan
+ x="381.69727"
+ y="569.88757"
+ id="tspan5184"
+ style="font-size:10px;font-style:italic;-inkscape-font-specification:Bitstream Vera Sans Oblique">a</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Times New Roman;-inkscape-font-specification:'Times New Roman,'"
+ x="381.41602"
+ y="589.69421"
+ id="text5186"><tspan
+ sodipodi:role="line"
+ x="381.41602"
+ y="589.69421"
+ id="tspan5188"
+ style="font-size:10px;font-style:italic;-inkscape-font-specification:Bitstream Vera Sans Oblique"><tspan
+ x="381.41602"
+ y="589.69421"
+ id="tspan5190"
+ style="font-size:10px;font-style:italic;-inkscape-font-specification:Bitstream Vera Sans Oblique">b</tspan></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Times New Roman;-inkscape-font-specification:'Times New Roman,'"
+ x="381.58984"
+ y="605.19812"
+ id="text5192"><tspan
+ sodipodi:role="line"
+ x="381.58984"
+ y="605.19812"
+ id="tspan5194"
+ style="font-size:10px;font-style:italic;-inkscape-font-specification:Bitstream Vera Sans Oblique"><tspan
+ x="381.58984"
+ y="605.19812"
+ id="tspan5196"
+ style="font-size:10px;font-style:italic;-inkscape-font-specification:Bitstream Vera Sans Oblique">c</tspan></tspan></text>
+ </g>
+</svg>