Remove outdated docs. Add Docker info to README.md
13
README.md
|
|
@ -27,6 +27,17 @@ predictive and fabricable technologies.
|
|||
|
||||
# Basic Setup
|
||||
|
||||
## Docker Image
|
||||
|
||||
We have a pre-configured Ubuntu [Docker](https://www.docker.com/) image
|
||||
available that has all tools installed for the [SCMOS] process. It is
|
||||
available at [docker hub](https://hub.docker.com/r/vlsida/openram-ubuntu).
|
||||
Please see
|
||||
[our README.md](https://github.com/VLSIDA/openram-docker-images/blob/master/README.md)
|
||||
for information on how to use this docker image.
|
||||
|
||||
## Dependencies
|
||||
|
||||
The OpenRAM compiler has very few dependencies:
|
||||
+ [Ngspice] 26 (or later) or HSpice I-2013.12-1 (or later) or CustomSim 2017 (or later)
|
||||
+ Python 3.5 or higher
|
||||
|
|
@ -40,6 +51,8 @@ You must set two environment variables:
|
|||
+ OPENRAM\_HOME should point to the compiler source directory.
|
||||
+ OPENERAM\_TECH should point to a root technology directory.
|
||||
|
||||
## Environment
|
||||
|
||||
For example add this to your .bashrc:
|
||||
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
all: openram_manual.tex
|
||||
pdflatex openram_manual
|
||||
bib:
|
||||
bibtex openram_manual
|
||||
clean:
|
||||
rm -f openram_manual.pdf *.aux *.bbl *.blq *.dvi *.log *.lot *.toc *.lof *.blg
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
\section{Internal Control Signals}
|
||||
\label{sec:control}
|
||||
|
||||
This section not needed... All information is in Section~\ref{sec:timing} (Timing).
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
\section{Debug Framework}
|
||||
\label{sec:debug}
|
||||
|
||||
All output in OpenRAM should use the shared debug framework. This is
|
||||
still under development but is in a usable state. It is going to be
|
||||
replaced with the Python Logging framework which is quite simple.
|
||||
|
||||
All of the debug framework is contained in debug.py and is based
|
||||
around the concept of a ``debug level'' which is a single global
|
||||
variable in this file. This level is, by default, 0 which will output
|
||||
normal minimal output. The general guidelines for debug output are:
|
||||
\begin{itemize}
|
||||
\item 0 Normal output
|
||||
\item 1 Verbose output
|
||||
\item 2 Detailed output
|
||||
\item 3+ Excessively detailed output
|
||||
\end{itemize}
|
||||
|
||||
The debug level can be adjusted on the command line when arguments are parsed using the ``-v'' flag. Adding more ``-v'' flags will increase the debug level as in the following examples:
|
||||
\begin{verbatim}
|
||||
python tests/01_library_drc_test.py -vv
|
||||
python openram.py 4 16 -v -v
|
||||
\end{verbatim}
|
||||
which each put the program in debug level 2 (detailed output).
|
||||
|
||||
Since every module may output a lot of information in the higher debug
|
||||
levels, the output format is standardized to allow easy searching via
|
||||
grep or other command-line tools. The standard output formatting is
|
||||
used through three interface functions:
|
||||
\begin{itemize}
|
||||
\item debug.info(int, msg)
|
||||
\item debug.warning(msg)
|
||||
\item debug.error(msg)
|
||||
\end{itemize}
|
||||
The msg string in each case can be any string format including data or
|
||||
other useful debug information. The string should also contain
|
||||
information to make it human understandable. {\bf It should not just be
|
||||
a number!} The warning and error messages are independent of debug
|
||||
levels while the info message will only print the message if the
|
||||
current debug level is above the parameter value.
|
||||
|
||||
The output format of the debug info messages are:
|
||||
\begin{verbatim}
|
||||
[ module ]: msg
|
||||
\end{verbatim}
|
||||
where module is the calling module name and msg is the string
|
||||
provided. This enables a grep command to get the relevant lines. The
|
||||
warning and error messages include the file name and line number of
|
||||
the warning/error.
|
||||
|
Before Width: | Height: | Size: 47 KiB |
|
|
@ -1,747 +0,0 @@
|
|||
<?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:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="744.09448819"
|
||||
height="1052.3622047"
|
||||
id="svg2"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.46"
|
||||
sodipodi:docname="Logic Diagram.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape">
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient4867">
|
||||
<stop
|
||||
style="stop-color:#cccccc;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4869" />
|
||||
<stop
|
||||
style="stop-color:#cccccc;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4871" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient3807">
|
||||
<stop
|
||||
style="stop-color:#cccccc;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3809" />
|
||||
<stop
|
||||
style="stop-color:#cccccc;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3811" />
|
||||
</linearGradient>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lstart"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path3831"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
|
||||
transform="scale(0.8) translate(12.5,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Lend"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path3834"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
|
||||
transform="scale(0.8) rotate(180) translate(12.5,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" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3807"
|
||||
id="linearGradient3813"
|
||||
x1="199.69901"
|
||||
y1="218.7489"
|
||||
x2="199.43983"
|
||||
y2="217.65218"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(0,116)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3807"
|
||||
id="linearGradient3819"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="199.69901"
|
||||
y1="218.7489"
|
||||
x2="199.43983"
|
||||
y2="217.65218"
|
||||
gradientTransform="translate(0,-691.72632)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4867"
|
||||
id="linearGradient4873"
|
||||
x1="394.20999"
|
||||
y1="489.94479"
|
||||
x2="393.62537"
|
||||
y2="490.3624"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(0,100)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4867"
|
||||
id="linearGradient4879"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="394.20999"
|
||||
y1="489.94479"
|
||||
x2="393.62537"
|
||||
y2="490.3624"
|
||||
gradientTransform="translate(-1019.8693,100)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4867"
|
||||
id="linearGradient4885"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="394.20999"
|
||||
y1="489.94479"
|
||||
x2="393.62537"
|
||||
y2="490.3624"
|
||||
gradientTransform="translate(0,100)" />
|
||||
</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="16.932823"
|
||||
inkscape:cx="504.04531"
|
||||
inkscape:cy="492.15828"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1600"
|
||||
inkscape:window-height="1132"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
showguides="true"
|
||||
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">
|
||||
<rect
|
||||
style="fill:url(#linearGradient3813);fill-opacity:1"
|
||||
id="rect2383"
|
||||
width="165.71428"
|
||||
height="94.646927"
|
||||
x="133.76231"
|
||||
y="309.66827" />
|
||||
<rect
|
||||
style="fill:#cccccc"
|
||||
id="rect2385"
|
||||
width="208.57143"
|
||||
height="188.57143"
|
||||
x="406.00479"
|
||||
y="309.50024" />
|
||||
<rect
|
||||
style="fill:#cccccc"
|
||||
id="rect2387"
|
||||
width="208.38266"
|
||||
height="62.857143"
|
||||
x="405.96155"
|
||||
y="70.725639" />
|
||||
<rect
|
||||
style="fill:url(#linearGradient4873);fill-opacity:1"
|
||||
id="rect2389"
|
||||
width="138.24103"
|
||||
height="54.285713"
|
||||
x="371.81412"
|
||||
y="558.85974" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:23.82649612px;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="452.81046"
|
||||
y="105.8875"
|
||||
id="text2399"
|
||||
transform="scale(0.9927707,1.0072819)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2401"
|
||||
x="452.81046"
|
||||
y="105.8875">Precharge</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;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="478.94641"
|
||||
y="410.42963"
|
||||
id="text2403"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2405"
|
||||
x="478.94641"
|
||||
y="410.42963">Array</tspan></text>
|
||||
<rect
|
||||
style="fill:#cccccc"
|
||||
id="rect2429"
|
||||
width="277.14285"
|
||||
height="54.285713"
|
||||
x="371.49484"
|
||||
y="672.11481" />
|
||||
<rect
|
||||
style="fill:#cccccc"
|
||||
id="rect2431"
|
||||
width="277.14285"
|
||||
height="54.285713"
|
||||
x="372.53488"
|
||||
y="794.2793" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;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="439.30377"
|
||||
y="708.78662"
|
||||
id="text2437"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2439"
|
||||
x="439.30377"
|
||||
y="708.78662">Sense Amp</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;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="428.77615"
|
||||
y="828.11359"
|
||||
id="text2441"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2443"
|
||||
x="428.77615"
|
||||
y="828.11359">Output Latch</tspan></text>
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Lstart);marker-end:none;stroke-opacity:1"
|
||||
d="M 510.87523,794.2793 L 510.29735,726.40052"
|
||||
id="path2453"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connection-start="#rect2431"
|
||||
inkscape:connection-end="#rect2429" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.00533342px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
|
||||
d="M 510.37148,613.14813 L 510.36003,672.35929"
|
||||
id="path2455"
|
||||
inkscape:connector-type="polyline" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.00327015px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
|
||||
d="M 297.90384,403.80303 L 406.00315,403.80054"
|
||||
id="path2469"
|
||||
inkscape:connector-type="polyline" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;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="237.36064"
|
||||
y="462.23129"
|
||||
id="text2497"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2499"
|
||||
x="237.36064"
|
||||
y="462.23129" /></text>
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
|
||||
d="M 511.49401,848.56501 L 512.51267,919.88151"
|
||||
id="path2521"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connection-start="#rect2431" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;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="432.52811"
|
||||
y="954.8941"
|
||||
id="text2527"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2529"
|
||||
x="432.52811"
|
||||
y="954.8941">Out to System</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;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="322.32162"
|
||||
y="-51.962601"
|
||||
id="text2531"
|
||||
transform="matrix(9.034996e-4,0.9999996,-0.9999996,9.034996e-4,0,0)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2533"
|
||||
x="322.32162"
|
||||
y="-51.962601">In From System</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="322.32162"
|
||||
y="-21.962603"
|
||||
id="tspan2535" /></text>
|
||||
<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="538.99377"
|
||||
y="516.83362"
|
||||
id="text2832"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2834"
|
||||
x="538.99377"
|
||||
y="516.83362"> Bit Lines</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="538.99377"
|
||||
y="531.83362"
|
||||
id="tspan2938">BL<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2950">0</tspan>,BR<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2948">0</tspan>, BL<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2946">1</tspan>, BR<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2944">1</tspan>, ... BL<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2942">j</tspan> BR<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2940">j </tspan></tspan></text>
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 364.52511,382.19547 L 336.74637,425.84777"
|
||||
id="path2836" />
|
||||
<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="280.00189"
|
||||
y="-339.76331"
|
||||
id="text2838"
|
||||
transform="matrix(3.852356e-3,0.9999926,-0.9999926,3.852356e-3,0,0)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2840"
|
||||
x="280.00189"
|
||||
y="-339.76331"> Word Lines</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="280.00189"
|
||||
y="-324.76331"
|
||||
id="tspan2930"> W<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2936">0</tspan>, W<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2934">1</tspan>, ..., W<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2932">log(n)</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Lstart);stroke-opacity:1"
|
||||
d="M 371.888,589.5005 L 309.17124,589.84843"
|
||||
id="path2842"
|
||||
inkscape:connector-type="polyline" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Lstart);stroke-opacity:1"
|
||||
d="M 370.94208,702.41208 L 308.22531,702.76001"
|
||||
id="path2854"
|
||||
inkscape:connector-type="polyline" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Lstart);stroke-opacity:1"
|
||||
d="M 371.88799,824.43518 L 309.17123,824.78311"
|
||||
id="path2860"
|
||||
inkscape:connector-type="polyline" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 491.10498,654.25031 L 526.70018,628.88523"
|
||||
id="path2870" />
|
||||
<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="320.09518"
|
||||
y="-99.119331"
|
||||
id="text2888"
|
||||
transform="matrix(-1.094382e-2,0.9999401,-0.9999401,-1.094382e-2,0,0)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2890"
|
||||
x="320.09518"
|
||||
y="-99.119331">A<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2892">0</tspan>, A<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2896">1</tspan>, ... A<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2898">n</tspan></tspan></text>
|
||||
<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="552.88428"
|
||||
y="-299.25662"
|
||||
id="text2902"
|
||||
transform="matrix(-1.094382e-2,0.9999401,-0.9999401,-1.094382e-2,0,0)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2904"
|
||||
x="552.88428"
|
||||
y="-299.25662">A<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2906">0</tspan>, A<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2908">1</tspan>, ... Ak<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2910" /></tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:37.14432144px;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="784.93219"
|
||||
y="-237.72998"
|
||||
id="text2912"
|
||||
transform="matrix(2.6675397e-2,0.8871754,-1.1264084,2.54215e-2,0,0)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2914"
|
||||
x="784.93219"
|
||||
y="-237.72998"
|
||||
style="font-size:18.57216072px">S<tspan
|
||||
style="font-size:9.28608036px"
|
||||
id="tspan2916">clk</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 491.47553,766.55443 L 530.65923,741.92468"
|
||||
id="path2922" />
|
||||
<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="784.55219"
|
||||
y="-372.34665"
|
||||
id="text2924"
|
||||
transform="matrix(-9.6248034e-2,0.9953574,-0.9953574,-9.6248034e-2,0,0)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2926"
|
||||
x="784.55219"
|
||||
y="-372.34665">clk</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="784.55219"
|
||||
y="-357.34665"
|
||||
id="tspan2928" /></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;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="727.75165"
|
||||
y="543.27771"
|
||||
id="text2970"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2972"
|
||||
x="727.75165"
|
||||
y="543.27771" /></text>
|
||||
<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="537.27209"
|
||||
y="156.72511"
|
||||
id="text2992"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2994"
|
||||
x="537.27209"
|
||||
y="156.72511"> Bit Lines</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="537.27209"
|
||||
y="171.72511"
|
||||
id="tspan2996">BL<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2998">0</tspan>,BR<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan3000">0</tspan>, BL<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan3002">1</tspan>, BR<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan3004">1</tspan>, ... BL<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan3006">j</tspan> BR<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan3008">j </tspan></tspan></text>
|
||||
<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="523.96411"
|
||||
y="638.21588"
|
||||
id="text3010"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3012"
|
||||
x="523.96411"
|
||||
y="638.21588"> Bit Lines</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="523.96411"
|
||||
y="653.21588"
|
||||
id="tspan3014">BL<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan3016">0</tspan>,BR<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan3018">0</tspan>, BL<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan3020">1</tspan>, BR<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan3022">1</tspan>, ... BL<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan3024">j/2^k</tspan> BR<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan3026">j/2^k </tspan></tspan></text>
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-mid:none;marker-end:none;marker-start:url(#Arrow1Lstart)"
|
||||
d="M 404.99504,103.56693 L 342.27828,103.91486"
|
||||
id="path3046"
|
||||
inkscape:connector-type="polyline" />
|
||||
<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="86.832726"
|
||||
y="-327.60617"
|
||||
id="text3052"
|
||||
transform="matrix(-1.094382e-2,0.9999401,-0.9999401,-1.094382e-2,0,0)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3054"
|
||||
x="86.832726"
|
||||
y="-327.60617">Pclk</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="86.832726"
|
||||
y="-312.60617"
|
||||
id="tspan3062" /></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;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="551.03613"
|
||||
y="753.10077"
|
||||
id="text3064"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3066"
|
||||
x="551.03613"
|
||||
y="753.10077"
|
||||
style="font-size:12px"> Data</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="551.03613"
|
||||
y="768.10077"
|
||||
id="tspan3068"><tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3111">D</tspan><tspan
|
||||
style="font-size:8px"
|
||||
id="tspan3074">0</tspan><tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3115">, </tspan><tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3109">D</tspan><tspan
|
||||
style="font-size:8px"
|
||||
id="tspan3072">1</tspan><tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3113">, ...,</tspan><tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3107"> D</tspan><tspan
|
||||
style="font-size:8px"
|
||||
id="tspan3070">j/2^k</tspan></tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;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="543.46613"
|
||||
y="865.92303"
|
||||
id="text3117"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3119"
|
||||
x="543.46613"
|
||||
y="865.92303"
|
||||
style="font-size:12px"> Data Out</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="543.46613"
|
||||
y="880.92303"
|
||||
id="tspan3121"><tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3123">Do</tspan><tspan
|
||||
style="font-size:8px"
|
||||
id="tspan3125">0</tspan><tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3127">, </tspan><tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3129">Do</tspan><tspan
|
||||
style="font-size:8px"
|
||||
id="tspan3131">1</tspan><tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3133">, ...,</tspan><tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3135"> Do</tspan><tspan
|
||||
style="font-size:8px"
|
||||
id="tspan3137">j/2^k</tspan></tspan></text>
|
||||
<path
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke-width:0.40000001000000002;stroke-miterlimit:18.10000038000000089;stroke-dasharray:none"
|
||||
id="path3309"
|
||||
d="M 75.196328,158.6717 C 80.758538,157.28869 86.44734,156.6028 92.133726,155.94035 C 107.05435,154.05138 121.8677,151.43215 136.75528,149.30749 C 147.64996,147.53122 158.58499,146.01225 169.47598,144.21603 C 171.5715,143.74706 173.73538,143.65255 175.84432,143.27807 C 176.90658,143.08945 177.95684,142.73177 179.00742,142.48204 C 180.58421,142.34805 181.98047,141.66528 183.53245,141.39396 L 172.37378,149.88252 C 170.88347,150.29297 169.41362,150.72728 167.88051,150.96244 C 164.844,151.6568 161.73546,151.85357 158.66031,152.32711 C 148.00248,153.81685 137.31827,155.11752 126.69325,156.8396 C 111.66369,159.01206 96.704443,161.62748 81.668664,163.7554 C 75.768122,164.62195 69.820463,165.47786 64.116915,167.27925 L 75.196328,158.6717 z" />
|
||||
<rect
|
||||
y="-498.05804"
|
||||
x="133.76231"
|
||||
height="94.646927"
|
||||
width="165.71428"
|
||||
id="rect3815"
|
||||
style="fill:url(#linearGradient3819);fill-opacity:1"
|
||||
transform="scale(1,-1)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;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="170.85649"
|
||||
y="394.76114"
|
||||
id="text2393"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2395"
|
||||
x="170.85649"
|
||||
y="394.76114">Address </tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="170.85649"
|
||||
y="424.76114"
|
||||
id="tspan2397">Decoder</tspan></text>
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Lstart);stroke-opacity:1"
|
||||
d="M 133.5,403.36218 L 70.75,402.86218"
|
||||
id="path3823" />
|
||||
<rect
|
||||
y="558.85974"
|
||||
x="371.81412"
|
||||
height="54.285713"
|
||||
width="138.24103"
|
||||
id="rect4875"
|
||||
style="fill:url(#linearGradient4885);fill-opacity:1" />
|
||||
<rect
|
||||
style="fill:url(#linearGradient4879);fill-opacity:1"
|
||||
id="rect4877"
|
||||
width="138.24103"
|
||||
height="54.285713"
|
||||
x="-648.05518"
|
||||
y="558.85974"
|
||||
transform="scale(-1,1)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;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="439.2803"
|
||||
y="595.7511"
|
||||
id="text2407"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2409"
|
||||
x="439.2803"
|
||||
y="595.7511">Column Mux</tspan></text>
|
||||
<path
|
||||
inkscape:connector-type="polyline"
|
||||
id="path4881"
|
||||
d="M 510.37147,497.86869 L 510.36004,557.47571"
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.00782228px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" />
|
||||
<path
|
||||
id="path4883"
|
||||
d="M 491.10498,538.25031 L 526.70018,512.88523"
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<rect
|
||||
style="fill:#cccccc"
|
||||
id="rect2427"
|
||||
width="277.14285"
|
||||
height="54.285713"
|
||||
x="372.23978"
|
||||
y="190.47002" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;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="432.57791"
|
||||
y="225.61827"
|
||||
id="text2433"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2435"
|
||||
x="432.57791"
|
||||
y="225.61827">Write Driver</tspan></text>
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Lstart);stroke-opacity:1"
|
||||
d="M 371.40729,219.41404 L 308.69052,219.76197"
|
||||
id="path2848"
|
||||
inkscape:connector-type="polyline" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-opacity:1"
|
||||
d="M 340.99482,208.10497 C 327.752,230.80694 327.752,230.80694 327.752,230.80694"
|
||||
id="path2882" />
|
||||
<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="167.72096"
|
||||
y="-293.01819"
|
||||
id="text2884"
|
||||
transform="matrix(-2.8547241e-3,0.9999959,-0.9999959,-2.8547241e-3,0,0)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2886"
|
||||
x="167.72096"
|
||||
y="-293.01819">Enable, Data in</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:8px;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="519.95123"
|
||||
y="268.63846"
|
||||
id="text3028"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3030"
|
||||
x="519.95123"
|
||||
y="268.63846"
|
||||
style="font-size:12px"> Bit Lines</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="519.95123"
|
||||
y="283.63846"
|
||||
id="tspan3084"><tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3103">BL</tspan>0 ,<tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3101">BR</tspan><tspan
|
||||
style="font-size:8px"
|
||||
id="tspan3036">0</tspan>, <tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3099">BL</tspan><tspan
|
||||
style="font-size:8px"
|
||||
id="tspan3038">1</tspan>, <tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3097">BR</tspan><tspan
|
||||
style="font-size:8px"
|
||||
id="tspan3078">1</tspan>, ... <tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3095">BL</tspan><tspan
|
||||
style="font-size:8px"
|
||||
id="tspan3042">j/2^k</tspan><tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3093"> BR</tspan><tspan
|
||||
style="font-size:8px"
|
||||
id="tspan3044">j /2^k</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-end:url(#Arrow1Lend)"
|
||||
d="M 510.33208,133.58278 L 510.65644,190.47002"
|
||||
id="path4910"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connection-start="#rect2387"
|
||||
inkscape:connection-end="#rect2427" />
|
||||
<path
|
||||
inkscape:connector-type="polyline"
|
||||
id="path6475"
|
||||
d="M 508.33374,244.83566 L 508.65589,308.42732"
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.0536716px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow1Lend);stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 491.10498,280.25031 L 526.70018,254.88523"
|
||||
id="path6477" />
|
||||
<path
|
||||
id="path6479"
|
||||
d="M 491.10498,168.25031 L 526.70018,142.88523"
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 29 KiB |
|
|
@ -1,522 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="744.09448819"
|
||||
height="1052.3622047"
|
||||
id="svg6017"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="cell_6t.svg">
|
||||
<defs
|
||||
id="defs6019" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="199"
|
||||
inkscape:cy="609.48139"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1580"
|
||||
inkscape:window-height="810"
|
||||
inkscape:window-x="143"
|
||||
inkscape:window-y="132"
|
||||
inkscape:window-maximized="0">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid6109" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata6022">
|
||||
<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">
|
||||
<g
|
||||
id="g6894"
|
||||
transform="translate(20,1.3297774e-6)">
|
||||
<g
|
||||
style="stroke-width:4.11560297;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="g6006"
|
||||
transform="matrix(0.51500628,0,0,0.4585435,23.157615,250.95114)">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 71.537739,504.66541 77.668961,0 0.20751,-65.01034 96.87868,-0.41421 0,65.42455 77.66896,0"
|
||||
id="path5141"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 142.12846,439.3006 111.72287,0"
|
||||
id="path5143"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 149.90664,429.40111 96.16652,0"
|
||||
id="path5145"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0.51500333,0,0,0.45312146,186.14808,178.39506)"
|
||||
id="g6011-6" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 230,452.36218 0,60"
|
||||
id="path6181"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:none"
|
||||
id="path6210"
|
||||
sodipodi:cx="325"
|
||||
sodipodi:cy="417.36218"
|
||||
sodipodi:rx="55"
|
||||
sodipodi:ry="35"
|
||||
d="m 380,417.36218 a 55,35 0 1 1 -110,0 55,35 0 1 1 110,0 z" />
|
||||
<g
|
||||
id="g6948">
|
||||
<g
|
||||
style="stroke-width:3.34598514;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="g6006-9"
|
||||
transform="matrix(0,0.51500628,-0.4585435,0,461.41104,285.5198)">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.34598514;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 71.537739,504.66541 77.668961,0 0.20751,-65.01034 96.87868,-0.41421 0,65.42455 77.66896,0"
|
||||
id="path5141-6"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.34598514;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 142.12846,439.3006 111.72287,0"
|
||||
id="path5143-42"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.34598514;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 149.90664,429.40111 96.16652,0"
|
||||
id="path5145-5"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<path
|
||||
transform="translate(-75,10)"
|
||||
d="m 350,377.36218 a 5,5 0 1 1 -10,0 5,5 0 1 1 10,0 z"
|
||||
sodipodi:ry="5"
|
||||
sodipodi:rx="5"
|
||||
sodipodi:cy="377.36218"
|
||||
sodipodi:cx="345"
|
||||
id="path6744"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.626;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,0.51500628,-0.4585435,0,461.60097,475.41293)"
|
||||
id="g6006-24"
|
||||
style="stroke-width:4.11560297;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-8"
|
||||
d="m 71.537739,504.66541 77.668961,0 0.20751,-65.01034 96.87868,-0.41421 0,65.42455 77.66896,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5143-2"
|
||||
d="m 142.12846,439.3006 111.72287,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-8"
|
||||
d="m 149.90664,429.40111 96.16652,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,-0.51500628,0.4585435,0,158.39903,679.31144)"
|
||||
id="g6006-3"
|
||||
style="stroke-width:4.11560297;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-2"
|
||||
d="m 71.537739,504.66541 77.668961,0 0.20751,-65.01034 96.87868,-0.41421 0,65.42455 77.66896,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5143-8"
|
||||
d="m 142.12846,439.3006 111.72287,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-3"
|
||||
d="m 149.90664,429.40111 96.16652,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(-1,0,0,-1,620,774.72437)"
|
||||
id="g6948-0">
|
||||
<g
|
||||
style="stroke-width:3.34598517;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="g6006-9-4"
|
||||
transform="matrix(0,0.51500628,-0.4585435,0,461.41104,285.5198)">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.34598517;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 71.537739,504.66541 77.668961,0 0.20751,-65.01034 96.87868,-0.41421 0,65.42455 77.66896,0"
|
||||
id="path5141-6-8"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.34598517;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 142.12846,439.3006 111.72287,0"
|
||||
id="path5143-42-3"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:3.34598517;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 149.90664,429.40111 96.16652,0"
|
||||
id="path5145-5-8"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<path
|
||||
transform="translate(-75,10)"
|
||||
d="m 350,377.36218 c 0,2.76143 -2.23858,5 -5,5 -2.76142,0 -5,-2.23857 -5,-5 0,-2.76142 2.23858,-5 5,-5 2.76142,0 5,2.23858 5,5 z"
|
||||
sodipodi:ry="5"
|
||||
sodipodi:rx="5"
|
||||
sodipodi:cy="377.36218"
|
||||
sodipodi:cx="345"
|
||||
id="path6744-9"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.62600005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 390,512.36218 0,-60"
|
||||
id="path6988"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
transform="translate(350,1.3297774e-6)"
|
||||
id="g6894-7">
|
||||
<g
|
||||
style="stroke-width:4.11560297;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="g6006-5"
|
||||
transform="matrix(0.51500628,0,0,0.4585435,23.157615,250.95114)">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 71.537739,504.66541 77.668961,0 0.20751,-65.01034 96.87868,-0.41421 0,65.42455 77.66896,0"
|
||||
id="path5141-3"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 142.12846,439.3006 111.72287,0"
|
||||
id="path5143-27"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 149.90664,429.40111 96.16652,0"
|
||||
id="path5145-30"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 190,482.36218 40,0"
|
||||
id="path7020"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 440,482.36218 -50,0"
|
||||
id="path7022"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 230,292.36218 160,0 0,0 0,30"
|
||||
id="path7024"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 230,322.36218 0,-30"
|
||||
id="path7026"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 310,292.36218 0,-30 30,0 -60,0"
|
||||
id="path7028"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 230,642.36218 0,20 160,0 0,-20"
|
||||
id="path7030"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 310,662.36218 0,30 -30,0 60,0"
|
||||
id="path7032"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 290,702.36218 40,0"
|
||||
id="path7034"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 300,712.36218 20,0"
|
||||
id="path7036"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 540,482.36218 0,-150 0,300"
|
||||
id="path7057"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 80,482.36218 0,-150 0,300"
|
||||
id="path7059"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 80,232.36218 460,0"
|
||||
id="path7061"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.96486509;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 330,386.34238 0,193.03475"
|
||||
id="path7063"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 230,482.36218 100,0"
|
||||
id="path7067"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.9069252;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 290,452.36218 100,0"
|
||||
id="path7069"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 275,387.36218 15,0"
|
||||
id="path7071"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2.26907873;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 345.73333,387.36218 -16.73333,0"
|
||||
id="path7073"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 265,576.36218 24,0"
|
||||
id="path7075"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2.03967071;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 331.03846,578.36218 24.96154,0"
|
||||
id="path7075-3"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.96486509;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 290,384.84481 0,193.03475"
|
||||
id="path7063-1"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,158.90421,154.54363)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-7"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,199.40421,183.54363)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-8"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,259.40421,185.54363)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-4"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,179.40421,-6.456369)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-9"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,179.40421,364.54363)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-71"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,98.40421,185.54363)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 145,446.36218 2,-215"
|
||||
id="path7183"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 475,446.36218 0,-216"
|
||||
id="path7185"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-1"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,16.404208,-64.456369)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-5"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,344.40421,-65.456369)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-74"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,409.40421,184.54363)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-89"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,-51.595792,184.54363)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;line-height:0.99999998%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="350"
|
||||
y="262.36218"
|
||||
id="text7226"
|
||||
sodipodi:linespacing="0.99999998%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7228"
|
||||
x="350"
|
||||
y="262.36218"
|
||||
style="line-height:0.99999998%" /></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:10.00000015%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="342"
|
||||
y="270.36218"
|
||||
id="text7230"
|
||||
sodipodi:linespacing="10%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7232"
|
||||
x="342"
|
||||
y="270.36218">VDD</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:10.00000015%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="350"
|
||||
y="691.36218"
|
||||
id="text7234"
|
||||
sodipodi:linespacing="10%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7236"
|
||||
x="350"
|
||||
y="691.36218">GND</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:10.00000015%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="549"
|
||||
y="482.36218"
|
||||
id="text7238"
|
||||
sodipodi:linespacing="10%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7240"
|
||||
x="549"
|
||||
y="482.36218">BL_bar</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:10.00000015%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="48"
|
||||
y="483.36218"
|
||||
id="text7242"
|
||||
sodipodi:linespacing="10%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7244"
|
||||
x="48"
|
||||
y="483.36218">BL</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:10.00000015%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="116"
|
||||
y="229.36218"
|
||||
id="text7246"
|
||||
sodipodi:linespacing="10%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7248"
|
||||
x="116"
|
||||
y="229.36218">WL</tspan></text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 23 KiB |
|
|
@ -1,10 +0,0 @@
|
|||
digraph G {
|
||||
module [shape=record, label="module\n(e.g., bit-cell array)"];
|
||||
design [shape=record, label="design\nDRC_LVS()"];
|
||||
hierarchy_layout [shape=record, label="layout\n"];
|
||||
hierarchy_spice [shape=record, label="spice\n"];
|
||||
|
||||
module -> design
|
||||
design -> hierarchy_layout;
|
||||
design -> hierarchy_spice;
|
||||
}
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/bash
|
||||
dot -Tpdf class_hierarchy.dot > class_hierarchy.pdf
|
||||
|
|
@ -1,665 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="744.09448819"
|
||||
height="1052.3622047"
|
||||
id="svg4094"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="column_mux.svg">
|
||||
<defs
|
||||
id="defs4096" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="406.3623"
|
||||
inkscape:cy="446.14093"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1366"
|
||||
inkscape:window-height="744"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid4102" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata4099">
|
||||
<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">
|
||||
<g
|
||||
transform="matrix(0,0.51500628,0.4585435,0,-101.41104,255.5198)"
|
||||
id="g6006-24"
|
||||
style="stroke-width:4.11560297;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-8"
|
||||
d="m 71.537739,504.66541 77.668961,0 0.20751,-65.01034 96.87868,-0.41421 0,65.42455 77.66896,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5143-2"
|
||||
d="m 142.12846,439.3006 111.72287,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-8"
|
||||
d="m 149.90664,429.40111 96.16652,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,0.51500628,0.4585435,0,-21.411043,255.5198)"
|
||||
id="g6006-24-5"
|
||||
style="stroke-width:4.11560297;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-8-4"
|
||||
d="m 71.537739,504.66541 77.668961,0 0.20751,-65.01034 96.87868,-0.41421 0,65.42455 77.66896,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5143-2-9"
|
||||
d="m 142.12846,439.3006 111.72287,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-8-0"
|
||||
d="m 149.90664,429.40111 96.16652,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,0.51500628,0.4585435,0,68.588951,385.5198)"
|
||||
id="g6006-24-7"
|
||||
style="stroke-width:4.11560297;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-8-1"
|
||||
d="m 71.537739,504.66541 77.668961,0 0.20751,-65.01034 96.87868,-0.41421 0,65.42455 77.66896,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5143-2-5"
|
||||
d="m 142.12846,439.3006 111.72287,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-8-6"
|
||||
d="m 149.90664,429.40111 96.16652,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,0.51500628,0.4585435,0,148.58896,385.5198)"
|
||||
id="g6006-24-5-5"
|
||||
style="stroke-width:4.11560297;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-8-4-4"
|
||||
d="m 71.537739,504.66541 77.668961,0 0.20751,-65.01034 96.87868,-0.41421 0,65.42455 77.66896,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5143-2-9-0"
|
||||
d="m 142.12846,439.3006 111.72287,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-8-0-3"
|
||||
d="m 149.90664,429.40111 96.16652,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,0.51500628,0.4585435,0,238.58896,255.5198)"
|
||||
id="g6006-24-73"
|
||||
style="stroke-width:4.11560297;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-8-6"
|
||||
d="m 71.537739,504.66541 77.668961,0 0.20751,-65.01034 96.87868,-0.41421 0,65.42455 77.66896,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5143-2-2"
|
||||
d="m 142.12846,439.3006 111.72287,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-8-7"
|
||||
d="m 149.90664,429.40111 96.16652,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,0.51500628,0.4585435,0,318.58896,255.5198)"
|
||||
id="g6006-24-5-9"
|
||||
style="stroke-width:4.11560297;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-8-4-5"
|
||||
d="m 71.537739,504.66541 77.668961,0 0.20751,-65.01034 96.87868,-0.41421 0,65.42455 77.66896,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5143-2-9-3"
|
||||
d="m 142.12846,439.3006 111.72287,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-8-0-0"
|
||||
d="m 149.90664,429.40111 96.16652,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,0.51500628,0.4585435,0,398.58896,385.5198)"
|
||||
id="g6006-24-7-0"
|
||||
style="stroke-width:4.11560297;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-8-1-8"
|
||||
d="m 71.537739,504.66541 77.668961,0 0.20751,-65.01034 96.87868,-0.41421 0,65.42455 77.66896,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5143-2-5-8"
|
||||
d="m 142.12846,439.3006 111.72287,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-8-6-9"
|
||||
d="m 149.90664,429.40111 96.16652,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,0.51500628,0.4585435,0,478.58896,385.5198)"
|
||||
id="g6006-24-5-5-9"
|
||||
style="stroke-width:4.11560297;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-8-4-4-7"
|
||||
d="m 71.537739,504.66541 77.668961,0 0.20751,-65.01034 96.87868,-0.41421 0,65.42455 77.66896,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5143-2-9-0-0"
|
||||
d="m 142.12846,439.3006 111.72287,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-8-0-3-6"
|
||||
d="m 149.90664,429.40111 96.16652,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 130,292.36218 0,-70"
|
||||
id="path4232"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 210,292.36218 0,-70"
|
||||
id="path4742"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 300,422.36218 0,-200"
|
||||
id="path4744"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 380,422.36218 0,-200"
|
||||
id="path4746"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 470,302.36218 0,-80"
|
||||
id="path4748"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 550,302.36218 0,-80"
|
||||
id="path4750"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 630,432.36218 0,-210"
|
||||
id="path4752"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 710,432.36218 0,-210"
|
||||
id="path4754"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 40,352.36218 480,0"
|
||||
id="path4756"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 40,482.36218 640,0"
|
||||
id="path4758"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 130,422.36218 0,130"
|
||||
id="path4760"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 210,422.36218 0,130"
|
||||
id="path4762"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 470,422.36218 0,130"
|
||||
id="path4764"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 550,422.36218 0,130"
|
||||
id="path4766"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
transform="matrix(0,0.51500628,0.4585435,0,-61.411052,555.51979)"
|
||||
id="g6006-24-7-9"
|
||||
style="stroke-width:4.11560297;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-8-1-5"
|
||||
d="m 71.537739,504.66541 77.668961,0 0.20751,-65.01034 96.87868,-0.41421 0,65.42455 77.66896,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5143-2-5-4"
|
||||
d="m 142.12846,439.3006 111.72287,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-8-6-3"
|
||||
d="m 149.90664,429.40111 96.16652,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,0.51500628,0.4585435,0,28.588957,555.5198)"
|
||||
id="g6006-24-5-5-7"
|
||||
style="stroke-width:4.11560297;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-8-4-4-76"
|
||||
d="m 71.537739,504.66541 77.668961,0 0.20751,-65.01034 96.87868,-0.41421 0,65.42455 77.66896,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5143-2-9-0-7"
|
||||
d="m 142.12846,439.3006 111.72287,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-8-0-3-2"
|
||||
d="m 149.90664,429.40111 96.16652,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,0.51500628,0.4585435,0,268.58895,655.5198)"
|
||||
id="g6006-24-7-9-3"
|
||||
style="stroke-width:4.11560297;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-8-1-5-1"
|
||||
d="m 71.537739,504.66541 77.668961,0 0.20751,-65.01034 96.87868,-0.41421 0,65.42455 77.66896,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5143-2-5-4-0"
|
||||
d="m 142.12846,439.3006 111.72287,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-8-6-3-9"
|
||||
d="m 149.90664,429.40111 96.16652,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,0.51500628,0.4585435,0,358.58896,655.5198)"
|
||||
id="g6006-24-5-5-7-7"
|
||||
style="stroke-width:4.11560297;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-8-4-4-76-7"
|
||||
d="m 71.537739,504.66541 77.668961,0 0.20751,-65.01034 96.87868,-0.41421 0,65.42455 77.66896,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5143-2-9-0-7-0"
|
||||
d="m 142.12846,439.3006 111.72287,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-8-0-3-2-0"
|
||||
d="m 149.90664,429.40111 96.16652,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:4.11560297;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 40,652.36218 190,0"
|
||||
id="path4900"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 40,752.36218 520,0"
|
||||
id="path4902"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 130,552.36218 0,10 170,0 0,-10"
|
||||
id="path4904"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 210,552.36218 0,30 170,0 0,-30"
|
||||
id="path4906"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 470,552.36218 0,10 160,0 0,-10"
|
||||
id="path4908"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 550,552.36218 0,30 160,0 0,-30"
|
||||
id="path4910"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 260,592.36218 0,-10"
|
||||
id="path4912"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 170,592.36218 0,-30"
|
||||
id="path4914"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 500,692.36218 0,-130"
|
||||
id="path4916"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 590,692.36218 0,-110"
|
||||
id="path4918"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 260,722.36218 0,120 330,0 0,-20"
|
||||
id="path4920"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 500,822.36218 -330,0 0,-100"
|
||||
id="path4922"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 320,822.36218 0,70 10,-10 -10,10 -10,-10"
|
||||
id="path4924"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 440,842.36218 0,50 10,-10 -10,10 -10,-10"
|
||||
id="path4926"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-7"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,39.404208,265.54363)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-7-6"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,129.40421,285.54363)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-7-8"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,369.40421,265.54363)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-7-5"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,459.40421,285.54363)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-7-2"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,189.40421,525.54363)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-7-83"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,309.40421,545.54363)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="309"
|
||||
y="909.36218"
|
||||
id="text4981"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4983"
|
||||
x="309"
|
||||
y="909.36218">BL</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="419"
|
||||
y="907.36218"
|
||||
id="text4985"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4987"
|
||||
x="419"
|
||||
y="907.36218">BL_bar</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="113"
|
||||
y="219.36218"
|
||||
id="text4989"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4991"
|
||||
x="113"
|
||||
y="219.36218">BL0</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="177"
|
||||
y="217.36218"
|
||||
id="text4993"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4995"
|
||||
x="177"
|
||||
y="217.36218">BL0_bar</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="285"
|
||||
y="219.36218"
|
||||
id="text4997"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4999"
|
||||
x="285"
|
||||
y="219.36218">BL1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="346"
|
||||
y="217.36218"
|
||||
id="text5001"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5003"
|
||||
x="346"
|
||||
y="217.36218">BL1_bar</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="456"
|
||||
y="218.36218"
|
||||
id="text5005"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5007"
|
||||
x="456"
|
||||
y="218.36218">BL2</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="518"
|
||||
y="216.36218"
|
||||
id="text5009"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5011"
|
||||
x="518"
|
||||
y="216.36218">BL2_bar</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="613"
|
||||
y="220.36218"
|
||||
id="text5013"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5015"
|
||||
x="613"
|
||||
y="220.36218">BL3</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="676"
|
||||
y="216.36218"
|
||||
id="text5017"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5019"
|
||||
x="676"
|
||||
y="216.36218">BL3_bar</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="13"
|
||||
y="357.36218"
|
||||
id="text5021"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5023"
|
||||
x="13"
|
||||
y="357.36218">A0</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="7"
|
||||
y="479.36218"
|
||||
id="text5025"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5027"
|
||||
x="7"
|
||||
y="479.36218">A0_bar</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="15"
|
||||
y="656.36218"
|
||||
id="text5029"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5031"
|
||||
x="15"
|
||||
y="656.36218">A1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="9"
|
||||
y="748.36218"
|
||||
id="text5033"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5035"
|
||||
x="9"
|
||||
y="748.36218">A1_bar</tspan></text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 31 KiB |
|
|
@ -1,866 +0,0 @@
|
|||
%!PS-Adobe-3.0 EPSF-3.0
|
||||
%%Creator: cairo 1.8.8 (http://cairographics.org)
|
||||
%%CreationDate: Mon Oct 17 14:59:32 2011
|
||||
%%Pages: 1
|
||||
%%BoundingBox: 0 0 630 399
|
||||
%%DocumentData: Clean7Bit
|
||||
%%LanguageLevel: 2
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
/cairo_eps_state save def
|
||||
/dict_count countdictstack def
|
||||
/op_count count 1 sub def
|
||||
userdict begin
|
||||
/q { gsave } bind def
|
||||
/Q { grestore } bind def
|
||||
/cm { 6 array astore concat } bind def
|
||||
/w { setlinewidth } bind def
|
||||
/J { setlinecap } bind def
|
||||
/j { setlinejoin } bind def
|
||||
/M { setmiterlimit } bind def
|
||||
/d { setdash } bind def
|
||||
/m { moveto } bind def
|
||||
/l { lineto } bind def
|
||||
/c { curveto } bind def
|
||||
/h { closepath } bind def
|
||||
/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto
|
||||
0 exch rlineto 0 rlineto closepath } bind def
|
||||
/S { stroke } bind def
|
||||
/f { fill } bind def
|
||||
/f* { eofill } bind def
|
||||
/B { fill stroke } bind def
|
||||
/B* { eofill stroke } bind def
|
||||
/n { newpath } bind def
|
||||
/W { clip } bind def
|
||||
/W* { eoclip } bind def
|
||||
/BT { } bind def
|
||||
/ET { } bind def
|
||||
/pdfmark where { pop globaldict /?pdfmark /exec load put }
|
||||
{ globaldict begin /?pdfmark /pop load def /pdfmark
|
||||
/cleartomark load def end } ifelse
|
||||
/BDC { mark 3 1 roll /BDC pdfmark } bind def
|
||||
/EMC { mark /EMC pdfmark } bind def
|
||||
/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def
|
||||
/Tj { show currentpoint cairo_store_point } bind def
|
||||
/TJ {
|
||||
{
|
||||
dup
|
||||
type /stringtype eq
|
||||
{ show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse
|
||||
} forall
|
||||
currentpoint cairo_store_point
|
||||
} bind def
|
||||
/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore
|
||||
cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def
|
||||
/Tf { pop /cairo_font exch def /cairo_font_matrix where
|
||||
{ pop cairo_selectfont } if } bind def
|
||||
/Td { matrix translate cairo_font_matrix matrix concatmatrix dup
|
||||
/cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point
|
||||
/cairo_font where { pop cairo_selectfont } if } bind def
|
||||
/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def
|
||||
cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def
|
||||
/g { setgray } bind def
|
||||
/rg { setrgbcolor } bind def
|
||||
/d1 { setcachedevice } bind def
|
||||
%%EndProlog
|
||||
11 dict begin
|
||||
/FontType 42 def
|
||||
/FontName /f-0-0 def
|
||||
/PaintType 0 def
|
||||
/FontMatrix [ 1 0 0 1 0 0 ] def
|
||||
/FontBBox [ 0 0 0 0 ] def
|
||||
/Encoding 256 array def
|
||||
0 1 255 { Encoding exch /.notdef put } for
|
||||
Encoding 1 /uni004D put
|
||||
Encoding 2 /uni0065 put
|
||||
Encoding 3 /uni006D put
|
||||
Encoding 4 /uni006F put
|
||||
Encoding 5 /uni0072 put
|
||||
Encoding 6 /uni0079 put
|
||||
Encoding 7 /uni0020 put
|
||||
Encoding 8 /uni0043 put
|
||||
Encoding 9 /uni0070 put
|
||||
Encoding 10 /uni0069 put
|
||||
Encoding 11 /uni006C put
|
||||
Encoding 12 /uni0028 put
|
||||
Encoding 13 /uni0050 put
|
||||
Encoding 14 /uni0074 put
|
||||
Encoding 15 /uni0068 put
|
||||
Encoding 16 /uni006E put
|
||||
Encoding 17 /uni0029 put
|
||||
Encoding 18 /uni004C put
|
||||
Encoding 19 /uni0067 put
|
||||
Encoding 20 /uni0063 put
|
||||
Encoding 21 /uni0061 put
|
||||
Encoding 22 /uni0045 put
|
||||
Encoding 23 /uni0046 put
|
||||
Encoding 24 /uni002F put
|
||||
Encoding 25 /uni0052 put
|
||||
Encoding 26 /uni0041 put
|
||||
Encoding 27 /uni0047 put
|
||||
Encoding 28 /uni0044 put
|
||||
Encoding 29 /uni0053 put
|
||||
Encoding 30 /uni0049 put
|
||||
Encoding 31 /uni0062 put
|
||||
Encoding 32 /uni002E put
|
||||
Encoding 33 /uni0056 put
|
||||
Encoding 34 /uni002D put
|
||||
Encoding 35 /uni0064 put
|
||||
Encoding 36 /uni0073 put
|
||||
Encoding 37 /uni0054 put
|
||||
Encoding 38 /uni0077 put
|
||||
Encoding 39 /uni007A put
|
||||
Encoding 40 /uni0075 put
|
||||
Encoding 41 /uni002C put
|
||||
Encoding 42 /uni0078 put
|
||||
Encoding 43 /uni0042 put
|
||||
Encoding 44 /uni006B put
|
||||
Encoding 45 /uni0055 put
|
||||
Encoding 46 /uni0066 put
|
||||
/CharStrings 47 dict dup begin
|
||||
/.notdef 0 def
|
||||
/uni004D 1 def
|
||||
/uni0065 2 def
|
||||
/uni006D 3 def
|
||||
/uni006F 4 def
|
||||
/uni0072 5 def
|
||||
/uni0079 6 def
|
||||
/uni0020 7 def
|
||||
/uni0043 8 def
|
||||
/uni0070 9 def
|
||||
/uni0069 10 def
|
||||
/uni006C 11 def
|
||||
/uni0028 12 def
|
||||
/uni0050 13 def
|
||||
/uni0074 14 def
|
||||
/uni0068 15 def
|
||||
/uni006E 16 def
|
||||
/uni0029 17 def
|
||||
/uni004C 18 def
|
||||
/uni0067 19 def
|
||||
/uni0063 20 def
|
||||
/uni0061 21 def
|
||||
/uni0045 22 def
|
||||
/uni0046 23 def
|
||||
/uni002F 24 def
|
||||
/uni0052 25 def
|
||||
/uni0041 26 def
|
||||
/uni0047 27 def
|
||||
/uni0044 28 def
|
||||
/uni0053 29 def
|
||||
/uni0049 30 def
|
||||
/uni0062 31 def
|
||||
/uni002E 32 def
|
||||
/uni0056 33 def
|
||||
/uni002D 34 def
|
||||
/uni0064 35 def
|
||||
/uni0073 36 def
|
||||
/uni0054 37 def
|
||||
/uni0077 38 def
|
||||
/uni007A 39 def
|
||||
/uni0075 40 def
|
||||
/uni002C 41 def
|
||||
/uni0078 42 def
|
||||
/uni0042 43 def
|
||||
/uni006B 44 def
|
||||
/uni0055 45 def
|
||||
/uni0066 46 def
|
||||
end readonly def
|
||||
/sfnts [
|
||||
<00010000000a008000030020636d61700252f32d00001fd00000009c63767420ffd31d390000
|
||||
206c000001fc6670676de7b4f1c4000022680000008b676c79661cacd2b0000000ac00001f24
|
||||
68656164dd84a2d0000022f40000003668686561104507920000232c00000024686d7478d559
|
||||
18d200002350000000bc6c6f6361aa82b2fc0000240c000000606d617870046a063a0000246c
|
||||
00000020707265703b07f1000000248c0000056800020066fe96046605a400030007001a400c
|
||||
04fb0006fb0108057f0204002fc4d4ec310010d4ecd4ec301311211125211121660400fc7303
|
||||
1bfce5fe96070ef8f2720629000100c90000061f05d5000c00bf403403110708070211010208
|
||||
080702110302090a0901110a0a09420a070203080300af080b050908030201050a061c043e0a
|
||||
1c00040d10fcecfcec11173931002f3cc4ec32111739304b5358071005ed071008ed071008ed
|
||||
071005ed5922b2700e01015d405603070f080f09020a15021407130a260226072007260a200a
|
||||
3407350a69027c027b07790a80028207820a90021604010b0313011b0323012c032708280934
|
||||
013c035608590965086a097608790981018d0395019b03145d005d1321090121112311012301
|
||||
1123c9012d017d017f012dc5fe7fcbfe7fc405d5fc0803f8fa2b051ffc000400fae100000002
|
||||
0071ffe3047f047b0014001b00704024001501098608880515a90105b90c01bb18b912b80c8c
|
||||
1c1b1502081508004b02120f451c10fcecf4ecc4111239310010e4f4ece410ee10ee10f4ee11
|
||||
12393040293f1d701da01dd01df01d053f003f013f023f153f1b052c072f082f092c0a6f006f
|
||||
016f026f156f1b095d71015d0115211e0133323637150e01232000111000333200072e012322
|
||||
0607047ffcb20ccdb76ac76263d06bfef4fec70129fce20107b802a5889ab90e025e5abec734
|
||||
34ae2a2c0138010a01130143feddc497b4ae9e00000100ba0000071d047b0022005a40260612
|
||||
09180f00061d07150c871d2003b81bbc19100700110f0808065011080f501c18081a462310fc
|
||||
ec32fcfcfcec11123931002f3c3ce4f43cc4ec32111217393040133024502470249024a024a0
|
||||
24bf24df24ff2409015d013e0133321615112311342623220615112311342623220615112311
|
||||
33153e01333216042945c082afbeb972758fa6b972778da6b9b93fb0797aab03897c76f5e2fd
|
||||
5c029ea19cbea4fd87029ea29bbfa3fd870460ae67627c00000000020071ffe30475047b000b
|
||||
0017004a401306b91200b90cb8128c1809120f51031215451810fcecf4ec310010e4f4ec10ee
|
||||
3040233f197b007b067f077f087f097f0a7f0b7b0c7f0d7f0e7f0f7f107f117b12a019f01911
|
||||
015d012206151416333236353426273200111000232200111000027394acab9593acac93f001
|
||||
12feeef0f1feef011103dfe7c9c9e7e8c8c7e99cfec8feecfeedfec701390113011401380000
|
||||
000100ba0000034a047b001100304014060b0700110b03870eb809bc070a06080008461210fc
|
||||
c4ec3231002fe4f4ecc4d4cc11123930b450139f1302015d012e012322061511231133153e01
|
||||
33321617034a1f492c9ca7b9b93aba85132e1c03b41211cbbefdb20460ae6663050500000001
|
||||
003dfe56047f0460000f01a240430708020911000f0a110b0a00000f0e110f000f0d110c0d00
|
||||
000f0d110e0d0a0b0a0c110b0b0a420d0b0910000b058703bd0e0bbc100e0d0c0a0906030008
|
||||
0f040f0b1010d4c4c4111739310010e432f4ec113911391239304b5358071005ed071008ed07
|
||||
1008ed071005ed071008ed0705ed17325922014bb00a544bb008545b58bd0010ffc000010010
|
||||
001000403811373859014bb0145458bd00100040000100100010ffc0381137385940f0060005
|
||||
080609030d160a170d100d230d350d490a4f0a4e0d5a095a0a6a0a870d800d930d120a000a09
|
||||
060b050c0b0e0b0f1701150210041005170a140b140c1a0e1a0f270024012402200420052908
|
||||
2809250a240b240c270d2a0e2a0f201137003501350230043005380a360b360c380d390e390f
|
||||
30114100400140024003400440054006400740084209450a470d490e490f4011540051015102
|
||||
5503500450055606550756085709570a550b550c590e590f501166016602680a690e690f6011
|
||||
7b08780e780f89008a09850b850c890d890e890f9909950b950c9a0e9a0fa40ba40cab0eab0f
|
||||
b011cf11df11ff11655d005d050e012b01353332363f01013309013302934e947c936c4c5433
|
||||
21fe3bc3015e015ec368c87a9a488654044efc94036c00010073ffe3052705f000190036401a
|
||||
0da10eae0a951101a100ae04951791118c1a07190d003014101a10fcec32ec310010e4f4ecf4
|
||||
ec10eef6ee30b40f1b1f1b02015d01152e0123200011100021323637150e0123200011100021
|
||||
3216052766e782ff00fef00110010082e7666aed84feadfe7a0186015386ed0562d55f5efec7
|
||||
fed8fed9fec75e5fd34848019f01670168019f470000000200bafe5604a4047b0010001c003e
|
||||
401b1ab9000e14b90508b80e8c01bd03bc1d11120b471704000802461d10fcec3232f4ec3100
|
||||
10e4e4e4f4c4ec10c4ee304009601e801ea01ee01e04015d2511231133153e01333212111002
|
||||
2322260134262322061514163332360173b9b93ab17bccffffcc7bb10238a79292a7a79292a7
|
||||
a8fdae060aaa6461febcfef8fef8febc6101ebcbe7e7cbcbe7e7000200c10000017906140003
|
||||
0007002b400e06be04b100bc020501080400460810fc3cec3231002fe4fcec30400b10094009
|
||||
50096009700905015d1333112311331523c1b8b8b8b80460fba00614e900000100c100000179
|
||||
061400030022b7009702010800460410fcec31002fec30400d10054005500560057005f00506
|
||||
015d13331123c1b8b80614f9ec00000100b0fef2027b0612000d004f400f069800970e0d0700
|
||||
03120600130a0e10dce432ec113939310010fcec30014bb0135458bd000e00400001000e000e
|
||||
ffc03811373859014bb00f5458bd000effc00001000e000e0040381137385901060215141217
|
||||
23260235341237027b86828385a0969594970612e6fe3ee7e7fe3be5eb01c6e0df01c4ec0002
|
||||
00c90000048d05d500080013003a40180195100095098112100a0802040005190d3f11001c09
|
||||
041410fcec32fcec11173931002ff4ecd4ec30400b0f151f153f155f15af1505015d01113332
|
||||
3635342623252132041514042b0111230193fe8d9a9a8dfe3801c8fb0101fefffbfeca052ffd
|
||||
cf92878692a6e3dbdde2fda800010037000002f2059e0013003840190e05080f03a9001101bc
|
||||
08870a0b08090204000810120e461410fc3cc4fc3cc432393931002fecf43cc4ec3211393930
|
||||
b2af1501015d01112115211114163b01152322263511233533110177017bfe854b73bdbdd5a2
|
||||
8787059efec28ffda0894e9a9fd202608f013e000000000100ba000004640614001300344019
|
||||
030900030e0106870e11b80c970a010208004e0d09080b461410fcec32f4ec31002f3cecf4c4
|
||||
ec1112173930b2601501015d0111231134262322061511231133113e013332160464b87c7c95
|
||||
acb9b942b375c1c602a4fd5c029e9f9ebea4fd870614fd9e6564ef00000100ba00000464047b
|
||||
001300364019030900030e0106870e11b80cbc0a010208004e0d09080b461410fcec32f4ec31
|
||||
002f3ce4f4c4ec1112173930b46015cf1502015d0111231134262322061511231133153e0133
|
||||
32160464b87c7c95acb9b942b375c1c602a4fd5c029e9f9ebea4fd870460ae6564ef000100a4
|
||||
fef2026f0612000d001f400f079800970e0701000b12041308000e10dc3cf4ec113939310010
|
||||
fcec301333161215140207233612353402a4a096959596a08583830612ecfe3cdfe0fe3aebe5
|
||||
01c5e7e701c20000000100c90000046a05d500050025400c0295008104011c033a00040610fc
|
||||
ecec31002fe4ec304009300750078003800404015d133311211521c9ca02d7fc5f05d5fad5aa
|
||||
00020071fe56045a047b000b0028004a4023190c1d0912861316b90f03b92623b827bc09b90f
|
||||
bd1a1d261900080c4706121220452910fcc4ecf4ec323231002fc4e4ece4f4c4ec10fed5ee11
|
||||
12393930b6602a802aa02a03015d01342623220615141633323617100221222627351e013332
|
||||
363d010e0123220211101233321617353303a2a59594a5a59495a5b8fefefa61ac51519e52b5
|
||||
b439b27ccefcfcce7cb239b8023dc8dcdcc8c7dcdcebfee2fee91d1eb32c2abdbf5b6362013a
|
||||
01030104013a6263aa0000010071ffe303e7047b0019003f401b00860188040e860d880ab911
|
||||
04b917b8118c1a07120d004814451a10fce432ec310010e4f4ec10fef4ee10f5ee30400b0f1b
|
||||
101b801b901ba01b05015d01152e0123220615141633323637150e0123220011100021321603
|
||||
e74e9d50b3c6c6b3509d4e4da55dfdfed6012d010655a20435ac2b2be3cdcde32b2baa242401
|
||||
3e010e0112013a2300000002007bffe3042d047b000a002500bc4027191f0b17090e00a91706
|
||||
b90e1120861fba1cb923b8118c170c001703180d09080b1f030814452610fcecccd4ec323211
|
||||
393931002fc4e4f4fcf4ec10c6ee10ee11391139123930406e301d301e301f3020302130223f
|
||||
27401d401e401f402040214022501d501e501f50205021502250277027851d871e871f872087
|
||||
2185229027a027f0271e301e301f30203021401e401f40204021501e501f50205021601e601f
|
||||
60206021701e701f70207021801e801f80208021185d015d0122061514163332363d01371123
|
||||
350e01232226353436332135342623220607353e0133321602bedfac816f99b9b8b83fbc88ac
|
||||
cbfdfb0102a79760b65465be5af3f00233667b6273d9b4294cfd81aa6661c1a2bdc0127f8b2e
|
||||
2eaa2727fc00000100c90000048b05d5000b002e401506950402950081089504ad0a05010907
|
||||
031c00040c10fcec32d4c4c431002fececf4ec10ee30b21f0d01015d13211521112115211121
|
||||
1521c903b0fd1a02c7fd3902f8fc3e05d5aafe46aafde3aa0000000100c90000042305d50009
|
||||
002940120695040295008104ad08050107031c00040a10fcec32d4c431002fecf4ec10ee30b2
|
||||
0f0b01015d13211521112115211123c9035afd700250fdb0ca05d5aafe48aafd370000010000
|
||||
ff4202b205d50003002d4014001a010201021a03000342029f008104020001032fc439393100
|
||||
10f4ec304b5358071005ed071005ed5922013301230208aafdf8aa05d5f96d000000000200c9
|
||||
0000055405d50013001c00b14035090807030a06110304030511040403420604001503041595
|
||||
0914950d810b040506031109001c160e050a191904113f140a1c0c041d10fcec32fcc4ec1117
|
||||
391139393931002f3cf4ecd4ec123912391239304b5358071005ed071005ed1117395922b240
|
||||
1e01015d40427a13010500050105020603070415001501140216031704250025012502260327
|
||||
06260726082609201e3601360246014602680575047505771388068807980698071f5d005d01
|
||||
1e01171323032e012b01112311212016151406011133323635342623038d417b3ecdd9bf4a8b
|
||||
78dcca01c80100fc83fd89fe9295959202bc16907efe68017f9662fd8905d5d6d88dba024ffd
|
||||
ee8783838500000200100000056805d50002000a00ba40410011010004050402110505040111
|
||||
0a030a0011020003030a0711050406110505040911030a08110a030a42000307950103810905
|
||||
09080706040302010009050a0b10d4c4173931002f3ce4d4ec1239304b5358071005ed0705ed
|
||||
071005ed0705ed071008ed071005ed071005ed071008ed5922b2200c01015d403a0f00580076
|
||||
0070008c000507010802060309041601190256015802500c67016802780176027c0372047707
|
||||
780887018802800c980299039604175d005d090121013301230321032302bcfeee0225fe7be5
|
||||
0239d288fd5f88d5050efd1903aefa2b017ffe81000000010073ffe3058b05f0001d00394020
|
||||
00051b0195031b950812a111ae15950e91088c1e02001c1134043318190b101e10fcecfce4fc
|
||||
c4310010e4f4ecf4ec10fed4ee11393930251121352111060423200011100021320417152626
|
||||
23200011100021323604c3feb6021275fee6a0fea2fe75018b015e9201076f70fc8bfeeefeed
|
||||
011301126ba8d50191a6fd7f53550199016d016e01994846d75f60fecefed1fed2fece250000
|
||||
000200c9000005b005d500080011002e4015009509810195100802100a0005190d32001c0904
|
||||
1210fcecf4ec113939393931002fecf4ec30b2601301015d0111332000111000212521200011
|
||||
100029010193f40135011ffee1fecbfe42019f01b20196fe68fe50fe61052ffb770118012e01
|
||||
2c0117a6fe97fe80fe7efe96000000010087ffe304a205f00027007e403c0d0c020e0b021e1f
|
||||
1e080902070a021f1f1e420a0b1e1f0415010015a11494189511049500942591118c281e0a0b
|
||||
1f1b0700221b190e2d071914222810dcc4ecfcece4111239393939310010e4f4e4ec10eef6ee
|
||||
10c6111739304b535807100eed11173907100eed1117395922b20f2901015db61f292f294f29
|
||||
035d01152e012322061514161f011e0115140421222627351e013332363534262f012e013534
|
||||
24333216044873cc5fa5b377a67ae2d7feddfee76aef807bec72adbc879a7be2ca0117f569da
|
||||
05a4c53736807663651f192bd9b6d9e0302fd04546887e6e7c1f182dc0abc6e42600000100c9
|
||||
0000019305d500030039b700af02011c00040410fcec31002fec30014bb0105458bd0004ffc0
|
||||
00010004000400403811373859400d30054005500560058f059f05065d13331123c9caca05d5
|
||||
fa2b0000000200baffe304a40614000b001c0038401903b90c0f09b918158c0fb81b97190012
|
||||
1247180c06081a461d10fcec3232f4ec31002fece4f4c4ec10c6ee30b6601e801ea01e03015d
|
||||
013426232206151416333236013e01333212111002232226271523113303e5a79292a7a79292
|
||||
a7fd8e3ab17bccffffcc7bb13ab9b9022fcbe7e7cbcbe7e702526461febcfef8fef8febc6164
|
||||
a8061400000100db000001ae00fe00030011b7008302011900180410fcec31002fec30373315
|
||||
23dbd3d3fefe000100100000056805d5000600b7402704110506050311020306060503110403
|
||||
000100021101010042030401af0006040302000505010710d4c4173931002fec3239304b5358
|
||||
071005ed071008ed071008ed071005ed5922b2500801015d406200032a03470447055a037d03
|
||||
8303070600070208040906150114021a041a052a002601260229042905250620083800330133
|
||||
023c043c053706480045014502490449054706590056066602690469057a0076017602790479
|
||||
057506800898009706295d005d21013309013301024afdc6d301d901dad2fdc705d5fb1704e9
|
||||
fa2b0001006401df027f028300030011b6009c020401000410dccc310010d4ec301321152164
|
||||
021bfde50283a40000020071ffe3045a06140010001c003840191ab9000e14b905088c0eb801
|
||||
970317040008024711120b451d10fcecf4ec323231002fece4f4c4ec10c4ee30b6601e801ea0
|
||||
1e03015d0111331123350e0123220211101233321601141633323635342623220603a2b8b83a
|
||||
b17ccbffffcb7cb1fdc7a79292a8a89292a703b6025ef9eca86461014401080108014461fe15
|
||||
cbe7e7cbcbe7e7000001006fffe303c7047b002700e7403c0d0c020e0b531f1e080902070a53
|
||||
1e1f1e420a0b1e1f041500860189041486158918b91104b925b8118c281e0a0b1f1b0700521b
|
||||
080e07081422452810fcc4ecd4ece4111239393939310010e4f4ec10fef5ee10f5ee12173930
|
||||
4b535807100eed111739070eed1117395922b2002701015d406d1c0a1c0b1c0c2e092c0a2c0b
|
||||
2c0c3b093b0a3b0b3b0c0b200020012402280a280b2a132f142f152a16281e281f2920292124
|
||||
27860a860b860c860d12000000010202060a060b030c030d030e030f03100319031a031b031c
|
||||
041d09272f293f295f297f2980299029a029f029185d005d7101152e012322061514161f011e
|
||||
0115140623222627351e013332363534262f012e01353436333216038b4ea85a898962943fc4
|
||||
a5f7d85ac36c66c661828c65ab40ab98e0ce66b4043fae282854544049210e2a99899cb62323
|
||||
be353559514b50250f2495829eac1e0000000001fffa000004e905d50007004a400e06029500
|
||||
81040140031c0040050810d4e4fce431002ff4ec3230014bb00a5458bd000800400001000800
|
||||
08ffc03811373859401300091f00100110021f071009400970099f09095d0321152111231121
|
||||
0604effdeecbfdee05d5aafad5052b0000010056000006350460000c0201404905550605090a
|
||||
0904550a0903550a0b0a025501020b0b0a061107080705110405080807021103020c000c0111
|
||||
00000c420a050203060300bf0b080c0b0a09080605040302010b07000d10d4cc173931002f3c
|
||||
ec32321739304b5358071005ed071008ed071008ed071005ed071008ed071005ed0705ed0710
|
||||
08ed5922014bb00a544bb011545b4bb012545b4bb013545b4bb00b545b58bd000dffc0000100
|
||||
0d000d00403811373859014bb00c544bb00d545b4bb010545b58bd000d00400001000d000dff
|
||||
c0381137385940ff050216021605220a350a49024905460a400a5b025b05550a500a6e026e05
|
||||
660a79027f0279057f05870299029805940abc02bc05ce02c703cf051d0502090306040b050a
|
||||
080b09040b050c1502190316041a051b081b09140b150c250025012302270321042505220622
|
||||
0725082709240a210b230c390336043608390c300e4602480346044004420540064007400844
|
||||
09440a440b400e400e560056015602500451055206520750085309540a550b6300640165026a
|
||||
0365046a056a066a076e09610b670c6f0e7500750179027d0378047d057a067f067a077f0778
|
||||
0879097f097b0a760b7d0c870288058f0e97009701940293039c049b05980698079908402f96
|
||||
0c9f0ea600a601a402a403ab04ab05a906a907ab08a40caf0eb502b103bd04bb05b809bf0ec4
|
||||
02c303cc04ca05795d005d13331b01331b013301230b012356b8e6e5d9e6e5b8fedbd9f1f2d9
|
||||
0460fc96036afc96036afba00396fc6a000000010058000003db0460000900b4401a08110203
|
||||
0203110708074208a900bc03a905080301000401060a10dcc432c411393931002fecf4ec304b
|
||||
5358071005ed071005ed5922014bb00b544bb00c545b58bd000a00400001000a000affc03811
|
||||
373859014bb0135458bd000affc00001000a000a004038113738594042050216022602470249
|
||||
07050b080f0b18031b082b08200b36033908300b400140024503400440054308570359085f0b
|
||||
6001600266036004600562087f0b800baf0b1b5d005d1321150121152135012171036afd4c02
|
||||
b4fc7d02b4fd650460a8fcdb93a803250000000100aeffe30458046000130036401903090003
|
||||
0e0106870e118c0a01bc0c0d09080b4e020800461410fcecf4ec3231002fe432f4c4ec111217
|
||||
3930b46015cf1502015d1311331114163332363511331123350e01232226aeb87c7c95adb8b8
|
||||
43b175c1c801ba02a6fd619f9fbea4027bfba0ac6663f0000001009eff1201c300fe00050019
|
||||
400c039e0083060304011900180610fcecd4cc310010fcec30373315032313f0d3a48152feac
|
||||
fec001400001003b000004790460000b015a4046051106070604110304070706041105040102
|
||||
0103110202010b110001000a11090a0101000a110b0a0708070911080807420a070401040800
|
||||
bf05020a0704010408000208060c10d4c4d4c411173931002f3cec321739304b5358071005ed
|
||||
071008ed071008ed071005ed071005ed071008ed071008ed071005ed5922014bb00a544bb00f
|
||||
545b4bb010545b4bb011545b58bd000cffc00001000c000c00403811373859014bb0145458bd
|
||||
000c00400001000c000cffc0381137385940980a04040a1a04150a260a3d04310a5504570758
|
||||
0a660a76017a047607740a8d04820a99049f049707920a900aa601a904af04a507a30aa00a1c
|
||||
0a03040505090a0b1a03150515091a0b2903260525092a0b200d3a013903370534073609390b
|
||||
300d4903460545094a0b400d590056015902590357055606590756085609590b500d6f0d7801
|
||||
7f0d9b019407ab01a407b00dcf0ddf0dff0d2f5d005d09022309012309013309010464fe6b01
|
||||
aad9febafebad901b3fe72d9012901290460fddffdc101b8fe48024a0216fe71018f00000003
|
||||
00c9000004ec05d5000800110020004340231900950a0995128101950aad1f110b080213191f
|
||||
05000e1c1605191c2e09001c12042110fcec32fcecd4ec111739393931002fececf4ec10ee39
|
||||
30b20f2201015d01112132363534262301112132363534262325213216151406071e01151404
|
||||
232101930144a39d9da3febc012b94919194fe0b0204e7fa807c95a5fef0fbfde802c9fddd87
|
||||
8b8c850266fe3e6f727170a6c0b189a21420cb98c8da000100ba0000049c0614000a00bc4029
|
||||
0811050605071106060503110405040211050504420805020303bc0097090605010406080108
|
||||
00460b10fcec32d4c4113931002f3cece41739304b5358071004ed071005ed071005ed071004
|
||||
ed5922b2100c01015d405f04020a081602270229052b0856026602670873027705820289058e
|
||||
08930296059708a3021209050906020b030a072803270428052b062b07400c6803600c890385
|
||||
0489058d068f079a039707aa03a705b607c507d607f703f003f704f0041a5d71005d13331101
|
||||
33090123011123bab90225ebfdae026bf0fdc7b90614fc6901e3fdf4fdac0223fddd000100b2
|
||||
ffe3052905d50011004b40160802110b0005950e8c09008112081c0a38011c00411210fcecfc
|
||||
ec310010e432f4ec113939393930014bb0105458bd00120040000100120012ffc03811373859
|
||||
b61f138f139f13035d133311141633323635113311100021200011b2cbaec3c2aecbfedffee6
|
||||
fee5fedf05d5fc75f0d3d3f0038bfc5cfedcfed6012a012400000001002f000002f806140013
|
||||
0070401c0510010c08a906018700970e06bc0a02130700070905080d0f0b4c1410fc3cc4fc3c
|
||||
c4c412393931002fe432fcec10ee3212393930014bb00a5458bd0014ffc00001001400140040
|
||||
3811373859014bb00e5458bd00140040000100140014ffc03811373859b640155015a015035d
|
||||
01152322061d012115211123112335333534363302f8b0634d012ffed1b9b0b0aebd06149950
|
||||
68638ffc2f03d18f4ebbab000000000200030000000000140001000000000034000400200000
|
||||
0004000400010000f02effff0000f000ffff10000001000000000006006800000000002f0000
|
||||
000100020003000400050006000700080009000a000b000c000d000e000f0010001100120013
|
||||
001400150016001700180019001a001b001c001d001e001f0020002100220023002400250026
|
||||
002700280029002a002b002c002d002e013500b800cb00cb00c100aa009c01a600b800660000
|
||||
007100cb00a002b20085007500b800c301cb0189022d00cb00a600f000d300aa008700cb03aa
|
||||
0400014a003300cb000000d9050200f4015400b4009c01390114013907060400044e04b40452
|
||||
04b804e704cd0037047304cd04600473013303a2055605a60556053903c5021200c9001f00b8
|
||||
01df007300ba03e9033303bc0444040e00df03cd03aa00e503aa0404000000cb008f00a4007b
|
||||
00b80014016f007f027b0252008f00c705cd009a009a006f00cb00cd019e01d300f000ba0183
|
||||
00d5009803040248009e01d500c100cb00f600830354027f00000333026600d300c700a400cd
|
||||
008f009a0073040005d5010a00fe022b00a400b4009c00000062009c0000001d032d05d505d5
|
||||
05d505f0007f007b005400a406b80614072301d300b800cb00a601c301ec069300a000d3035c
|
||||
037103db0185042304a80448008f0139011401390360008f05d5019a06140723066601790460
|
||||
04600460047b009c00000277046001aa00e904600762007b00c5007f027b000000b4025205cd
|
||||
006600bc00660077061000cd013b01850389008f007b0000001d00cd074a042f009c009c0000
|
||||
077d006f0000006f0335006a006f007b00ae00b2002d0396008f027b00f600830354063705f6
|
||||
008f009c04e10266008f018d02f600cd03440029006604ee007300001400b606050403020100
|
||||
2c2010b002254964b040515820c859212d2cb002254964b040515820c859212d2c20100720b0
|
||||
0050b00d7920b8ffff5058041b0559b0051cb0032508b0042523e120b00050b00d7920b8ffff
|
||||
5058041b0559b0051cb0032508e12d2c4b505820b0fd454459212d2cb002254560442d2c4b53
|
||||
58b00225b0022545445921212d2c45442d000001000000020000322394a85f0f3cf5001f0800
|
||||
00000000bab9f0b800000000bac26791fe89fe1d0a4c076d0000000800010000000000000001
|
||||
0000076dfe1d00000abcfe89fe890a4c00010000000000000000000000000000002f04cd0066
|
||||
06e700c904ec007107cb00ba04e50071034a00ba04bc003d028b000005960073051400ba0239
|
||||
00c1023900c1031f00b004d300c903230037051200ba051200ba031f00a4047500c905140071
|
||||
0466007104e7007b050e00c9049a00c902b20000058f00c90579001006330073062900c90514
|
||||
0087025c00c9051400ba028b00db0579001002e3006405140071042b006f04e3fffa068b0056
|
||||
04330058051200ae028b009e04bc003b057d00c904a200ba05db00b202d1002f0000002200a0
|
||||
010a016c01be01f602e602e60332038003a803c6040a044a048804c40500052c054e05b205fe
|
||||
069406c406ee0714079e0818086c08ac09280952099e09b20a220a380a840b340b6c0c8a0cfc
|
||||
0d380d540e220e7a0ef20f3a0f9200010000002f004d00070042000400020010004000070000
|
||||
0415056800030001b8028040fffbfe03fa1403f92503f83203f79603f60e03f5fe03f4fe03f3
|
||||
2503f20e03f19603f02503ef8a4105effe03ee9603ed9603ecfa03ebfa03eafe03e93a03e842
|
||||
03e7fe03e63203e5e45305e59603e48a4105e45303e3e22f05e3fa03e22f03e1fe03e0fe03df
|
||||
3203de1403dd9603dcfe03db1203da7d03d9bb03d8fe03d68a4105d67d03d5d44705d57d03d4
|
||||
4703d3d21b05d3fe03d21b03d1fe03d0fe03cffe03cefe03cd9603cccb1e05ccfe03cb1e03ca
|
||||
3203c9fe03c6851105c61c03c51603c4fe03c3fe03c2fe03c1fe03c0fe03bffe03befe03bdfe
|
||||
03bcfe03bbfe03ba1103b9862505b9fe03b8b7bb05b8fe03b7b65d05b7bb03b78004b6b52505
|
||||
b65d40ff03b64004b52503b4fe03b39603b2fe03b1fe03b0fe03affe03ae6403ad0e03acab25
|
||||
05ac6403abaa1205ab2503aa1203a98a4105a9fa03a8fe03a7fe03a6fe03a51203a4fe03a3a2
|
||||
0e05a33203a20e03a16403a08a4105a096039ffe039e9d0c059efe039d0c039c9b19059c6403
|
||||
9b9a10059b19039a1003990a0398fe0397960d0597fe03960d03958a410595960394930e0594
|
||||
2803930e0392fa039190bb0591fe03908f5d0590bb039080048f8e25058f5d038f40048e2503
|
||||
8dfe038c8b2e058cfe038b2e038a8625058a410389880b05891403880b038786250587640386
|
||||
85110586250385110384fe038382110583fe0382110381fe0380fe037ffe0340ff7e7d7d057e
|
||||
fe037d7d037c64037b5415057b25037afe0379fe03780e03770c03760a0375fe0374fa0373fa
|
||||
0372fa0371fa0370fe036ffe036efe036c21036bfe036a1142056a530369fe03687d03671142
|
||||
0566fe0365fe0364fe0363fe0362fe03613a0360fa035e0c035dfe035bfe035afe0359580a05
|
||||
59fa03580a035716190557320356fe035554150555420354150353011005531803521403514a
|
||||
130551fe03500b034ffe034e4d10054efe034d10034cfe034b4a13054bfe034a4910054a1303
|
||||
491d0d05491003480d0347fe0346960345960344fe0343022d0543fa0342bb03414b0340fe03
|
||||
3ffe033e3d12053e14033d3c0f053d12033c3b0d053c40ff0f033b0d033afe0339fe03383714
|
||||
0538fa033736100537140336350b05361003350b03341e03330d0332310b0532fe03310b0330
|
||||
2f0b05300d032f0b032e2d09052e10032d09032c32032b2a25052b64032a2912052a25032912
|
||||
032827250528410327250326250b05260f03250b0324fe0323fe03220f032101100521120320
|
||||
64031ffa031e1d0d051e64031d0d031c1142051cfe031bfa031a42031911420519fe03186403
|
||||
1716190517fe031601100516190315fe0314fe0313fe031211420512fe0311022d0511420310
|
||||
7d030f64030efe030d0c16050dfe030c0110050c16030bfe030a100309fe0308022d0508fe03
|
||||
0714030664030401100504fe03401503022d0503fe0302011005022d0301100300fe0301b801
|
||||
64858d012b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
|
||||
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
|
||||
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
|
||||
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
|
||||
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b002b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
|
||||
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
|
||||
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
|
||||
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b
|
||||
2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b1d00>
|
||||
] def
|
||||
FontName currentdict end definefont pop
|
||||
%%Page: 1 1
|
||||
%%BeginPageSetup
|
||||
%%PageBoundingBox: 0 0 630 399
|
||||
%%EndPageSetup
|
||||
q
|
||||
0 g
|
||||
1.005231 w
|
||||
0 J
|
||||
0 j
|
||||
[] 0.0 d
|
||||
4 M q 1 0 0 -1 0 398.268463 cm
|
||||
220.387 54.336 m 351.496 54.336 l 351.496 88.773 l 220.387 88.773 l
|
||||
220.387 54.336 l h
|
||||
220.387 54.336 m S Q
|
||||
BT
|
||||
9.6 0 0 9.6 240.400003 325.596368 Tm
|
||||
/f-0-0 1 Tf
|
||||
[<01>1<02>2<03>2<0405>-1<060708>-1<0403>2<090a0b>1<02>2<05>]TJ
|
||||
0 -1.25 Td
|
||||
[<0c0d>-1<060e0f>-1<0410>-1<11>]TJ
|
||||
ET
|
||||
1.60016 w
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
175.582 163.477 m 175.582 168.566 160.82 172.695 142.613 172.695 c
|
||||
124.402 172.695 109.645 168.566 109.645 163.477 c 109.645 158.383
|
||||
124.402 154.254 142.613 154.254 c 160.82 154.254 175.582 158.383
|
||||
175.582 163.477 c h
|
||||
175.582 163.477 m S Q
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
175.504 212.371 m 175.504 217.461 160.742 221.59 142.535 221.59 c
|
||||
124.328 221.59 109.566 217.461 109.566 212.371 c 109.566 207.277
|
||||
124.328 203.148 142.535 203.148 c 160.742 203.148 175.504 207.277
|
||||
175.504 212.371 c h
|
||||
175.504 212.371 m S Q
|
||||
1.6 w
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
175.023 163.754 m 175.023 212.371 l S Q
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
109.645 163.477 m 109.645 212.09 l S Q
|
||||
1.60016 w
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
311.406 163.895 m 311.406 168.988 296.645 173.113 278.438 173.113 c
|
||||
260.227 173.113 245.469 168.988 245.469 163.895 c 245.469 158.801
|
||||
260.227 154.676 278.438 154.676 c 296.645 154.676 311.406 158.801
|
||||
311.406 163.895 c h
|
||||
311.406 163.895 m S Q
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
311.328 212.789 m 311.328 217.879 296.566 222.008 278.359 222.008 c
|
||||
260.152 222.008 245.391 217.879 245.391 212.789 c 245.391 207.695
|
||||
260.152 203.57 278.359 203.57 c 296.566 203.57 311.328 207.695 311.328
|
||||
212.789 c h
|
||||
311.328 212.789 m S Q
|
||||
1.6 w
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
310.844 164.176 m 310.844 212.789 l S Q
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
245.469 163.895 m 245.469 212.508 l S Q
|
||||
1.60016 w
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
439.926 166.688 m 439.926 171.781 425.164 175.91 406.957 175.91 c
|
||||
388.75 175.91 373.988 171.781 373.988 166.688 c 373.988 161.598 388.75
|
||||
157.469 406.957 157.469 c 425.164 157.469 439.926 161.598 439.926
|
||||
166.688 c h
|
||||
439.926 166.688 m S Q
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
439.848 215.582 m 439.848 220.676 425.09 224.801 406.883 224.801 c
|
||||
388.672 224.801 373.914 220.676 373.914 215.582 c 373.914 210.492
|
||||
388.672 206.363 406.883 206.363 c 425.09 206.363 439.848 210.492
|
||||
439.848 215.582 c h
|
||||
439.848 215.582 m S Q
|
||||
1.6 w
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
439.367 166.969 m 439.367 215.582 l S Q
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
373.988 166.688 m 373.988 215.305 l S Q
|
||||
1.60016 w
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
252.73 339.355 m 252.73 344.445 237.973 348.574 219.762 348.574 c
|
||||
201.555 348.574 186.793 344.445 186.793 339.355 c 186.793 334.262
|
||||
201.555 330.133 219.762 330.133 c 237.973 330.133 252.73 334.262 252.73
|
||||
339.355 c h
|
||||
252.73 339.355 m S Q
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
252.656 388.25 m 252.656 393.34 237.895 397.469 219.688 397.469 c
|
||||
201.48 397.469 186.719 393.34 186.719 388.25 c 186.719 383.156 201.48
|
||||
379.027 219.688 379.027 c 237.895 379.027 252.656 383.156 252.656
|
||||
388.25 c h
|
||||
252.656 388.25 m S Q
|
||||
1.6 w
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
252.172 339.633 m 252.172 388.25 l S Q
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
186.793 339.355 m 186.793 387.969 l S Q
|
||||
BT
|
||||
9.6 0 0 9.6 75.557163 243.454333 Tm
|
||||
/f-0-0 1 Tf
|
||||
[<12>18<04>1<130a14>1<15>-2<0b>]TJ
|
||||
18.684519 -2.996216 Td
|
||||
[<1216>1<17>1<18>-1<17>1<19>41<1a01>]TJ
|
||||
0 -1.25 Td
|
||||
[<1b1c1d>-2<1e1e>]TJ
|
||||
12.805588 0.0276477 Td
|
||||
[<120a>1<1f02>2<05>-1<0e>-1<06070c>-1<200b0a>1<1f11>]TJ
|
||||
-26.891736 1.133586 Td
|
||||
[<1d>-2<090a>1<14>1<02>1<18>-1<12>110<21>1<1d>]TJ
|
||||
0 -1.25 Td
|
||||
[<21>79<02>2<05>-1<0a0b>1<0413>]TJ
|
||||
8.43187 5.747114 Td
|
||||
[<17>73<05>21<0410>-1<0e22>-1<16>1<10>-1<23>]TJ
|
||||
0 -1.25 Td
|
||||
[<0d0f>-1<0624>-1<0a>1<14>1<15>-3<0b>]TJ
|
||||
25.203725 -0.0305608 Td
|
||||
[<16>1<24>-1<0e0a03>2<15>-2<0e>-1<02>2<23>]TJ
|
||||
0 -1.25 Td
|
||||
[<25>29<0a03>2<0a10>-1<1318>-1<0d>35<042602>2<05>]TJ
|
||||
ET
|
||||
1.005231 w
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
156.406 248.234 m 287.516 248.234 l 287.516 282.676 l 156.406 282.676 l
|
||||
156.406 248.234 l h
|
||||
156.406 248.234 m S Q
|
||||
BT
|
||||
9.6 0 0 9.6 168.816605 130.165637 Tm
|
||||
/f-0-0 1 Tf
|
||||
[<01>1<02>2<03>2<0405>-1<060708>-1<0f>-1<15>-2<05>-1<15>-3<14>1<0e02>2<05>-1<0a
|
||||
27>]TJ
|
||||
10.126953 0 Td
|
||||
[<02>2<05>]TJ
|
||||
-10.126953 -1.25 Td
|
||||
[<0c0d>-1<060e0f>-1<0410>-1<11>]TJ
|
||||
ET
|
||||
0.921608 w
|
||||
[ 5.529648 0.921608] 0 d
|
||||
q 1 0 0 1 0 398.268463 cm
|
||||
0.461 -281.039 m 116.008 -281.039 l 116.008 -248.191 l 0.461 -248.191 l
|
||||
0.461 -281.039 l h
|
||||
0.461 -281.039 m S Q
|
||||
BT
|
||||
9.6 0 0 9.6 4.795825 134.635925 Tm
|
||||
/f-0-0 1 Tf
|
||||
[<1d>-2<0a>1<03>1<28>-1<0b>1<15>-3<0e0405>]TJ
|
||||
0 -1.25 Td
|
||||
[<0c02>1<201320>-1<0710>-1<1324090a14>1<02>2<29>-1<0724>-1<0902>2<14>1<0e
|
||||
05>]TJ
|
||||
10.197266 0 Td
|
||||
[<02>2<11>]TJ
|
||||
ET
|
||||
0.874385 w
|
||||
[ 0.874385 1.748769] 0 d
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
331.52 249.285 m 435.379 249.285 l 435.379 282.18 l 331.52 282.18 l
|
||||
331.52 249.285 l h
|
||||
331.52 249.285 m S Q
|
||||
BT
|
||||
9.6 0 0 9.6 345.902591 136.871082 Tm
|
||||
/f-0-0 1 Tf
|
||||
[<16>1<2a0e>-1<0515>-3<14>1<0e0405>]TJ
|
||||
0 -1.25 Td
|
||||
[<0c02>1<201320>-1<0708>-1<15>-2<0b0a>1<1f05>20<02>2<11>]TJ
|
||||
-23.853645 -9.999148 Td
|
||||
[<1a1010>-1<040e15>-3<0e02>2<23>]TJ
|
||||
0 -1.25 Td
|
||||
[<25>29<0a03>2<0a10>-1<1318>-1<0d>35<042602>2<05>]TJ
|
||||
7.661297 2.021848 Td
|
||||
[<120a>1<1f02>2<05>-1<0e>-1<06070c>-1<200b0a>1<1f11>]TJ
|
||||
0 -1.25 Td
|
||||
[<1d>-2<090a>1<14>1<02>]TJ
|
||||
ET
|
||||
1.6 w
|
||||
[] 0.0 d
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
280.633 88.879 m 145.965 152.578 l S Q
|
||||
151.75 248.425 m 153.273 252.686 l 144.52 245.007 l 156.012 246.901 l
|
||||
151.75 248.425 l h
|
||||
151.75 248.425 m f*
|
||||
0.723173 w
|
||||
q 1 0.473029 0.473029 -1 0 398.268463 cm
|
||||
66.083 181.103 m 68.975 178.209 l 58.853 181.101 l 68.977 183.995 l
|
||||
66.083 181.103 l h
|
||||
66.083 181.103 m S Q
|
||||
1.6 w
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
280.074 89.438 m 280.074 153.695 l S Q
|
||||
280.074 250.972 m 276.875 254.171 l 280.074 242.972 l 283.273 254.171 l
|
||||
280.074 250.972 l h
|
||||
280.074 250.972 m f*
|
||||
0.8 w
|
||||
q -0.000000000000000061 1 1 0.000000000000000061 0 398.268463 cm
|
||||
-147.297 280.074 m -144.098 276.875 l -155.297 280.074 l -144.098
|
||||
283.273 l -147.297 280.074 l h
|
||||
-147.297 280.074 m S Q
|
||||
1.6 w
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
285.27 89.043 m 340.207 121.863 l S Q
|
||||
334.711 279.69 m 330.324 278.581 l 341.578 275.585 l 333.605 284.077 l
|
||||
334.711 279.69 l h
|
||||
334.711 279.69 m f*
|
||||
0.686779 w
|
||||
q -1 0.597406 0.597406 1 0 398.268463 cm
|
||||
-298.881 59.975 m -296.137 57.226 l -305.75 59.973 l -296.135 62.722 l
|
||||
-298.881 59.975 l h
|
||||
-298.881 59.975 m S Q
|
||||
1.6 w
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
155.465 265.453 m 116.348 265.453 l S Q
|
||||
149.062 132.815 m 145.863 129.612 l 157.062 132.815 l 145.863 136.015 l
|
||||
149.062 132.815 l h
|
||||
149.062 132.815 m f*
|
||||
0.8 w
|
||||
q -1 -0.000000000000000122 -0.000000000000000122 1 0 398.268463 cm
|
||||
-149.062 -265.453 m -145.863 -268.656 l -157.062 -265.453 l -145.863
|
||||
-262.254 l -149.062 -265.453 l h
|
||||
-149.062 -265.453 m S Q
|
||||
122.75 132.815 m 125.949 136.015 l 114.75 132.815 l 125.949 129.612 l
|
||||
122.75 132.815 l h
|
||||
122.75 132.815 m f*
|
||||
q 1 -0.000000000000000122 -0.000000000000000122 -1 0 398.268463 cm
|
||||
122.75 265.453 m 125.949 262.254 l 114.75 265.453 l 125.949 268.656 l
|
||||
122.75 265.453 l h
|
||||
122.75 265.453 m S Q
|
||||
1.6 w
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
252.395 219.602 m 218.934 247.098 l S Q
|
||||
223.879 155.233 m 224.32 159.737 l 217.699 150.155 l 228.383 154.792 l
|
||||
223.879 155.233 l h
|
||||
223.879 155.233 m f*
|
||||
0.618042 w
|
||||
q 1 0.821886 0.821886 -1 0 398.268463 cm
|
||||
14.403 254.873 m 16.876 252.401 l 8.224 254.872 l 16.874 257.345 l
|
||||
14.403 254.873 l h
|
||||
14.403 254.873 m S Q
|
||||
1.005231 w
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
341.922 104.066 m 473.031 104.066 l 473.031 138.508 l 341.922 138.508 l
|
||||
341.922 104.066 l h
|
||||
341.922 104.066 m S Q
|
||||
BT
|
||||
9.6 0 0 9.6 354.334622 274.333276 Tm
|
||||
/f-0-0 1 Tf
|
||||
[<01>1<02>2<03>2<0405>-1<060708>-1<0f>-1<15>-2<05>-1<15>-3<14>1<0e02>2<05>-1<0a
|
||||
27>]TJ
|
||||
10.126953 0 Td
|
||||
[<02>2<05>]TJ
|
||||
-10.126953 -1.25 Td
|
||||
[<0c0d>-1<060e0f>-1<0410>-1<11>]TJ
|
||||
ET
|
||||
1.6 w
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
408.594 137.887 m 408.594 156.578 l S Q
|
||||
408.594 248.089 m 405.395 251.288 l 408.594 240.089 l 411.797 251.288 l
|
||||
408.594 248.089 l h
|
||||
408.594 248.089 m f*
|
||||
0.8 w
|
||||
q -0.000000000000000061 1 1 0.000000000000000061 0 398.268463 cm
|
||||
-150.18 408.594 m -146.98 405.395 l -158.18 408.594 l -146.98 411.797 l
|
||||
-150.18 408.594 l h
|
||||
-150.18 408.594 m S Q
|
||||
1.6 w
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
157.699 221.309 m 200.727 247.016 l S Q
|
||||
195.23 154.538 m 190.844 153.429 l 202.098 150.433 l 194.125 158.925 l
|
||||
195.23 154.538 l h
|
||||
195.23 154.538 m f*
|
||||
0.68678 w
|
||||
q -1 0.597403 0.597403 1 0 398.268463 cm
|
||||
-251.189 -93.67 m -248.444 -96.418 l -258.057 -93.672 l -248.443
|
||||
-90.923 l -251.189 -93.67 l h
|
||||
-251.189 -93.67 m S Q
|
||||
2.4 w
|
||||
[ 7.2 7.2] 0 d
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
22.473 236.957 m 597.465 236.957 l S Q
|
||||
BT
|
||||
16 0 0 16 5.708505 64.082971 Tm
|
||||
/f-0-0 1 Tf
|
||||
[<2b15>-2<14>1<2c>1<22161023>]TJ
|
||||
0 -1 Td
|
||||
[<01>1<02>2<0e0f>-1<042304>1<0b04>1<1306>]TJ
|
||||
0.674965 15.682794 Td
|
||||
[<17>73<05>21<0410>-1<0e22>-1<16>1<10>-1<23>]TJ
|
||||
0 -1 Td
|
||||
[<01>1<02>2<0e0f>-1<042304>1<0b04>1<1306>]TJ
|
||||
ET
|
||||
0.921608 w
|
||||
[ 5.529648 0.921608] 0 d
|
||||
q 1 0 0 1 0 398.268463 cm
|
||||
514.727 -138.27 m 630.273 -138.27 l 630.273 -105.422 l 514.727 -105.422
|
||||
l 514.727 -138.27 l h
|
||||
514.727 -138.27 m S Q
|
||||
BT
|
||||
9.6 0 0 9.6 519.059866 277.406592 Tm
|
||||
/f-0-0 1 Tf
|
||||
[<1d>-2<0a>1<03>1<28>-1<0b>1<15>-3<0e0405>]TJ
|
||||
0 -1.25 Td
|
||||
[<0c02>1<201320>-1<0710>-1<1324090a14>1<02>2<29>-1<0724>-1<0902>2<14>1<0e
|
||||
05>]TJ
|
||||
10.197266 0 Td
|
||||
[<02>2<11>]TJ
|
||||
ET
|
||||
1.6 w
|
||||
[] 0.0 d
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
513.824 122.125 m 474.711 122.125 l S Q
|
||||
507.426 276.143 m 504.227 272.944 l 515.426 276.143 l 504.227 279.343 l
|
||||
507.426 276.143 l h
|
||||
507.426 276.143 m f*
|
||||
0.8 w
|
||||
q -1 -0.000000000000000122 -0.000000000000000122 1 0 398.268463 cm
|
||||
-507.426 -122.125 m -504.227 -125.324 l -515.426 -122.125 l -504.227
|
||||
-118.926 l -507.426 -122.125 l h
|
||||
-507.426 -122.125 m S Q
|
||||
481.109 276.143 m 484.312 279.343 l 473.109 276.143 l 484.312 272.944 l
|
||||
481.109 276.143 l h
|
||||
481.109 276.143 m f*
|
||||
q 1 -0.000000000000000122 -0.000000000000000122 -1 0 398.268463 cm
|
||||
481.109 122.125 m 484.312 118.926 l 473.109 122.125 l 484.312 125.324 l
|
||||
481.109 122.125 l h
|
||||
481.109 122.125 m S Q
|
||||
1.60016 w
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
488.539 29.785 m 488.539 34.879 473.781 39.004 455.57 39.004 c 437.363
|
||||
39.004 422.602 34.879 422.602 29.785 c 422.602 24.691 437.363 20.566
|
||||
455.57 20.566 c 473.781 20.566 488.539 24.691 488.539 29.785 c h
|
||||
488.539 29.785 m S Q
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
488.465 78.68 m 488.465 83.77 473.703 87.898 455.496 87.898 c 437.289
|
||||
87.898 422.527 83.77 422.527 78.68 c 422.527 73.586 437.289 69.461
|
||||
455.496 69.461 c 473.703 69.461 488.465 73.586 488.465 78.68 c h
|
||||
488.465 78.68 m S Q
|
||||
1.6 w
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
487.98 30.062 m 487.98 78.68 l S Q
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
422.602 29.785 m 422.602 78.398 l S Q
|
||||
BT
|
||||
9.6 0 0 9.6 441.005374 347.123721 Tm
|
||||
/f-0-0 1 Tf
|
||||
[<25>167<02>2<14>1<0f>]TJ
|
||||
0 -1.25 Td
|
||||
[<120a>1<1f05>-1<15>-2<05>-1<06>]TJ
|
||||
ET
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
422.809 52.973 m 353.52 73.09 l S Q
|
||||
359.664 326.964 m 361.848 330.929 l 351.984 324.733 l 363.629 324.784 l
|
||||
359.664 326.964 l h
|
||||
359.664 326.964 m f*
|
||||
0.768277 w
|
||||
q 1 0.290323 0.290323 -1 0 398.268463 cm
|
||||
312.613 162.063 m 315.689 158.991 l 304.933 162.064 l 315.686 165.135 l
|
||||
312.613 162.063 l h
|
||||
312.613 162.063 m S Q
|
||||
1.6 w
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
282.879 22.918 m 282.32 51.973 l S Q
|
||||
282.441 352.694 m 279.305 355.956 l 282.289 344.694 l 285.703 355.831 l
|
||||
282.441 352.694 l h
|
||||
282.441 352.694 m f*
|
||||
0.799852 w
|
||||
q 0.0192309 1 1 -0.0192309 0 398.268463 cm
|
||||
-40.128 283.213 m -36.928 280.015 l -48.128 283.215 l -36.93 286.413 l
|
||||
-40.128 283.213 l h
|
||||
-40.128 283.213 m S Q
|
||||
BT
|
||||
9.6 0 0 9.6 199.049588 390.974713 Tm
|
||||
/f-0-0 1 Tf
|
||||
[<2d24>-1<02>2<05>-1<071d>-2<0902>2<140a>1<2e>-1<0a14>1<15>-2<0e>-1<0a>1<04
|
||||
10>]TJ
|
||||
0 -1.25 Td
|
||||
[<0c26>-1<04>1<05>16<230724>-1<0a>1<27>-1<02>2<2907>-1<03>2<02>2<03>1<04
|
||||
050607>]TJ
|
||||
10.234375 0 Td
|
||||
[<240a2702>1<2907>-1<15>-2<240902>2<140e0705>-1<15>-3<0e0a04>1<29>-1<07
|
||||
02>2<0e>]TJ
|
||||
10.169922 0 Td
|
||||
<1420>Tj
|
||||
ET
|
||||
1.6 w
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
327.57 265.453 m 288.457 265.453 l S Q
|
||||
321.172 132.815 m 317.973 129.612 l 329.172 132.815 l 317.973 136.015 l
|
||||
321.172 132.815 l h
|
||||
321.172 132.815 m f*
|
||||
0.8 w
|
||||
q -1 -0.000000000000000122 -0.000000000000000122 1 0 398.268463 cm
|
||||
-321.172 -265.453 m -317.973 -268.656 l -329.172 -265.453 l -317.973
|
||||
-262.254 l -321.172 -265.453 l h
|
||||
-321.172 -265.453 m S Q
|
||||
294.855 132.815 m 298.055 136.015 l 286.855 132.815 l 298.055 129.612 l
|
||||
294.855 132.815 l h
|
||||
294.855 132.815 m f*
|
||||
q 1 -0.000000000000000122 -0.000000000000000122 -1 0 398.268463 cm
|
||||
294.855 265.453 m 298.055 262.254 l 286.855 265.453 l 298.055 268.656 l
|
||||
294.855 265.453 l h
|
||||
294.855 265.453 m S Q
|
||||
1.370434 w
|
||||
q 1 0 0 -1 0 398.268463 cm
|
||||
219.727 282.898 m 219.727 328.188 l S Q
|
||||
219.727 75.561 m 216.984 78.304 l 219.727 68.71 l 222.465 78.304 l
|
||||
219.727 75.561 l h
|
||||
219.727 75.561 m f*
|
||||
0.685217 w
|
||||
q -0.000000000000000061 1 1 0.000000000000000061 0 398.268463 cm
|
||||
-322.707 219.727 m -319.965 216.984 l -329.559 219.727 l -319.965
|
||||
222.465 l -322.707 219.727 l h
|
||||
-322.707 219.727 m S Q
|
||||
Q
|
||||
showpage
|
||||
%%Trailer
|
||||
count op_count sub {pop} repeat
|
||||
countdictstack dict_count sub {end} repeat
|
||||
cairo_eps_state restore
|
||||
%%EOF
|
||||
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 42 KiB |
|
|
@ -1,909 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="744.09448819"
|
||||
height="1052.3622047"
|
||||
id="svg5357"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.3.1 r9886"
|
||||
sodipodi:docname="nand_decoder.pdf">
|
||||
<defs
|
||||
id="defs5359" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="199"
|
||||
inkscape:cy="520"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:window-width="1855"
|
||||
inkscape:window-height="1056"
|
||||
inkscape:window-x="65"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid5365" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata5362">
|
||||
<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">
|
||||
<g
|
||||
id="g6154"
|
||||
transform="translate(0,-120)">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-5"
|
||||
d="m 50,432.36218 36.923081,0 0,-18.32432 46.153839,0 0,18.32432 36.92308,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-6"
|
||||
d="m 87.360281,408.9838 45.716639,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3414"
|
||||
d="m 84.153851,414.03786 50.769229,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
id="g6284"
|
||||
transform="translate(0,-120)">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5621"
|
||||
d="m 50,432.36218 -20,0 0,-20 0,40"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path6131"
|
||||
d="m 20,422.36218 0,20"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path6133"
|
||||
d="m 12,426.36218 0,12"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="translate(0,70.000003)"
|
||||
id="g6284-0">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5621-6"
|
||||
d="m 50,432.36218 -20,0 0,-20 0,40"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path6131-8"
|
||||
d="m 20,422.36218 0,20"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path6133-8"
|
||||
d="m 12,426.36218 0,12"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="translate(0,260)"
|
||||
id="g6284-2">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5621-65"
|
||||
d="m 50,432.36218 -20,0 0,-20 0,40"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path6131-4"
|
||||
d="m 20,422.36218 0,20"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path6133-2"
|
||||
d="m 12,426.36218 0,12"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="translate(0,450)"
|
||||
id="g6284-3">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5621-9"
|
||||
d="m 50,432.36218 -20,0 0,-20 0,40"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path6131-1"
|
||||
d="m 20,422.36218 0,20"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path6133-7"
|
||||
d="m 12,426.36218 0,12"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="translate(116.92308,70.000003)"
|
||||
id="g6154-5">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-5-5"
|
||||
d="m 50,432.36218 36.923081,0 0,-18.32432 46.153839,0 0,18.32432 36.92308,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-6-7"
|
||||
d="m 87.360281,408.9838 45.716639,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3414-2"
|
||||
d="m 84.153851,414.03786 50.769229,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="translate(233.07692,-120)"
|
||||
id="g6154-6">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-5-8"
|
||||
d="m 50,432.36218 36.923081,0 0,-18.32432 46.153839,0 0,18.32432 36.92308,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-6-0"
|
||||
d="m 87.360281,408.9838 45.716639,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3414-7"
|
||||
d="m 84.153851,414.03786 50.769229,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="translate(233.07692,70.000003)"
|
||||
id="g6154-3">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-5-4"
|
||||
d="m 50,432.36218 36.923081,0 0,-18.32432 46.153839,0 0,18.32432 36.92308,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-6-1"
|
||||
d="m 87.360281,408.9838 45.716639,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3414-4"
|
||||
d="m 84.153851,414.03786 50.769229,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 110,182.36218 0,330"
|
||||
id="path6395"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 230,182.36218 c 0,0 0,270 0,280 0,10 0,50 0,50"
|
||||
id="path6397"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 340,182.36218 0,330"
|
||||
id="path6399"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 460,182.36218 0,330"
|
||||
id="path6401"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
transform="translate(-3.07692,260)"
|
||||
id="g6154-2">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-5-54"
|
||||
d="m 50,432.36218 36.923081,0 0,-18.32432 46.153839,0 0,18.32432 36.92308,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-6-8"
|
||||
d="m 87.360281,408.9838 45.716639,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3414-5"
|
||||
d="m 84.153851,414.03786 50.769229,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="translate(346.92308,260)"
|
||||
id="g6154-8">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-5-1"
|
||||
d="m 50,432.36218 36.923081,0 0,-18.32432 46.153839,0 0,18.32432 36.92308,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-6-5"
|
||||
d="m 87.360281,408.9838 45.716639,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3414-3"
|
||||
d="m 84.153851,414.03786 50.769229,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="translate(346.92308,450)"
|
||||
id="g6154-4">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-5-2"
|
||||
d="m 50,432.36218 36.923081,0 0,-18.32432 46.153839,0 0,18.32432 36.92308,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-6-56"
|
||||
d="m 87.360281,408.9838 45.716639,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3414-37"
|
||||
d="m 84.153851,414.03786 50.769229,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="translate(120,450)"
|
||||
id="g6154-0">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-5-3"
|
||||
d="m 50,432.36218 36.923081,0 0,-18.32432 46.153839,0 0,18.32432 36.92308,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-6-9"
|
||||
d="m 87.360281,408.9838 45.716639,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3414-1"
|
||||
d="m 84.153851,414.03786 50.769229,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 170,312.36218 120,0"
|
||||
id="path6488"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 400,312.36218 120,0"
|
||||
id="path6490"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 50,502.36218 120,0"
|
||||
id="path6492"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 400,502.36218 120,0"
|
||||
id="path6494"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 170,692.36218 230,0"
|
||||
id="path6496"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 400,882.36218 -110,0"
|
||||
id="path6498"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 50,882.36218 120,0"
|
||||
id="path6500"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 140,692.36218 40,0"
|
||||
id="path6502"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 590,182.36218 0,330"
|
||||
id="path6531"
|
||||
inkscape:connector-curvature="0" />
|
||||
<g
|
||||
id="g6578"
|
||||
transform="translate(10,-59.999997)">
|
||||
<path
|
||||
transform="translate(194,-66.999997)"
|
||||
d="m 350,377.36218 c 0,2.76143 -2.23858,5 -5,5 -2.76142,0 -5,-2.23857 -5,-5 0,-2.76142 2.23858,-5 5,-5 2.76142,0 5,2.23858 5,5 z"
|
||||
sodipodi:ry="5"
|
||||
sodipodi:rx="5"
|
||||
sodipodi:cy="377.36218"
|
||||
sodipodi:cx="345"
|
||||
id="path6744-2"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.62600005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
<g
|
||||
id="g6154-6-1"
|
||||
transform="matrix(0,1,-1,0,942.36218,202.36218)">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 50,432.36218 36.923081,0 0,-18.32432 46.153839,0 0,18.32432 36.92308,0"
|
||||
id="path5141-5-8-3"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 87.360281,408.9838 45.716639,0"
|
||||
id="path5145-6-0-1"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 84.153851,414.03786 50.769229,0"
|
||||
id="path3414-7-5"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
transform="translate(10,130)"
|
||||
id="g6578-0">
|
||||
<path
|
||||
transform="translate(194,-66.999997)"
|
||||
d="m 350,377.36218 c 0,2.76143 -2.23858,5 -5,5 -2.76142,0 -5,-2.23857 -5,-5 0,-2.76142 2.23858,-5 5,-5 2.76142,0 5,2.23858 5,5 z"
|
||||
sodipodi:ry="5"
|
||||
sodipodi:rx="5"
|
||||
sodipodi:cy="377.36218"
|
||||
sodipodi:cx="345"
|
||||
id="path6744-2-8"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.62600005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
<g
|
||||
id="g6154-6-1-0"
|
||||
transform="matrix(0,1,-1,0,942.36218,202.36218)">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 50,432.36218 36.923081,0 0,-18.32432 46.153839,0 0,18.32432 36.92308,0"
|
||||
id="path5141-5-8-3-8"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 87.360281,408.9838 45.716639,0"
|
||||
id="path5145-6-0-1-2"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 84.153851,414.03786 50.769229,0"
|
||||
id="path3414-7-5-2"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
transform="translate(10,320)"
|
||||
id="g6578-0-2">
|
||||
<path
|
||||
transform="translate(194,-66.999997)"
|
||||
d="m 350,377.36218 c 0,2.76143 -2.23858,5 -5,5 -2.76142,0 -5,-2.23857 -5,-5 0,-2.76142 2.23858,-5 5,-5 2.76142,0 5,2.23858 5,5 z"
|
||||
sodipodi:ry="5"
|
||||
sodipodi:rx="5"
|
||||
sodipodi:cy="377.36218"
|
||||
sodipodi:cx="345"
|
||||
id="path6744-2-8-3"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.62600005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
<g
|
||||
id="g6154-6-1-0-6"
|
||||
transform="matrix(0,1,-1,0,942.36218,202.36218)">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 50,432.36218 36.923081,0 0,-18.32432 46.153839,0 0,18.32432 36.92308,0"
|
||||
id="path5141-5-8-3-8-8"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 87.360281,408.9838 45.716639,0"
|
||||
id="path5145-6-0-1-2-9"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 84.153851,414.03786 50.769229,0"
|
||||
id="path3414-7-5-2-4"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
transform="translate(10,510)"
|
||||
id="g6578-0-0">
|
||||
<path
|
||||
transform="translate(194,-66.999997)"
|
||||
d="m 350,377.36218 c 0,2.76143 -2.23858,5 -5,5 -2.76142,0 -5,-2.23857 -5,-5 0,-2.76142 2.23858,-5 5,-5 2.76142,0 5,2.23858 5,5 z"
|
||||
sodipodi:ry="5"
|
||||
sodipodi:rx="5"
|
||||
sodipodi:cy="377.36218"
|
||||
sodipodi:cx="345"
|
||||
id="path6744-2-8-2"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.62600005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
<g
|
||||
id="g6154-6-1-0-5"
|
||||
transform="matrix(0,1,-1,0,942.36218,202.36218)">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 50,432.36218 36.923081,0 0,-18.32432 46.153839,0 0,18.32432 36.92308,0"
|
||||
id="path5141-5-8-3-8-4"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 87.360281,408.9838 45.716639,0"
|
||||
id="path5145-6-0-1-2-95"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 84.153851,414.03786 50.769229,0"
|
||||
id="path3414-7-5-2-8"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 110,512.36218 0,430"
|
||||
id="path6668"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 230,512.36218 0,430"
|
||||
id="path6670"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 340,512.36218 0,430"
|
||||
id="path6672"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 460,512.36218 0,430"
|
||||
id="path6674"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 590,512.36218 0,430"
|
||||
id="path6676"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.7320509;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 510,692.36218 120,0"
|
||||
id="path6678"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.71269763;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 520,312.36218 110,0"
|
||||
id="path6680"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.71269763;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 520,502.36218 110,0"
|
||||
id="path6682"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.71269763;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 520,882.36218 110,0"
|
||||
id="path6684"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 500,882.36218 30,0"
|
||||
id="path6686"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-71-3"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,390.40421,394.54363)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-71-3-8"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,390.40421,584.54363)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-71-3-4"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,390.40421,204.54363)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-71-3-0"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,390.40421,14.543631)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 555,630.36218 35,0"
|
||||
id="path6738"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 555,819.36218 33,0"
|
||||
id="path6740"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-71-3-3"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,458.40421,331.54363)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-71-3-7"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,459.40421,520.54363)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 554.5,439.36218 35,0"
|
||||
id="path6738-7"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 555.5,250.36218 35,0"
|
||||
id="path6738-2"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-71-3-3-0"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,459.40421,141.54363)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-71-3-3-3"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,460.40421,-47.456369)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 500,192.36218 40,0"
|
||||
id="path6806"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 500,382.36218 40,0"
|
||||
id="path6808"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 500,572.36218 40,0"
|
||||
id="path6810"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 500,762.36218 40,0"
|
||||
id="path6812"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="100"
|
||||
y="176.36218"
|
||||
id="text6814"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6816"
|
||||
x="100"
|
||||
y="176.36218">A0</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="204"
|
||||
y="176.36218"
|
||||
id="text6818"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6820"
|
||||
x="204"
|
||||
y="176.36218">A0_bar</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="330"
|
||||
y="175.36218"
|
||||
id="text6822"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6824"
|
||||
x="330"
|
||||
y="175.36218">A1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="434"
|
||||
y="175.36218"
|
||||
id="text6826"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6828"
|
||||
x="434"
|
||||
y="175.36218">A1_bar</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="566"
|
||||
y="179.36218"
|
||||
id="text6830"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6832"
|
||||
x="566"
|
||||
y="179.36218">PCLK</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="521"
|
||||
y="378.36218"
|
||||
id="text6834"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6836"
|
||||
x="521"
|
||||
y="378.36218"
|
||||
style="font-size:10px">VDD</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="527.14062"
|
||||
y="203.0072"
|
||||
id="text6834-5"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6836-3"
|
||||
x="527.14062"
|
||||
y="203.0072"
|
||||
style="font-size:10px">VDD</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="522.14062"
|
||||
y="568.0072"
|
||||
id="text6834-6"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6836-7"
|
||||
x="522.14062"
|
||||
y="568.0072"
|
||||
style="font-size:10px">VDD</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="521.14062"
|
||||
y="757.0072"
|
||||
id="text6834-2"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6836-8"
|
||||
x="521.14062"
|
||||
y="757.0072"
|
||||
style="font-size:10px">VDD</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="690"
|
||||
y="302.36218"
|
||||
id="text6877"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6879"
|
||||
x="690"
|
||||
y="302.36218">WL3</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="690"
|
||||
y="492.36218"
|
||||
id="text6881"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6883"
|
||||
x="690"
|
||||
y="492.36218">WL2</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="690"
|
||||
y="682.36218"
|
||||
id="text6885"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6887"
|
||||
x="690"
|
||||
y="682.36218">WL1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="690"
|
||||
y="872.36218"
|
||||
id="text6889"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6891"
|
||||
x="690"
|
||||
y="872.36218">WL0</tspan></text>
|
||||
<g
|
||||
id="g6987"
|
||||
transform="translate(-20,2.6171874e-6)">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path6893-34"
|
||||
d="m 650,862.36218 0,40 30,-20 z"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
transform="translate(340,505)"
|
||||
d="m 350,377.36218 c 0,2.76143 -2.23858,5 -5,5 -2.76142,0 -5,-2.23857 -5,-5 0,-2.76142 2.23858,-5 5,-5 2.76142,0 5,2.23858 5,5 z"
|
||||
sodipodi:ry="5"
|
||||
sodipodi:rx="5"
|
||||
sodipodi:cy="377.36218"
|
||||
sodipodi:cx="345"
|
||||
id="path6744-2-5"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.62600005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
</g>
|
||||
<g
|
||||
id="g6987-8"
|
||||
transform="translate(-20,-190)">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path6893-34-6"
|
||||
d="m 650,862.36218 0,40 30,-20 z"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
transform="translate(340,505)"
|
||||
d="m 350,377.36218 a 5,5 0 1 1 -10,0 5,5 0 1 1 10,0 z"
|
||||
sodipodi:ry="5"
|
||||
sodipodi:rx="5"
|
||||
sodipodi:cy="377.36218"
|
||||
sodipodi:cx="345"
|
||||
id="path6744-2-5-5"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.62600005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
</g>
|
||||
<g
|
||||
id="g6987-1"
|
||||
transform="translate(-20,-380)">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path6893-34-7"
|
||||
d="m 650,862.36218 0,40 30,-20 z"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
transform="translate(340,505)"
|
||||
d="m 350,377.36218 c 0,2.76143 -2.23858,5 -5,5 -2.76142,0 -5,-2.23857 -5,-5 0,-2.76142 2.23858,-5 5,-5 2.76142,0 5,2.23858 5,5 z"
|
||||
sodipodi:ry="5"
|
||||
sodipodi:rx="5"
|
||||
sodipodi:cy="377.36218"
|
||||
sodipodi:cx="345"
|
||||
id="path6744-2-5-4"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.62600005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
</g>
|
||||
<g
|
||||
id="g6987-6"
|
||||
transform="translate(-20,-570)">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path6893-34-72"
|
||||
d="m 650,862.36218 0,40 30,-20 z"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
transform="translate(340,505)"
|
||||
d="m 350,377.36218 a 5,5 0 1 1 -10,0 5,5 0 1 1 10,0 z"
|
||||
sodipodi:ry="5"
|
||||
sodipodi:rx="5"
|
||||
sodipodi:cy="377.36218"
|
||||
sodipodi:cx="345"
|
||||
id="path6744-2-5-2"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.62600005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:type="arc" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 670,312.36218 50,0"
|
||||
id="path7037"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 670,502.36218 50,0"
|
||||
id="path7039"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 670,692.36218 50,0"
|
||||
id="path7041"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 670,882.36218 50,0"
|
||||
id="path7043"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 43 KiB |
|
|
@ -1,311 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="744.09448819"
|
||||
height="1052.3622047"
|
||||
id="svg3222"
|
||||
version="1.1"
|
||||
inkscape:version="0.92.2 5c3e80d, 2017-08-06"
|
||||
sodipodi:docname="precharge_schem.svg">
|
||||
<defs
|
||||
id="defs3224" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="20"
|
||||
inkscape:cy="520"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:window-width="3440"
|
||||
inkscape:window-height="1392"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid3230" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata3227">
|
||||
<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">
|
||||
<g
|
||||
id="g4222"
|
||||
transform="matrix(0,1,-1,0,482.36218,172.36218)">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-5"
|
||||
d="m 110,292.36218 40,0 0,-30 50,0 0,30 40,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-6"
|
||||
d="m 150.47364,257.36218 49.52636,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3414"
|
||||
d="m 147,262.36218 55,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,-1,1,0,67.63782,522.36218)"
|
||||
id="g4222-5">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-5-8"
|
||||
d="m 110,292.36218 40,0 0,-30 50,0 0,30 40,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-6-8"
|
||||
d="m 150.47364,257.36218 49.52636,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3414-9"
|
||||
d="m 147,262.36218 55,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
transform="translate(100,190)"
|
||||
id="g4222-9">
|
||||
<path
|
||||
sodipodi:nodetypes="cccccc"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5141-5-1"
|
||||
d="m 110,292.36218 40,0 0,-30 50,0 0,30 40,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path5145-6-1"
|
||||
d="m 150.47364,257.36218 49.52636,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3414-8"
|
||||
d="m 147,262.36218 55,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 190,412.36218 0,70 20,0"
|
||||
id="path4473"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 360,412.36218 0,70 -20,0"
|
||||
id="path4475"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 360,282.36218 0,-20 -170,0 0,20"
|
||||
id="path4477"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 360,482.36218 0,80"
|
||||
id="path4479"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 190,482.36218 0,80"
|
||||
id="path4481"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 280,262.36218 0,-40 30,0 -60,0"
|
||||
id="path4483"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.62600005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path6744"
|
||||
sodipodi:cx="345"
|
||||
sodipodi:cy="377.36218"
|
||||
sodipodi:rx="5"
|
||||
sodipodi:ry="5"
|
||||
d="m 350,377.36218 a 5,5 0 1 1 -10,0 5,5 0 1 1 10,0 z"
|
||||
transform="translate(-114,-31)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.62600005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path6744-2"
|
||||
sodipodi:cx="345"
|
||||
sodipodi:cy="377.36218"
|
||||
sodipodi:rx="5"
|
||||
sodipodi:ry="5"
|
||||
d="m 350,377.36218 a 5,5 0 1 1 -10,0 5,5 0 1 1 10,0 z"
|
||||
transform="translate(-26,-31)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.62600005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path6744-8"
|
||||
sodipodi:cx="345"
|
||||
sodipodi:cy="377.36218"
|
||||
sodipodi:rx="5"
|
||||
sodipodi:ry="5"
|
||||
d="m 350,377.36218 a 5,5 0 1 1 -10,0 5,5 0 1 1 10,0 z"
|
||||
transform="translate(-69,64)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="184"
|
||||
y="577.36218"
|
||||
id="text4517"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4519"
|
||||
x="184"
|
||||
y="577.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">bl</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="336"
|
||||
y="577.36218"
|
||||
id="text4521"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4523"
|
||||
x="336"
|
||||
y="577.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">br</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="287"
|
||||
y="217.36218"
|
||||
id="text4525"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4527"
|
||||
x="287"
|
||||
y="217.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">vdd</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 237,346.36218 77,0"
|
||||
id="path4529"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-71"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,145.40421,49.54363)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-71-3"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,230.40421,184.54363)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-71-1"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,149.40421,-36.456369)" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path7117-9-71-31"
|
||||
sodipodi:cx="108"
|
||||
sodipodi:cy="307.86218"
|
||||
sodipodi:rx="2"
|
||||
sodipodi:ry="2.5"
|
||||
d="m 110,307.86218 a 2,2.5 0 1 1 -4,0 2,2.5 0 1 1 4,0 z"
|
||||
transform="matrix(1.2092203,0,0,0.96737621,59.404208,183.54363)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="271"
|
||||
y="334.36218"
|
||||
id="text4791"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4793"
|
||||
x="271"
|
||||
y="334.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">en</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="191"
|
||||
y="351.36218"
|
||||
id="text4795"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4797"
|
||||
x="191"
|
||||
y="351.36218"
|
||||
style="font-size:14px;line-height:1.25;font-family:sans-serif">M1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="341"
|
||||
y="351.36218"
|
||||
id="text4799"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4801"
|
||||
x="341"
|
||||
y="351.36218"
|
||||
style="font-size:14px;line-height:1.25;font-family:sans-serif">M2</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="265"
|
||||
y="472.36218"
|
||||
id="text4803"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4805"
|
||||
x="265"
|
||||
y="472.36218"
|
||||
style="font-size:14px;line-height:1.25;font-family:sans-serif">M3</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2.01133299;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 276,435.35094 0,-87.98876"
|
||||
id="path5336"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 400,572.36218 0,20 -250,0 0,-400 250,0 z"
|
||||
id="path7280"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 13 KiB |
1557
docs/figs/ptx.svg
|
Before Width: | Height: | Size: 108 KiB |
|
|
@ -1,113 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 465.75 458.25" width="465.75pt" height="458.25pt" xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<metadata> Produced by OmniGraffle 7.6.1
|
||||
<dc:date>2018-11-16 00:52:28 +0000</dc:date>
|
||||
</metadata>
|
||||
<defs>
|
||||
<font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.68359" underline-thickness="49.316406" slope="0" x-height="522.9492" cap-height="717.28516" ascent="770.0195" descent="-229.98047" font-weight="500">
|
||||
<font-face-src>
|
||||
<font-face-name name="Helvetica"/>
|
||||
</font-face-src>
|
||||
</font-face>
|
||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledCenterBall_Marker" viewBox="-1 -4 8 8" markerWidth="8" markerHeight="8" color="black">
|
||||
<g>
|
||||
<circle cx="2.9999986" cy="0" r="2.999997" fill="currentColor" stroke="currentColor" stroke-width="1"/>
|
||||
</g>
|
||||
</marker>
|
||||
<marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledCenterBall_Marker_2" viewBox="-7 -4 8 8" markerWidth="8" markerHeight="8" color="black">
|
||||
<g>
|
||||
<circle cx="-2.9999986" cy="0" r="2.999997" fill="currentColor" stroke="currentColor" stroke-width="1"/>
|
||||
</g>
|
||||
</marker>
|
||||
</defs>
|
||||
<g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1">
|
||||
<title>Canvas 1</title>
|
||||
<rect fill="white" width="465.75" height="458.25"/>
|
||||
<g>
|
||||
<title>Layer 1</title>
|
||||
<path d="M 187.875 285.375 L 187.875 257.684 L 174.133 257.684 L 174.133 223.066 L 187.875 223.066 L 187.875 195.375" stroke="black" stroke-linecap="butt" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<line x1="170.34" y1="257.352" x2="170.34" y2="223.066" stroke="black" stroke-linecap="butt" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<line x1="174.133" y1="259.758" x2="174.133" y2="221.684" stroke="black" stroke-linecap="butt" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 277.875 195.375 L 277.875 223.066 L 291.617 223.066 L 291.617 257.684 L 277.875 257.684 L 277.875 285.375" stroke="black" stroke-linecap="butt" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<line x1="295.41" y1="223.398" x2="295.41" y2="257.684" stroke="black" stroke-linecap="butt" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<line x1="291.617" y1="220.992" x2="291.617" y2="259.066" stroke="black" stroke-linecap="butt" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 232.875 382.133 L 232.875 354.441 L 219.133 354.441 L 219.133 319.828 L 232.875 319.828 L 232.875 292.133" stroke="black" stroke-linecap="butt" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<line x1="215.34" y1="354.113" x2="215.34" y2="319.828" stroke="black" stroke-linecap="butt" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<line x1="219.133" y1="356.52" x2="219.133" y2="318.441" stroke="black" stroke-linecap="butt" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 232.875 412.875 L 232.875 427.875 L 217.875 427.875 L 247.875 427.875" stroke="black" stroke-linecap="butt" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<line x1="225.375" y1="435.375" x2="240.375" y2="435.375" stroke="black" stroke-linecap="butt" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<line x1="228.375" y1="441.375" x2="237.375" y2="441.375" stroke="black" stroke-linecap="butt" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 161.391 126.7792 C 161.391 128.8452 163.071 130.5292 165.141 130.5292 C 167.211 130.5292 168.891 128.8452 168.891 126.7792 C 168.891 124.7052 167.211 123.0292 165.141 123.0292 C 163.071 123.0292 161.391 124.7052 161.391 126.7792 Z" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 188.188 82.1252 L 188.188 109.8162 L 174.446 109.8162 L 174.446 144.4342 L 188.188 144.4342 L 188.188 172.1252" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<line x1="169.754" y1="108.0882" x2="169.754" y2="146.1622" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 300.125 128.041 C 300.125 130.107 301.805 131.791 303.875 131.791 C 305.945 131.791 307.625 130.107 307.625 128.041 C 307.625 125.967 305.945 124.291 303.875 124.291 C 301.805 124.291 300.125 125.967 300.125 128.041 Z" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 277.562 83.041 L 277.562 110.732 L 291.304 110.732 L 291.304 145.35 L 277.562 145.35 L 277.562 173.041" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<line x1="299.125" y1="108.0882" x2="299.125" y2="146.1622" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<line x1="187.875" y1="172.875" x2="187.875" y2="195.375" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<line x1="277.875" y1="172.875" x2="277.875" y2="195.375" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 187.875 82.875 L 187.875 67.875 L 277.875 67.875 L 277.875 82.875" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 232.875 67.875 L 232.875 37.875 L 255.375 37.875 L 210.375 37.875" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 187.875 285.375 L 277.875 285.375 L 232.875 285.375 L 232.875 292.875" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<line x1="232.875" y1="375.375" x2="232.875" y2="412.875" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 52.875 240.375 L 30.375 240.375 L 30.375 150.375 L 30.375 322.875" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 408.375 240.375 L 430.875 240.375 L 430.875 150.375 L 430.875 322.875" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<line x1="93.375" y1="213.375" x2="93.375" y2="190.875" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<line x1="363.375" y1="213.375" x2="363.375" y2="190.875" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<line x1="322.875" y1="240.375" x2="292.875" y2="240.375" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<line x1="142.875" y1="240.375" x2="172.875" y2="240.375" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<line x1="217.875" y1="337.875" x2="195.375" y2="337.875" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 234.688 285.3752 C 234.688 286.3792 233.879 287.1872 232.875 287.1872 C 231.871 287.1872 231.062 286.3792 231.062 285.3752 C 231.062 284.3752 231.871 283.5624 232.875 283.5624 C 233.879 283.5624 234.688 284.3752 234.688 285.3752 Z" fill="black"/>
|
||||
<path d="M 234.688 285.3752 C 234.688 286.3792 233.879 287.1872 232.875 287.1872 C 231.871 287.1872 231.062 286.3792 231.062 285.3752 C 231.062 284.3752 231.871 283.5624 232.875 283.5624 C 233.879 283.5624 234.688 284.3752 234.688 285.3752 Z" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 32.188 240.3752 C 32.188 241.3792 31.379 242.1872 30.375 242.1872 C 29.371 242.1872 28.562 241.3792 28.562 240.3752 C 28.562 239.3752 29.371 238.5624 30.375 238.5624 C 31.379 238.5624 32.188 239.3752 32.188 240.3752 Z" fill="black"/>
|
||||
<path d="M 32.188 240.3752 C 32.188 241.3792 31.379 242.1872 30.375 242.1872 C 29.371 242.1872 28.562 241.3792 28.562 240.3752 C 28.562 239.3752 29.371 238.5624 30.375 238.5624 C 31.379 238.5624 32.188 239.3752 32.188 240.3752 Z" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 433.438 239.6248 C 433.438 240.6288 432.629 241.4376 431.625 241.4376 C 430.621 241.4376 429.812 240.6288 429.812 239.6248 C 429.812 238.6248 430.621 237.8128 431.625 237.8128 C 432.629 237.8128 433.438 238.6248 433.438 239.6248 Z" fill="black"/>
|
||||
<path d="M 433.438 239.6248 C 433.438 240.6288 432.629 241.4376 431.625 241.4376 C 430.621 241.4376 429.812 240.6288 429.812 239.6248 C 429.812 238.6248 430.621 237.8128 431.625 237.8128 C 432.629 237.8128 433.438 238.6248 433.438 239.6248 Z" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 235.438 67.8752 C 235.438 68.8792 234.629 69.6872 233.625 69.6872 C 232.621 69.6872 231.812 68.8792 231.812 67.8752 C 231.812 66.8752 232.621 66.0624 233.625 66.0624 C 234.629 66.0624 235.438 66.8752 235.438 67.8752 Z" fill="black"/>
|
||||
<path d="M 235.438 67.8752 C 235.438 68.8792 234.629 69.6872 233.625 69.6872 C 232.621 69.6872 231.812 68.8792 231.812 67.8752 C 231.812 66.8752 232.621 66.0624 233.625 66.0624 C 234.629 66.0624 235.438 66.8752 235.438 67.8752 Z" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 307.625 126 L 307.625 191 L 308 240.375" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 185.312 180.375 L 125.312 180.375 L 125.312 127.875 L 132.812 135.375 L 125.312 127.875 L 117.812 135.375" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 188.938 180.3752 C 188.938 181.3792 188.129 182.1872 187.125 182.1872 C 186.121 182.1872 185.312 181.3792 185.312 180.3752 C 185.312 179.3752 186.121 178.5624 187.125 178.5624 C 188.129 178.5624 188.938 179.3752 188.938 180.3752 Z" fill="black"/>
|
||||
<path d="M 188.938 180.3752 C 188.938 181.3792 188.129 182.1872 187.125 182.1872 C 186.121 182.1872 185.312 181.3792 185.312 180.3752 C 185.312 179.3752 186.121 178.5624 187.125 178.5624 C 188.129 178.5624 188.938 179.3752 188.938 180.3752 Z" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<text transform="translate(247.875 16.375002)" fill="black">
|
||||
<tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="0" y="11">vdd</tspan>
|
||||
</text>
|
||||
<text transform="translate(97.875 108.0882)" fill="black">
|
||||
<tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="0" y="11">DA</tspan>
|
||||
<tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="15.785156" y="11">T</tspan>
|
||||
<tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="22.23047" y="11">A</tspan>
|
||||
</text>
|
||||
<text transform="translate(421.125 320.125)" fill="black">
|
||||
<tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="0" y="11">br</tspan>
|
||||
</text>
|
||||
<text transform="translate(22.125 322.375)" fill="black">
|
||||
<tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="0" y="11">bl</tspan>
|
||||
</text>
|
||||
<text transform="translate(176.625 328.375)" fill="black">
|
||||
<tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="0" y="11">en</tspan>
|
||||
</text>
|
||||
<text transform="translate(358.875 173.875)" fill="black">
|
||||
<tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="0" y="11">en</tspan>
|
||||
</text>
|
||||
<text transform="translate(88.784 169.1241)" fill="black">
|
||||
<tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="0" y="11">en</tspan>
|
||||
</text>
|
||||
<path d="M 94.07 213.621 C 96.141 213.621 97.82 215.297 97.82 217.371 C 97.82 219.438 96.141 221.121 94.07 221.121 C 91.996 221.121 90.32 219.438 90.32 217.371 C 90.32 215.297 91.996 213.621 94.07 213.621 Z" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 52.875 239.906 L 80.571 239.906 L 80.571 226.164 L 115.184 226.164 L 115.184 239.906 L 142.875 239.906" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<line x1="80.7325" y1="221.367" x2="115.0175" y2="221.367" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 364.07 214.41 C 366.141 214.41 367.82 216.086 367.82 218.16 C 367.82 220.23 366.141 221.91 364.07 221.91 C 361.996 221.91 360.32 220.23 360.32 218.16 C 360.32 216.086 361.996 214.41 364.07 214.41 Z" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 320.566 239.91 L 348.262 239.91 L 348.262 226.164 L 382.875 226.164 L 382.875 239.91 L 410.566 239.91" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<line x1="348.59" y1="222.375" x2="382.875" y2="222.375" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<line x1="346.184" y1="226.164" x2="384.258" y2="226.164" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 160.391 125.535 L 160.391 190.535 L 160.766 239.91" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 161.391 165.5978 C 161.391 166.6018 160.582 167.4098 159.578 167.4098 C 158.574 167.4098 157.765 166.6018 157.765 165.5978 C 157.765 164.5978 158.574 163.785 159.578 163.785 C 160.582 163.785 161.391 164.5978 161.391 165.5978 Z" fill="black"/>
|
||||
<path d="M 161.391 165.5978 C 161.391 166.6018 160.582 167.4098 159.578 167.4098 C 158.574 167.4098 157.765 166.6018 157.765 165.5978 C 157.765 164.5978 158.574 163.785 159.578 163.785 C 160.582 163.785 161.391 164.5978 161.391 165.5978 Z" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 163.391 165.9136 L 165.391 165.9136 L 218.9765 165.42652 L 272.562 164.93945 L 274.562 164.93945" marker-end="url(#FilledCenterBall_Marker)" marker-start="url(#FilledCenterBall_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
<path d="M 190.8749 202.82488 L 246.992 202.3623 L 303.1091 201.89973" marker-end="url(#FilledCenterBall_Marker)" marker-start="url(#FilledCenterBall_Marker_2)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/>
|
||||
<path d="M 162.704 239.6256 C 162.704 240.6296 161.895 241.4376 160.891 241.4376 C 159.887 241.4376 159.078 240.6296 159.078 239.6256 C 159.078 238.6256 159.887 237.8128 160.891 237.8128 C 161.895 237.8128 162.704 238.6256 162.704 239.6256 Z" fill="black"/>
|
||||
<path d="M 162.704 239.6256 C 162.704 240.6296 161.895 241.4376 160.891 241.4376 C 159.887 241.4376 159.078 240.6296 159.078 239.6256 C 159.078 238.6256 159.887 237.8128 160.891 237.8128 C 161.895 237.8128 162.704 238.6256 162.704 239.6256 Z" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
<path d="M 309.688 240.0294 C 309.688 241.0334 308.879 241.8414 307.875 241.8414 C 306.871 241.8414 306.062 241.0334 306.062 240.0294 C 306.062 239.0294 306.871 238.2166 307.875 238.2166 C 308.879 238.2166 309.688 239.0294 309.688 240.0294 Z" fill="black"/>
|
||||
<path d="M 309.688 240.0294 C 309.688 241.0334 308.879 241.8414 307.875 241.8414 C 306.871 241.8414 306.062 241.0334 306.062 240.0294 C 306.062 239.0294 306.871 238.2166 307.875 238.2166 C 308.879 238.2166 309.688 239.0294 309.688 240.0294 Z" stroke="black" stroke-linecap="round" stroke-linejoin="miter" stroke-width="1"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 15 KiB |
|
|
@ -1,679 +0,0 @@
|
|||
<?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:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="744.09448819"
|
||||
height="1052.3622047"
|
||||
id="svg2"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.47 r22583"
|
||||
sodipodi:docname="sram_architecture.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
version="1.1">
|
||||
<defs
|
||||
id="defs4">
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient4867">
|
||||
<stop
|
||||
style="stop-color:#cccccc;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop4869" />
|
||||
<stop
|
||||
style="stop-color:#cccccc;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop4871" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient3807">
|
||||
<stop
|
||||
style="stop-color:#cccccc;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop3809" />
|
||||
<stop
|
||||
style="stop-color:#cccccc;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop3811" />
|
||||
</linearGradient>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lstart"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Lstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path3831"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
|
||||
transform="scale(0.8) translate(12.5,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Lend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Lend"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path3834"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
|
||||
transform="scale(0.8) rotate(180) translate(12.5,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" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3807"
|
||||
id="linearGradient3813"
|
||||
x1="199.69901"
|
||||
y1="218.7489"
|
||||
x2="199.43983"
|
||||
y2="217.65218"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(0,116)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient3807"
|
||||
id="linearGradient3819"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="199.69901"
|
||||
y1="218.7489"
|
||||
x2="199.43983"
|
||||
y2="217.65218"
|
||||
gradientTransform="translate(0,-691.72632)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4867"
|
||||
id="linearGradient4873"
|
||||
x1="394.20999"
|
||||
y1="489.94479"
|
||||
x2="393.62537"
|
||||
y2="490.3624"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(0,100)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4867"
|
||||
id="linearGradient4879"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="394.20999"
|
||||
y1="489.94479"
|
||||
x2="393.62537"
|
||||
y2="490.3624"
|
||||
gradientTransform="translate(-1019.8693,100)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient4867"
|
||||
id="linearGradient4885"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="394.20999"
|
||||
y1="489.94479"
|
||||
x2="393.62537"
|
||||
y2="490.3624"
|
||||
gradientTransform="translate(0,100)" />
|
||||
<inkscape:perspective
|
||||
id="perspective11695"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
</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="0.59865321"
|
||||
inkscape:cx="372.04724"
|
||||
inkscape:cy="526.18109"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1440"
|
||||
inkscape:window-height="878"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:window-maximized="0" />
|
||||
<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">
|
||||
<rect
|
||||
style="fill:url(#linearGradient3813);fill-opacity:1"
|
||||
id="rect2383"
|
||||
width="165.71428"
|
||||
height="94.646927"
|
||||
x="133.76231"
|
||||
y="309.66827" />
|
||||
<rect
|
||||
style="fill:#cccccc"
|
||||
id="rect2385"
|
||||
width="208.57143"
|
||||
height="188.57143"
|
||||
x="406.00479"
|
||||
y="309.50024" />
|
||||
<rect
|
||||
style="fill:#cccccc"
|
||||
id="rect2387"
|
||||
width="208.38266"
|
||||
height="62.857143"
|
||||
x="405.96155"
|
||||
y="70.725639" />
|
||||
<rect
|
||||
style="fill:url(#linearGradient4873);fill-opacity:1"
|
||||
id="rect2389"
|
||||
width="138.24103"
|
||||
height="54.285713"
|
||||
x="371.81412"
|
||||
y="558.85974" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:23.82649612px;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="452.81046"
|
||||
y="105.8875"
|
||||
id="text2399"
|
||||
transform="scale(0.9927707,1.0072819)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2401"
|
||||
x="452.81046"
|
||||
y="105.8875">Precharge</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;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="478.94641"
|
||||
y="410.42963"
|
||||
id="text2403"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2405"
|
||||
x="478.94641"
|
||||
y="410.42963">Array</tspan></text>
|
||||
<rect
|
||||
style="fill:#cccccc"
|
||||
id="rect2429"
|
||||
width="277.14285"
|
||||
height="54.285713"
|
||||
x="371.49484"
|
||||
y="672.11481" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;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="439.30377"
|
||||
y="708.78662"
|
||||
id="text2437"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2439"
|
||||
x="439.30377"
|
||||
y="708.78662">Sense Amp</tspan></text>
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Lstart);marker-end:none;stroke-opacity:1"
|
||||
d="M 510.87523,794.2793 L 510.29735,726.40052"
|
||||
id="path2453"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connection-end="#rect2429" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.00533342px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
|
||||
d="M 510.37148,613.14813 L 510.36003,672.35929"
|
||||
id="path2455"
|
||||
inkscape:connector-type="polyline" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.00327015px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1"
|
||||
d="M 297.90384,403.80303 L 406.00315,403.80054"
|
||||
id="path2469"
|
||||
inkscape:connector-type="polyline" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;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="237.36064"
|
||||
y="462.23129"
|
||||
id="text2497"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2499"
|
||||
x="237.36064"
|
||||
y="462.23129" /></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="25.282948"
|
||||
y="393.58963"
|
||||
id="text2531"
|
||||
transform="matrix(0.99999959,-9.0349959e-4,9.0349959e-4,0.99999959,0,0)"><tspan
|
||||
sodipodi:role="line"
|
||||
x="25.282948"
|
||||
y="393.58963"
|
||||
id="tspan2535">Address</tspan></text>
|
||||
<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="538.99377"
|
||||
y="516.83362"
|
||||
id="text2832"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2834"
|
||||
x="538.99377"
|
||||
y="516.83362"> Bit Lines</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="538.99377"
|
||||
y="531.83362"
|
||||
id="tspan2938">BL<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2950">0</tspan>,BR<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2948">0</tspan>, BL<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2946">1</tspan>, BR<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2944">1</tspan>, ... BL<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2942">j</tspan> BR<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2940">j </tspan></tspan></text>
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 364.52511,382.19547 L 336.74637,425.84777"
|
||||
id="path2836" />
|
||||
<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="280.00189"
|
||||
y="-339.76331"
|
||||
id="text2838"
|
||||
transform="matrix(3.852356e-3,0.9999926,-0.9999926,3.852356e-3,0,0)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2840"
|
||||
x="280.00189"
|
||||
y="-339.76331"> Word Lines</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="280.00189"
|
||||
y="-324.76331"
|
||||
id="tspan2930"> W<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2936">0</tspan>, W<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2934">1</tspan>, ..., W<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2932">log(n)</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Lstart);stroke-opacity:1"
|
||||
d="M 371.888,589.5005 L 309.17124,589.84843"
|
||||
id="path2842"
|
||||
inkscape:connector-type="polyline" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Lstart);stroke-opacity:1"
|
||||
d="M 370.94208,702.41208 L 308.22531,702.76001"
|
||||
id="path2854"
|
||||
inkscape:connector-type="polyline" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 491.10498,654.25031 L 526.70018,628.88523"
|
||||
id="path2870" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="52.220901"
|
||||
y="420.68866"
|
||||
id="text2888"
|
||||
transform="matrix(0.99994011,0.01094382,-0.01094382,0.99994011,0,0)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2890"
|
||||
x="52.220901"
|
||||
y="420.68866">A<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2892">0</tspan>, A<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2896">1</tspan>, ... A<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2898">n</tspan></tspan></text>
|
||||
<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="552.88428"
|
||||
y="-299.25662"
|
||||
id="text2902"
|
||||
transform="matrix(-1.094382e-2,0.9999401,-0.9999401,-1.094382e-2,0,0)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2904"
|
||||
x="552.88428"
|
||||
y="-299.25662">A<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2906">0</tspan>, A<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2908">1</tspan>, ... Ak<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2910" /></tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:37.14432144px;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="784.93219"
|
||||
y="-237.72998"
|
||||
id="text2912"
|
||||
transform="matrix(2.6675397e-2,0.8871754,-1.1264084,2.54215e-2,0,0)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2914"
|
||||
x="784.93219"
|
||||
y="-237.72998"
|
||||
style="font-size:18.57216072px">S<tspan
|
||||
style="font-size:9.28608036px"
|
||||
id="tspan2916">clk</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 491.47553,766.55443 L 530.65923,741.92468"
|
||||
id="path2922" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;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="727.75165"
|
||||
y="543.27771"
|
||||
id="text2970"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2972"
|
||||
x="727.75165"
|
||||
y="543.27771" /></text>
|
||||
<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="537.27209"
|
||||
y="156.72511"
|
||||
id="text2992"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2994"
|
||||
x="537.27209"
|
||||
y="156.72511"> Bit Lines</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="537.27209"
|
||||
y="171.72511"
|
||||
id="tspan2996">BL<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan2998">0</tspan>,BR<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan3000">0</tspan>, BL<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan3002">1</tspan>, BR<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan3004">1</tspan>, ... BL<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan3006">j</tspan> BR<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan3008">j </tspan></tspan></text>
|
||||
<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="523.96411"
|
||||
y="638.21588"
|
||||
id="text3010"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3012"
|
||||
x="523.96411"
|
||||
y="638.21588"> Bit Lines</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="523.96411"
|
||||
y="653.21588"
|
||||
id="tspan3014">BL<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan3016">0</tspan>,BR<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan3018">0</tspan>, BL<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan3020">1</tspan>, BR<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan3022">1</tspan>, ... BL<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan3024">j/2^k</tspan> BR<tspan
|
||||
style="font-size:6px"
|
||||
id="tspan3026">j/2^k </tspan></tspan></text>
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-mid:none;marker-end:none;marker-start:url(#Arrow1Lstart)"
|
||||
d="M 404.99504,103.56693 L 342.27828,103.91486"
|
||||
id="path3046"
|
||||
inkscape:connector-type="polyline" />
|
||||
<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="86.832726"
|
||||
y="-327.60617"
|
||||
id="text3052"
|
||||
transform="matrix(-1.094382e-2,0.9999401,-0.9999401,-1.094382e-2,0,0)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3054"
|
||||
x="86.832726"
|
||||
y="-327.60617">Pclk</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="86.832726"
|
||||
y="-312.60617"
|
||||
id="tspan3062" /></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;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="551.03613"
|
||||
y="753.10077"
|
||||
id="text3064"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3066"
|
||||
x="551.03613"
|
||||
y="753.10077"
|
||||
style="font-size:12px"> </tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="551.03613"
|
||||
y="768.10077"
|
||||
id="tspan3068"><tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3111">D</tspan><tspan
|
||||
style="font-size:8px"
|
||||
id="tspan3074">0</tspan><tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3115">, </tspan><tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3109">D</tspan><tspan
|
||||
style="font-size:8px"
|
||||
id="tspan3072">1</tspan><tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3113">, ...,</tspan><tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3107"> D</tspan><tspan
|
||||
style="font-size:8px"
|
||||
id="tspan3070">j/2^k</tspan></tspan></text>
|
||||
<path
|
||||
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke-width:0.40000001000000002;stroke-miterlimit:18.10000038000000089;stroke-dasharray:none"
|
||||
id="path3309"
|
||||
d="M 75.196328,158.6717 C 80.758538,157.28869 86.44734,156.6028 92.133726,155.94035 C 107.05435,154.05138 121.8677,151.43215 136.75528,149.30749 C 147.64996,147.53122 158.58499,146.01225 169.47598,144.21603 C 171.5715,143.74706 173.73538,143.65255 175.84432,143.27807 C 176.90658,143.08945 177.95684,142.73177 179.00742,142.48204 C 180.58421,142.34805 181.98047,141.66528 183.53245,141.39396 L 172.37378,149.88252 C 170.88347,150.29297 169.41362,150.72728 167.88051,150.96244 C 164.844,151.6568 161.73546,151.85357 158.66031,152.32711 C 148.00248,153.81685 137.31827,155.11752 126.69325,156.8396 C 111.66369,159.01206 96.704443,161.62748 81.668664,163.7554 C 75.768122,164.62195 69.820463,165.47786 64.116915,167.27925 L 75.196328,158.6717 z" />
|
||||
<rect
|
||||
y="-498.05804"
|
||||
x="133.76231"
|
||||
height="94.646927"
|
||||
width="165.71428"
|
||||
id="rect3815"
|
||||
style="fill:url(#linearGradient3819);fill-opacity:1"
|
||||
transform="scale(1,-1)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;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="170.85649"
|
||||
y="394.76114"
|
||||
id="text2393"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2395"
|
||||
x="170.85649"
|
||||
y="394.76114">Address </tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="170.85649"
|
||||
y="424.76114"
|
||||
id="tspan2397">Decoder</tspan></text>
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Lstart);stroke-opacity:1"
|
||||
d="M 133.5,403.36218 L 70.75,402.86218"
|
||||
id="path3823" />
|
||||
<rect
|
||||
y="558.85974"
|
||||
x="371.81412"
|
||||
height="54.285713"
|
||||
width="138.24103"
|
||||
id="rect4875"
|
||||
style="fill:url(#linearGradient4885);fill-opacity:1" />
|
||||
<rect
|
||||
style="fill:url(#linearGradient4879);fill-opacity:1"
|
||||
id="rect4877"
|
||||
width="138.24103"
|
||||
height="54.285713"
|
||||
x="-648.05518"
|
||||
y="558.85974"
|
||||
transform="scale(-1,1)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;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="439.2803"
|
||||
y="595.7511"
|
||||
id="text2407"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2409"
|
||||
x="439.2803"
|
||||
y="595.7511">Column Mux</tspan></text>
|
||||
<path
|
||||
inkscape:connector-type="polyline"
|
||||
id="path4881"
|
||||
d="M 510.37147,497.86869 L 510.36004,557.47571"
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.00782228px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1" />
|
||||
<path
|
||||
id="path4883"
|
||||
d="M 491.10498,538.25031 L 526.70018,512.88523"
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<rect
|
||||
style="fill:#cccccc"
|
||||
id="rect2427"
|
||||
width="277.14285"
|
||||
height="54.285713"
|
||||
x="372.23978"
|
||||
y="190.47002" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;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="432.57791"
|
||||
y="225.61827"
|
||||
id="text2433"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2435"
|
||||
x="432.57791"
|
||||
y="225.61827">Write Driver</tspan></text>
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Arrow1Lstart);stroke-opacity:1"
|
||||
d="M 371.40729,219.41404 L 308.69052,219.76197"
|
||||
id="path2848"
|
||||
inkscape:connector-type="polyline" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-opacity:1"
|
||||
d="M 340.99482,208.10497 C 327.752,230.80694 327.752,230.80694 327.752,230.80694"
|
||||
id="path2882" />
|
||||
<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="167.72096"
|
||||
y="-293.01819"
|
||||
id="text2884"
|
||||
transform="matrix(-2.8547241e-3,0.9999959,-0.9999959,-2.8547241e-3,0,0)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan2886"
|
||||
x="167.72096"
|
||||
y="-293.01819">Enable, Data in</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:8px;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="519.95123"
|
||||
y="268.63846"
|
||||
id="text3028"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3030"
|
||||
x="519.95123"
|
||||
y="268.63846"
|
||||
style="font-size:12px"> Bit Lines</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="519.95123"
|
||||
y="283.63846"
|
||||
id="tspan3084"><tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3103">BL</tspan>0 ,<tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3101">BR</tspan><tspan
|
||||
style="font-size:8px"
|
||||
id="tspan3036">0</tspan>, <tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3099">BL</tspan><tspan
|
||||
style="font-size:8px"
|
||||
id="tspan3038">1</tspan>, <tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3097">BR</tspan><tspan
|
||||
style="font-size:8px"
|
||||
id="tspan3078">1</tspan>, ... <tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3095">BL</tspan><tspan
|
||||
style="font-size:8px"
|
||||
id="tspan3042">j/2^k</tspan><tspan
|
||||
style="font-size:12px"
|
||||
id="tspan3093"> BR</tspan><tspan
|
||||
style="font-size:8px"
|
||||
id="tspan3044">j /2^k</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-end:url(#Arrow1Lend)"
|
||||
d="M 510.33208,133.58278 L 510.65644,190.47002"
|
||||
id="path4910"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connection-start="#rect2387"
|
||||
inkscape:connection-end="#rect2427" />
|
||||
<path
|
||||
inkscape:connector-type="polyline"
|
||||
id="path6475"
|
||||
d="M 508.33374,244.83566 L 508.65589,308.42732"
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.0536716px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow1Lend);stroke-opacity:1" />
|
||||
<path
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 491.10498,280.25031 L 526.70018,254.88523"
|
||||
id="path6477" />
|
||||
<path
|
||||
id="path6479"
|
||||
d="M 491.10498,168.25031 L 526.70018,142.88523"
|
||||
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:24px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
x="421.4057"
|
||||
y="772.73633"
|
||||
id="text2531-9"
|
||||
transform="matrix(0.99999959,-9.0349959e-4,9.0349959e-4,0.99999959,0,0)"><tspan
|
||||
sodipodi:role="line"
|
||||
x="421.4057"
|
||||
y="772.73633"
|
||||
id="tspan2535-7">Data</tspan></text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 60 KiB |
|
|
@ -1,633 +0,0 @@
|
|||
<?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="1052.3622"
|
||||
height="744.09448"
|
||||
id="svg3956"
|
||||
version="1.1"
|
||||
inkscape:version="0.92.2 5c3e80d, 2017-08-06"
|
||||
sodipodi:docname="timing_read.svg">
|
||||
<defs
|
||||
id="defs3958">
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Mstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path4694"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt"
|
||||
transform="scale(0.4) translate(10,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Mend"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path4697"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;"
|
||||
transform="scale(0.4) rotate(180) translate(10,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart-5"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4694-5"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-6"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4697-6"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart-7"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4694-7"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-8"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4697-0"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart-3"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4694-8"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-5"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4697-3"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart-3-5"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4694-8-3"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-5-2"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4697-3-8"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart-54"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4694-70"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-9"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4697-9"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart-2"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4694-0"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-51"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4697-8"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart-33"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4694-1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-90"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4697-7"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="286.14919"
|
||||
inkscape:cy="216.91628"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="3440"
|
||||
inkscape:window-height="1392"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid3964"
|
||||
empspacing="5"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata3961">
|
||||
<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(0,-308.2677)">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 90,342.36218 0,0 0,0 100,0 10,50 100,0 10,-50 100,0 10,50 100,0 10,-50 100,0 10,50 90,0"
|
||||
id="path3966"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccccccccccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 90,194.09448 150,0 10,50 110,0 10,-50 90,0 10,50 100,0 10,-50 150,0"
|
||||
id="path4501"
|
||||
inkscape:connector-curvature="0"
|
||||
transform="translate(0,308.2677)"
|
||||
sodipodi:nodetypes="cccccccccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 90,582.36218 150,0 10,50 110,0 10,-50 90,0 10,50 100,0 10,-50 150,0"
|
||||
id="path4501-4"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccccccc" />
|
||||
<g
|
||||
id="g4534">
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
transform="translate(0,308.2677)"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4521"
|
||||
d="m 140,354.09448 590,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
transform="translate(0,308.2677)"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4523"
|
||||
d="m 130,404.09448 10,-50"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
transform="translate(0,308.2677)"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4525"
|
||||
d="m 130,404.09448 -40,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
id="g4529"
|
||||
transform="translate(-20,2.4218748e-6)">
|
||||
<path
|
||||
transform="translate(0,308.2677)"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4497"
|
||||
d="m 110,114.09448 150,0 10,50 210,0 10,-50 200,0 10,50 50,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:nodetypes="cccccccc" />
|
||||
<path
|
||||
transform="translate(0,308.2677)"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4499"
|
||||
d="m 110,164.09448 150,0 10,-50 210,0 10,50 200,0 10,-50"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:nodetypes="ccccccc" />
|
||||
<path
|
||||
transform="translate(0,308.2677)"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4527"
|
||||
d="m 700,114.09448 50,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0"
|
||||
d="m 305,322.36218 0,500"
|
||||
id="path4566"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0"
|
||||
d="m 524,323.36218 0,500"
|
||||
id="path4566-2"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="50"
|
||||
y="372.36218"
|
||||
id="text4586"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4588"
|
||||
x="50"
|
||||
y="372.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">CLK</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="50"
|
||||
y="452.36218"
|
||||
id="text4590"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4592"
|
||||
x="50"
|
||||
y="452.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">ADDR</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="50"
|
||||
y="532.36218"
|
||||
id="text4594"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4596"
|
||||
x="50"
|
||||
y="532.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">CSb</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="50"
|
||||
y="612.36218"
|
||||
id="text4598"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4600"
|
||||
x="50"
|
||||
y="612.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">OEb</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="50"
|
||||
y="692.36218"
|
||||
id="text4602"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4604"
|
||||
x="50"
|
||||
y="692.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">WEb</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="50"
|
||||
y="852.36218"
|
||||
id="text4606"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4608"
|
||||
x="50"
|
||||
y="852.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">DATA OUT</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="340"
|
||||
y="452.36218"
|
||||
id="text4610"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4612"
|
||||
x="340"
|
||||
y="452.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">A0</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="560"
|
||||
y="452.36218"
|
||||
id="text4614"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4616"
|
||||
x="560"
|
||||
y="452.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">A1</tspan></text>
|
||||
<path
|
||||
sodipodi:nodetypes="cccccccc"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 154,822.36218 h 80 l 10,50 h 220 l 10,-50 h 210 l 10,50 h 100"
|
||||
id="path4497-7"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccccccc"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 154,872.36218 h 80 l 10,-50 h 220 l 10,50 h 210 l 10,-50"
|
||||
id="path4499-4"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 744,822.36218 h 30"
|
||||
id="path4527-5"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 694,822.36218 H 794"
|
||||
id="path4618"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="555"
|
||||
y="851.36218"
|
||||
id="text4652"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4654"
|
||||
x="555"
|
||||
y="851.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">D0</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="719"
|
||||
y="851.36218"
|
||||
id="text4656"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4658"
|
||||
x="719"
|
||||
y="851.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">D1</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend);marker-start:url(#Arrow1Mstart);stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 250,214.09448 50,0"
|
||||
id="path4682"
|
||||
inkscape:connector-curvature="0"
|
||||
transform="translate(0,308.2677)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
|
||||
d="m 250,602.36218 50,0"
|
||||
id="path4682-2"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
|
||||
d="m 310,602.36218 50,0"
|
||||
id="path4682-2-2"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
|
||||
d="m 310,522.36218 50,0"
|
||||
id="path4682-2-3"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="260"
|
||||
y="592.36218"
|
||||
id="text5843"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5845"
|
||||
x="260"
|
||||
y="592.36218"
|
||||
style="font-size:12px;line-height:1.25;font-family:sans-serif">Setup</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="320"
|
||||
y="592.36218"
|
||||
id="text5847"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5849"
|
||||
x="320"
|
||||
y="592.36218"
|
||||
style="font-size:12px;line-height:1.25;font-family:sans-serif">Hold</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="260"
|
||||
y="512.36218"
|
||||
id="text5843-2"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5845-4"
|
||||
x="260"
|
||||
y="512.36218"
|
||||
style="font-size:12px;line-height:1.25;font-family:sans-serif">Setup</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="320"
|
||||
y="512.36218"
|
||||
id="text5847-7"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5849-7"
|
||||
x="320"
|
||||
y="512.36218"
|
||||
style="font-size:12px;line-height:1.25;font-family:sans-serif">Hold</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.70683157px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart-2);marker-end:url(#Arrow1Mend-51)"
|
||||
d="M 420.03502,849.36218 H 465"
|
||||
id="path6523"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="379"
|
||||
y="840.36218"
|
||||
id="text7149"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7151"
|
||||
x="379"
|
||||
y="840.36218"
|
||||
style="font-size:14px;line-height:1.25;font-family:sans-serif">Read Delay</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="260"
|
||||
y="442.36218"
|
||||
id="text5843-2-3"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5845-4-5"
|
||||
x="260"
|
||||
y="442.36218"
|
||||
style="font-size:12px;line-height:1.25;font-family:sans-serif">Setup</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
|
||||
d="m 250,452.36218 50,0"
|
||||
id="path4682-4"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 90,484.09448 220,0 10,-50 100,0 10,50 100,0 10,-50 100,0 10,50 80,0"
|
||||
id="path3080"
|
||||
inkscape:connector-curvature="0"
|
||||
transform="translate(0,308.2677)"
|
||||
sodipodi:nodetypes="cccccccccc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="50"
|
||||
y="772.36218"
|
||||
id="text3946"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3948"
|
||||
x="50"
|
||||
y="772.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">SCLK</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0"
|
||||
d="m 305,817.36218 0,80"
|
||||
id="path3969"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0"
|
||||
d="m 524,817.36218 0,80"
|
||||
id="path4004"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path104"
|
||||
d="m 417,320.36218 v 500"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path106"
|
||||
d="m 417,815.36218 v 80"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 24 KiB |
|
|
@ -1,811 +0,0 @@
|
|||
<?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="1052.3622"
|
||||
height="744.09448"
|
||||
id="svg3956"
|
||||
version="1.1"
|
||||
inkscape:version="0.92.2 5c3e80d, 2017-08-06"
|
||||
sodipodi:docname="timing_write.svg">
|
||||
<defs
|
||||
id="defs3958">
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Mstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path4694"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt"
|
||||
transform="scale(0.4) translate(10,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0.0"
|
||||
refX="0.0"
|
||||
id="Arrow1Mend"
|
||||
style="overflow:visible;">
|
||||
<path
|
||||
id="path4697"
|
||||
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;"
|
||||
transform="scale(0.4) rotate(180) translate(10,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart-5"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4694-5"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-6"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4697-6"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart-7"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4694-7"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-8"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4697-0"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart-3"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4694-8"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-5"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4697-3"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart-3-5"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4694-8-3"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-5-2"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4697-3-8"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart-54"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4694-70"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-9"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4697-9"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart-2"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4694-0"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-51"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4697-8"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart-33"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4694-1"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-90"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4697-7"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart-4"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4694-703"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-84"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4697-70"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart-32"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4694-73"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-4"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4697-76"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart-32-6"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4694-73-8"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend-4-3"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4697-76-9"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="270.7745"
|
||||
inkscape:cy="329.51856"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="3440"
|
||||
inkscape:window-height="1392"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid3964"
|
||||
empspacing="5"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata3961">
|
||||
<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(0,-308.2677)">
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 90,342.36218 0,0 0,0 100,0 10,50 100,0 10,-50 100,0 10,50 100,0 10,-50 100,0 10,50 90,0"
|
||||
id="path3966"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccccccccccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 90,194.09448 150,0 10,50 110,0 10,-50 90,0 10,50 100,0 10,-50 150,0"
|
||||
id="path4501"
|
||||
inkscape:connector-curvature="0"
|
||||
transform="translate(0,308.2677)"
|
||||
sodipodi:nodetypes="cccccccccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 90,582.36218 150,0 10,50 110,0 10,-50 90,0 10,50 100,0 10,-50 150,0"
|
||||
id="path4501-4"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccccccc" />
|
||||
<g
|
||||
id="g4534">
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
transform="translate(0,308.2677)"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4521"
|
||||
d="m 140,354.09448 590,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
transform="translate(0,308.2677)"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4523"
|
||||
d="m 130,404.09448 10,-50"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<path
|
||||
transform="translate(0,308.2677)"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4525"
|
||||
d="m 130,404.09448 -40,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
id="g4529"
|
||||
transform="translate(-20,2.4218748e-6)">
|
||||
<path
|
||||
transform="translate(0,308.2677)"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4497"
|
||||
d="m 110,114.09448 150,0 10,50 210,0 10,-50 200,0 10,50 50,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:nodetypes="cccccccc" />
|
||||
<path
|
||||
transform="translate(0,308.2677)"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4499"
|
||||
d="m 110,164.09448 150,0 10,-50 210,0 10,50 200,0 10,-50"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:nodetypes="ccccccc" />
|
||||
<path
|
||||
transform="translate(0,308.2677)"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4527"
|
||||
d="m 700,114.09448 50,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60436904;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3.20873807, 3.20873807;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 305,322.36218 v 572"
|
||||
id="path4566"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.59874952;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3.19749902, 3.19749902;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 524,323.36218 v 568"
|
||||
id="path4566-2"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="50"
|
||||
y="372.36218"
|
||||
id="text4586"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4588"
|
||||
x="50"
|
||||
y="372.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">CLK</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="50"
|
||||
y="452.36218"
|
||||
id="text4590"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4592"
|
||||
x="50"
|
||||
y="452.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">ADDR</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="50"
|
||||
y="532.36218"
|
||||
id="text4594"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4596"
|
||||
x="50"
|
||||
y="532.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">CSb</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="50"
|
||||
y="692.36218"
|
||||
id="text4598"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4600"
|
||||
x="50"
|
||||
y="692.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">OEb</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="50"
|
||||
y="612.36218"
|
||||
id="text4602"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4604"
|
||||
x="50"
|
||||
y="612.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">WEb</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="59"
|
||||
y="785.36218"
|
||||
id="text4606"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4608"
|
||||
x="59"
|
||||
y="785.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">DATA IN</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="340"
|
||||
y="452.36218"
|
||||
id="text4610"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4612"
|
||||
x="340"
|
||||
y="452.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">A0</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="560"
|
||||
y="452.36218"
|
||||
id="text4614"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4616"
|
||||
x="560"
|
||||
y="452.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">A1</tspan></text>
|
||||
<g
|
||||
transform="translate(-70,331)"
|
||||
id="g4529-7">
|
||||
<path
|
||||
transform="translate(0,308.2677)"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4497-7"
|
||||
d="m 270,164.09448 v 0 0 h 150 l 10,-50 h 120 l 10,50 h 80"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
sodipodi:nodetypes="cccccccc" />
|
||||
<path
|
||||
transform="translate(0,308.2677)"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4499-4"
|
||||
d="m 270,114.09448 v 0 0 h 150 l 10,50 h 120 l 10,-50"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
sodipodi:nodetypes="ccccccc" />
|
||||
<path
|
||||
transform="translate(0,308.2677)"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4527-5"
|
||||
d="m 700,114.09448 v 0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
sodipodi:nodetypes="cc" />
|
||||
</g>
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 580,753.36218 v 0"
|
||||
id="path4618"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="403"
|
||||
y="797.36218"
|
||||
id="text4652"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4654"
|
||||
x="403"
|
||||
y="797.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">D0</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#666666;fill-opacity:1;stroke:none"
|
||||
x="621"
|
||||
y="784.36218"
|
||||
id="text4656"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4658"
|
||||
x="621"
|
||||
y="784.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif;fill:#000000">D1</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend);marker-start:url(#Arrow1Mstart);stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 250,214.09448 50,0"
|
||||
id="path4682"
|
||||
inkscape:connector-curvature="0"
|
||||
transform="translate(0,308.2677)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
|
||||
d="m 250,602.36218 50,0"
|
||||
id="path4682-2"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
|
||||
d="m 310,602.36218 50,0"
|
||||
id="path4682-2-2"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
|
||||
d="m 310,522.36218 50,0"
|
||||
id="path4682-2-3"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="260"
|
||||
y="592.36218"
|
||||
id="text5843"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5845"
|
||||
x="260"
|
||||
y="592.36218"
|
||||
style="font-size:12px;line-height:1.25;font-family:sans-serif">Setup</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="320"
|
||||
y="592.36218"
|
||||
id="text5847"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5849"
|
||||
x="320"
|
||||
y="592.36218"
|
||||
style="font-size:12px;line-height:1.25;font-family:sans-serif">Hold</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="260"
|
||||
y="512.36218"
|
||||
id="text5843-2"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5845-4"
|
||||
x="260"
|
||||
y="512.36218"
|
||||
style="font-size:12px;line-height:1.25;font-family:sans-serif">Setup</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="320"
|
||||
y="512.36218"
|
||||
id="text5847-7"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5849-7"
|
||||
x="320"
|
||||
y="512.36218"
|
||||
style="font-size:12px;line-height:1.25;font-family:sans-serif">Hold</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="260"
|
||||
y="442.36218"
|
||||
id="text5843-2-3"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5845-4-5"
|
||||
x="260"
|
||||
y="442.36218"
|
||||
style="font-size:12px;line-height:1.25;font-family:sans-serif">Setup</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
|
||||
d="m 250,452.36218 50,0"
|
||||
id="path4682-4"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0"
|
||||
d="m 482,746.36218 v 50"
|
||||
id="path4382"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="opacity:0.31687245;color:#000000;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
d=""
|
||||
id="path4390"
|
||||
inkscape:connector-curvature="0"
|
||||
transform="translate(0,308.2677)" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
|
||||
d="m 360,773.36218 h 50"
|
||||
id="path4682-2-9"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="369"
|
||||
y="765.36218"
|
||||
id="text5843-3"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5845-5"
|
||||
x="369"
|
||||
y="765.36218"
|
||||
style="font-size:12px;line-height:1.25;font-family:sans-serif">Setup</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#Arrow1Mstart);marker-end:url(#Arrow1Mend)"
|
||||
d="m 420,773.36218 h 50"
|
||||
id="path4682-2-2-0"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="432"
|
||||
y="766.36218"
|
||||
id="text5847-2"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5849-8"
|
||||
x="432"
|
||||
y="766.36218"
|
||||
style="font-size:12px;line-height:1.25;font-family:sans-serif">Hold</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 580,753.36218 H 490"
|
||||
id="path3165"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 570,803.36218 10,-50 h 120 l 10,50 h 90 l 10,-50 h 30"
|
||||
id="path4060"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 570,753.36218 10,50 h 120 l 10,-50 h 90 l 10,50 h 30"
|
||||
id="path4062"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccccc" />
|
||||
<path
|
||||
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.31687245;fill:#666666;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0;marker:none;enable-background:accumulate"
|
||||
d="m 490.11279,796.39362 c -3.43878,-16.01305 -3.5001,-17.72303 -1.07757,-30.05012 l 2.29927,-11.69988 h 38.74001 38.74001 l 2.2939,11.67258 2.29391,11.67258 -2.27882,11.82742 -2.27882,11.82742 h -38.80223 -38.80223 z"
|
||||
id="path4064"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:0.31687245;fill:#666666;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0;marker:none;enable-background:accumulate"
|
||||
d="m 710.11279,796.39362 c -3.43878,-16.01305 -3.5001,-17.72303 -1.07757,-30.05012 l 2.29927,-11.69988 h 43.74001 43.74001 l 2.2939,11.67258 2.29391,11.67258 -2.27882,11.82742 -2.27882,11.82742 h -43.80223 -43.80223 z"
|
||||
id="path4066"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 200,833.36218 h 300 l 10,50 h 210 l 10,-50 h 110"
|
||||
id="path4068"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 200,883.36218 h 300 l 10,-50 h 210 l 10,50 h 110"
|
||||
id="path4070"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="550"
|
||||
y="863.36218"
|
||||
id="text4652-4"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4654-9"
|
||||
x="550"
|
||||
y="863.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">D0</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#666666;fill-opacity:1;stroke:none"
|
||||
x="770"
|
||||
y="863.36218"
|
||||
id="text4656-4"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4658-4"
|
||||
x="770"
|
||||
y="863.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif;fill:#000000">D1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="89"
|
||||
y="855.36218"
|
||||
id="text4114"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4116"
|
||||
x="89"
|
||||
y="855.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif;text-align:center;text-anchor:middle">X</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="89"
|
||||
y="870.05359"
|
||||
id="tspan4118"
|
||||
style="font-size:10px;line-height:1.25;font-family:sans-serif;text-align:center;text-anchor:middle">Mem Cell</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.20000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#Arrow1Mstart-32);marker-end:url(#Arrow1Mend-4)"
|
||||
d="m 420,863.36218 h 80"
|
||||
id="path4120"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="421"
|
||||
y="855.36218"
|
||||
id="text4592"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4594"
|
||||
x="421"
|
||||
y="855.36218"
|
||||
style="font-size:13px;line-height:1.25;font-family:sans-serif">Write Delay</tspan></text>
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path135"
|
||||
d="m 416,319.36218 v 577"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.61136591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3.22273176, 3.22273176;stroke-dashoffset:0;stroke-opacity:1" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 32 KiB |
|
|
@ -1,643 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="744.09448819"
|
||||
height="1052.3622047"
|
||||
id="svg4759"
|
||||
version="1.1"
|
||||
inkscape:version="0.92.2 5c3e80d, 2017-08-06"
|
||||
sodipodi:docname="write_driver_schem.svg">
|
||||
<defs
|
||||
id="defs4761" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="57.5"
|
||||
inkscape:cy="520"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="3440"
|
||||
inkscape:window-height="1392"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid4767" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata4764">
|
||||
<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">
|
||||
<g
|
||||
id="g5108"
|
||||
transform="translate(101,-10.999997)">
|
||||
<g
|
||||
transform="matrix(0,-1,1,0,-382.3481,1191.3609)"
|
||||
id="g3630">
|
||||
<g
|
||||
id="g3035"
|
||||
transform="matrix(1.25,0,0,1.25,370,363.1931)">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 31.199,271.324 -16,0 0,-16 0,32"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path3037" />
|
||||
</g>
|
||||
<g
|
||||
id="g3039"
|
||||
transform="matrix(1.25,0,0,1.25,370,363.1931)">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 7.199,263.324 0,16"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path3041" />
|
||||
</g>
|
||||
<g
|
||||
id="g3043"
|
||||
transform="matrix(1.25,0,0,1.25,370,363.1931)">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
d="m 0.801,266.523 0,9.602"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path3045" />
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4590"
|
||||
d="m 320,732.36218 0,50"
|
||||
style="fill:none;stroke:#000000;stroke-width:2.23606801;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
id="g5101"
|
||||
transform="translate(111,-2)">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4584"
|
||||
d="m 310,192.36218 0,-40 30,0 -60,0"
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
<g
|
||||
transform="matrix(1.25,0,0,1,-199,-146.79282)"
|
||||
id="g3319">
|
||||
<path
|
||||
id="path3321"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.93475199;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 409.934,339.155 c 0,1.338 -0.864,2.417 -1.934,2.417 -1.07,0 -1.934,-1.079 -1.934,-2.417 0,-1.333 0.864,-2.417 1.934,-2.417 1.07,0 1.934,1.084 1.934,2.417 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<text
|
||||
id="text4691"
|
||||
y="142.36218"
|
||||
x="330"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
xml:space="preserve"><tspan
|
||||
y="142.36218"
|
||||
x="330"
|
||||
id="tspan4693"
|
||||
sodipodi:role="line"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">vdd</tspan></text>
|
||||
</g>
|
||||
<g
|
||||
id="g3689-3"
|
||||
transform="matrix(-1,0,0,1,869.99875,-10.985927)">
|
||||
<g
|
||||
transform="matrix(1.25,0,0,1.25,-200,23.193113)"
|
||||
id="g3223-5">
|
||||
<path
|
||||
id="path3225-9"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.30079997;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 434.398,221.727 c 0,2.207 -1.789,4 -4,4 -2.207,0 -4,-1.793 -4,-4 0,-2.211 1.793,-4 4,-4 2.211,0 4,1.789 4,4 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,1.25,-1.25,0,-200,23.193113)"
|
||||
id="g3227-9">
|
||||
<path
|
||||
id="path3229-3"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 175.324,-407.199 29.539,0 0,-14.66 36.922,0 0,14.66 29.539,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,1.25,-1.25,0,-200,23.193113)"
|
||||
id="g3231-4">
|
||||
<path
|
||||
id="path3233-7"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 205.215,-425.902 36.57,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,1.25,-1.25,0,-200,23.193113)"
|
||||
id="g3235-2">
|
||||
<path
|
||||
id="path3237-1"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 202.648,-421.859 40.614,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g3689-33"
|
||||
transform="matrix(-1,0,0,1,869.99875,109.01407)">
|
||||
<g
|
||||
transform="matrix(1.25,0,0,1.25,-200,23.193113)"
|
||||
id="g3223-69">
|
||||
<path
|
||||
id="path3225-1"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.30079997;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 434.398,221.727 c 0,2.207 -1.789,4 -4,4 -2.207,0 -4,-1.793 -4,-4 0,-2.211 1.793,-4 4,-4 2.211,0 4,1.789 4,4 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,1.25,-1.25,0,-200,23.193113)"
|
||||
id="g3227-5">
|
||||
<path
|
||||
id="path3229-9"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 175.324,-407.199 29.539,0 0,-14.66 36.922,0 0,14.66 29.539,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,1.25,-1.25,0,-200,23.193113)"
|
||||
id="g3231-7">
|
||||
<path
|
||||
id="path3233-0"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 205.215,-425.902 36.57,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,1.25,-1.25,0,-200,23.193113)"
|
||||
id="g3235-0">
|
||||
<path
|
||||
id="path3237-6"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 202.648,-421.859 40.614,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g4931-2"
|
||||
transform="matrix(0,-1,1,0,38.65189,750.36093)">
|
||||
<g
|
||||
transform="matrix(1.25,0,0,1.25,120,373.19311)"
|
||||
id="g3011-3">
|
||||
<path
|
||||
id="path3013-9"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 31.199,119.324 29.539,0 0,-14.66 36.922,0 0,14.66 29.539,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(1.25,0,0,1.25,120,373.19311)"
|
||||
id="g3015-4">
|
||||
<path
|
||||
id="path3017-3"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 61.09,100.621 36.57,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(1.25,0,0,1.25,120,373.19311)"
|
||||
id="g3019-3">
|
||||
<path
|
||||
id="path3021-4"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 58.523,104.664 40.614,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g4931-1-5"
|
||||
transform="matrix(0,-1,1,0,38.65189,870.36093)">
|
||||
<g
|
||||
transform="matrix(1.25,0,0,1.25,120,373.19311)"
|
||||
id="g3011-8-7">
|
||||
<path
|
||||
id="path3013-2-7"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 31.199,119.324 29.539,0 0,-14.66 36.922,0 0,14.66 29.539,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(1.25,0,0,1.25,120,373.19311)"
|
||||
id="g3015-6-5">
|
||||
<path
|
||||
id="path3017-4-9"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 61.09,100.621 36.57,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(1.25,0,0,1.25,120,373.19311)"
|
||||
id="g3019-5-4">
|
||||
<path
|
||||
id="path3021-8-3"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 58.523,104.664 40.614,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 461,361.36218 0,290 80,0"
|
||||
id="path5722"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 461,361.36218 0,-40"
|
||||
id="path5728"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 527,289.36218 -66,0 0,35"
|
||||
id="path5757"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 528,408.36218 -26,0 0,0"
|
||||
id="path5769"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<g
|
||||
id="g3689-3-7"
|
||||
transform="matrix(-1,0,0,1,589.99875,-10.985926)">
|
||||
<g
|
||||
transform="matrix(1.25,0,0,1.25,-200,23.193113)"
|
||||
id="g3223-5-6">
|
||||
<path
|
||||
id="path3225-9-2"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.30079997;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 434.398,221.727 c 0,2.207 -1.789,4 -4,4 -2.207,0 -4,-1.793 -4,-4 0,-2.211 1.793,-4 4,-4 2.211,0 4,1.789 4,4 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,1.25,-1.25,0,-200,23.193113)"
|
||||
id="g3227-9-5">
|
||||
<path
|
||||
id="path3229-3-7"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 175.324,-407.199 29.539,0 0,-14.66 36.922,0 0,14.66 29.539,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,1.25,-1.25,0,-200,23.193113)"
|
||||
id="g3231-4-4">
|
||||
<path
|
||||
id="path3233-7-9"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 205.215,-425.902 36.57,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,1.25,-1.25,0,-200,23.193113)"
|
||||
id="g3235-2-3">
|
||||
<path
|
||||
id="path3237-1-7"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 202.648,-421.859 40.614,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g3689-33-0"
|
||||
transform="matrix(-1,0,0,1,589.99875,109.01407)">
|
||||
<g
|
||||
transform="matrix(1.25,0,0,1.25,-200,23.193113)"
|
||||
id="g3223-69-9">
|
||||
<path
|
||||
id="path3225-1-1"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.30079997;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 434.398,221.727 c 0,2.207 -1.789,4 -4,4 -2.207,0 -4,-1.793 -4,-4 0,-2.211 1.793,-4 4,-4 2.211,0 4,1.789 4,4 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,1.25,-1.25,0,-200,23.193113)"
|
||||
id="g3227-5-6">
|
||||
<path
|
||||
id="path3229-9-9"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 175.324,-407.199 29.539,0 0,-14.66 36.922,0 0,14.66 29.539,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,1.25,-1.25,0,-200,23.193113)"
|
||||
id="g3231-7-4">
|
||||
<path
|
||||
id="path3233-0-6"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 205.215,-425.902 36.57,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0,1.25,-1.25,0,-200,23.193113)"
|
||||
id="g3235-0-4">
|
||||
<path
|
||||
id="path3237-6-9"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 202.648,-421.859 40.614,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g4931-2-2"
|
||||
transform="matrix(0,-1,1,0,-241.34811,750.36093)">
|
||||
<g
|
||||
transform="matrix(1.25,0,0,1.25,120,373.19311)"
|
||||
id="g3011-3-5">
|
||||
<path
|
||||
id="path3013-9-3"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 31.199,119.324 29.539,0 0,-14.66 36.922,0 0,14.66 29.539,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(1.25,0,0,1.25,120,373.19311)"
|
||||
id="g3015-4-8">
|
||||
<path
|
||||
id="path3017-3-1"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 61.09,100.621 36.57,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(1.25,0,0,1.25,120,373.19311)"
|
||||
id="g3019-3-1">
|
||||
<path
|
||||
id="path3021-4-1"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 58.523,104.664 40.614,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g4931-1-5-9"
|
||||
transform="matrix(0,-1,1,0,-241.34811,870.36093)">
|
||||
<g
|
||||
transform="matrix(1.25,0,0,1.25,120,373.19311)"
|
||||
id="g3011-8-7-3">
|
||||
<path
|
||||
id="path3013-2-7-3"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 31.199,119.324 29.539,0 0,-14.66 36.922,0 0,14.66 29.539,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(1.25,0,0,1.25,120,373.19311)"
|
||||
id="g3015-6-5-0">
|
||||
<path
|
||||
id="path3017-4-9-3"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 61.09,100.621 36.57,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(1.25,0,0,1.25,120,373.19311)"
|
||||
id="g3019-5-4-0">
|
||||
<path
|
||||
id="path3021-8-3-8"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 58.523,104.664 40.614,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g5665-2"
|
||||
transform="matrix(0,-1,1,0,-131.34811,590.36093)">
|
||||
<g
|
||||
transform="matrix(1.25,0,0,1.25,-490,-176.80689)"
|
||||
id="g3411-4">
|
||||
<path
|
||||
id="path3413-5"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 495.199,407.324 0,32 24,-16 -24,-16 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(1.25,0,0,1.25,-490,-176.80689)"
|
||||
id="g3415-1">
|
||||
<path
|
||||
id="path3417-8"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.30079997;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 527.199,423.324 c 0,2.211 -1.789,4 -4,4 -2.207,0 -4,-1.789 -4,-4 0,-2.207 1.793,-4 4,-4 2.211,0 4,1.793 4,4 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 181,361.36218 0,290 80,0"
|
||||
id="path5722-4"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 181,361.36218 0,-40"
|
||||
id="path5728-5"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 247,289.36218 -66,0 0,35"
|
||||
id="path5757-5"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 261,531.36218 -40,0 0,-70"
|
||||
id="path5767-7"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 248,408.36218 -26,0 0,14"
|
||||
id="path5769-6"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2.23387456;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 221,531.36218 -124.754902,0"
|
||||
id="path6000"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path3321-6"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.1631186;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 223.4175,531.36218 c 0,1.338 -1.08,2.417 -2.4175,2.417 -1.3375,0 -2.4175,-1.079 -2.4175,-2.417 0,-1.333 1.08,-2.417 2.4175,-2.417 1.3375,0 2.4175,1.084 2.4175,2.417 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 261,531.36218 280,0"
|
||||
id="path6065"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 502,408.36218 -259,0"
|
||||
id="path6067"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="71"
|
||||
y="536.36218"
|
||||
id="text6069"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6071"
|
||||
x="71"
|
||||
y="536.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">en</tspan></text>
|
||||
<g
|
||||
id="g5665-2-0"
|
||||
transform="matrix(0,1,-1,0,493.34811,272.36343)">
|
||||
<g
|
||||
transform="matrix(1.25,0,0,1.25,-490,-176.80689)"
|
||||
id="g3411-4-5">
|
||||
<path
|
||||
id="path3413-5-6"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.60000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 495.199,407.324 0,32 24,-16 -24,-16 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(1.25,0,0,1.25,-490,-176.80689)"
|
||||
id="g3415-1-6">
|
||||
<path
|
||||
id="path3417-8-9"
|
||||
style="fill:none;stroke:#000000;stroke-width:1.30079997;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 527.199,423.324 c 0,2.211 -1.789,4 -4,4 -2.207,0 -4,-1.789 -4,-4 0,-2.207 1.793,-4 4,-4 2.211,0 4,1.793 4,4 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 141,441.36218 0,50 40,0"
|
||||
id="path6146"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 141,401.36218 0,-50 320,0"
|
||||
id="path6148"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 141,351.36218 -50,0"
|
||||
id="path6150"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path3321-6-8"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.1631186;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 143.4175,351.36218 c 0,1.338 -1.08,2.417 -2.4175,2.417 -1.3375,0 -2.4175,-1.079 -2.4175,-2.417 0,-1.333 1.08,-2.417 2.4175,-2.417 1.3375,0 2.4175,1.084 2.4175,2.417 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path3321-6-7"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.1631186;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 183.4175,491.36218 c 0,1.338 -1.08,2.417 -2.4175,2.417 -1.3375,0 -2.4175,-1.079 -2.4175,-2.417 0,-1.333 1.08,-2.417 2.4175,-2.417 1.3375,0 2.4175,1.084 2.4175,2.417 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path3321-6-0"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.1631186;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 463.4175,351.36218 c 0,1.338 -1.08,2.417 -2.4175,2.417 -1.3375,0 -2.4175,-1.079 -2.4175,-2.417 0,-1.333 1.08,-2.417 2.4175,-2.417 1.3375,0 2.4175,1.084 2.4175,2.417 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path3321-6-88"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.1631186;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 283.4175,471.36218 c 0,1.338 -1.08,2.417 -2.4175,2.417 -1.3375,0 -2.4175,-1.079 -2.4175,-2.417 0,-1.333 1.08,-2.417 2.4175,-2.417 1.3375,0 2.4175,1.084 2.4175,2.417 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path3321-6-86"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.1631186;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 563.4175,471.36218 c 0,1.338 -1.08,2.417 -2.4175,2.417 -1.3375,0 -2.4175,-1.079 -2.4175,-2.417 0,-1.333 1.08,-2.417 2.4175,-2.417 1.3375,0 2.4175,1.084 2.4175,2.417 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
id="path3321-6-3"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2.1631186;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 423.4175,721.36218 c 0,1.338 -1.08,2.417 -2.4175,2.417 -1.3375,0 -2.4175,-1.079 -2.4175,-2.417 0,-1.333 1.08,-2.417 2.4175,-2.417 1.3375,0 2.4175,1.084 2.4175,2.417 z"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="47"
|
||||
y="356.36218"
|
||||
id="text6205"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6207"
|
||||
x="47"
|
||||
y="356.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">DATA</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 561,471.36218 80,0 -10,-10 10,10 -10,10"
|
||||
id="path6209"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 281,471.36218 80,0 -10,-10 10,10 -10,10"
|
||||
id="path6211"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 281,231.36218 0,-40 280,0 0,40"
|
||||
id="path6213"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 381,721.36218 180,0 0,-10"
|
||||
id="path6215"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 281,711.36218 0,10 100,0"
|
||||
id="path6217"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="365"
|
||||
y="476.36218"
|
||||
id="text6219"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6221"
|
||||
x="365"
|
||||
y="476.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">bl</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="645"
|
||||
y="477.36218"
|
||||
id="text6223"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan6225"
|
||||
x="645"
|
||||
y="477.36218"
|
||||
style="font-size:16px;line-height:1.25;font-family:sans-serif">br</tspan></text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 29 KiB |
|
|
@ -1,199 +0,0 @@
|
|||
<?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="765"
|
||||
height="990"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.0 r9654"
|
||||
sodipodi:docname="xsram_block.svg">
|
||||
<defs
|
||||
id="defs4" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.6010101"
|
||||
inkscape:cx="506.22072"
|
||||
inkscape:cy="495"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
inkscape:window-width="1440"
|
||||
inkscape:window-height="813"
|
||||
inkscape:window-x="4"
|
||||
inkscape:window-y="22"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:snap-global="true"
|
||||
inkscape:snap-grids="false"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid2999"
|
||||
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(0,-62.362183)">
|
||||
<rect
|
||||
style="fill:#cccccc;fill-rule:evenodd;stroke:#cccccc;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect3001"
|
||||
width="284.521"
|
||||
height="51.57983"
|
||||
x="99.831932"
|
||||
y="213.77394" />
|
||||
<rect
|
||||
style="fill:#cccccc;fill-rule:evenodd;stroke:#000000;stroke-width:0.87821972px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect3003"
|
||||
width="277.86554"
|
||||
height="273.34061"
|
||||
x="101.4958"
|
||||
y="275.33698" />
|
||||
<rect
|
||||
style="fill:#b3b3b3;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:0.91462636px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect3005"
|
||||
width="261.50534"
|
||||
height="58.716049"
|
||||
x="107.27876"
|
||||
y="875.5116" />
|
||||
<rect
|
||||
style="fill:#b3b3b3;fill-rule:evenodd;stroke:#b3b3b3;stroke-width:0.91708475px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect3005-6"
|
||||
width="270.49432"
|
||||
height="57.070377"
|
||||
x="399.90186"
|
||||
y="874.6615" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:36.76748657px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Times New Roman;-inkscape-font-specification:'Times New Roman,'"
|
||||
x="342.79984"
|
||||
y="121.62278"
|
||||
id="text3036"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(1.0581087,0.94508251)"><tspan
|
||||
sodipodi:role="line"
|
||||
x="347.39578"
|
||||
y="121.62278"
|
||||
id="tspan3040">Block Diagram of XSRAM </tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="342.79984"
|
||||
y="167.58214"
|
||||
id="tspan3044">Topmost Instance Datapath</tspan></text>
|
||||
<rect
|
||||
style="fill:#b3b3b3;fill-rule:evenodd;stroke:#000000;stroke-width:0.90747511px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
id="rect3046"
|
||||
width="276.20169"
|
||||
height="57.548901"
|
||||
x="106.48739"
|
||||
y="694.13104" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
x="123.12605"
|
||||
y="191.34454"
|
||||
id="text3054"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="translate(0,62.362183)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3056"
|
||||
x="123.12605"
|
||||
y="191.34454" /></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
x="129.78151"
|
||||
y="245.38739"
|
||||
id="text3058"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3060"
|
||||
x="129.78151"
|
||||
y="245.38739">XSRAM.XPRECHARGE</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
x="158.06723"
|
||||
y="342.75629"
|
||||
id="text3064"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="translate(0,62.362183)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3066"
|
||||
x="158.06723"
|
||||
y="342.75629">XSRAM.XARRAY</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
x="144.7563"
|
||||
y="731.23608"
|
||||
id="text3068"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3070"
|
||||
x="144.7563"
|
||||
y="731.23608">XSRAM.XCOLMUX</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
x="129.78151"
|
||||
y="910.93353"
|
||||
id="text3072"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3074"
|
||||
x="129.78151"
|
||||
y="910.93353">XSRAM.XSENSE_AMP</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
x="397.66388"
|
||||
y="853.56305"
|
||||
id="text3076"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="translate(0,62.362183)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3078"
|
||||
x="397.66388"
|
||||
y="853.56305" /></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
x="412.63867"
|
||||
y="910.93353"
|
||||
id="text3080"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3082"
|
||||
x="412.63867"
|
||||
y="910.93353">XSRAM.XWRITE_DRIVER</tspan></text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 8.0 KiB |
|
|
@ -1,33 +0,0 @@
|
|||
\section*{GDSMill}
|
||||
\label{sec:gdsMill_permission}
|
||||
|
||||
OpenRAM uses gdsMill, a GDS library written by Michael Wieckowski at
|
||||
the University of Michigan. Michael gave us complete permission to use
|
||||
the code. Since then, we have made several bug and performance
|
||||
enhancements to gdsMill. In addition, gdsMill is no longer available
|
||||
on the web, so we distribute it along with OpenRAM.
|
||||
|
||||
|
||||
\begin{verbatim}
|
||||
From: Michael Wieckowski <wieckows@umich.edu>
|
||||
Date: Thu, Oct 14, 2010 at 12:49 PM
|
||||
Subject: Re: GDS Mill
|
||||
To: Matthew Guthaus <mrg@soe.ucsc.edu>
|
||||
|
||||
Hi Matt,
|
||||
|
||||
Feel free to use / modify / distribute the code as you like.
|
||||
|
||||
-Mike
|
||||
|
||||
On Oct 14, 2010, at 3:07 PM, Matthew Guthaus wrote:
|
||||
> Hi Michael (& Dennis),
|
||||
>
|
||||
> A student and I were looking at your GDS tools, but
|
||||
> we noticed that there is no license. What is the license?
|
||||
>
|
||||
> Thanks,
|
||||
>
|
||||
> Matt
|
||||
|
||||
\end{verbatim}
|
||||
|
|
@ -1,389 +0,0 @@
|
|||
\section{Software Implementation}
|
||||
\label{sec:implementation}
|
||||
|
||||
OpenRAM is implemented using object-oriented data structures in the
|
||||
Python programming language. The top-level executable is
|
||||
\verb|openram.py| which parses input arguments, creates the memory and
|
||||
saves the output.
|
||||
|
||||
|
||||
\subsection{Design Hierarchy}
|
||||
\label{sec:design}
|
||||
|
||||
All modules in OpenRAM are derived from the \verb|design| class in
|
||||
\verb|design.py|. The design class is a data structure that consists
|
||||
of a spice netlist, a layout, and a name. The spice netlist
|
||||
capabilities are inherited from the \verb|hierarchy_spice| class while
|
||||
the layout capabilities are inherited from the \verb|hierarchy_layout|
|
||||
class. The only additional function in design.py is \verb|DRC_LVS()|,
|
||||
which performs a DRC/LVS check on the module.
|
||||
|
||||
|
||||
\begin{figure}[htb]
|
||||
\centering
|
||||
\includegraphics[width=10cm]{./figs/class_hierarchy.pdf}
|
||||
\caption{Class hierarchy}
|
||||
\label{fig:class_hierarchy}
|
||||
\end{figure}
|
||||
|
||||
\subsubsection{Spice Hierarchy}
|
||||
|
||||
The spice hierarchy is stored in the \verb|spice| class in
|
||||
\verb|hierarchy_spice.py|. When the design class is initialized for a
|
||||
module, a data structure for the spice hierarchy is created. The
|
||||
spice data stucture name becomes the name of the top-level subcircuit
|
||||
definition for the module. The list of pins for the module are added
|
||||
to the subcircuit definition by using the \verb|add_pin()| function.
|
||||
The \verb|add_mod()| function adds an instance of a
|
||||
module/library\_cell/parameterized\_cell as a subcircuit to the
|
||||
top-level structure. Each time a sub-module has been added to the
|
||||
hierarchy, the pins of the sub-module must be connected using the
|
||||
\verb|connect_pins()| function. It is important to note that the pins
|
||||
must be listed in the same order as they were added to the submodule.
|
||||
Also, an assertion error will occur if there is a mismatch in the
|
||||
number of net connections. The \verb|spice| class also contains
|
||||
functions for reading or writing spice files:
|
||||
\begin{itemize}
|
||||
\item \verb|sp_read():| this function is used to read in spice
|
||||
netlists and parse the inputs defined by the ``subckt'' definition.
|
||||
\item \verb|sp_write():| this function creates an empty spice file in
|
||||
write mode and calls \verb|sp_write_file()|.
|
||||
\item \verb|sp_write_file():| this function recursively writes the
|
||||
modules and sub-modules from the data structure into the spice file
|
||||
created by \verb|sp_write()|.
|
||||
\end{itemize}
|
||||
|
||||
\subsubsection{Layout Hierarchy}
|
||||
|
||||
The layout hierarchy is stroed in the \verb|layout| class in
|
||||
\verb|hierarchy_layout.py|. When the design class is initialized for
|
||||
a module, a data structure for the layout hierarchy is created. The
|
||||
layout data structure has two main components: a structure for the
|
||||
instances of sub-modules contained in the layout, and a structure for
|
||||
the objects (such as shapes, labels, etc...) contained in the layout.
|
||||
The functions included in the \verb|layout| class are:
|
||||
\begin{itemize}
|
||||
\item \verb|def add_inst(self,name,mod,offset,mirror):| adds an
|
||||
instance of a physical layout (library cell, module, or
|
||||
parameterized cell) to the module. The input parameters are :
|
||||
\begin{description}
|
||||
\item[name] - name for the instance.
|
||||
\item[mod] - the associated spice module.
|
||||
\item[offset] - the x-y coordinates, in microns, where the instance
|
||||
should be placed in the layout.
|
||||
\item[mirror] - mirror or rotate the instance before it is added to
|
||||
the layout. Accepted values for mirror are:
|
||||
\verb|"R0", "R90", "R180", "R270"| $^\ast$Currently, only ``R0'' works.\\
|
||||
\verb|"MX" or "x", "MY" or "y", "XY" or "xy"| (``xy'' is
|
||||
equivalent to ``R180'')
|
||||
\end{description}
|
||||
\item \verb|add_rect(self,layerNumber,offset,width,height):| adds a
|
||||
rectangle to the module's layout. The inputs are:
|
||||
\begin{description}
|
||||
\item[layernumber] - the layer that the rectangle is to be drawn in.
|
||||
\item[offset] - the x-y coordinates, in microns, where the
|
||||
rectangle's origin will be placed in the layout.
|
||||
\item[width] - the width of the rectangle, can be positive or
|
||||
negative value.
|
||||
\item[height] - the height of the rectangle, can be positive or
|
||||
negative value.
|
||||
\end{description}
|
||||
\item \verb|add_label(self,text,layerNumber,offset,zoom):| adds a
|
||||
label to the layout. The inputs are:
|
||||
\begin{description}
|
||||
\item[text] - the text for the label
|
||||
\item[layernumber] - the layer that the label is to be drawn in .
|
||||
\item[offset] - the x-y coordinates, in microns, where the label
|
||||
will be placed in the layout.
|
||||
\item[zoom] - magnification of the label (ex: ``1e9'').
|
||||
\end{description}
|
||||
\item \verb|add_path(self,layerNumber,coordinates,width):| this
|
||||
function is under construction...
|
||||
\item \verb|gds_read():| reads in a GDSII file and creates a
|
||||
\verb|VlsiLayout()| class for it.
|
||||
\item \verb|gds_write():| writes the entire GDS of the object to a
|
||||
file by gdsMill \verb|vlsiLayout()| class and calling the
|
||||
\verb|gds2writer()| (see Sections~\ref{sec:vlsilayout}
|
||||
and~\ref{sec:gdsmill}.
|
||||
\item \verb|gds_write_file():| recursively the instances and objects
|
||||
in layout data structure to the gds file.
|
||||
\item \verb|pdf_write():| this function is under construction...
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\subsection{Creating a New Design Module}
|
||||
\label{sec:new_design}
|
||||
|
||||
Each module in the SRAM is its own Python class, which contains a
|
||||
design class, or data structure, for the layout and spice. The
|
||||
\verb|design| class (\verb|design.py|) is initialized within the
|
||||
module class, subsequently creating separate data structurse to hold
|
||||
the layout (\verb|hierarchy_layout|) and spice
|
||||
(\verb|hierarchy_spice|) information. By having a class for each
|
||||
module, it is very easy to instatiate instances of the modules in any
|
||||
level of the hierarchy. Follow these guidelines when creating a new
|
||||
module:
|
||||
|
||||
|
||||
\begin{itemize}
|
||||
\item Derive your class from the design module:
|
||||
\begin{verbatim}
|
||||
class bitcell_array(design.design):
|
||||
\end{verbatim}
|
||||
\item Always use the python constructor \verb|__init__| method so that
|
||||
your class is initialized when an object of the module is
|
||||
instatiated. The module parameters should also be declared:
|
||||
\begin{verbatim}
|
||||
def __init__(self, cols, rows):
|
||||
\end{verbatim}
|
||||
\item In the constructor, call the base class constructor with the
|
||||
name such as:
|
||||
\begin{verbatim}
|
||||
design.design.__init__(self,"bitcell_array")
|
||||
\end{verbatim}
|
||||
\item Add the pins that will be used in the spice netlist for your
|
||||
module using the \verb|add_pin()| function from the
|
||||
\verb|hierarchy_spice| class.
|
||||
\begin{verbatim}
|
||||
self.add_pin("vdd")
|
||||
\end{verbatim}
|
||||
\item Create an instance of the module/library\_cell/parameterized
|
||||
cell that you want to add to your module:
|
||||
\begin{verbatim}
|
||||
cell=bitcell.bitcell(cell_6t)
|
||||
\end{verbatim}
|
||||
\item Add the subckt/submodule instance to the spice hierarchy using
|
||||
the \verb|add_mod()| function from the \verb|hierarchy_spice| class:
|
||||
\begin{verbatim}
|
||||
self.add_mod(cell)
|
||||
\end{verbatim}
|
||||
\item Add layout instance into your module's layout hierarchy using
|
||||
the \verb|add_instance|() function, which takes a name, mod, offset,
|
||||
and mirror as inputs:
|
||||
\begin{verbatim}
|
||||
self.add_inst(name=name,mod=cell,offset=[x_off,y_off],mirror=x)
|
||||
\end{verbatim}
|
||||
\item Connect the pins of the instance that was just added by using
|
||||
the \verb|connect_pins| function from the \verb|hierarchy_spice|
|
||||
class:
|
||||
\begin{verbatim}
|
||||
self.connect_inst([BL[%d]%col, BR[%d]%col, WL[%d]%row, gnd, vdd]).
|
||||
\end{verbatim}
|
||||
The pins must be listed in the same order as they were added to the
|
||||
submodule. Also, an assertion error will occur if there is a
|
||||
mismatch in the number of net connections.
|
||||
\item Do whatever else needs to be done. Add rectangles for
|
||||
power/ground rails or routing, add labels, etc...
|
||||
\item Every module needs to have ``self'' height and width variable
|
||||
that can be accessed from outside of the module class. These
|
||||
paramaters are commonly used for placing instances modules in a
|
||||
layout. For library cells, the \verb|self.width| and
|
||||
\verb|self.height| variables are automatically parsed from the GDSII
|
||||
layout using the \verb|cell_size()| function in \verb|vlsi_layout|.
|
||||
Users must define the width and height of dynamically generated
|
||||
designs.
|
||||
\item Add a call to the \verb|DRC_LVS()| function.
|
||||
\end{itemize}
|
||||
|
||||
\subsection{GDSII Files and GdsMill)}
|
||||
\label{sec:gds}
|
||||
|
||||
GDSII is the standard file used in indusrty to store the layout
|
||||
information of an integrated circuit. The GDSII file is a stream file
|
||||
that consists of records and data types that hold the data for the
|
||||
various instances, shapes, labels, etc.. in the layout. In OpenRAM, we
|
||||
utlize a nifty tool, called gdsMill, to read, write, and manipulate
|
||||
GDSII files. GdsMill was developed by Michael Wieckowski at the
|
||||
University of Michigan.
|
||||
|
||||
\subsubsection{GDSII File Format}
|
||||
\label{sec:format}
|
||||
|
||||
The format of gds file contains several parts, as it could be shown in
|
||||
Figure~\ref{fig:gds_file}.
|
||||
|
||||
\begin{figure}[htb]
|
||||
\centering
|
||||
\includegraphics[width=10cm]{./figs/gds_file}
|
||||
\caption{example of a GDSII file}
|
||||
\label{fig:gds_file}
|
||||
\end{figure}
|
||||
|
||||
The first part is the gds file header, which the contains GDSII
|
||||
version number, date modified, date last accessed, library, user
|
||||
units, and database units.
|
||||
|
||||
The second part is the list of structures. These structures contain
|
||||
geometries or references to other structures of the layout in
|
||||
heirarchical form. Within a structure there are several kinds of
|
||||
records:
|
||||
|
||||
\begin{itemize}
|
||||
\item Rectangle - basic geometry unit in a design, represent one layer
|
||||
of material in a circuit(i.e. a metal pin). Five coordinates and
|
||||
layer number are stored in rectangle record.
|
||||
\item Structure Reference - a structure that is used in this
|
||||
structure. The information about this reference will be used store
|
||||
as a structure in the same gds file.
|
||||
\item Text - a text record used for labels.
|
||||
\item Path - used to represent a wire.
|
||||
\item Boundary - defines a filled polygon.
|
||||
\item Array Reference - specifies an array of structure instances
|
||||
\item Node - Electrical nets may be specified with the NODE record
|
||||
\end{itemize}
|
||||
|
||||
The last part is the tail of the GDSII file which ends the GDS
|
||||
Library.
|
||||
|
||||
\fixme{Provide a link to the complete GDSII specification.}
|
||||
|
||||
\subsubsection{GdsMill}
|
||||
\label{sec:gdsmill}
|
||||
|
||||
As previously stated, GdsMill is a set of scripts that can be used to read, write, and manipulate GDSII files.
|
||||
|
||||
\paragraph{The gds2\_reader and gds2\_writer:}
|
||||
|
||||
In GdsMill, the \verb|gds2_reader| and \verb|gds2_writer| classes contain the various functions used to convert data between GDSII files and the \verb|vlsilayout| class. These classes process the data by iterating through every record in the GDS structures and check or write every data record. The record type (see Section~\ref{sec:format}),is tracked and identified using flags.
|
||||
|
||||
\fixme{Do we need more information of these classes, or should we just point to the GdsMill documentation?}
|
||||
|
||||
\paragraph{The VlsiLayout Class:}
|
||||
\label{sec:vlsilayout}
|
||||
|
||||
After the \verb|gds2_reader| class reads in the records, the data has to be stored in a
|
||||
way that can be easily used by our code. Thus, the
|
||||
\verb|VlsiLayout| class is made to represent the layout.
|
||||
\verb|VlsiLayout| contains the same information as GDSII file but in a
|
||||
different way. \verb|VlsiLayout| stores records in data structures, which
|
||||
are defined in \verb|gdsPrimitives.py|. Each record type has a corresponding class defined in \verb|gdsPrimitives|. Thus, a vlsilayout should at least
|
||||
contains following member data:
|
||||
\begin{itemize}
|
||||
\item \verb|self.rootStructureName| - name of the top design.
|
||||
\item \verb|self.structures| -list of structure that are used in the class.
|
||||
\item \verb|self.xyTree| - contains a list of all structure names that appeared in the design.
|
||||
\end{itemize}
|
||||
|
||||
The \verb|VlsiLayout| class also contains many functions for adding
|
||||
structures and records to a layout class, but the important and most
|
||||
useful functions have been aggregated into a wrapper file. This
|
||||
wrapper is called \verb|geometry.py| and is located in the
|
||||
\verb|compiler| directory.
|
||||
|
||||
\subsubsection{OpenRAM-GdsMill Interface}
|
||||
\label{sec:wrapper}
|
||||
|
||||
Dynamically generated cells and arrays each need to build a
|
||||
\verb|VlsiLayout| data structure to represent the hierarchical layout.
|
||||
This is performed using various functions from the \verb|VlsiLayout|
|
||||
class in GdsMill, but the GdsMill file is very large and can be
|
||||
difficult to understand. To make things easier, OpenRAM has its own
|
||||
wrapper class called \verb|geometry| in \verb|geometry.py|. This
|
||||
wrapper class initializes data structures for the
|
||||
instances and objects that will be added to the \verb|VlsiLayout|
|
||||
class. The functions \verb|add_inst()|, \verb|add_rect()|,
|
||||
\verb|add_label()| in \verb|hierarchy_layout|, add the structures to
|
||||
the \verb|geometry| class, which is then written out to a GDSII file
|
||||
using \verb|VlsiLayout| and the \verb|gds2_writer|.
|
||||
|
||||
User included library cells, which should be in gds files, can be used
|
||||
as dynamically generated cells by using GDSMill.
|
||||
Cell information such as cell size and pin location can be obtained by using
|
||||
built in functions in the \verb|VlsiLayout| class.
|
||||
|
||||
Cell size can be finded by using the \verb|readLayoutBorder| function of the \verb|VlsiLayout| class.
|
||||
A boundary layer should be drawn in each library cell to indicate the cell area.
|
||||
The \verb|readLayoutBorder| function will return the width and height of the boundary.
|
||||
If a boundary layer do not exist in the layout, then \verb|measureSize| can find the physical
|
||||
size cell.
|
||||
The first method is used as primary method in \verb|auto_Measure_libcell| the lib\_utility.py,
|
||||
while the second method is used as a back up one.
|
||||
Each technolgy setup will import this utility function and read the library cell.
|
||||
|
||||
Pin location can be find by using the \verb|readPin| function of the \verb|VlsiLayout| class.
|
||||
The \verb|readPin| function will return the biggest boundary which covers the label and
|
||||
is at the same layer as the label is.
|
||||
|
||||
|
||||
\subsection{Technology Directory}
|
||||
\label{sec:techdir}
|
||||
|
||||
The aim of creating technology directory is to make OpenRAM portable
|
||||
to different technologies. This directory contains all the information
|
||||
related to the specific process/technology that is being used. In
|
||||
OpenRAM, the default technology is FreePDK45, which has it own
|
||||
technolony directory in the trunk. The technology-specific directory
|
||||
should consist of the following:
|
||||
\begin{itemize}
|
||||
\item Technology Setup FIle - In \verb|/techdir/setup_scripts|, there
|
||||
should be a Python file that sets up the PDK and defines anything
|
||||
necessary for a given technology. This file should be named
|
||||
\verb|setup_openram_<techname>.py| where techname is the name used
|
||||
to identify it in configuration scripts.
|
||||
\item Technology-Specific Parameters - These parameters should include
|
||||
layer numbers and any design rules that may be needed for generating
|
||||
dynamic designs (DRC rules). The parameters should be added in
|
||||
\verb|techname/tech/tech.py| and optinally in a \verb|techname/layer.map| for
|
||||
DRC/LVS streaming.
|
||||
\item Library Cells - The library cells and corresponding spice
|
||||
netlists should be added to the \verb|techname/gds_lib| and
|
||||
\verb|techname/sp_lib| directories.
|
||||
\item Spice Models - If models are not supplied in the PDK, they can be
|
||||
placed in the technology directory as done in SCMOS.
|
||||
\end{itemize}
|
||||
|
||||
The height and width of library cells is determined by the bounding
|
||||
box of all geometries. Sometimes this is not desired, for example,
|
||||
when a rail must be shared. In this case, the boundary layer in the
|
||||
technology file is used to define the height and width of the cell.
|
||||
|
||||
Pins are recognized in library cells by the largest rectangle that
|
||||
encloses the pin label text. Multiple pins with the same name are
|
||||
supported. Pins with the same name such as gnd are assumed to be
|
||||
``must connect'' which requires that they later be connected.
|
||||
|
||||
For more information regarding the technology directory and how to set
|
||||
one up for a new technology, refer to Section~\ref{sec:porting}
|
||||
|
||||
\subsection{DRC/LVS Interface}
|
||||
\label{sec:drclvs}
|
||||
|
||||
Each design class contains a function \verb|DRC_LVS()| that performs both
|
||||
DRC and LVS on the current design module. This enables bottom-up
|
||||
correct-by-construction design and easy identification of where errors
|
||||
occur. It does incur some run-time overhead and can be disabled on
|
||||
the command line. The \verb|DRC_LVS()| function saves a GDSII file and a Spice
|
||||
file into a temporary directory and then calls two functions to
|
||||
perform DRC and LVS that are tool-dependent.
|
||||
|
||||
Wrapper implementation for DRC and LVS functions are provided for the
|
||||
open-source tools Magic+Netgen and the commercial tool, Cadence
|
||||
Calibre. Each of these functions generates a batch-mode script or runset
|
||||
file which contains the options to correctly run DRC and LVS. The
|
||||
functions then parse the batch mode output for any potential errors
|
||||
and returns the number of errors encountered.
|
||||
|
||||
The function \verb|run_drc()| requires a cell name and a GDSII
|
||||
file. The cell name corresponds to the top level cell in the GDSII
|
||||
file. For Calibre, it also uses the layer map file for the technology
|
||||
to correctly import the GDSII file into the Cadence database to
|
||||
perform DRC. The function returns the number of DRC violations.
|
||||
|
||||
The function \verb|run_lvs()| requires a cell name, a GDSII file, and
|
||||
a Spice file. Magic or Calibre will extract an extracted Spice netlist
|
||||
from the GDSII file and will then compare this netlist with the
|
||||
OpenRAM Spice netlist. The function returns the number of errors
|
||||
encountered if there is an LVS mismatch.
|
||||
|
||||
|
||||
For both DRC and LVS, the summary file and other report files are left
|
||||
in the OpenRAM temporary directory after DRC/LVS is run. These report
|
||||
files can be examined to further understand why errors were
|
||||
encountered. In addition, by increasing the debug level with one or
|
||||
more ``-v'' command-line parametres, the command to re-create the
|
||||
DRC/LVS check can be obtained and run manually.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
272
docs/intro.tex
|
|
@ -1,272 +0,0 @@
|
|||
\section{Introduction}
|
||||
\label{sec:intro}
|
||||
|
||||
The OpenRAM project aims to provide a free, open-source memory
|
||||
compiler development framework for Random-Access Memories (RAMs).
|
||||
Most academic Integrated Circuit (IC) design methodologies are
|
||||
inhibited by the availability of memories. Many standard-cell process
|
||||
design kits (PDKs) are available from foundries and vendors, but these
|
||||
PDKs do not come with memory arrays or compilers. Some PDKs have
|
||||
options to request ``black box'' memory models, but these are not
|
||||
modifiable, have limited available configurations, and do not have
|
||||
full details available to academics. These restrictions make
|
||||
comparison and experimentation with real memory systems impossible.
|
||||
OpenRAM, however, is user-modifiable and portable through
|
||||
technology libraries to enable experimentation with real-world
|
||||
memories at a variety of performance points and costs.
|
||||
|
||||
The specific features of OpenRAM are:
|
||||
\begin{itemize}
|
||||
|
||||
\item \textbf{Memory Array Generation}
|
||||
|
||||
Currently, OpenRAM includes features such as automatic word-line
|
||||
driver sizing, efficient decoder sizing, multiple-word column
|
||||
support, and self-timing with replica bitlines.
|
||||
|
||||
\item \textbf{Portability and Extensibility}
|
||||
|
||||
OpenRAM is a Python program. Python enables portability to numerous
|
||||
platforms and enables the program to be extended by anyone. In
|
||||
general, it works on Linux, MacOS, and Windows platforms.
|
||||
|
||||
User-readable technology files enable migration to a variety of
|
||||
process technologies. Currently, an implementation in a
|
||||
non-fabricale 45nm technology (FreePDK45) is provided and the MOSIS
|
||||
Scalable CMOS (SCN3ME\_SUBM.30) is provided. The compiler has also
|
||||
been extended to several technologies. We hope to work with vendors
|
||||
to distribute the technology information of others commercial
|
||||
technologies soon.
|
||||
|
||||
OpenRAM makes calls to both open-source or commercial circuit
|
||||
simulators and DRC/LVS tools in an abstracted way for circuit
|
||||
simulation and verification. This enables adaptation to other design
|
||||
methodologies. It supports a completely open-source
|
||||
platform for older SCMOS technologies.
|
||||
|
||||
\item \textbf{Timing and Power Characterization}
|
||||
|
||||
OpenRAM provides a basic framework for analysis of timing and power.
|
||||
This includes both analytical estimates, un-annotated spice
|
||||
simulations, or back-annotated simulations. The timing and power
|
||||
views are provided in the Liberty open format for use with the most
|
||||
common logic synthesis and timing analysis tools.
|
||||
|
||||
\item \textbf{Commercial Tool Independence and Interoperability}
|
||||
|
||||
To keep OpenRAM portable and maximize its usefulness, it it
|
||||
independent from any specific commercial tool suite or
|
||||
language. OpenRAM interfaces to both open-source (e.g., NGSpice) and
|
||||
commercial circuit simulators through the standard Spice3 circuit
|
||||
format. The physical layout is directly generated in the GDSII
|
||||
layout stream format which can be imported into any academic or
|
||||
commercial layout tools. We provide a Library Exchange Format (LEF)
|
||||
file for interfacing with commercial Placement and Routing tools.
|
||||
We provide a Verilog behavioral model for simulation.
|
||||
|
||||
\item \textbf{Silicon Verification}
|
||||
TBD
|
||||
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Requirements}
|
||||
|
||||
Development is done on Ubuntu or MacOS systems with Python 2.7. It
|
||||
requires a few common Python libraries such as numpy, scipy (soon, for
|
||||
optimization) along with standard Python libraries (os, sys, etc.).
|
||||
|
||||
|
||||
\subsubsection{Timing Verification Tools}
|
||||
|
||||
For peformance reasons, OpenRAM uses analytical delay models by
|
||||
default. If you wish to enable simulation-based timing
|
||||
characterization, you must enable this on the command line with the
|
||||
``-c'' command line argument.
|
||||
|
||||
% Not complete yet
|
||||
%If you wish to perform back-annotated characterization, you must
|
||||
%further enable this with the ``-b'' command line argument.
|
||||
|
||||
OpenRAM can use the following circuit simulators and possibly others
|
||||
if they support the Spice3 file format:
|
||||
\begin{itemize}
|
||||
\item HSpice I-2013.12-1 or later
|
||||
\item ngspice 26 \url{http://ngspice.sourceforge.net/}
|
||||
\item CustomSim (xa) M-2017.03-SP5 or later
|
||||
\end{itemize}
|
||||
|
||||
\subsubsection{Physical Verification Tools}
|
||||
|
||||
By default, OpenRAM will perform DRC and LVS on each level of
|
||||
hierarchy. To do this, you must have a valid DRC and LVS tool and the
|
||||
corresponding rule files for the technology. OpenRAM can, however,
|
||||
run without DRC and LVS verification using the ``-n'' command line
|
||||
argument. It is not recommended to use this if you make any changes,
|
||||
however.
|
||||
|
||||
DRC can be done with:
|
||||
\begin{itemize}
|
||||
\item Calibre 2012.3\_15.13 or later (SCMOS or FreePDK45)
|
||||
\item Magic \url{http://opencircuitdesign.com/magic/} (SCMOS only)
|
||||
\end{itemize}
|
||||
|
||||
LVS can be done with:
|
||||
\begin{itemize}
|
||||
\item Calibre 2012.3\_15.13 or later (SCMOS or FreePDK45)
|
||||
\item Netgen \url{http://opencircuitdesign.com/netgen/} (SCMOS only)
|
||||
\end{itemize}
|
||||
|
||||
\subsubsection{Technology Files}
|
||||
|
||||
To work with FreePDK45, you must install the FreePDK baseline kit from:\\
|
||||
\url{https://www.eda.ncsu.edu/wiki/FreePDK45:Contents}
|
||||
|
||||
We have included an example Calibre DRC deck for MOSIS SCMOS design
|
||||
rules, but DRC with Magic relies on the MOSIS scalable design
|
||||
rules:\\
|
||||
\url{https://www.mosis.com/files/scmos/scmos.pdf}.\\
|
||||
We require the format 32 or later to enable stacked vias which is
|
||||
included with Qflow:
|
||||
\begin{verbatim}
|
||||
git clone http://opencircuitdesign.com/qflow
|
||||
cp tech/osu050/SCN3ME_SUBM.30.tech <your magic tech lib>
|
||||
\end{verbatim}
|
||||
|
||||
You can over-ride the location of the DRC and LVS rules with the
|
||||
DRCLVS\_HOME environment variable.
|
||||
|
||||
\subsubsection{Spice Models}
|
||||
|
||||
FreePDK45 comes with a spice device model. Once this is installed and
|
||||
the PDK\_DIR environment variable for FreePDK45 is set, these spice
|
||||
models are used.
|
||||
|
||||
SCMOS, however, does not come with a device spice model. This must be
|
||||
obtained from MOSIS or another vendor. We use the ON Semiconductor
|
||||
0.5um device models, but are unable to distribute them. We have included our
|
||||
own generic spice models for simulation of SCMOS, but we recommend that
|
||||
you replace these with more accurate foundry models.
|
||||
|
||||
You can over-ride the location of the spice models with the
|
||||
SPICE\_MODEL\_DIR environment variable to ensure that they do not
|
||||
``creep'' into the OpenRAM git repository.
|
||||
|
||||
|
||||
|
||||
\subsection{Environment Variables}
|
||||
|
||||
In order to make OpenRAM flexible, it uses two environment variables
|
||||
to make it relocatable in a variety of user scenarios. Specifically,
|
||||
the user may want technology directories that are separate from
|
||||
OpenRAM. Or, the user may want to have several versions of
|
||||
OpenRAM. This is done with the folowing required environment
|
||||
variables:
|
||||
\begin{itemize}
|
||||
\item OPENRAM\_HOME defines the location of the compiler source directory.
|
||||
\item OPENRAM\_TECH defines the location of the OpenRAM technology
|
||||
files. This is discussed later in Section~\ref{sec:tech}.
|
||||
\end{itemize}
|
||||
|
||||
Other environmental variables and additional required paths for
|
||||
specific technologies are dynamically added during runtime by sourcing
|
||||
a technology setup script. These are mostly PDK-specific. These are located in the
|
||||
"\$OPENRAM\_TECH/setup\_scripts" directory. Example scripts for SCMOS and
|
||||
FreePDK45 are included with the distribution.
|
||||
|
||||
|
||||
%\subsection{Design Flow}
|
||||
|
||||
%% % high-level org
|
||||
|
||||
%% The memory compiler framework is divided into several modules: the
|
||||
%% compiler, the router, the characterizer, verify, and gdsMill.
|
||||
%% Figure~\ref{fig:methodology} shows an overview of the methodology. The
|
||||
%% compiler input is the memory organization with which it generates the
|
||||
%% logical and layout views. The compiler then uses these views while
|
||||
%% calling the characterization tool to ensure functionality and measure
|
||||
%% timing/power. The characterization tool indirectly calls a spice
|
||||
%% simulator for timing/power analysis.
|
||||
|
||||
%% % front-end
|
||||
|
||||
%% The ``front-end'' methodology can be run with no verification tools (spice, DRC, or LVS).
|
||||
%% only a spice simulator
|
||||
%% and will produce Spice models (eventually Verilog), layout/GDSII
|
||||
%% (eventually LEF), and a timing/power model based on estimated
|
||||
%% parasitics. It is intended that this mode be easily run on any
|
||||
%% platform so that designers and architects can get timing, power and
|
||||
%% area estimates quickly.
|
||||
|
||||
%% % back-end
|
||||
|
||||
%% The ``back-end'' methodology uses the spice netlist and detailed layout
|
||||
%% generated by the front-end to perform back-annotated characterization
|
||||
%% and generate annotated timing and power models. The back-end uses
|
||||
%% layout directly in the GDSII stream format which is supported in both
|
||||
%% commercial and academic back-end flows. The back-end mode is to be used
|
||||
%% prior to fabrication and by designers who want detailed timing/power
|
||||
%% values.
|
||||
|
||||
%% In both the front-end and back-end flows, the designs are Design Rule
|
||||
%% Checked (DRC) and Layout Verses Schematic (LVS) checked at each level
|
||||
%% of design hierarchy.
|
||||
|
||||
\subsection{Usage}
|
||||
|
||||
The OpenRAM compiler requires a single argument of a configuration
|
||||
file. The configuration file specifies, at a minimum, the memory size
|
||||
parameters in terms of the number of words, word size (in bits), and
|
||||
number of banks. By default, OpenRAM will chose the number of columns
|
||||
to make the memory reasonably square. Other common configuration
|
||||
parameters are the output path and base filename, characterization
|
||||
corners (including the supply voltage), number of ports, technology
|
||||
node, etc.
|
||||
|
||||
The configuration file can be used to over-ride any option in the
|
||||
options.py file. Many of these can also be controlled by the command-line
|
||||
which over-ride the configuration file.
|
||||
|
||||
The one exception is the technology name. The technology name of a
|
||||
config file will over-ride a command-line option. The unit tests use
|
||||
the command line to read a configuration file, so it is a chicken and
|
||||
egg situation.
|
||||
|
||||
Lastly, the configuration file can over-ride any of the different
|
||||
circuit implementations for each module. For example, you can replace
|
||||
the default address decoder or bitcell with a new one by specifying a
|
||||
new python module that implements a new one.
|
||||
|
||||
An entire example configuration file looks like:
|
||||
\begin{verbatim}
|
||||
word_size = 16
|
||||
num_words = 32
|
||||
num_banks = 1
|
||||
|
||||
tech_name = "freepdk45"
|
||||
|
||||
output_path = "/tmp/outputdir"
|
||||
output_name = "mysram"
|
||||
|
||||
bitcell = "custom_bitcell"
|
||||
\end{verbatim}
|
||||
In this example, the user has specified a custom bitcell that will be
|
||||
used when creating the bitcell\_array and other modules.
|
||||
|
||||
OpenRAM has many command line arguments. Other useful command line arguments are:
|
||||
\begin{itemize}
|
||||
\item -h : To get help for the command-line options
|
||||
\item -v : To increase the verbosity (may be used multiple times)
|
||||
\end{itemize}
|
||||
|
||||
\begin{figure}[tb]
|
||||
\centering
|
||||
\includegraphics[width=14cm]{./figs/methodology.pdf}
|
||||
\caption{Overall Compilation and Characterization Methodology
|
||||
\label{fig:methodology}}
|
||||
\end{figure}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
601
docs/modules.tex
|
|
@ -1,601 +0,0 @@
|
|||
\section{Modules}
|
||||
\label{sec:modules}
|
||||
|
||||
This section provides an overview of the main modules that are used in
|
||||
an SRAM. For each module, we will provide both an architectural
|
||||
description and an explanation of how that design is generated and
|
||||
used in OpenRAM. The modules described below are provided in the
|
||||
first release of OpenRAM, but by no means is this an exhaustive list
|
||||
of the possible circuits that can be adapted into a SRAM architecture;
|
||||
refer to Section~\ref{sec:implementation} for more information on
|
||||
adding different module designs to the compiler.
|
||||
|
||||
Data structures for schematic and layout are provided in the
|
||||
\verb|base| directory. These implement a generic design object and
|
||||
have many auxiliary functions for routing, pin access, placement,
|
||||
DRC/LVS, etc. These are discussed further in
|
||||
Section~\ref{sec:implementation}.
|
||||
|
||||
Each module has a corresponding Python class in the
|
||||
\verb|compiler/modules| directory. These classes are used to generate
|
||||
both the GDSII layout and spice netlists. A module can consist of
|
||||
hard library cells (Section~\ref{sec:techdir}), paramterized
|
||||
cells (Section~\ref{sec:parameterized}) or other modules.
|
||||
|
||||
When combining modules at any level of hierarchy, DRC rules for
|
||||
minimum spacing of metals, wells, etc. must be followed and DRC and
|
||||
LVS are run by default after each hierarchical module's creation. A
|
||||
module is responsible for creating its own pins to enable routing
|
||||
at the next level up in the hierarchy. A module must also define its
|
||||
height and width assuming a (0,0) offset for the lower-left coordinate
|
||||
to aid with placement.
|
||||
|
||||
|
||||
\subsection{The Bitcell and Bitcell Array}
|
||||
\label{sec:bitcellarray}
|
||||
|
||||
OpenRAM can work with any cell as the bitcell. This could be a foundry
|
||||
created one or a user design rule cell for experiments. In addition,
|
||||
it could be a common 6T cell or it could be replaced with an 8T, 10T
|
||||
or other cell, depending on needs.
|
||||
|
||||
By default, OpenRAM uses a standard 6T cell as shown in
|
||||
Figure~\ref{fig:6t_cell}. The cross coupled inverters hold a single
|
||||
data bit that can either be driven into, or read from the cell by the
|
||||
bitlines. The access transistors are used to isolate the cell from
|
||||
the bitlines so that data is not corrupted while a cell is not being
|
||||
accessed.
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[scale=.9]{figs/cell_6t_schem.pdf}
|
||||
\caption{Standard 6T cell.}
|
||||
\label{fig:6t_cell}
|
||||
\end{figure}
|
||||
|
||||
% tiling memory cells
|
||||
The 6T cells are tiled together in both the horizontal and vertical
|
||||
directions to make up the memory array.
|
||||
|
||||
% keeping it square
|
||||
It is common practice to keep the aspect ratio of a memory array
|
||||
roughly ``square'' to ensure that the bitlines and wordlines do not
|
||||
become too long. If the bitlines are too long, this can increase the
|
||||
bitline capacitance, slow down the operation and lead to bitline
|
||||
leakage problems. To make an array ``more square'', multiple words
|
||||
can share rows by interleaving the bits of each word. The column mux
|
||||
in Section~\ref{sec:column_mux} is responsbile for selecting a subset
|
||||
of bitcells in a row to extract a word during read and write
|
||||
operations.
|
||||
|
||||
% memory cell is a library cell
|
||||
In OpenRAM, we provide a library cell for the 6T cell that can be
|
||||
swapped with a fab memory cell, if available. The transitors in the
|
||||
cell are sized appropriately considering read and write noise margins.
|
||||
|
||||
% bitcell and bitcell_array classes
|
||||
The bitcell class in \verb|modules/bitcell.py| is a single
|
||||
memory cell and is usually a pre-made library cell.
|
||||
|
||||
% bitcell_array
|
||||
The bitcell\_array class in \verb|modules/bitcell_array.py| dynamically
|
||||
implements the memory cell array by instantiating a the bitcell class
|
||||
in rows and columns.
|
||||
|
||||
% abutment connections
|
||||
During the tiling process, bitcells are abutted so that all bitlines
|
||||
and word lines are connected in the vertical and horizontal directions
|
||||
respectively. This is done by using the boundary layer to define the
|
||||
height and width of the cell. If this is not specified, OpenRAM will
|
||||
use the bounding box of all shapes as the boundary. The boundary layer
|
||||
should be offset at (0,0) in the lower left coordinate.
|
||||
|
||||
% flipping
|
||||
In order to share supply rails, bitcells are flipped in alternating
|
||||
rows.
|
||||
|
||||
|
||||
|
||||
\subsection{Precharge Circuitry}
|
||||
\label{sec:precharge}
|
||||
|
||||
The precharge circuit is depicted in Figure~\ref{fig:precharge} and is
|
||||
implemented by three PMOS transistors. The input signal to the cell,
|
||||
clk, enables all three transistors during the first half of a read or
|
||||
write cycle (i.e. while the clock signal is low). M1 and M2 charge bl
|
||||
and br to vdd while M3 equalizes the voltages seen between the bitlines.
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[width=5cm]{./figs/precharge_schem.pdf}
|
||||
\caption{Schematic of a precharge circuit.}
|
||||
\label{fig:precharge}
|
||||
\end{figure}
|
||||
|
||||
In OpenRAM, the precharge citcuitry is dynamically generated using the
|
||||
parameterized transistor class ptx which is further discussed in
|
||||
Section~\ref{sec:ptx}. The offsets of the bitlines and the width of
|
||||
the precharge cell are equal to the bitcell so that the bitlines are
|
||||
correctly connected by abutment. The precharge class in
|
||||
\verb|modules/precharge.py| dynamically generates a single precharge
|
||||
cell.
|
||||
|
||||
\verb|modules/precharge_array.py| creates a row of precharge cells at
|
||||
the top of a bitcell array.
|
||||
|
||||
|
||||
|
||||
|
||||
\subsection{Address Decoders}
|
||||
\label{sec:address_decoder}
|
||||
|
||||
The address decoder deodes the binary-encoded row address bits from the
|
||||
address bus as inputs, and asserts a one-hot wordline in the row that
|
||||
data is to be read or written. OpenRAM provides a hierarchical address
|
||||
decoder as the default, but will soon have other options.
|
||||
|
||||
The address decoders are created using parameterized gates (pnand2,
|
||||
pnand3, pinv) and transistors (ptx). This means that the decoders do
|
||||
not rely on any hard library cells.
|
||||
|
||||
\subsubsection{Hierarchical Decoder}
|
||||
\label{sec:hierdecoder}
|
||||
|
||||
|
||||
A simple 2:4 decoder is shown in Figure~\ref{fig:2:4decoder}. This
|
||||
decoder computes all of the possible decode values using a single
|
||||
level of nand gates along with the inverted and non-inverted inputs.
|
||||
As the decoder size increases the size of the nand gates required for
|
||||
decoding would increase proportional to the bits to be decoded. This
|
||||
would not be practical for large decoders.
|
||||
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[scale=.6]{./figs/2t4decoder.pdf}
|
||||
\caption{Schematic of 2-4 simple decoder.}
|
||||
\label{fig:2:4decoder}
|
||||
\end{figure}
|
||||
|
||||
A hierarchical decoder uses two-levels of decoding hierarchy to
|
||||
perform an address decode. The first stage computes predecoded values
|
||||
while the second stage computes the final decoded values.
|
||||
Figure~\ref{fig:4 to 16 decoder} shows a 4:16 heirarchical
|
||||
decoder. The decoder uses two 2:4 decoders for
|
||||
predecoding and 2-input nand gates and inverters for final decoding to
|
||||
form the 4:16 decoder.
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[scale=.6]{./figs/4t16decoder.pdf}
|
||||
\caption{Schematic of 4:16 hierarchical decoder.}
|
||||
\label{fig:4 to 16 decoder}
|
||||
\end{figure}
|
||||
|
||||
The predecoder generates a total of 8 intermediate signals from the
|
||||
address bits and their complements. These intermediate signals are in
|
||||
two groups of 4 from each decoder. The enumeration of all 4 x 4
|
||||
predecoded values are used by the final decode to produce the 16
|
||||
decoded results. As an example, Table~\ref{table:4-16 hierarchical_decoder}
|
||||
gives the detailed input and output siganls for the 4:16 hierarchical
|
||||
decoder.
|
||||
|
||||
|
||||
\begin{table}[h!]
|
||||
\begin{center}
|
||||
\begin{tabular}{| c | c | c | c |}
|
||||
\hline
|
||||
A[3:0] & predecoder1 & predecoder2 & Selected WL\\ \hline
|
||||
0000 & 1000 & 1000 & 0\\ \hline
|
||||
0001 & 1000 & 0100 & 1\\ \hline
|
||||
0010 & 1000 & 0010 & 2\\ \hline
|
||||
0011 & 1000 & 0001 & 3\\ \hline
|
||||
0100 & 0100 & 1000 & 4\\ \hline
|
||||
0101 & 0100 & 0100 & 5\\ \hline
|
||||
0110 & 0100 & 0010 & 6\\ \hline
|
||||
0111 & 0100 & 0001 & 7\\ \hline
|
||||
1000 & 0010 & 1000 & 8\\ \hline
|
||||
1001 & 0010 & 0100 & 9\\ \hline
|
||||
1010 & 0010 & 0010 & 10\\ \hline
|
||||
1011 & 0010 & 0001 & 11\\ \hline
|
||||
1100 & 0001 & 1000 & 12\\ \hline
|
||||
1101 & 0001 & 0100 & 13\\ \hline
|
||||
1110 & 0001 & 0010 & 14\\ \hline
|
||||
1111 & 0001 & 0001 & 15\\ \hline
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\caption{Truth table for 4:16 hierarchical decoder.}
|
||||
\label{table:4-16 hierarchical_decoder}
|
||||
\end{table}
|
||||
|
||||
|
||||
As the address size increases, additional sizes of pre- and final
|
||||
decoders can be used. In OpenRAM, there are implementations for
|
||||
\verb|modules/hierarchical\_predecode2x4.py| and
|
||||
\verb|modules/hierarchical\_predecode3x8.py| to produce 2:4 and 3:8
|
||||
predecodes, respectively. These same decoders are used to generate the
|
||||
column mux select bits as well.
|
||||
|
||||
For the final decode, we can use either pnand2 or pnand3 gates. This
|
||||
allows a maximum size of three 3:8 predocers along with a final pnand3 decode
|
||||
stage, or, 512 word lines. To extend beyond this, a pnand4 or
|
||||
a 4:16 predecoder would be needed.
|
||||
|
||||
|
||||
\subsection{Wordline Driver}
|
||||
\label{sec:wldriver}
|
||||
|
||||
The word line driver buffers the address decoder to drive the wordline and
|
||||
gates the signal until the decode has stabilized. Without waiting, an
|
||||
incorrectly asserted wordline could erase memory contents.
|
||||
The word line driver is sized according to the bitcell array width so
|
||||
that wordlines in larger memory arrays can be appropriately driven.
|
||||
|
||||
% gating for first half decode, second half read/write
|
||||
The first half of the clock cycle is used for address decoding in
|
||||
OpenRAM. Therefore, the wordline driver is enabled in the second half
|
||||
of the clock cycle in OpenRAM. The buffered clock signal drives each
|
||||
wordline driver row and is logically ANDed with the decoder output.
|
||||
|
||||
% bank clock gating for wordline driver
|
||||
In multi-bank structures the clock buffer is also anded with the bank
|
||||
select signal to prevent the read/writing of an entire bank.
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[scale=.6]{./figs/wordline_driver.pdf}
|
||||
\caption{Diagram of word line driver.}
|
||||
\label{fig:wordline_driver}
|
||||
\end{figure}
|
||||
|
||||
Figure~\ref{fig:wordline_driver} illustrates the wordline driver and
|
||||
its inputs/outputs. This is implemented in the
|
||||
\verb|modules/wordline_driver.py| module and matches the number of
|
||||
rows in the bitcell array of a bank.
|
||||
|
||||
OpenRAM creates the wordline drivers using the parameterized pinv and
|
||||
pnand2 classes. This enables the wordline driver to be matched to the
|
||||
bitcell height and to sized to drive the wordline load.
|
||||
|
||||
|
||||
|
||||
\subsection{Column Mux}
|
||||
\label{sec:column_mux}
|
||||
The column mux is an optional module in an SRAM bank. Without a column
|
||||
mux, the bank is assumed to have a single word in each row. A column
|
||||
mux enables more more than one word to be stored in each row and
|
||||
read/written individually. The column mux is used for both the read
|
||||
and write operations by connecting the bitlines of a bank to
|
||||
both the sense amplifier and the write driver.
|
||||
|
||||
In OpenRAM, the column mux uses the {\bf high address bits} to select
|
||||
the appropriate word in each row. If n-bits are used, there are $2^n$
|
||||
words in each row. OpenRAM currently allows 2, 4, or 8 words per row,
|
||||
but the 8 words are not fully debugged (as of 2/12/18).
|
||||
|
||||
%% OpenRAM provides several options for column mux, but the default
|
||||
%% is a single-level column mux which is sized for optimal speed.
|
||||
|
||||
%% \subsubsection{Tree\_Decoding Column Mux}
|
||||
%% \label{sec:tree_decoding_column_mux}
|
||||
|
||||
%% The schematic for a 4-1 tree
|
||||
%% multiplexer is shown in Figure~\ref{fig:colmux}.
|
||||
|
||||
%% \begin{figure}[h!]
|
||||
%% \centering
|
||||
%% \includegraphics[scale=.9]{./figs/tree_column_mux_schem.pdf}
|
||||
%% \caption{Schematic of 4-1 tree column mux that passes both of the bitlines.}
|
||||
%% \label{fig:colmux}
|
||||
%% \end{figure}
|
||||
|
||||
%% \fixme{Shading/opacity is different on different platforms. Make this a box in the image. It doesn't work on OSX.}
|
||||
|
||||
%% This tree mux selects pairs of bitlines (both BL and BL\_B) as inputs
|
||||
%% and outputs. This 4-1 tree mux illustrates the process of choosing
|
||||
%% the correct bitlines if there are 4 words per row in the memory array.
|
||||
%% Each bitline pair represents a single bit from each word. A binary
|
||||
%% reduction pattern, shown in Table~\ref{table:colmux}, is used to
|
||||
%% select the appropriate bitlines. As the number of words per row in
|
||||
%% the memory array increases, the depth of the column mux grows. The
|
||||
%% depth of the column mux is equal to the number of bits in the column
|
||||
%% address bus. The 4-1 tree mux has a depth of 2. In level 1, the
|
||||
%% least significant bit from the column address bus selects either the
|
||||
%% first and second words or the third and fourth words. In level 2, the
|
||||
%% most signifant column address bit selects one of the words passed down
|
||||
%% from the previous level. Relative to other column mux designs, the
|
||||
%% tree mus uses significantly less devices. But, this type of design
|
||||
%% can provide poor performance if a large decoder with many levels are
|
||||
%% needed. The delay of of a tree mux quadratically increases with each
|
||||
%% level. Due to this fact, other types of column
|
||||
%% decoders should be considered for larger arrays.
|
||||
|
||||
%% \begin{table}[h!]
|
||||
%% \begin{center}
|
||||
%% \begin{tabular}{| c | c | c | c |}
|
||||
%% \hline
|
||||
%% Selected BL & Inp1 & Inp2 & Binary\\ \hline
|
||||
%% BL0 & SEL0\_bar & SEL1\_bar & 00\\ \hline
|
||||
%% BL1 & SEL0 & SEL1\_bar & 01\\ \hline
|
||||
%% BL2 & SEL0\_bar & SEL1 & 10\\ \hline
|
||||
%% BL3 & SEL0 & SEL1 & 11\\
|
||||
%% \hline
|
||||
%% \end{tabular}
|
||||
%% \end{center}
|
||||
%% \caption{Binary reduction pattern for 4-1 tree column mux.}
|
||||
%% \label{table:colmux}
|
||||
%% \end{table}
|
||||
|
||||
%% In OpenRAM, the tree column mux is a dynamically generated design. The
|
||||
%% \verb|tree_mux_array| is made up of two dynamically generated cells: \verb|muxa|
|
||||
%% and \verb|mux_abar|. The only diffference between these cells is that input
|
||||
%% select signal is either hooked up to the \textbf{SEL} or
|
||||
%% \textbf{SEL\_bar} signals (see highlighted boxes in
|
||||
%% Figure~\ref{fig:colmux}). These cells are initialized the the
|
||||
%% \verb|column_muxa| and \verb|column_muxabar| classes in \verb|columm_mux.py|. Instances
|
||||
%% of \verb|ptx| PMOS transistors are added to the design and the necessary
|
||||
%% routing is performed using the \verb|add_rect()| function. A horizontal rail
|
||||
%% is added in metal2 for both the SEL and Sel\_bar signals. Underneath
|
||||
%% those input rails, horizontal straps are added. These straps are used
|
||||
%% to connect the BL and BL\_B outputs from \verb|muxa| to the BL and BL\_B
|
||||
%% outputs of \verb|mux_abar|. Vertical conenctors in metal3 are added at the
|
||||
%% bottom of the cell so that connections can be made down to the sense
|
||||
%% amp. Vertical connectors are also added in metal1 so that the cells
|
||||
%% can connect down to other mux cells when the depth of the tree mux is
|
||||
%% more than one level.
|
||||
|
||||
%% The \verb|tree_mux_array| class is used to generate the tree mux.
|
||||
%% Instances of both the \verb|muxa| and \verb|mux_abar| cells are instantiated and
|
||||
%% are tiled row by row. The offset of the cell in a row is determined
|
||||
%% by the depth of that row in the tree mux. The pattern used to
|
||||
%% determine the offset of the mux cells is
|
||||
%% $muxa.width*(i)*(2*row\_depth)$ where is the column number. As the
|
||||
%% depth increases, the mux cells become further apart. A separate
|
||||
%% ``for'' loop is invoked if the $depth>1$, which extends the
|
||||
%% power/ground and select rails across the entire width of the array.
|
||||
%% Similarly, if the $depth>1$, spice net names are created for the
|
||||
%% intermediate connection made at the various levels. This is necessary
|
||||
%% to ensure that a correct spice netlist is generated and that the
|
||||
%% input/output pins of the column mux match the pins in the modules that
|
||||
%% it is connected to.
|
||||
|
||||
|
||||
\subsubsection{Single-Level Column Mux}
|
||||
\label{sec:single_level_column_mux}
|
||||
|
||||
OpenRAM includes a single-level pass-gate mux implemtation for the
|
||||
column mux. A single level of NMOS devices is driven by either the
|
||||
input address (and it's complement) or decoded input addresses using a
|
||||
2:4 predecoder (Section~\ref{sec:hierdecoder}).
|
||||
|
||||
Figure~\ref{fig:2t1_single_level_column_mux} shows the schematic of a
|
||||
2:1 single-level column mux. In this column mux, the {\bf MSB of the
|
||||
address bus} and it's complement drive the pass transistors.
|
||||
|
||||
Figure~\ref{fig:4t1_single_level_column_mux} shows the schematic of a
|
||||
4:1 single-level column mux. The select bits are decoded from the {\bf
|
||||
2 MSB of the address bus} using a 2:4 decoder. The 2:4 decoder
|
||||
provides one-hot select signals to select one column.
|
||||
|
||||
In OpenRAM, one mux, single\_level\_mux, is dynamically generated in
|
||||
\verb|modules/single_level_column_mux.py| and multiple of these muxes
|
||||
are tiled together in \verb|modules/single_level_column_mux_array.py|.
|
||||
|
||||
single\_level\_mux uses the parameterized ptx (Section~\ref{sec:ptx}
|
||||
to generate 2 or 4 NMOS transistors for each the bl and br
|
||||
bitlines. Horizontal rails are added for the $sel$ signals. The
|
||||
bitlines are automatically pitch-matched to the bitcell array.
|
||||
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[scale=.5]{./figs/2t1_single_level_column_mux.pdf}
|
||||
\caption{Schematic of a 2:1 single level column mux. \fixme{Signals names are wrong.}}
|
||||
\label{fig:2t1_single_level_column_mux}
|
||||
\end{figure}
|
||||
|
||||
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[scale=.5]{./figs/4t1_single_level_column_mux.pdf}
|
||||
\caption{Schematic of a 4:1 single level column mux. \fixme{Signals names are wrong.}}
|
||||
\label{fig:4t1_single_level_column_mux}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\subsection{Sense Amplifier}
|
||||
\label{sec:senseamp}
|
||||
The sense amplifier is used to sense the difference between the
|
||||
bitline and bitline bar while a read operation is performed.
|
||||
The sense amplifier also includes two PMOS transistors for bitline
|
||||
isolation to speed-up read operations. The schematic for the sense amp is shown in
|
||||
Figure~\ref{fig:sense_amp}.
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[scale=.8]{./figs/sense_amp_schem.pdf}
|
||||
\caption{Schematic of a single sense amplifier cell.}
|
||||
\label{fig:sense_amp}
|
||||
\end{figure}
|
||||
|
||||
During address decoding (while the wordline is not asserted), the sense
|
||||
amplifier is disabled and the bitlines are precharged to vdd by the
|
||||
precharge unit. The two PMOS transistors also connect the bitlines to the sense amplifier.
|
||||
|
||||
The en signal comes from the control logic (Section~\ref{sec:control})
|
||||
including the timing and replica bitline (Section~\ref{sec:RBL}). It
|
||||
is only enabled after sufficient swing is seen on the bitlines so that
|
||||
the value can be accurately sensed.
|
||||
|
||||
The sense amplifier is enabled by the en signal, which initiates the
|
||||
read operation, and also isolates the sense amplifier from the
|
||||
bitlines. This allows the sense amplifier to drive a smaller
|
||||
capacitance rather than the whole bitline. At this time, the footer
|
||||
transistor is also enabled which allows the sense amplifier to use
|
||||
feedback to sense the bitline differential voltage.
|
||||
|
||||
When the sense amp is enabled, one of the bitlines experiences a
|
||||
voltage drop based on the value stored in the memory cell. If a zero
|
||||
is stored, the bitline voltage drops. If a one is stored, the bitline
|
||||
bar voltage drops. The output signal is then
|
||||
taken to a true logic level and latched for output to the data bus.
|
||||
|
||||
In OpenRAM, the sense amplifier is a libray cell. The associated
|
||||
layout and spice netlist can be found in the \verb|gds_lib| and
|
||||
\verb|sp_lib| in the technology directory. The sense\_amp class in
|
||||
\verb|modules/sense_amp.py| is a single instance of the sense amp
|
||||
library cell.
|
||||
|
||||
|
||||
The sense\_amp\_array class in \verb|modules/sense_amp_array.py|
|
||||
handles the tiling of the sense amps cells. One sense amp cell is
|
||||
needed per data bit and the sense amp cells need to be appropriately
|
||||
spaced so that they can hook up to the column mux bitline pairs. The
|
||||
spacing is determined based on the number of words per row in the
|
||||
memory array.
|
||||
|
||||
The sense amp is a library cell so that custom
|
||||
amplifier designs could be swapped into the memory as needed. The two
|
||||
major things that need to be considered while designing the sense
|
||||
amplifier cell are the size of the cell and the bitline/input pitches.
|
||||
Optimally, the cell should be no wider than the 6T cell so that it
|
||||
abuts to the column mux and no extra routing or space is needed.
|
||||
Also, the bitline inputs of the sense amp need to line up with the
|
||||
outputs of the write driver. In the current version of OpenRAM, the
|
||||
write driver is situated under the sense amp, which had bitlines
|
||||
spaning the entire height of the cell. In this case, the sense
|
||||
amplifier is disabled during a write operation but the bitlines still
|
||||
connect the write driver to the column mux without any extra routing.
|
||||
|
||||
|
||||
\subsection{Write Driver}
|
||||
\label{sec:writedriver}
|
||||
|
||||
The write driver is used to drive the input signal into the memory
|
||||
cell during a write operation. It can be seen in
|
||||
Figure~\ref{fig:write_driver} that the write driver consists of two
|
||||
tristate buffers, one inverting and one non-inverting. It takes in a
|
||||
data bit, from the data bus, and outputs that value on the bitline,
|
||||
and its complement on bitline bar. The bitlines need to be
|
||||
complements so that the data value can be correctly stored in the 6T
|
||||
cell. Both tristates are enabled by the EN signal.
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[scale=.8]{./figs/write_driver_schem.pdf}
|
||||
\caption{Schematic of a write driver cell, which consists of 2 tristates (non-inverting and inverting) to drive the bitlines.}
|
||||
\label{fig:write_driver}
|
||||
\end{figure}
|
||||
|
||||
Currently, in OpenRAM, the write driver is a library cell. The
|
||||
associated layout and spice netlist can be found in the \verb|gds_lib| and
|
||||
\verb|sp_lib| in the FreePDK45 directory. Similar to the \verb|sense_amp_array|,
|
||||
the \verb|write_driver_array| class tiles the write driver cells. One
|
||||
driver cell is needed per data bit and Vdd, Gnd, and EN signals must
|
||||
be extended to span the entire width of the cell. It is not optimal to
|
||||
have the write driver as a library cell because the driver needs to be
|
||||
sized based on the capacitance of the bitlines. A large memory array
|
||||
needs a stronger driver to drive the data values into the memory
|
||||
cells. We are working on creating a parameterized tristate class,
|
||||
which will dynamically generate write driver cells of different
|
||||
sizes/strengths.
|
||||
|
||||
\subsection{Flip-Flop Array}
|
||||
|
||||
In a synchronous SRAM it is necessary to synchronize the inputs and
|
||||
outputs with a clock signal by using flip-flops. In FreePDK45 we
|
||||
provide a library cell for a simple master-slave flip-flop, see
|
||||
schematic in Figure~\ref{fig:ms_flop}. In our library cell we provide
|
||||
both Q and Q\_bar as outputs of the flop because inverted signals are
|
||||
used in various modules. The \verb|ms_flop| class in \verb|ms_flop.py|
|
||||
instatitates a single master-slave flop, and the \verb|ms_flop_array| class
|
||||
generates an array of flip-flops. Arrays of flops are necessary for
|
||||
the data bus (an array for both the inputs and outputs) as well as the
|
||||
address bus (an array for row and column inputs). The \verb|ms_flop_array|
|
||||
takes the number of flops and the type of array as inputs. Currently,
|
||||
the type of the array must be either ``data\_in'', ``data\_out'',
|
||||
``addr\_row'', or ``addr\_col'' verbatim. The array type input is
|
||||
used to look up that associated pin names for each of the flop arrays.
|
||||
This was implemented very quickly and should be improved in the near
|
||||
future...
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[scale=.7]{./figs/ms_flop_schem.pdf}
|
||||
\caption{Schematic of a master-slave flip-flop provided in FreePDK45 library}
|
||||
\label{fig:ms_flop}
|
||||
\end{figure}
|
||||
|
||||
\subsection{Control Logic}
|
||||
|
||||
The details of the control logic architecture are outlined in
|
||||
Section~\ref{sec:control}. The control logic module,
|
||||
\verb|control_logic.py|, instantiates a \verb|control_logic| class that arranges
|
||||
all of the flip-flops and logic associated with the control signals
|
||||
into a single module. Flip-flops are instantiated for each control
|
||||
signal input and library NAND and NOR gates are used for the logic. A
|
||||
delay chain, of variable length, is also generted using parameterized
|
||||
inverters. The associated layouts and spice netlists can be found in
|
||||
the \verb|gds_lib| and \verb|sp_lib| in the FreePDK45 directory.
|
||||
|
||||
\section{Bank and SRAM}
|
||||
\label{sec:bank}
|
||||
|
||||
The overall memory architecture is shown in figure~\ref{fig:bank}.
|
||||
As shown in this figure one Bank contains different modules including
|
||||
precharge-array which is positioned above the bitcell-array,
|
||||
column-mux-array which is located below the bitcell-array,
|
||||
sense-amp-array, write-driver-array, data-in-ms-flop-array
|
||||
to synchronize the input data with negative edge of the clock,
|
||||
tri-gata-array to share the bidirectional data-bus between input
|
||||
and output data, hierarchical decoder which is placed on the right side
|
||||
of the bitcell-array (predecoder + decoder), wordline-driver which drives
|
||||
the wordlines horizontally across the bitcell-array and address-ms-flops
|
||||
to synchronize the input address with positive edge of the clock.
|
||||
|
||||
In bitcell-array each memory cell is mirrored vertically and horizontally inorder to share VDD and GND rails with adjacent cells and form the array.
|
||||
Data-bus is connected to tri-gate, address-bus is connected to address-ms-flops and bank-select
|
||||
signal will enable the bank when it goes high. To complete the SRAM design, bank is connected to control-logic as shown in figure~\ref{fig:bank}.
|
||||
Control-logic controls the timing
|
||||
of modules inside the bank. CSb, OEb, Web and clk are inputs to the control logic and output of
|
||||
control logic will ANDed with bank-select signal and send to the corresponding modules.
|
||||
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[scale=1]{./figs/bank.pdf}
|
||||
\caption{Overal bank and SRAM architecture.}
|
||||
\label{fig:bank}
|
||||
\end{figure}
|
||||
|
||||
|
||||
In order to reduce the delay and power, divided wordline strategy have been used in this compiler. Part of the address bits
|
||||
are used to define the global wordline (bank-select) and rest of address bits are connected to hierarchical
|
||||
decoder inside each bank to generate local wordlines that actually drive the bitcell access transistors.
|
||||
|
||||
As shown in figure~\ref{fig:bank2} SRAM is divided to two banks which share data-bus, address-bus, control-bus and control-logic.
|
||||
In this case one bit of address (most significant bit) goes to an ms-flop and outputs of ms-flop (address-out and address-out-bar)
|
||||
are connected to banks as bank-select signals. Control logic is shared between two banks and based on which bank is selected,
|
||||
control signals will activate modules inside the selected bank. In this architecture, the total cell capacitance is reduced by up
|
||||
to a factor of two. Therefore the power will be reduced greatly and the delay among the wordlines is also reduced.
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[scale=.9]{./figs/bank2.pdf}
|
||||
\caption{SRAM is divided to two banks which share the control-logic.}
|
||||
\label{fig:bank2}
|
||||
\end{figure}
|
||||
|
||||
In figure~\ref{fig:bank4}, four banks are connected together. In this case a 2:4 decoder is added to select one of the banks using two
|
||||
most significant bits of input address. Control signals are connected to all banks but will turn on only the selected bank.
|
||||
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[scale=.9]{./figs/bank4.pdf}
|
||||
\caption{SRAM is divided to 4 banks wich are controlled by the control-logic and a 2:4 decoder.}
|
||||
\label{fig:bank4}
|
||||
\end{figure}
|
||||
|
||||
|
||||
|
|
@ -1,108 +0,0 @@
|
|||
% The % is a comment. This file is an Example LaTeX document for GP111
|
||||
\documentclass[11pt]{article}
|
||||
\usepackage{times} % LaTeX 2e
|
||||
\usepackage{graphicx}
|
||||
\usepackage{epstopdf}
|
||||
%\usepackage{subfigure}
|
||||
\usepackage[colorlinks=true]{hyperref}
|
||||
%\usepackage[doublespacing]{setspace}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% Generic Shared across papers Keywords
|
||||
|
||||
\newcommand{\fixme}[1]{{\Large FIXME:} {\bf #1}}
|
||||
\newcommand{\note}[1]{{\bf Note:} \{\uline{#1}\}\\}
|
||||
|
||||
% create some additional spacing between paragraphs.
|
||||
\setlength{\parskip}{7pt}
|
||||
% Default margins are too wide all the way around. I reset them here.
|
||||
\setlength{\topmargin}{-.5in}
|
||||
\setlength{\textheight}{9in}
|
||||
\setlength{\oddsidemargin}{.125in}
|
||||
\setlength{\textwidth}{6.25in}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\title{OpenRAM Manual}
|
||||
\author{Matthew R. Guthaus - mrg@ucsc.edu\\
|
||||
and many others
|
||||
}
|
||||
%\renewcommand{\today}{October 14, 2010}
|
||||
\maketitle
|
||||
\newpage
|
||||
\section{License}
|
||||
|
||||
\begin{verbatim}
|
||||
Copyright 2018 Regents of the University of California and The Board
|
||||
of Regents for the Oklahoma Agricultural and Mechanical College
|
||||
(acting for and on behalf of Oklahoma State University)
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
3. Neither the name of the copyright holder nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
\end{verbatim}
|
||||
|
||||
|
||||
\newpage
|
||||
\setcounter{tocdepth}{2}
|
||||
\tableofcontents
|
||||
|
||||
\newpage
|
||||
|
||||
% Each chapter description
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\input{intro}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\input{overview}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\input{modules}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\input{implementation}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\input{parameterized}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\input{porting}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\input{timing}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\input{unittests}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\input{debug}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%\input{conclusions}
|
||||
\input{gdsmill}
|
||||
|
||||
|
||||
\end{document}
|
||||
|
|
@ -1,90 +0,0 @@
|
|||
\section{Overview of the SRAM Structure}
|
||||
\label{sec:overview}
|
||||
|
||||
|
||||
% address decode and mem array
|
||||
The baseline SRAMs generated by OpenRAM have 1 read/write port as
|
||||
shown in Figure~\ref{fig:sram_architecture}. The address is decoded
|
||||
(Section~\ref{sec:addressdecoder}) into a one-hot set of word lines
|
||||
(WL) which are driven by word line drivers
|
||||
(Section~\ref{sec:wldriver}) over the bit-cell array
|
||||
(Section~\ref{sec:bitcellarray}). To facilitate reads, the precharge
|
||||
circuitry (Section~\ref{sec:precharge}) precharges the bitlines so
|
||||
that the column mux (Section~\ref{sec:column_mux}) can select the
|
||||
appropriate word which is then sensed by the sense amplifiers
|
||||
(Section~\ref{sec:senseamp}). Write drivers
|
||||
(Section~\ref{sec:writedriver}) use the bidirectional nature of the
|
||||
column mux to write the appropriate columns in a given memory row.
|
||||
|
||||
A representative layout of such a memory closely resembles the logical
|
||||
representation and is shown in Figure~\ref{fig:layout_view}. The
|
||||
address and data flip-flops and control circuitry are not shown but
|
||||
are detailed in Section~\ref{sec:control}.
|
||||
|
||||
|
||||
\begin{figure}[htb]
|
||||
\centering
|
||||
\includegraphics[width=10cm]{./figs/sram_overview.pdf}
|
||||
\caption{Single Port SRAM Architecture}
|
||||
\label{fig:sram_architecture}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\begin{figure}[htb]
|
||||
\centering
|
||||
\includegraphics[width=6cm]{./figs/layout_view_1024_16_annotated.pdf}
|
||||
\caption{1k SRAM with Two Columns and 16-bit Data}
|
||||
\label{fig:layout_view}
|
||||
\end{figure}
|
||||
|
||||
|
||||
|
||||
\subsection{Inputs/Outputs}
|
||||
\label{sec:io}
|
||||
|
||||
The inputs to the SRAM are:
|
||||
\begin{itemize}
|
||||
\setlength{\itemsep}{0pt}
|
||||
\item clk - External Clock
|
||||
\item CSb - Active-low Chip Select
|
||||
\item WEb - Active-low Write Enable
|
||||
\item OEb - Active-low Output Enable
|
||||
\item ADDR[\#] - Address Bus input (LSB is 0)
|
||||
\item DATA[\#] - Bi-directional Data bus (LBS is 0)
|
||||
\end{itemize}
|
||||
If multiple ports are used, the ADDR and DATA buses are appended with
|
||||
integers to extend them.
|
||||
|
||||
The outputs to the SRAM are:
|
||||
\begin{itemize}
|
||||
\setlength{\itemsep}{0pt}
|
||||
\item DATA\# - correspond to the bi-directional Data bus.
|
||||
\end{itemize}
|
||||
|
||||
The supply voltages to the SRAM are:
|
||||
\begin{itemize}
|
||||
\item vdd - Supply voltage
|
||||
\item gnd - Ground supply voltage
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Top-Level SRAM Module}
|
||||
\label{sec:sram}
|
||||
|
||||
The sram class in \verb|sram.py| is the top-level SRAM module. This
|
||||
class handles the overall organization of the memory, instantiates the
|
||||
contorl logic, instantiates a number of banks, and creates decoded
|
||||
enable signals for multiple banks. All of the top level routing is
|
||||
performed in the sram class.
|
||||
|
||||
|
||||
The sram class instantiates identical copies of the bank module from
|
||||
\verb|bank.py|. All other sub-modules access the value of sizes from
|
||||
bank. The bank module includes an address decoder, (optional) column
|
||||
address decoder, (optional) column mux, sense amplifiers, precharge
|
||||
circuitry, write drivers, etc. A single bank organization is depicted
|
||||
in Figure~\ref{fig:sram_architecture}.
|
||||
|
||||
Discussion of the design data structure is discussed in
|
||||
Section~\ref{sec:design} and the modules contained in the top-level
|
||||
SRAM are detailed in Section~\ref{sec:modules}.
|
||||
|
||||
|
|
@ -1,258 +0,0 @@
|
|||
\section{Custom Layout Design Functions in Software}
|
||||
\label{sec:parameterized}
|
||||
|
||||
OpenRAM provides classes that can be used to generated parameterized
|
||||
cells for the most common cells: transistors, inverters, nand2, nand3, etc...
|
||||
There are many advantages to having parameterized cells.
|
||||
The main advantage is that it makes it easier to dynamically generate designs and cuts
|
||||
down the necessary code to be written.
|
||||
We also need parameterized cells because some designs, such as the wordline drivers, need to be
|
||||
dynamically sized based on the size of the memory.
|
||||
Lastly, there may be certain physical dimension requirements that need to be met for a
|
||||
cell, while still maintaing the expected operation/performance.
|
||||
In OpenRAM we currently provide five parameterized cells: parameterized
|
||||
transistor (\verb|ptx|), parameterized inverter (\verb|pinv|), parameterized nand2 (\verb|nand_2|),
|
||||
parameterized nand3 (\verb|nand_3|) and parameterized nor2 (\verb|nor_2|).
|
||||
|
||||
|
||||
\subsection{Parameterized Transistor}
|
||||
\label{sec:ptx}
|
||||
|
||||
The parameterized transistor class generates a transistor of specified
|
||||
width and number of mults.
|
||||
The \verb|ptx| is constructed as follows:
|
||||
\begin{verbatim}
|
||||
def __init__(self,name,width,mults,tx_type)
|
||||
\end{verbatim}
|
||||
|
||||
An explanation of the \verb|ptx| parameters is shown in
|
||||
Table~\ref{table:ptx_params}. A layout of ptx, generated by the
|
||||
following instatiation, is depicted in Figure~\ref{fig:ptx_example}.
|
||||
\begin{verbatim}
|
||||
fet = ptx.ptx(name = "nmos_1_finger", width = tech.drc["minwidth_tx"],
|
||||
mults = 1, tx_type = "nmos").
|
||||
\end{verbatim}
|
||||
|
||||
\begin{table}[h!]
|
||||
\begin{center}
|
||||
\begin{tabular}{| l | c |}
|
||||
\hline
|
||||
Parameter & Explanation \\ \hline
|
||||
\verb|width| & active\_height \\ \hline
|
||||
\verb|mults| & mult number of the transistor \\ \hline
|
||||
\verb|tx_type| & type of transistor,”nmos” and “pmos” \\ \hline
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\caption{Parameter Explanation of ptx}
|
||||
\label{table:ptx_params}
|
||||
\end{table}
|
||||
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[width=10cm]{./figs/ptx.pdf}
|
||||
\caption{An example of Parameterized Transistor (ptx)}
|
||||
\label{fig:ptx_example}
|
||||
\end{figure}
|
||||
|
||||
|
||||
|
||||
\subsection{Parameterized Inverter}
|
||||
\label{sec:pinv}
|
||||
|
||||
The parameterized inverter (\verb|pinv|) class generated an inverter
|
||||
of a specified size/strength and height. The \verb|pinv| is
|
||||
constructed as follows:
|
||||
\begin{verbatim}
|
||||
def __init__(self, cell_name, size, beta=tech.[pinv.beta],
|
||||
cell_size=tech.cell[height])
|
||||
\end{verbatim}
|
||||
|
||||
The parameterized inverter can provide significant drive strength
|
||||
while adhering to physical cell size limitations. That is achieved by
|
||||
having many small transistors connected in parallel, thus the height
|
||||
of the inverter cell can be manipulated without the affecting the
|
||||
drive strength. The NMOS size is an input parameter, and the PMOS size
|
||||
will be determined by $beta*NMOS\_size$, where beta is the ratio of
|
||||
the PMOS channel width to the NMOS channel width. The following code
|
||||
instatiates the \verb|pinv| instance seen in Figure~\ref{fig:pinv}.
|
||||
\begin{verbatim}
|
||||
a=pinv.pinv(cell_name="pinv",size=tech.drc["minwidth_tx"]*8)
|
||||
\end{verbatim}
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[width=10cm]{./figs/pinv.pdf}
|
||||
\caption{An example of Parameterized Inverter(pinv)}
|
||||
\label{fig:pinv}
|
||||
\end{figure}
|
||||
|
||||
|
||||
The \verb|pinv| parameters are explained in Table~\ref{table:pinv_params}.
|
||||
\begin{table}[h!]
|
||||
\begin{center}
|
||||
\begin{tabular}{| l | c |}
|
||||
\hline
|
||||
Parameter & Explanation \\ \hline
|
||||
\verb|size| & The logic size of the transistor of the nmos in the pinv \\ \hline
|
||||
\verb|beta| = tech.[pinv.beta] & Ratio of pmos channel width to nmos channel width. \\ \hline
|
||||
\verb|cell_size| = tech.cell[height] & physical dimension of cell height. \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\caption{Parameter Explanation of pinv}
|
||||
\label{table:pinv_params}
|
||||
\end{table}
|
||||
|
||||
|
||||
|
||||
\subsection{Parameterized NAND2}
|
||||
\label{sec:nand2}
|
||||
|
||||
The parameterized nand2 (\verb|nand_2|) class generated a 2-input nand gate
|
||||
of a specified size/strength and height. The \verb|nand_2| is
|
||||
constructed as follows:
|
||||
\begin{verbatim}
|
||||
def __init__(self, name, nmos_width, height=tech.cell_6t[height])
|
||||
\end{verbatim}
|
||||
|
||||
The NMOS size is an input parameter, and the PMOS size
|
||||
will be equal to NMOS to have the equal rising and falling for output.
|
||||
The following code instatiates the \verb|nand_2| instance seen in Figure~\ref{fig:nand2}.
|
||||
\begin{verbatim}
|
||||
a=nand_2.nand_2(name="nand2", nmos_width=2*tech.drc["minwidth_tx"],
|
||||
height=tech.cell_6t["height"])
|
||||
\end{verbatim}
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
%\includegraphics[width=10cm]{./figs/nand2.pdf}
|
||||
\caption{An example of Parameterized NAND2(nand\_2)}
|
||||
\label{fig:nand2}
|
||||
\end{figure}
|
||||
|
||||
|
||||
The \verb|nand_2| parameters are explained in Table~\ref{table:nand2_params}.
|
||||
\begin{table}[h!]
|
||||
\begin{center}
|
||||
\begin{tabular}{| l | c |}
|
||||
\hline
|
||||
Parameter & Explanation \\ \hline
|
||||
\verb|nmos_width| & The logic size of the transistor of the nmos in the nand2 \\ \hline
|
||||
\verb|height| = tech.cell\_6t[height] & physical dimension of cell height. \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\caption{Parameter Explanation of nand2}
|
||||
\label{table:nand2_params}
|
||||
\end{table}
|
||||
|
||||
|
||||
|
||||
\subsection{Parameterized NAND3}
|
||||
\label{sec:nand3}
|
||||
|
||||
The parameterized nand3 (\verb|nand_3|) class generated a 3-input nand gate
|
||||
of a specified size/strength and height. The \verb|nand_3| is
|
||||
constructed as follows:
|
||||
\begin{verbatim}
|
||||
def __init__(self, name, nmos_width, height=tech.cell_6t[height])
|
||||
\end{verbatim}
|
||||
The NMOS size is an input parameter, and the PMOS size
|
||||
will be equal to $2/3$ NMOS size to have the equal rising and falling for output.
|
||||
The following code instatiates the \verb|nand_3| instance seen in Figure~\ref{fig:nand3}.
|
||||
\begin{verbatim}
|
||||
a=nand_3.nand_3(name="nand3", nmos_width=3*tech.drc["minwidth_tx"],
|
||||
height=tech.cell_6t["height"])
|
||||
\end{verbatim}
|
||||
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
%\includegraphics[width=10cm]{./figs/nand3.pdf}
|
||||
\caption{An example of Parameterized NAND3(nand\_3)}
|
||||
\label{fig:nand3}
|
||||
\end{figure}
|
||||
|
||||
The \verb|nand_3| parameters are explained in Table~\ref{table:nand3_params}.
|
||||
\begin{table}[h!]
|
||||
\begin{center}
|
||||
\begin{tabular}{| l | c |}
|
||||
\hline
|
||||
Parameter & Explanation \\ \hline
|
||||
\verb|nmos_width| & The logic size of the transistor of the nmos in the nand3 \\ \hline
|
||||
\verb|height| = tech.cell\_6t[height] & physical dimension of cell height. \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\caption{Parameter Explanation of nand3}
|
||||
\label{table:nand3_params}
|
||||
\end{table}
|
||||
|
||||
|
||||
\subsection{Parameterized NOR2}
|
||||
\label{sec:nor2}
|
||||
|
||||
The parameterized nor2 (\verb|nor_2|) class generated a 2-input nor gate
|
||||
of a specified size/strength and height. The \verb|nor_2| is
|
||||
constructed as follows:
|
||||
\begin{verbatim}
|
||||
def __init__(self, name, nmos_width, height=tech.cell_6t[height])
|
||||
\end{verbatim}
|
||||
The NMOS size is an input parameter, and the PMOS size
|
||||
will be equal to $2$ NMOS size to have the equal rising and falling for output.
|
||||
The following code instatiates the \verb|nor_2| instance seen in Figure~\ref{fig:nor2}.
|
||||
\begin{verbatim}
|
||||
a=nor_2.nor_2(name="nor2", nmos_width=2*tech.drc["minwidth_tx"],
|
||||
height=tech.cell_6t["height"])
|
||||
\end{verbatim}
|
||||
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[width=10cm]{./figs/nor2.pdf}
|
||||
\caption{An example of Parameterized NOR2(nor\_2)}
|
||||
\label{fig:nor2}
|
||||
\end{figure}
|
||||
|
||||
The \verb|nor_2| parameters are explained in Table~\ref{table:nor2_params}.
|
||||
\begin{table}[h!]
|
||||
\begin{center}
|
||||
\begin{tabular}{| l | c |}
|
||||
\hline
|
||||
Parameter & Explanation \\ \hline
|
||||
\verb|nmos_width| & The logic size of the transistor of the nmos in the nor2 \\ \hline
|
||||
\verb|height| = tech.cell\_6t[height] & physical dimension of cell height. \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\caption{Parameter Explanation of nor2}
|
||||
\label{table:nor2_params}
|
||||
\end{table}
|
||||
|
||||
|
||||
|
||||
\subsection{Path and Wire}
|
||||
\label{sec:path and wire}
|
||||
OpenRam provides two routing classes in custom layout design.
|
||||
Both Path and wire class will take a set of coordinates connect those points
|
||||
with rectilinear metal connection.
|
||||
|
||||
The difference is that path only use the same layers for both vertical and
|
||||
horizontal connection while wire will use two different adjacent metal layers.
|
||||
The this example will construct a metal1 layer path
|
||||
\begin{verbatim}
|
||||
layer_stack = ("metal1")
|
||||
position_list = [(0,0), (0,3), (1,3), (1,1), (4,3)]
|
||||
w=path.path(layer_stack,position_list)
|
||||
\end{verbatim}
|
||||
and This exmaple will construct a wire using metal1 for vertical connection and metal2 for
|
||||
horizontal connection:
|
||||
\begin{verbatim}
|
||||
layer_stack = ("metal1","via1","metal2")
|
||||
position_list = [(0,0), (0,3), (1,3), (1,1), (4,3)]
|
||||
w=wire.wire(layer_stack,position_list)
|
||||
\end{verbatim}
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
\section{Porting to a new Technologies}
|
||||
\label{sec:porting}
|
||||
|
||||
The folllowing sub-directories and files should be added to your new technology directory:
|
||||
\begin{itemize}
|
||||
\item \verb|/sp_lib| - spice netlists for library cells
|
||||
\item \verb|/gds_lib| - GDSII files for the library cell
|
||||
\item \verb|layers.map| - layer/purpose pair map from the technology
|
||||
\item \verb|/tech| - contains tech parameters, layers, and portation functions.
|
||||
\end{itemize}
|
||||
|
||||
\subsection{The GDS and Spice Libraries}
|
||||
|
||||
The GDS and Spice libraries , \verb|\gds_lib| and \verb|\sp_lib|, should contain the GDSII layouts and spice netlists for each of the library cells in your SRAM design. For the FreePDK45 technology, library cells for the 6T Cell, Sense Amp, Write Driver, Flip-Flops, and Control Logic are provided. To reiterate: all layouts must be exported in the GDSII file format. The following commands can be used to stream GDSII files into or out of Cadence Virtuoso:
|
||||
\begin{verbatim}
|
||||
To stream out of Cadence:
|
||||
|
||||
strmout -layerMap ../sram_lib/layers.map
|
||||
-library sram -topCell $i -view layout
|
||||
-strmFile ../sram_lib/$i.gds
|
||||
|
||||
To stream a layout back into Cadence:
|
||||
|
||||
strmin -layerMap ../sram_lib/layers.map
|
||||
-attachTechFileOfLib NCSU_TechLib_FreePDK45
|
||||
-library sram_4_32 -strmFile sram_4_32.gds
|
||||
\end{verbatim}
|
||||
When you import a gds file, make sure to attach the correct tech lib or you will get incorrect layers in the resulting library.
|
||||
|
||||
|
||||
|
||||
\subsection{Technology Directory}
|
||||
\label{sec:tech}
|
||||
|
||||
Inside of the \verb|/tech| directory should be the Python classes for \verb|tech.py|,
|
||||
\verb|ptx_port.py|, and any other portation functions. The \verb|tech.py| file is very important and should contain the following:
|
||||
\begin{itemize}
|
||||
\item Layer Number/Name - GDSII files only contain layer numbers and it can be difficult to keep track of which layer corresponds to what number. In OpenRAM code, layers are referred to by name and \verb|tech.py| maps the layer names that we use to the layer numbers in the \verb|layer.map| This will associate the layer name used in OpenRAM program with the number used in the layer.map, thus the code in complier won’t need to be changed for each technology.
|
||||
\item Tech Parameters - important rules from the DRC rule deck(such as layer spacing and minimum sizes) should be included here. Please refer to the rules that are included in \verb|tech.py| to get a better idea as to what is important.
|
||||
\item Cell Sizes and Pin Offsets - The \verb|cell_size()| and \verb|pin_finder()| functions should be used to populate this class with the various cell sizes and pin locations in your library cells. These functions are relatively slow because they must traverse the every shape in the entire hierarchy of a design. Due to this fact, these function are not invoked each time the compiler is run, it should be run one time or if any changes have been made to library cells. This sizes and pin locations gathered are needed to generate the dynamic cells and perform routing at the various levels of the hierarchy. It is suggested that boundary boxes on a specific layer should be added to define the cell size.
|
||||
\end{itemize}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
230
docs/timing.tex
|
|
@ -1,230 +0,0 @@
|
|||
\section{Timing and Control Logic}
|
||||
\label{timing}
|
||||
|
||||
This section outlines the necessary signals, timing considerations, and control circuitry for a synchronous SRAM.
|
||||
|
||||
\subsection{Signals}
|
||||
\label{signals}
|
||||
Top-Level Signals:
|
||||
\begin{itemize}
|
||||
\setlength{\itemsep}{0pt}
|
||||
\item ADDR - address bus.
|
||||
\item DATA - bi-directional data bus.
|
||||
\item clk - the global clock.
|
||||
\item OEb - active low output enable.
|
||||
\item CSb - active low chip select.
|
||||
\item WEb - active low write enable.
|
||||
\end{itemize}
|
||||
|
||||
Internal Signals:
|
||||
\begin{itemize}
|
||||
\setlength{\itemsep}{0pt}
|
||||
\item clk\_bar - enables the precharge unit.
|
||||
\item s\_en - enables the sense amp during a read operation.
|
||||
\item w\_en - enable the write driver during a write operation.
|
||||
\item tri\_en and tri\_en\_bar - enable the data input tri-gate during a read operation.
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Timing Considerations}
|
||||
\label{timing_params}
|
||||
|
||||
The main timing considerations for an SRAM are:
|
||||
\begin{itemize}
|
||||
\setlength{\itemsep}{0pt}
|
||||
\item Setup Time - time an input needs to be stable before the positive/negative clock edge.
|
||||
\item Hold Time - time an input needs to stay valid after the positive/negative clock edge.
|
||||
\item Minimun Cycle Time - time inbetween subsequent memory operations.
|
||||
\item Memory Read Time - time from negative clock edge until valid data appears on the data bus.
|
||||
\item Memory Write Time - time from negative clock edge until data has been driven into a memory cell.
|
||||
\end{itemize}
|
||||
|
||||
\subsection{SRAM Operation}
|
||||
\label{operation}
|
||||
|
||||
\begin{figure}[tb]
|
||||
\centering
|
||||
\includegraphics[scale=.85]{./figs/timing_read.pdf}
|
||||
\caption{Timing diagram for read operation showing the setup, hold, and read times.}
|
||||
\label{fig:read}
|
||||
\end{figure}
|
||||
|
||||
Read Operation:
|
||||
\begin{enumerate}
|
||||
\setlength{\itemsep}{0pt}
|
||||
\item Before the clock transition (low to high) that initiates the read operation:
|
||||
\begin{enumerate}
|
||||
\item The chip must be selected (CSb low).
|
||||
\item The WEb must be high (read).
|
||||
\item The row and column addresses must be applied to the address input pins (ADDR).
|
||||
\item OEb should be selected (OEb low).
|
||||
\end{enumerate}
|
||||
\item On the rising edge of the clock (CLK):
|
||||
\begin{enumerate}
|
||||
\item The control signals and address are latched into flip-flops and the read cycle begins.
|
||||
\item The precharging of the bit lines starts.
|
||||
\item The address bits become available for the decoder and column mux, which select the row and columns that we want to read from.
|
||||
\end{enumerate}
|
||||
\item On the falling edge of the clock (CLK):
|
||||
\begin{enumerate}
|
||||
\item Word line is driven onto the bitlines, the value stored in the memory cells pulls down one of the bitlines (bl if a 0 is stored, br if a 1 is stored).
|
||||
\item s\_en enables the sense amplifier which senses the voltage difference of the bit lines, produces the output and keeps the value in its latch circuitry.
|
||||
\item Tri-gate drives (tri\_en and tri\_en\_bar) the output data on data bus. Data remains valid on the data bus for a complete clock cycle.
|
||||
\end{enumerate}
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
\begin{figure}[tb]
|
||||
\centering
|
||||
\includegraphics[scale=.9]{./figs/timing_write.pdf}
|
||||
\caption{Timing diagram for write operation showing the setup, hold, and write times.}
|
||||
\label{fig:write}
|
||||
\end{figure}
|
||||
|
||||
|
||||
|
||||
Write Operation:
|
||||
\begin{enumerate}
|
||||
\setlength{\itemsep}{0pt}
|
||||
\item Before the clock transition (low to high) that initiates the write operation:
|
||||
\begin{enumerate}
|
||||
\item The chip must be selected (CSb low).
|
||||
\item The WEb must be low to enable the data input tristates.
|
||||
\item The row and column addresses must be applied to the address input pins (ADDR).
|
||||
\item OEb must be high (no output is available and sense amp disabled)
|
||||
\end{enumerate}
|
||||
\item On the rising edge of the clock (CLK):
|
||||
\begin{enumerate}
|
||||
\item OEb stays high (no output is available and sense amp disabled)
|
||||
\item The inputs addresses are latched into flip-flops, precharging starts, and the write operation begins.
|
||||
\item The address bits become available for the decoder and column mux, which select the row and columns that we want to write to.
|
||||
\end{enumerate}
|
||||
\item On the falling edge of the clock (CLK):
|
||||
\begin{enumerate}
|
||||
\item The data to be written must be applied to DATA and latched into flip-flops.
|
||||
\item w\_en enables the write driver, which drives the data input through the column mux and into the selected memory cells. The write delay is the time from the negative clock edge until the data value is stored in the memory cell on node X.
|
||||
\end{enumerate}
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
\subsection{Zero Bus Turnaround (ZBT)}
|
||||
\label{sec:ZBT}
|
||||
|
||||
In timing of SRAM, during a read operation, data should be available after the clock edge while
|
||||
during a write, data should be set up before the clock edge. Due to this issue a wait state (dead cycle) is neccessary when SRAM switches
|
||||
from read mode to write mode.
|
||||
To avoide dead cycles in SRAM timing which slow down the operation and degrade the performance of SRAM, Zero Bus turnaround (ZBT) technique is used.
|
||||
Using ZBT, during a write, data is set up after positive clock edge and before negative clock edge and input data is latched in negative edge flip-flops.
|
||||
Using ZBT, we will get a higher memory throughput and there is no waite states.
|
||||
Figure~\ref{fig:write} shows the correct timing for input signals during the write opertion to avoide the wait states.
|
||||
Figure~\ref{fig:ZBT} shows how a write cycle is followed by a read cycle with no wait state through using ZBT.
|
||||
Input address bits should be ready before positive edge to be loaded to positive edge flip-flops. Output data is ready to be loaded to data-bus during seconde half of cycle (after negative edge of clock) and
|
||||
input data should be ready before negative edge of clock to be loaded in negative edge flip-flops.
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[scale=0.9]{./figs/ZBT.pdf}
|
||||
\caption{(a) Zero Bus Turnaround timing.}
|
||||
\label{fig:ZBT}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\subsection{Control Logic}
|
||||
\label{sec:control}
|
||||
|
||||
|
||||
|
||||
The control circuitry ensures that the SRAM operates as intended during a read or write cycle by enabling the necessary structures in the SRAM.
|
||||
As shown in Figure~\ref{fig:control}, the control logic takes three active low signals as inputs: chip select bar ($CSb$),
|
||||
output enable bar ($OEb$), and write enable bar ($WEb$). $CSb$ enables the entire SRAM chip.
|
||||
When $CSb$ is low, the appropriate control signals are generated and sent to the architecture blocks.
|
||||
Conversely, if $CSb$ is high then no control signals are generated and SRAM is turned off or disabled.
|
||||
The $OEb$ signal signifies a read operation; while it is low the value seen on the data bus will be an output from the memory.
|
||||
Similarly, the $WEb$ signal signifies a write operation. All of the input control signals are latched with master-slave flip-flops,
|
||||
ensuring that the control signal stays valid for the entire operation cycle. The control signal flip-flops use the normal clock to generate
|
||||
local signals used to enable or disable structures based on the operation. Address flip-flops are combined with global clock as well.
|
||||
In a standard write SRAM, switching from a read to a write operation results in a dead cycle. To avoid this dead cycle, Data flip-flops are
|
||||
latched with $clk\_bar$ in order to have a Zero Bus Turnaround (ZBT) memory. More details on ZBT timing are outlined in Section~\ref{sec:ZBT}.
|
||||
After all control signals are latched, they are ANDED with the $clk\_bar$ because the read/write circuitries should only be enabled after the precharging of
|
||||
the bitlines had ended on the negative edge of the clock. The $w\_en$ signal enables the write driver during a write to the memory .The $s\_en$ signal
|
||||
is generated using a Replica Bitline ($RBL$) to enable the sense amplifier during a read operation. Details on $RBL$ architecture are outlined in section~\ref{sec:RBL}.
|
||||
$tri\_en$ and $tri\_en\_bar$ enable the tristates during read in order to drive the outputs onto the data bus.
|
||||
Table~\ref{table:control} shows the truth table for the control logic. The $s\_en$ signal to enable the sense amplifier is
|
||||
true when $(CS . OE . Clk\_bar)$ is true. Similarly, write driver enable signal, $w\_en$, is true when $(CS . WE . clk\_bar)$ is true.
|
||||
$tri\_en$ and $tri\_en\_bar$ are true when $\neg(OEb\_bar | clk)$ and $\neg(OEb . clk\_bar)$ are true, respectively.
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[scale=1]{./figs/control_logic.pdf}
|
||||
\caption{(a) Control Logic diagram and (b) Replica Bitline Schematic.}
|
||||
\label{fig:control}
|
||||
\end{figure}
|
||||
|
||||
|
||||
|
||||
\begin{table}[h!]
|
||||
\begin{center}
|
||||
\begin{tabular}{| c | c | c | c | c | c | c |}
|
||||
\hline
|
||||
Operation & \multicolumn{3}{|c|}{Inputs} & \multicolumn{3}{|c|}{Outputs}\\ \hline
|
||||
& CSb & OEb & WEb & s\_en & w\_en & tri\_en\\ \hline
|
||||
READ & 0 & 0 & 1 & 1 & 0 & 1\\ \hline
|
||||
WRITE & 0 & 1 & 0 & 0 & 1 & 0\\ \hline
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\caption{Generation of control signals.}
|
||||
\label{table:control}
|
||||
\end{table}
|
||||
|
||||
|
||||
\subsection{Replica Bitline Delay}
|
||||
\label{sec:RBL}
|
||||
|
||||
|
||||
|
||||
In SRAM read operation, discharging the bitline is the most time consuming procedure.
|
||||
Generally, sense amplifier amplifies the small voltage difference on the bitlines at the proper sense timing,
|
||||
to realize high-speed operation. Therefore, the timing for sense amplifier ($s\_en$) is extremely important for the high speed and low power SRAM.
|
||||
If the $s\_en$ arrives early before the bitline difference reaches the sense amplifier input transistors offset voltage,
|
||||
a read functional failure may occur. Contrarily, a late-arrived $s\_en$ would consume more unnecessary time, thereby wasting the power.
|
||||
The conventional way of generating $s\_en$ signal is to use a replica bitline ($RBL$). $RBL$ as shown in ~\ref{fig:RBL} consists of a column of SRAM cells (dummy cells),
|
||||
which track the random process variation in array. $RBL$ is presented for matching the delay of the activation of the
|
||||
sense amplifier with the delay of the propagation of the required voltage swing at the bitlines.
|
||||
In $RBL$ technique, delay driven memory cell in control path is same as read path. Therefore the
|
||||
delay shift of control path according to the Process, Voltage and Temperature (PVT) variation is same ratio as that of read path.
|
||||
The $RBL$ technique attains self-timed tracking with optimal $s\_en$ timing according to PVT variation.
|
||||
Using replica circuits, the variation on the delay of the sense amp activation and bitline swing is minimized.
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[scale=.9]{./figs/replica_bitline.pdf}
|
||||
\caption{Replica Bitline Schematic}
|
||||
\label{fig:RBL}
|
||||
\end{figure}
|
||||
|
||||
$RBL$ technique uses a Replica Cell ($RC$) driving a short bitline signal. The short bitline\'s capacitance is set to be a
|
||||
fraction of the main bitline capacitance (e.g. one tenth). This fraction is determined by the required bitline swing
|
||||
(bitline voltages larger than offset voltage at input transistors of sense amplifier) for proper sensing. So in SRAM, an
|
||||
extra column block is converted into the replica column whose capacitance is the desired fraction of the main bitline.
|
||||
Therefore, its capacitance ratio to the main bitlines is set purely by the ratio of the geometric lengths (e.g. one tenth).
|
||||
The $RC$ is hard wired to store a zero such that it will discharge the $RBL$ once it is accessed.
|
||||
Because of its similarity with the actual memory cell (in terms of design and fabrication) the delay of $RBL$ tracks the delay of
|
||||
real bitlines very well and can be made roughly equal. Figure ~\ref{fig:RC} shows the schematic of the 6T replica cell.
|
||||
The timing for $s\_en$ is generated as follows. At first, the $RBL$ and the normal bitlines are precharged to VDD.
|
||||
Next, selected memory cells and $RC$ are activated. $RC$ draws the current from the $RBL$ and normal bitlines are
|
||||
also discharged through the accessed cell. Discharged swing on $RBL$ is inverted and then buffered to generate the signal to enable the sense amplifier.
|
||||
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[scale=1]{./figs/replica_cell.pdf}
|
||||
\caption{Replica Bitline Schematic}
|
||||
\label{fig:RC}
|
||||
\end{figure}
|
||||
|
||||
|
||||
|
||||
|
||||
\subsection{Timing and Power Characterizer}
|
||||
\label{characterizer}
|
||||
|
||||
The section will provide an explanantion of the characterizer that will generete spice stimuli for the top-level SRAM and perform spice timing simulations to determine the memory setup\&hold times, the write delay, and read delay. It will also provide a spice power estimate.
|
||||
|
||||
|
|
@ -1,100 +0,0 @@
|
|||
\section{Unit Tests}
|
||||
\label{sec:unittests}
|
||||
|
||||
OpenRAM comes with a unit testing framework based on the Python
|
||||
unittest framework. Since OpenRAM is technology independent, these
|
||||
unit tests can be run in any technology to verify that the technology
|
||||
is properly ported. By default, FreePDK45 is supported.
|
||||
|
||||
The unit tests consist of the following tests that test each module/sub-block of OpenRAM:
|
||||
\begin{itemize}
|
||||
\item \verb|00_code_format_check__test.py| - Checks the format of the codes. returns error if finds $TAB$ in codes.
|
||||
\item \verb|01_library_drc_test.py| - DRC of library cells in technology \verb|gds_lib|
|
||||
\item \verb|02_library_lvs_test.py| - LVS of library cells in technology \verb|gds_lib| and \verb|sp_lib| %(names must correspond with different extensions)
|
||||
\item \verb|03_contact_test.py| - Test contacts/vias of different layers
|
||||
\item \verb|03_path_test.py| - Test different types of paths based off of the wire module
|
||||
\item \verb|03_ptx_test.py| - Test various sizes/fingers of PMOS and NMOS parameterized transistors
|
||||
\item \verb|03_wire_test.py| - Test different types of wires with different layers
|
||||
\item \verb|04_pinv_test.py| - Test various sizes of parameterized inverter
|
||||
\item \verb|04_nand_2_test.py| - Test various sizes of parameterized nand2
|
||||
\item \verb|04_nand_3_test.py| - Test various sizes of parameterized nand3
|
||||
\item \verb|04_nor_2_test.py| - Test various sizes of parameterized nor2
|
||||
\item \verb|04_wordline_driver_test.py| - Test a wordline\_driver array.
|
||||
\item \verb|05_array_test.py| - Test a small bit-cell array
|
||||
\item \verb|06_nand_decoder_test.py| - Test a dynamic NAND address decoder
|
||||
\item \verb|06_hierarchical_decoder_test.py| - Test a dynamic hierarchical address decoder
|
||||
\item \verb|07_tree_column_mux_test.py| - Test a small tree column mux.
|
||||
\item \verb|07_single_level_column_mux_test.py| - Test a small single level column mux.
|
||||
\item \verb|08_precharge_test.py| - Test a dynamically generated precharge array
|
||||
\item \verb|09_sense_amp_test.py| - Test a sense amplifier array
|
||||
\item \verb|10_write_driver_test.py| - Test a write driver array
|
||||
\item \verb|11_ms_flop_array_test.py| - Test a MS\_FF array
|
||||
\item \verb|13_control_logic_test.py| - Test the control logic module
|
||||
\item \verb|14_delay_chain_test.py| - Test a delay chain array
|
||||
\item \verb|15_tri_gate_array_test.py| - Test a tri-gate array
|
||||
\item \verb|16_replica_bitline_test.py| - Test a replica bitline
|
||||
\item \verb|19_bank_test.py| - Test a bank
|
||||
\item \verb|20_sram_test.py| - Test a complete small SRAM
|
||||
\item \verb|21_timing_sram_test.py| - Test timing of SRAM
|
||||
\item \verb|22_sram_func_test.py| - Test functionality of SRAM
|
||||
\end {itemize}
|
||||
|
||||
Each unit test instantiates a small component and performs DRC/LVS. Automatic DRC/LVS inside OpenRAM is disabled so that Python unittest assertions can be used to track failures, errors, and successful tests as follows:
|
||||
\begin{verbatim}
|
||||
self.assertFalse(calibre.run_drc(a.cell_name,tempgds))
|
||||
self.assertFalse(calibre.run_lvs(a.cell_name,tempgds,tempspice))
|
||||
\end{verbatim}
|
||||
Each of these assertions will trigger a test failure. If there are
|
||||
problems with interpreting modified code due to syntax errors, the
|
||||
unit test framework will not capture this and it will result in an
|
||||
Error.
|
||||
|
||||
\subsection{Usage}
|
||||
|
||||
A regression script is provided to check all of the unit tests by running:
|
||||
\begin{verbatim}
|
||||
python tests/regress.py
|
||||
\end{verbatim}
|
||||
from the compiler directory located at: "OpenRAM/trunk/compiler/". Each individual test can be run by running:
|
||||
\begin{verbatim}
|
||||
python tests/{unit-test file}
|
||||
e.g. python tests/05_array_test.py
|
||||
\end{verbatim}
|
||||
from the compiler directory located at: "openram/trunk/compiler/". As an example, the unit tests all
|
||||
complete and provide the following output except for the final
|
||||
\verb|20_sram_test| which has 2 DRC violations:
|
||||
\begin{verbatim}
|
||||
[trunk/compiler]$ python tests/regress.py
|
||||
runTest (01_library_drc_test.library_drc_test) ... ok
|
||||
runTest (02_library_lvs_test.library_lvs_test) ... ok
|
||||
runTest (03_contact_test.contact_test) ... ok
|
||||
runTest (03_path_test.path_test) ... ok
|
||||
runTest (03_ptx_test.ptx_test) ... ok
|
||||
runTest (03_wire_test.wire_test) ... ok
|
||||
runTest (04_pinv_test.pinv_test) ... ok
|
||||
runTest (04_nand_2_test.nand_2_test) ... ok
|
||||
runTest (04_nand_3_test.nand_3_test) ... ok
|
||||
runTest (04_nor_2_test.nor_2_test) ... ok
|
||||
runTest (04_wordline_driver_test.wordline_driver_test) ... ok
|
||||
runTest (05_array_test.array_test) ... ok
|
||||
runTest (06_hierdecoder_test.hierdecoder_test) ... ok
|
||||
runTest (07_single_level_column_mux_test.single_level_column_mux_test) ... ok
|
||||
runTest (08_precharge_test.precharge_test) ... ok
|
||||
runTest (09_sense_amp_test.sense_amp_test) ... ok
|
||||
runTest (10_write_driver_test.write_driver_test) ... ok
|
||||
runTest (11_ms_flop_array_test.ms_flop_test) ... ok
|
||||
runTest (13_control_logic_test.control_logic_test) ... ok
|
||||
runTest (14_delay_chain_test.delay_chain_test) ... ok
|
||||
runTest (15_tri_gate_array_test.tri_gate_array_test) ... ok
|
||||
runTest (19_bank_test.bank_test) ... ok
|
||||
runTest (20_sram_test.sram_test) ... ok
|
||||
\end{verbatim}
|
||||
|
||||
If there are any DRC/LVS violations during the test, all the summary,output,and error files
|
||||
will be generated in the technology directory's "openram\_temp" folder. One would view those
|
||||
files to determine the cause of the DRC/LVS violations.
|
||||
|
||||
More information on the Python unittest framework is available at\\
|
||||
\begin{center}
|
||||
\url{http://docs.python.org/2/library/unittest.html}.
|
||||
\end{center}
|
||||