mirror of https://github.com/VLSIDA/OpenRAM.git
Remove latex template from repository
This commit is contained in:
parent
58b8bac845
commit
155abb991d
|
|
@ -1,10 +0,0 @@
|
|||
.DS_Store
|
||||
*.bak
|
||||
openram.pdf
|
||||
main.aux
|
||||
main.bbl
|
||||
main.blg
|
||||
main.log
|
||||
main.out
|
||||
main.pdf
|
||||
main.synctex.gz
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -1,11 +0,0 @@
|
|||
#To create a PDF version of the paper, named: openram.pdf,
|
||||
#use this command: ./t.sh
|
||||
#
|
||||
#This script is used to correctly setup the references/bib
|
||||
#for the paper and uses pdflatex to create the PDF.
|
||||
#
|
||||
#DEBUGGING:
|
||||
#If the generation of the PDF failed, read the error messages
|
||||
#and line numbers and use these keyboard commands to get out
|
||||
#of the current error messages: Ctrl+D
|
||||
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
\begin{abstract}
|
||||
Computer systems research is often inhibited by the availability of
|
||||
memory designs. Existing Process Design Kits (PDKs) frequently lack
|
||||
memory compilers, while expensive commercial solutions only provide
|
||||
memory models with immutable cells, limited configurations, and
|
||||
restrictive licenses. Manually creating memories can be time consuming
|
||||
and tedious and the designs are usually inflexible. This paper
|
||||
introduces OpenRAM, an open-source memory compiler, that provides a
|
||||
platform for the generation, characterization, and verification of
|
||||
fabricable memory designs across various technologies, sizes, and
|
||||
configurations. It enables research in computer architecture,
|
||||
system-on-chip design, memory circuit and device research, and
|
||||
computer-\allowbreak aided design.
|
||||
\end{abstract}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
\section{Acknowledgments}
|
||||
\label{sec:acknowledgements}
|
||||
This material is based upon work supported by the National Science
|
||||
Foundation under Grant No. CNS-1205685 and CNS-1205493. Many students
|
||||
have contributed to the project throughout their studies including
|
||||
Jeff Butera, Tom Golubev, Seokjoong Kim, Matthew Gaalswyk, and Son
|
||||
Bui.
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,221 +0,0 @@
|
|||
%%
|
||||
%% This is file `acmcopyright.sty',
|
||||
%% generated with the docstrip utility.
|
||||
%%
|
||||
%% The original source files were:
|
||||
%%
|
||||
%% acmcopyright.dtx (with options: `style')
|
||||
%%
|
||||
%% IMPORTANT NOTICE:
|
||||
%%
|
||||
%% For the copyright see the source file.
|
||||
%%
|
||||
%% Any modified versions of this file must be renamed
|
||||
%% with new filenames distinct from acmcopyright.sty.
|
||||
%%
|
||||
%% For distribution of the original source see the terms
|
||||
%% for copying and modification in the file acmcopyright.dtx.
|
||||
%%
|
||||
%% This generated file may be distributed as long as the
|
||||
%% original source files, as listed above, are part of the
|
||||
%% same distribution. (The sources need not necessarily be
|
||||
%% in the same archive or directory.)
|
||||
%% \CharacterTable
|
||||
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
|
||||
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
|
||||
%% Digits \0\1\2\3\4\5\6\7\8\9
|
||||
%% Exclamation \! Double quote \" Hash (number) \#
|
||||
%% Dollar \$ Percent \% Ampersand \&
|
||||
%% Acute accent \' Left paren \( Right paren \)
|
||||
%% Asterisk \* Plus \+ Comma \,
|
||||
%% Minus \- Point \. Solidus \/
|
||||
%% Colon \: Semicolon \; Less than \<
|
||||
%% Equals \= Greater than \> Question mark \?
|
||||
%% Commercial at \@ Left bracket \[ Backslash \\
|
||||
%% Right bracket \] Circumflex \^ Underscore \_
|
||||
%% Grave accent \` Left brace \{ Vertical bar \|
|
||||
%% Right brace \} Tilde \~}
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{acmcopyright}
|
||||
[2014/06/29 v1.2 Copyright statemens for ACM classes]
|
||||
\newif\if@printcopyright
|
||||
\@printcopyrighttrue
|
||||
\newif\if@printpermission
|
||||
\@printpermissiontrue
|
||||
\newif\if@acmowned
|
||||
\@acmownedtrue
|
||||
\RequirePackage{xkeyval}
|
||||
\define@choicekey*{ACM@}{acmcopyrightmode}[%
|
||||
\acm@copyrightinput\acm@copyrightmode]{none,acmcopyright,acmlicensed,%
|
||||
rightsretained,usgov,usgovmixed,cagov,cagovmixed,%
|
||||
licensedusgovmixed,licensedcagovmixed,othergov,licensedothergov}{%
|
||||
\@printpermissiontrue
|
||||
\@printcopyrighttrue
|
||||
\@acmownedtrue
|
||||
\ifnum\acm@copyrightmode=0\relax % none
|
||||
\@printpermissionfalse
|
||||
\@printcopyrightfalse
|
||||
\@acmownedfalse
|
||||
\fi
|
||||
\ifnum\acm@copyrightmode=2\relax % acmlicensed
|
||||
\@acmownedfalse
|
||||
\fi
|
||||
\ifnum\acm@copyrightmode=3\relax % rightsretained
|
||||
\@acmownedfalse
|
||||
\fi
|
||||
\ifnum\acm@copyrightmode=4\relax % usgov
|
||||
\@printpermissiontrue
|
||||
\@printcopyrightfalse
|
||||
\@acmownedfalse
|
||||
\fi
|
||||
\ifnum\acm@copyrightmode=6\relax % cagov
|
||||
\@acmownedfalse
|
||||
\fi
|
||||
\ifnum\acm@copyrightmode=8\relax % licensedusgovmixed
|
||||
\@acmownedfalse
|
||||
\fi
|
||||
\ifnum\acm@copyrightmode=9\relax % licensedcagovmixed
|
||||
\@acmownedfalse
|
||||
\fi
|
||||
\ifnum\acm@copyrightmode=10\relax % othergov
|
||||
\@acmownedtrue
|
||||
\fi
|
||||
\ifnum\acm@copyrightmode=11\relax % licensedothergov
|
||||
\@acmownedfalse
|
||||
\@printcopyrightfalse
|
||||
\fi}
|
||||
\def\setcopyright#1{\setkeys{ACM@}{acmcopyrightmode=#1}}
|
||||
\setcopyright{acmcopyright}
|
||||
\def\@copyrightowner{%
|
||||
\ifcase\acm@copyrightmode\relax % none
|
||||
\or % acmcopyright
|
||||
ACM.
|
||||
\or % acmlicensed
|
||||
Copyright held by the owner/author(s). Publication rights licensed to
|
||||
ACM.
|
||||
\or % rightsretained
|
||||
Copyright held by the owner/author(s).
|
||||
\or % usgov
|
||||
\or % usgovmixed
|
||||
ACM.
|
||||
\or % cagov
|
||||
Crown in Right of Canada.
|
||||
\or %cagovmixed
|
||||
ACM.
|
||||
\or %licensedusgovmixed
|
||||
Copyright held by the owner/author(s). Publication rights licensed to
|
||||
ACM.
|
||||
\or %licensedcagovmixed
|
||||
Copyright held by the owner/author(s). Publication rights licensed to
|
||||
ACM.
|
||||
\or % othergov
|
||||
ACM.
|
||||
\or % licensedothergov
|
||||
\fi}
|
||||
\def\@copyrightpermission{%
|
||||
\ifcase\acm@copyrightmode\relax % none
|
||||
\or % acmcopyright
|
||||
Permission to make digital or hard copies of all or part of this
|
||||
work for personal or classroom use is granted without fee provided
|
||||
that copies are not made or distributed for profit or commercial
|
||||
advantage and that copies bear this notice and the full citation on
|
||||
the first page. Copyrights for components of this work owned by
|
||||
others than ACM must be honored. Abstracting with credit is
|
||||
permitted. To copy otherwise, or republish, to post on servers or to
|
||||
redistribute to lists, requires prior specific permission
|
||||
and\hspace*{.5pt}/or a fee. Request permissions from
|
||||
permissions@acm.org.
|
||||
\or % acmlicensed
|
||||
Permission to make digital or hard copies of all or part of this
|
||||
work for personal or classroom use is granted without fee provided
|
||||
that copies are not made or distributed for profit or commercial
|
||||
advantage and that copies bear this notice and the full citation on
|
||||
the first page. Copyrights for components of this work owned by
|
||||
others than the author(s) must be honored. Abstracting with credit
|
||||
is permitted. To copy otherwise, or republish, to post on servers
|
||||
or to redistribute to lists, requires prior specific permission
|
||||
and\hspace*{.5pt}/or a fee. Request permissions from
|
||||
permissions@acm.org.
|
||||
\or % rightsretained
|
||||
Permission to make digital or hard copies of part or all of this work
|
||||
for personal or classroom use is granted without fee provided that
|
||||
copies are not made or distributed for profit or commercial advantage
|
||||
and that copies bear this notice and the full citation on the first
|
||||
page. Copyrights for third-party components of this work must be
|
||||
honored. For all other uses, contact the
|
||||
owner\hspace*{.5pt}/author(s).
|
||||
\or % usgov
|
||||
This paper is authored by an employee(s) of the United States
|
||||
Government and is in the public domain. Non-exclusive copying or
|
||||
redistribution is allowed, provided that the article citation is
|
||||
given and the authors and agency are clearly identified as its
|
||||
source.
|
||||
\or % usgovmixed
|
||||
ACM acknowledges that this contribution was authored or co-authored
|
||||
by an employee, or contractor of the national government. As such,
|
||||
the Government retains a nonexclusive, royalty-free right to
|
||||
publish or reproduce this article, or to allow others to do so, for
|
||||
Government purposes only. Permission to make digital or hard copies
|
||||
for personal or classroom use is granted. Copies must bear this
|
||||
notice and the full citation on the first page. Copyrights for
|
||||
components of this work owned by others than ACM must be
|
||||
honored. To copy otherwise, distribute, republish, or post,
|
||||
requires prior specific permission and\hspace*{.5pt}/or a
|
||||
fee. Request permissions from permissions@acm.org.
|
||||
\or % cagov
|
||||
This article was authored by employees of the Government of Canada.
|
||||
As such, the Canadian government retains all interest in the
|
||||
copyright to this work and grants to ACM a nonexclusive,
|
||||
royalty-free right to publish or reproduce this article, or to allow
|
||||
others to do so, provided that clear attribution is given both to
|
||||
the authors and the Canadian government agency employing them.
|
||||
Permission to make digital or hard copies for personal or classroom
|
||||
use is granted. Copies must bear this notice and the full citation
|
||||
on the first page. Copyrights for components of this work owned by
|
||||
others than the Canadain Government must be honored. To copy
|
||||
otherwise, distribute, republish, or post, requires prior specific
|
||||
permission and\hspace*{.5pt}/or a fee. Request permissions from
|
||||
permissions@acm.org.
|
||||
\or % cagovmixed
|
||||
ACM acknowledges that this contribution was co-authored by an
|
||||
affiliate of the national government of Canada. As such, the Crown
|
||||
in Right of Canada retains an equal interest in the copyright.
|
||||
Reprints must include clear attribution to ACM and the author's
|
||||
government agency affiliation. Permission to make digital or hard
|
||||
copies for personal or classroom use is granted. Copies must bear
|
||||
this notice and the full citation on the first page. Copyrights for
|
||||
components of this work owned by others than ACM must be honored.
|
||||
To copy otherwise, distribute, republish, or post, requires prior
|
||||
specific permission and\hspace*{.5pt}/or a fee. Request permissions
|
||||
from permissions@acm.org.
|
||||
\or % licensedusgovmixed
|
||||
Publication rights licensed to ACM. ACM acknowledges that this
|
||||
contribution was authored or co-authored by an employee, contractor
|
||||
or affiliate of the United States government. As such, the
|
||||
Government retains a nonexclusive, royalty-free right to publish or
|
||||
reproduce this article, or to allow others to do so, for Government
|
||||
purposes only.
|
||||
\or % licensedcagovmixed
|
||||
Publication rights licensed to ACM. ACM acknowledges that this
|
||||
contribution was authored or co-authored by an employee, contractor
|
||||
or affiliate of the national government of Canada. As such, the
|
||||
Government retains a nonexclusive, royalty-free right to publish or
|
||||
reproduce this article, or to allow others to do so, for Government
|
||||
purposes only.
|
||||
\or % othergov
|
||||
ACM acknowledges that this contribution was authored or co-authored
|
||||
by an employee, contractor or affiliate of a national government. As
|
||||
such, the Government retains a nonexclusive, royalty-free right to
|
||||
publish or reproduce this article, or to allow others to do so, for
|
||||
Government purposes only.
|
||||
\or % licensedothergov
|
||||
Publication rights licensed to ACM. ACM acknowledges that this
|
||||
contribution was authored or co-authored by an employee, contractor
|
||||
or affiliate of a national government. As such, the Government
|
||||
retains a nonexclusive, royalty-free right to publish or reproduce
|
||||
this article, or to allow others to do so, for Government purposes
|
||||
only.
|
||||
\fi}
|
||||
\endinput
|
||||
%%
|
||||
%% End of file `acmcopyright.sty'.
|
||||
|
|
@ -1 +0,0 @@
|
|||
\appendix
|
||||
|
|
@ -1,200 +0,0 @@
|
|||
\section{Architecture}
|
||||
\label{sec:architecture}
|
||||
|
||||
% Overview of SRAM blocks
|
||||
The OpenRAM SRAM architecture is based on a bank of memory cells
|
||||
with peripheral circuits and control logic as illustrated in
|
||||
Figure~\ref{fig:structure}. These are further refined into eight major
|
||||
blocks: the bit-cell array, the address decoder, the word-line drivers,
|
||||
the column multiplexer, the pre-charge circuitry, the sense amplifier,
|
||||
the write drivers, and the control logic.
|
||||
|
||||
\begin{figure}[tb]
|
||||
\centering
|
||||
\includegraphics[width=8cm]{./figs/sram_structure.pdf}
|
||||
\caption{An OpenRAM SRAM consists of a bit-cell array along with decoder,
|
||||
reading and writing circuitry and control logic timed with a replica
|
||||
bit-line.
|
||||
\label{fig:structure}}
|
||||
\end{figure}
|
||||
|
||||
% we don't implement these yet, so don't give a tutorial on them
|
||||
%% General memories and Register Files (RF) are both examples of what an
|
||||
%% memory compiler can generate. General memories usually have shared
|
||||
%% read/write ports whereas RFs typically have separate ports. All of
|
||||
%% these options are permitted through the use of different types of
|
||||
%% memory cells such as 6, 8, and 12 transistor (T) cells which contains
|
||||
%% 1-4 access transistor pairs and their associated bit-lines. Some basic
|
||||
%% memory array options are available below:
|
||||
%% \begin{itemize}
|
||||
%% \setlength{\itemsep}{0pt} \setlength{\parskip}{0pt}
|
||||
%% \item Standard 6T cell for single-port memory
|
||||
%% \item Dual-port 8T cell for dual-port memory or separate read/write ports
|
||||
%% \item Four-port 12T cell for dual separate read/write ports
|
||||
%% \item Custom sense amplifier designs for different performances
|
||||
%% \item Different types of address decoders for different performances
|
||||
%% \end{itemize}
|
||||
|
||||
\begin{figure*}[tb]
|
||||
\centering
|
||||
\subfigure[Read operation timing]{
|
||||
\includegraphics[width = 8cm]{figs/timing_read.pdf}
|
||||
\label{fig:timing_read}}
|
||||
\subfigure[Write operation timing]{
|
||||
\includegraphics[width = 8cm]{figs/timing_write.pdf}
|
||||
\label{fig:timing_write}}
|
||||
\caption{OpenRAM uses a synchronous SRAM interface using a system
|
||||
clock (clk) along with control signals: output enable (OEb), chip
|
||||
select (CSb) and write enable (WEb).}
|
||||
\label{fig:timing}
|
||||
\end{figure*}
|
||||
|
||||
{\bf Bit-cell Array:} In the initial release of OpenRAM, the $6$T cell
|
||||
is the default memory cell because it is the most commonly used cell
|
||||
in SRAM devices. $6$T cells are tiled together with abutting word- and
|
||||
bit-lines to make up the memory array. The bit-cell array's aspect
|
||||
ratio is made as square as possible using multiple columns of data
|
||||
words. The memory cell is a custom designed library cell for each technology.
|
||||
Other types of memory cells, such as $7$T, $8$T, and $10$T cells, can be used
|
||||
as alternatives to the $6$T cell.
|
||||
|
||||
{\bf Address Decoder:} The address decoder takes the row address bits
|
||||
as inputs and asserts the appropriate word-line so that the correct
|
||||
memory cells can be read from or written to. The address decoder is
|
||||
placed to the left of the memory array and spans the array's vertical
|
||||
length. Different types of decoders can be used such as an included
|
||||
dynamic NAND decoder, but OpenRAM's default option is a hierarchical CMOS
|
||||
decoder.
|
||||
|
||||
{\bf Word-Line Driver:} Word-line drivers are inserted between the
|
||||
address decoder and the memory array as buffers. The word-line drivers
|
||||
are sized based on the width of the memory array so that they can drive
|
||||
the row select signal across the bit-cell array.
|
||||
|
||||
{\bf Column Multiplexer:} The column multiplexer is an optional block
|
||||
that uses the lower address bits to select the associated word in a
|
||||
row. The column mux is dynamically generated and can be omitted or can
|
||||
have 2 or 4 inputs. Larger column muxes are possible, but are not
|
||||
frequently used in memories. There are options for a multi-level tree
|
||||
mux as well.
|
||||
|
||||
{\bf Bit-line Precharge:} This circuitry pre-charges
|
||||
the bit-lines during the first phase of the clock for read
|
||||
operations. The precharge circuit is placed on top of every column in
|
||||
the memory array and equalizes the bit-line voltages so that the
|
||||
sense amplifier can sense the voltage difference between the two
|
||||
bit-lines.
|
||||
|
||||
{\bf Sense Amplifier:} A differential sense amplifier is used to sense
|
||||
the voltage difference between the bit-lines of a memory cell while a
|
||||
read operation is performed. The sense amplifier uses a bit-line
|
||||
isolation technique to increase performance. The sense amplifier
|
||||
circuitry is placed below the column multiplexer or the memory
|
||||
array if no column multiplexer is used. There is one sense amplifier for
|
||||
each output bit.
|
||||
|
||||
{\bf Write Driver:} The write drivers send the input data signals onto the
|
||||
bit-lines for a write operation. The write drivers are tri-stated
|
||||
so that they can be placed between the column multiplexer/memory array
|
||||
and the sense amplifiers. There is one write driver for each input
|
||||
data bit.
|
||||
|
||||
%% \subsubsection{Bit-cell and Bit-cell Array}
|
||||
%% A bit-cell class is provided to instantiate the custom designed memory
|
||||
%% cell located in the technology directory. Then the bit-cell array class
|
||||
%% will take the single bit-cell instance to dynamically generate the
|
||||
%% memory array. Using the functionality of GdsMill, we can rotate and/or
|
||||
%% mirror an instance. Doing so, will allow us to abut the power rails.
|
||||
|
||||
%% \subsubsection{Address Decoder}
|
||||
%% The hierarchical decoder is the default row address decoder that is
|
||||
%% used in OpenRAM. The hierarchical decoder is dynamically generated
|
||||
%% using the inverter and NAND gates with the help of basic shapes. The
|
||||
%% height of each decoder row will match the height of the memory cell so
|
||||
%% that the power rails can be abutted. OpenRAM also provides a NAND
|
||||
%% decoder as an alternative. NAND decoder uses NMOS and PMOS transistors
|
||||
%% created by ptx class. User can define type of the decoder in the
|
||||
%% configuration file.
|
||||
|
||||
%% \subsubsection{Word-line Driver}
|
||||
%% The word-line driver will be a column of alternating "mirrored"
|
||||
%% inverters instances that is used to drive the signal to access the
|
||||
%% memory cells in the row. The inverters will be sized accordingly
|
||||
%% depending on the size of the memory array.
|
||||
|
||||
%% \subsubsection{Column Multiplexer}
|
||||
%% The column multiplexer is an optional block that is used depending on
|
||||
%% the size of the memory array. By generating an instance of a 1-1
|
||||
%% multiplexer, we can then tile them to create bigger multiplexers such
|
||||
%% as 2-1, 4-1, etc. OpenRAM has two options for column multiplexing.
|
||||
%% Single-level-column-mux is the default column multiplexer but user can
|
||||
%% choose Tree-Column-Mux in configuration file. Both multiplexers use
|
||||
%% transistors created by ptx class.
|
||||
|
||||
%% \subsubsection{Precharge and Precharge Array}
|
||||
%% The precharge circuitry is dynamically generated using the transistor
|
||||
%% instances and various basic shapes. The precharge class dynamically
|
||||
%% generates an instance for a single column. The precharge array class
|
||||
%% takes that instance and tiles them horizontally to match the number of
|
||||
%% columns in the memory array. The width of the precharge cell is
|
||||
%% determined by the width of the user-created memory cell.
|
||||
|
||||
%% \subsubsection{Sense Amplifier and Sense Amplifier Array}
|
||||
%% The sense amplifier is user-designed analog circuit that is placed in
|
||||
%% the technology directory. The sense amplifier class instantiates the
|
||||
%% library cell and the sense amplifier array takes that instance to
|
||||
%% create a horizontal array matching the number of output bits for the
|
||||
%% memory. When designing this library cell, the user should match this
|
||||
%% cell's width and bit-lines to the memory cell's.
|
||||
|
||||
%% \subsubsection{Write Driver and Write Driver Array}
|
||||
%% Similar to the precharge classes, the write driver class will generate
|
||||
%% an instance for a single bit and the write driver array will tile them
|
||||
%% horizontally to match the number of input bits for the memory. The
|
||||
%% write drivers will be dynamically sized accordingly based on the size
|
||||
%% of the memory array.
|
||||
|
||||
%% \subsubsection{Control Logic}
|
||||
%% There will be a control logic module that will arrange the
|
||||
%% master-slave flip-flops and the logic associated with the control
|
||||
%% signals into a single design. Flip-flops are used to drive the control
|
||||
%% signals and standard library cells such as NAND and NOR gates will be
|
||||
%% used for the logic. A RBL is also generated using parameterized gates
|
||||
%% and Replica Cell (RC). RC is a 6T SRAM memory cell which is hard-wired
|
||||
%% to store a zero in order to discharge the RBL and generate the sense
|
||||
%% amplifier enable signal in read mode.
|
||||
|
||||
%% \subsubsection{Additional Arrays}
|
||||
%% In addition to the eight main blocks, there are helper modules that
|
||||
%% help simplify the designs in the eight main blocks. We have a
|
||||
%% flip-flop array class that takes the custom designed master-slave
|
||||
%% flip-flop library cell to create a tiled array. We also have the
|
||||
%% tri-state array class that will generate the array of tri-states for
|
||||
%% the DATA bus.
|
||||
|
||||
% Overview of signal inputs and timing
|
||||
{\bf Control Logic:} The OpenRAM SRAM architecture incorporates a
|
||||
standard synchronous memory interface using a system clock (clk). The
|
||||
control logic uses an externally provided, active-low output enable
|
||||
(OEb), chip select (CSb), and write enable (WEb) to combine multiple
|
||||
SRAMs into a larger structure. Internally, the OpenRAM compiler can
|
||||
have $1$, $2$, or $4$ memory banks to amortize the area/power cost of
|
||||
control logic and peripheral circuitry.
|
||||
|
||||
All of the input control signals are stored using master-slave (MS)
|
||||
flip-flops (FF) to ensure that the signals are valid for the entire
|
||||
clock cycle. During a read operation, data is available after the
|
||||
negative clock edge (second half of cycle) as shown in
|
||||
Figure~\ref{fig:timing_read}. To avoid dead cycles which degrade
|
||||
performance, a Zero Bus Turn-around (ZBT) technique is used in OpenRAM
|
||||
timing. The ZBT enables higher memory throughput since there are no
|
||||
wait states. During ZBT writes, data is set up before the negative
|
||||
clock edge and is captured on the negative edge. Figure~\ref{fig:timing_write}
|
||||
shows the timing for input signals during the write operation.
|
||||
|
||||
The internal control signals are generated using a replica bit-line (RBL)
|
||||
structure for the timing of the sense amplifier enable and output
|
||||
data storage~\cite{RBL:1998}. The RBL turns on the sense amplifiers
|
||||
at the exact time in presence of process variability in sub-$100$nm
|
||||
technologies.
|
||||
|
||||
|
|
@ -1,93 +0,0 @@
|
|||
\section{Background}
|
||||
\label{sec:background}
|
||||
% brief origin/background of memory compilers
|
||||
|
||||
% Existence of memory compilers from the beginning
|
||||
Memory compilers have been used in Electronic Design Automation (EDA)
|
||||
design flows to reduce the design
|
||||
time long before contemporary
|
||||
compilers~\cite{broderson:sicompiler,johannsen:blocks}.
|
||||
However, these compilers were generally not portable as they were
|
||||
nothing more
|
||||
than quick scripts to aid designers. Porting to a new technology
|
||||
essentially required rewriting the scripts. However, the increase in
|
||||
design productivity when porting designs between technologies has led to
|
||||
more research on memory array
|
||||
compilers~\cite{cabe:flexible,huang:array,poechmueller:array,Xu:2007}.
|
||||
|
||||
% Reason why compilers evolved to today's current version
|
||||
As technology entered the Deep Sub-Micron (DSM) era, memory designs
|
||||
became one of the most challenging parts of circuit design
|
||||
due to decreasing static noise margins (SNM), increasing fabrication
|
||||
variability, and increasing leakage power consumption.
|
||||
This increased the complexity of memory compilers dramatically as they had to
|
||||
adapt to the ever-changing technologies. Simultaneously, design
|
||||
methodologies shifted from silicon compilers to standard cell place
|
||||
and route methods which required large optimized libraries. During
|
||||
this time, industry began using third-party suppliers of standard cell
|
||||
libraries and memory compilers that allowed their reuse to amortize
|
||||
development costs. These next-generation memory compilers provided
|
||||
silicon-verification that allowed designers to focus on their new
|
||||
design contribution rather than time-consuming tasks such as memory
|
||||
generation.
|
||||
|
||||
% Commercial industry memory compilers' description and cost
|
||||
Contemporary memory compilers have been widely used by industry, but
|
||||
the internal operation is typically hidden. Several prominent
|
||||
companies and foundries have provided memory compilers to their
|
||||
customers. These memory compilers usually allow customers to view
|
||||
front-end simulation, timing/power values, and pin locations after a
|
||||
license agreement is signed. Back-end features such as layout are
|
||||
normally supplied directly to the fab and are only given to the user
|
||||
for a licensing fee.
|
||||
|
||||
% Examples of commercial compilers' drawbacks
|
||||
Specifically, Global Foundries offers front-end PDKs for free, but not
|
||||
back-end detailed views~\cite{globalfoundries:2015}. Faraday
|
||||
Technologies provides a \enquote{black box} design kit where users do
|
||||
not know the details of the internal memory
|
||||
design~\cite{faraday:2015}. Dolphin Technology offers closed-source
|
||||
compilers which can create RAMs, ROMs, and CAMs for a variety of
|
||||
technologies~\cite{dolphin:2015}. The majority of these commercial
|
||||
compilers do not allow the customer to alter the base design, are
|
||||
restricted by the company's license, and usually require a fee. This
|
||||
makes them virtually unavailable and not useful for many academic
|
||||
research projects.
|
||||
|
||||
% Describe the problem (no free open-source that is widely distributed)
|
||||
In addition to memory compilers provided by industry, various research
|
||||
groups have released scripts to generate memories. However, these
|
||||
designs are not silicon verified and are usually only composed of
|
||||
simple structures. For example, FabMem is able to
|
||||
create small arrays, but it is highly dependent on the Cadence design
|
||||
tools~\cite{fabmem:2010}. The scripts do not provide any characterization capability
|
||||
and cannot easily integrate with commercial place and route tools.
|
||||
|
||||
% Industry's attempt to provide academia a memory compiler
|
||||
Another recent, promising solution for academia is the Synopsys
|
||||
Generic Memory Compiler (GMC)~\cite{Goldman:2014}. The software is
|
||||
provided with sample generic libraries such as Synopsys' $32$/$28$nm and
|
||||
$90$nm abstract technologies and can generate the entire SRAM for these
|
||||
technologies. The GMC generates GDSII layout data, SPICE netlists,
|
||||
Verilog and VHDL models, timing/power libraries, and DRC/LVS
|
||||
verification reports. GMC, however, is not recommended for
|
||||
fabrication since the technologies it supports are not real. Its sole
|
||||
purpose is to aid students in VLSI courses to learn about using
|
||||
memories in design flows.
|
||||
|
||||
% Academia's' attempts at a memory compiler
|
||||
There have been multiple attempts by academia to implement a memory
|
||||
compiler that is not restricted: the Institute of
|
||||
Microelectronics' SRAM IP Compiler~\cite{Xu:2007}, School of
|
||||
Electronic Science and Engineering at Southeast University's Memory IP
|
||||
Compiler~\cite{Chen:2012}, and Tsinghua University's Low Power SRAM
|
||||
Compiler~\cite{Wu:2010}. These are all methodologies and design flows
|
||||
for a memory compiler, but there are no public releases.
|
||||
|
||||
% State what we are looking for in academia. -- duplicate from introduction
|
||||
%% With all these attempts, there still isn't a complete solution for
|
||||
%% academia's research needs. Researchers need a memory compiler that is
|
||||
%% open-source, platform- and tool-portable, technology independent, and
|
||||
%% can generate fabricable memory designs.
|
||||
|
||||
|
||||
Binary file not shown.
|
|
@ -1,21 +0,0 @@
|
|||
\section{Conclusions}
|
||||
\label{sec:conclusions}
|
||||
This paper introduced OpenRAM, an open-source and portable memory
|
||||
compiler. OpenRAM generates the circuit, functional model, and layout
|
||||
of variable-sized SRAMs. In addition, a memory characterizer
|
||||
provides synthesis timing/power models.
|
||||
|
||||
The main motivation behind OpenRAM is to promote and simplify
|
||||
memory-related research in academia. Since OpenRAM is open-sourced,
|
||||
flexible, and portable, this memory compiler can be adapted to various
|
||||
technologies and is easily modified to address specific design
|
||||
requirements. Therefore, OpenRAM provides a platform to implement and test
|
||||
new memory designs.
|
||||
|
||||
Designs are currently being fabricated to test designs using the
|
||||
OpenRAM framework in SCMOS. We are also continuously introducing new
|
||||
features, such as non-6T memories, variability characterization,
|
||||
word-line segmenting, characterization speed-up, and a graphical user
|
||||
interface (GUI). We hope to engage an active community in the future
|
||||
development of OpenRAM.
|
||||
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/bash
|
||||
psfile=${1%.pdf}.ps
|
||||
gs -dSAFER -dNOPLATFONTS -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sPAPERSIZE=letter -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dCompatibilityLevel=1.4 -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true -sOutputFile=temp.pdf -f $1
|
||||
mv temp.pdf $1
|
||||
pdf2ps $1 $psfile
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
|
@ -1,55 +0,0 @@
|
|||
clc;
|
||||
|
||||
X = [ 2 , 8 , 32, 128];
|
||||
Y1_Freepdk =[0.0048413475625; 0.0135007585125;0.051075243575; 0.283865472];
|
||||
Y2_Freepdk=[0.0048094391125; 0.0135007585125; 0.0435568917; 0.2118510735];
|
||||
Y3_Freepdk=[0.0047775306625; 0.0129289229375; 0.0419903161125; 0.156997489175];
|
||||
Y4_Freepdk=[0.0052897701375; 0.0128789376875; 0.0419019176625; 0.1512635205];
|
||||
|
||||
|
||||
Y1_SCN3ME =[0.75276018; 2.08835631; 7.89312366; 40.6931238];
|
||||
Y2_SCN3ME =[0.74817639; 2.0216187; 6.804401625; 31.6371744];
|
||||
Y3_SCN3ME =[0.7435926; 2.01449475; 6.62959215; 24.64420014];
|
||||
Y4_SCN3ME =[0.83660283; 2.0073708; 6.61707036; 23.839544025];
|
||||
|
||||
Y1_T_Freepdk =[0.861; 1.32; 1.8; 2.2];
|
||||
Y2_T_Freepdk =[1.02; 1.33; 1.83; 2.6];
|
||||
Y3_T_Freepdk =[0.86; 1.5; 1.9; 6.75];
|
||||
Y4_T_Freepdk =[1.076; 1.34; 2.01; 9.86];
|
||||
|
||||
Y1_T_SCN3ME =[9.42; 8.25; 11.69; 12.7];
|
||||
Y2_T_SCN3ME =[11.82; 16.04; 14.7; 18.21];
|
||||
Y3_T_SCN3ME =[14.81; 19.24; 23.82; 30.25];
|
||||
Y4_T_SCN3ME =[22.9; 23.12; 30.75; 44.95];
|
||||
|
||||
|
||||
subplot(4,1,1)
|
||||
plot (X, Y1_Freepdk, X, Y2_Freepdk, X, Y3_Freepdk, X, Y4_Freepdk,'LineWidth',2);
|
||||
grid on;
|
||||
ylabel('Area (mm^2)','FontSize',12, 'Color','k');
|
||||
xlabel('Total Size (Kbits)','FontSize',12, 'Color','k');
|
||||
subplot(4,1,2)
|
||||
plot (X, Y1_SCN3ME, X, Y2_SCN3ME, X, Y3_SCN3ME, X, Y4_SCN3ME,'LineWidth',2);
|
||||
grid on;
|
||||
ylabel('Area (mm^2)','FontSize',12, 'Color','k');
|
||||
xlabel('Total Size (Kbits)','FontSize',12, 'Color','k');
|
||||
subplot(4,1,3)
|
||||
plot (X, Y1_T_Freepdk, X, Y2_T_Freepdk, X, Y3_T_Freepdk, X, Y4_T_Freepdk,'LineWidth',2);
|
||||
grid on;
|
||||
ylabel('Access time (ns)','FontSize',12, 'Color','k');
|
||||
xlabel('Total Size (Kbits)','FontSize',12, 'Color','k');
|
||||
subplot(4,1,4)
|
||||
plot (X, Y1_T_SCN3ME, X, Y2_T_SCN3ME, X, Y3_T_SCN3ME, X, Y4_T_SCN3ME,'LineWidth',2);
|
||||
ylabel('Access time (ns)','FontSize',12, 'Color','k');
|
||||
xlabel('Total Size (Kbits)','FontSize',12, 'Color','k');
|
||||
|
||||
|
||||
grid on;
|
||||
legend({'16-bit word size', '32-bit word size','64-bit word size', '128-bit word size'},'Location','northwest','orientation', 'vertical' , 'FontSize',12, 'LineWidth',1.2);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1,14 +0,0 @@
|
|||
set terminal pdf dashed
|
||||
set output "../Freepdk_Area.pdf"
|
||||
set palette color
|
||||
set xlabel "Total Size (Kbit)"
|
||||
set ylabel "Area (mm^2)"
|
||||
set key below
|
||||
plot 'freepdk45_size.dat' using ($1/1024):($2/1e6) with line title '16-bit word' lt 0 lw 5 lc 0 ,\
|
||||
'freepdk45_size.dat' using ($1/1024):($2/1e6) with points title '' lt 0 lw 5 lc 0 ,\
|
||||
'freepdk45_size.dat' using ($1/1024):($3/1e6) with line title '32-bit word' lt 1 lw 5 lc 1 ,\
|
||||
'freepdk45_size.dat' using ($1/1024):($3/1e6) with points title '' lt 1 lw 5 lc 1 ,\
|
||||
'freepdk45_size.dat' using ($1/1024):($4/1e6) with line title '64-bit word' lt 2 lw 5 lc 2 ,\
|
||||
'freepdk45_size.dat' using ($1/1024):($4/1e6) with points title '' lt 2 lw 5 lc 2 ,\
|
||||
'freepdk45_size.dat' using ($1/1024):($5/1e6) with line title '128-bit word' lt 3 lw 5 lc 3 ,\
|
||||
'freepdk45_size.dat' using ($1/1024):($5/1e6) with points title '' lt 3 lw 5 lc 3
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
|
||||
2048 4841.3475625 4809.4391125 4777.5306625 5289.7701375
|
||||
8192 13500.7585125 12978.9081875 12928.9229375 12878.9376875
|
||||
#16384 25605.7869 22997.2777125 22908.8792625 22820.4808125
|
||||
32768 51075.243575 43556.8917 41990.3161125 41901.9176625
|
||||
#65536 142381.5903 86382.658775 79459.1013 79292.00325
|
||||
131072 283865.472 211851.0735 156997.489175 151263.5205
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
set terminal pdf dashed
|
||||
set output "../Scn3me_Area.pdf"
|
||||
set palette color
|
||||
set xlabel "Total Size (Kbit)"
|
||||
set ylabel "Area (mm^2)"
|
||||
set key below
|
||||
plot 'scn3me_size.dat' using ($1/1024):($2/1e6) with line title '16-bit word' lt 0 lw 5 lc 0 ,\
|
||||
'scn3me_size.dat' using ($1/1024):($2/1e6) with points title '' lt 0 lw 5 lc 0 ,\
|
||||
'scn3me_size.dat' using ($1/1024):($3/1e6) with line title '32-bit word' lt 1 lw 5 lc 1 ,\
|
||||
'scn3me_size.dat' using ($1/1024):($3/1e6) with points title '' lt 1 lw 5 lc 1 ,\
|
||||
'scn3me_size.dat' using ($1/1024):($4/1e6) with line title '64-bit word' lt 2 lw 5 lc 2 ,\
|
||||
'scn3me_size.dat' using ($1/1024):($4/1e6) with points title '' lt 2 lw 5 lc 2 ,\
|
||||
'scn3me_size.dat' using ($1/1024):($5/1e6) with line title '128-bit word' lt 3 lw 5 lc 3 ,\
|
||||
'scn3me_size.dat' using ($1/1024):($5/1e6) with points title '' lt 3 lw 5 lc 3
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
|
||||
2048 752760.18 748176.39 743592.6 836602.83
|
||||
8192 2088356.31 2021618.7 2014494.75 2007370.8
|
||||
32768 7893123.66 6804401.625 6629592.15 6617070.36
|
||||
131072 40693123.8 31637174.4 24644200.14 23839544.025
|
||||
|
|
@ -1,100 +0,0 @@
|
|||
#!/usr/bin/gnuplot
|
||||
#
|
||||
# Demonstration of a common use scenario of the multiplot environment.
|
||||
#
|
||||
# AUTHOR: Hagen Wierstorf
|
||||
#
|
||||
|
||||
reset
|
||||
|
||||
set terminal pdf dashed size 8cm,12cm
|
||||
set output "Results.pdf"
|
||||
set palette color
|
||||
|
||||
unset key
|
||||
|
||||
# Enable the use of macros
|
||||
set macros
|
||||
|
||||
# MACROS
|
||||
# Margins for each row resp. column
|
||||
# top of top fig, bottom of top fig
|
||||
TMARGIN = "set tmargin at screen 0.9; set bmargin at screen 0.575"
|
||||
# top of lower fig, bottom of lower fig
|
||||
BMARGIN = "set tmargin at screen 0.525; set bmargin at screen 0.15"
|
||||
# left of left fig, right of left fig
|
||||
LMARGIN = "set lmargin at screen 0.1; set rmargin at screen 0.48"
|
||||
# left point of right fig ,right most
|
||||
RMARGIN = "set lmargin at screen 0.52; set rmargin at screen 0.9"
|
||||
|
||||
# Placement of the a,b,c,d labels in the graphs
|
||||
POSA = "at graph 0.6,0.2 font ',5'"
|
||||
POSB = "at graph 0.5,0.2 font ',5'"
|
||||
|
||||
### Start multiplot (2x2 layout)
|
||||
set multiplot layout 4,1
|
||||
# --- GRAPH a
|
||||
set key outside center vertical top box 3
|
||||
set lmargin at screen 0.2; set rmargin at screen 0.9
|
||||
set tmargin at screen 0.88; set bmargin at screen 0.68
|
||||
#@TMARGIN; @LMARGIN
|
||||
#@NOXTICS; @YTICS
|
||||
set label 1 '45nm Area' @POSA
|
||||
set ylabel "mm^2"
|
||||
plot 'density_data/freepdk45_size.dat' using ($1/1024):($2/1e6) with line axis x1y1 title '16-bit word size' lt 0 lw 5 lc 0 ,\
|
||||
'density_data/freepdk45_size.dat' using ($1/1024):($2/1e6) with points axis x1y1 title '' lt 0 lw 5 lc 0 ,\
|
||||
'density_data/freepdk45_size.dat' using ($1/1024):($3/1e6) with line axis x1y1 title '32-bit word size' lt 1 lw 5 lc 1 ,\
|
||||
'density_data/freepdk45_size.dat' using ($1/1024):($3/1e6) with points axis x1y1 title '' lt 1 lw 5 lc 1 ,\
|
||||
'density_data/freepdk45_size.dat' using ($1/1024):($4/1e6) with line axis x1y1 title '64-bit word size' lt 2 lw 5 lc 2 ,\
|
||||
'density_data/freepdk45_size.dat' using ($1/1024):($4/1e6) with points axis x1y1 title '' lt 2 lw 5 lc 2 ,\
|
||||
'density_data/freepdk45_size.dat' using ($1/1024):($5/1e6) with line axis x1y1 title '128-bit word size' lt 3 lw 5 lc 3 ,\
|
||||
'density_data/freepdk45_size.dat' using ($1/1024):($5/1e6) with points axis x1y1 title '' lt 3 lw 5 lc 3
|
||||
|
||||
# --- GRAPH b
|
||||
unset key
|
||||
set tmargin at screen 0.68; set bmargin at screen 0.48
|
||||
#@TMARGIN; @RMARGIN
|
||||
#@NOXTICS; @NOYTICS
|
||||
set label 1 '180nm Area' @POSA
|
||||
set ylabel "mm^2"
|
||||
plot 'density_data/scn3me_size.dat' using ($1/1024):($2/1e6) with line axis x1y1 title '16-bit word size' lt 0 lw 5 lc 0 ,\
|
||||
'density_data/scn3me_size.dat' using ($1/1024):($2/1e6) with points axis x1y1 title '' lt 0 lw 5 lc 0 ,\
|
||||
'density_data/scn3me_size.dat' using ($1/1024):($3/1e6) with line axis x1y1 title '32-bit word size' lt 1 lw 5 lc 1 ,\
|
||||
'density_data/scn3me_size.dat' using ($1/1024):($3/1e6) with points axis x1y1 title '' lt 1 lw 5 lc 1 ,\
|
||||
'density_data/scn3me_size.dat' using ($1/1024):($4/1e6) with line axis x1y1 title '64-bit word size' lt 2 lw 5 lc 2 ,\
|
||||
'density_data/scn3me_size.dat' using ($1/1024):($4/1e6) with points axis x1y1 title '' lt 2 lw 5 lc 2 ,\
|
||||
'density_data/scn3me_size.dat' using ($1/1024):($5/1e6) with line axis x1y1 title '128-bit word size' lt 3 lw 5 lc 3 ,\
|
||||
'density_data/scn3me_size.dat' using ($1/1024):($5/1e6) with points axis x1y1 title '' lt 3 lw 5 lc 3
|
||||
|
||||
# --- GRAPH c
|
||||
set tmargin at screen 0.48; set bmargin at screen 0.28
|
||||
#@BMARGIN; @LMARGIN
|
||||
#@XTICS; @YTICS
|
||||
set label 1 '45nm Access time' @POSB
|
||||
set ylabel "ns"
|
||||
plot 'timing_data/freepdk45_timing.dat' using ($1/1024):2 with line axis x1y2 title '16-bit word' lt 0 lw 5 lc 0 ,\
|
||||
'timing_data/freepdk45_timing.dat' using ($1/1024):2 with points axis x1y2 title '' lt 0 lw 5 lc 0 ,\
|
||||
'timing_data/freepdk45_timing.dat' using ($1/1024):3 with line axis x1y2 title '32-bit word' lt 1 lw 5 lc 1 ,\
|
||||
'timing_data/freepdk45_timing.dat' using ($1/1024):3 with points axis x1y2 title '' lt 1 lw 5 lc 1 ,\
|
||||
'timing_data/freepdk45_timing.dat' using ($1/1024):4 with line axis x1y2 title '64-bit word' lt 2 lw 5 lc 2 ,\
|
||||
'timing_data/freepdk45_timing.dat' using ($1/1024):4 with points axis x1y2 title '' lt 2 lw 5 lc 2 ,\
|
||||
'timing_data/freepdk45_timing.dat' using ($1/1024):5 with line axis x1y2 title '128-bit word' lt 3 lw 5 lc 3 ,\
|
||||
'timing_data/freepdk45_timing.dat' using ($1/1024):5 with points axis x1y2 title '' lt 3 lw 5 lc 3
|
||||
|
||||
# --- GRAPH d
|
||||
set tmargin at screen 0.28; set bmargin at screen 0.08
|
||||
#@BMARGIN; @RMARGIN
|
||||
#@XTICS; @NOYTICS
|
||||
set ylabel "ns"
|
||||
set xlabel "Total Size (Kbits)"
|
||||
set label 1 '180nm Access time' @POSB
|
||||
plot 'timing_data/scn3me_timing.dat' using ($1/1024):2 with line axis x1y2 title '16-bit word' lt 0 lw 5 lc 0 ,\
|
||||
'timing_data/scn3me_timing.dat' using ($1/1024):2 with points axis x1y2 title '' lt 0 lw 5 lc 0 ,\
|
||||
'timing_data/scn3me_timing.dat' using ($1/1024):3 with line axis x1y2 title '32-bit word' lt 1 lw 5 lc 1 ,\
|
||||
'timing_data/scn3me_timing.dat' using ($1/1024):3 with points axis x1y2 title '' lt 1 lw 5 lc 1 ,\
|
||||
'timing_data/scn3me_timing.dat' using ($1/1024):4 with line axis x1y2 title '64-bit word' lt 2 lw 5 lc 2 ,\
|
||||
'timing_data/scn3me_timing.dat' using ($1/1024):4 with points axis x1y2 title '' lt 2 lw 5 lc 2 ,\
|
||||
'timing_data/scn3me_timing.dat' using ($1/1024):5 with line axis x1y2 title '128-bit word' lt 3 lw 5 lc 3 ,\
|
||||
'timing_data/scn3me_timing.dat' using ($1/1024):5 with points axis x1y2 title '' lt 3 lw 5 lc 3
|
||||
unset multiplot
|
||||
### End multiplot
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -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
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
Before Width: | Height: | Size: 51 KiB |
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
Before Width: | Height: | Size: 69 KiB |
Binary file not shown.
|
|
@ -1,14 +0,0 @@
|
|||
set terminal pdf dashed
|
||||
set output "../Freepdk_Read_Access_time.pdf"
|
||||
set palette color
|
||||
set xlabel "Total Size (Kbit)"
|
||||
set ylabel "Read Access time (ns)"
|
||||
set key below
|
||||
plot 'freepdk45_timing.dat' using ($1/1024):2 with line title '16-bit word' lt 0 lw 5 lc 0 ,\
|
||||
'freepdk45_timing.dat' using ($1/1024):2 with points title '' lt 0 lw 5 lc 0 ,\
|
||||
'freepdk45_timing.dat' using ($1/1024):3 with line title '32-bit word' lt 1 lw 5 lc 1 ,\
|
||||
'freepdk45_timing.dat' using ($1/1024):3 with points title '' lt 1 lw 5 lc 1 ,\
|
||||
'freepdk45_timing.dat' using ($1/1024):4 with line title '64-bit word' lt 2 lw 5 lc 2 ,\
|
||||
'freepdk45_timing.dat' using ($1/1024):4 with points title '' lt 2 lw 5 lc 2 ,\
|
||||
'freepdk45_timing.dat' using ($1/1024):5 with line title '128-bit word' lt 3 lw 5 lc 3 ,\
|
||||
'freepdk45_timing.dat' using ($1/1024):5 with points title '' lt 3 lw 5 lc 3
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
|
||||
2048 0.861 1.02 0.86 1.076
|
||||
8192 1.32 1.33 1.5 1.34
|
||||
32768 1.8 1.83 1.9 2.01
|
||||
131072 2.2 2.6 6.75 9.86
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
set terminal pdf dashed
|
||||
set output "../Scn3me_Read_Access_time.pdf"
|
||||
set palette color
|
||||
set xlabel "Total Size (Kbit)"
|
||||
set ylabel "Read Access time (ns)"
|
||||
set key below
|
||||
plot 'scn3me_timing.dat' using ($1/1024):2 with line title '16-bit word' lt 0 lw 5 lc 0 ,\
|
||||
'scn3me_timing.dat' using ($1/1024):2 with points title '' lt 0 lw 5 lc 0 ,\
|
||||
'scn3me_timing.dat' using ($1/1024):3 with line title '32-bit word' lt 1 lw 5 lc 1 ,\
|
||||
'scn3me_timing.dat' using ($1/1024):3 with points title '' lt 1 lw 5 lc 1 ,\
|
||||
'scn3me_timing.dat' using ($1/1024):4 with line title '64-bit word' lt 2 lw 5 lc 2 ,\
|
||||
'scn3me_timing.dat' using ($1/1024):4 with points title '' lt 2 lw 5 lc 2 ,\
|
||||
'scn3me_timing.dat' using ($1/1024):5 with line title '128-bit word' lt 3 lw 5 lc 3 ,\
|
||||
'scn3me_timing.dat' using ($1/1024):5 with points title '' lt 3 lw 5 lc 3
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
|
||||
2048 9.42 11.82 14.81 22.9
|
||||
8192 8.25 16.04 19.24 23.12
|
||||
32768 11.69 14.7 23.82 30.75
|
||||
131072 12.7 18.21 30.25 44.95
|
||||
Binary file not shown.
|
|
@ -1,658 +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="797.85938"
|
||||
height="399.22998"
|
||||
id="svg3956"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="timing_read.svg">
|
||||
<defs
|
||||
id="defs3958">
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path4694"
|
||||
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)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path4697"
|
||||
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)"
|
||||
inkscape:connector-curvature="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.2291699"
|
||||
inkscape:cx="732.4176"
|
||||
inkscape:cy="166.50869"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="751"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="1"
|
||||
inkscape:window-maximized="1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid3964"
|
||||
empspacing="5"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true"
|
||||
originx="66.859375px"
|
||||
originy="-225.09817px" />
|
||||
</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(66.859375,-428.03404)">
|
||||
<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,436.27609 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,546.27609 150,0 10,50 110,0 10,-50 90,0 10,50 100,0 10,-50 150,0"
|
||||
id="path4501"
|
||||
inkscape:connector-curvature="0"
|
||||
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,611.27609 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"
|
||||
transform="translate(0,3.9139099)">
|
||||
<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-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
id="g4529"
|
||||
transform="translate(-20,68.91391)">
|
||||
<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.3223573;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.64471461, 2.64471461;stroke-dashoffset:0"
|
||||
d="m 305,429.92915 0,388.5842"
|
||||
id="path4566"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.32278144;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.64556289, 2.64556289;stroke-dashoffset:0"
|
||||
d="m 524,428.69543 0,388.8335"
|
||||
id="path4566-2"
|
||||
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="-12"
|
||||
y="470.27609"
|
||||
id="text4586"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4588"
|
||||
x="-12"
|
||||
y="470.27609"
|
||||
style="font-size:32px">CLK</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="-26"
|
||||
y="527.27606"
|
||||
id="text4590"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4592"
|
||||
x="-26"
|
||||
y="527.27606"
|
||||
style="font-size:32px">ADDR</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="-18"
|
||||
y="576.27612"
|
||||
id="text4594"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4596"
|
||||
x="-18"
|
||||
y="576.27612"
|
||||
style="font-size:32px">CSb</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="-18"
|
||||
y="647.27612"
|
||||
id="text4598"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4600"
|
||||
x="-18"
|
||||
y="647.27612"
|
||||
style="font-size:32px">OEb</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="-26"
|
||||
y="696.27612"
|
||||
id="text4602"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4604"
|
||||
x="-26"
|
||||
y="696.27612"
|
||||
style="font-size:32px">WEb</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="-70"
|
||||
y="805.46796"
|
||||
id="text4606"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4608"
|
||||
x="-70"
|
||||
y="805.46796"
|
||||
style="font-size:32px">DATA OUT</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="340"
|
||||
y="527.27606"
|
||||
id="text4610"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4612"
|
||||
x="340"
|
||||
y="527.27606"
|
||||
style="font-size:32px">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="560"
|
||||
y="527.27606"
|
||||
id="text4614"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4616"
|
||||
x="560"
|
||||
y="527.27606"
|
||||
style="font-size:32px">A1</tspan></text>
|
||||
<g
|
||||
id="g4620"
|
||||
transform="matrix(1.0000534,0,0,0.88368291,-20.022979,120.16312)">
|
||||
<g
|
||||
id="g4529-7"
|
||||
transform="translate(0,320)">
|
||||
<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 110,114.09448 80,0 10,50 289.14867,0 10,-50 192.1027,0 10,50 48.74863,0"
|
||||
id="path4497-7"
|
||||
inkscape:connector-curvature="0"
|
||||
transform="translate(0,308.2677)" />
|
||||
<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 110,164.09448 80,0 10,-50 289.14867,0 10,50 192.1027,0 10,-50"
|
||||
id="path4499-4"
|
||||
inkscape:connector-curvature="0"
|
||||
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 700,114.09448 30,0"
|
||||
id="path4527-5"
|
||||
inkscape:connector-curvature="0"
|
||||
transform="translate(0,308.2677)" />
|
||||
</g>
|
||||
<path
|
||||
transform="translate(0,308.2677)"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4618"
|
||||
d="m 650,434.09448 100,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>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:16px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="527.25018"
|
||||
y="811.45892"
|
||||
id="text4652"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4654"
|
||||
x="527.25018"
|
||||
y="811.45892"
|
||||
style="font-size:32px">D0</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:16px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="684.11365"
|
||||
y="808.77997"
|
||||
id="text4656"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4658"
|
||||
x="684.11365"
|
||||
y="808.77997"
|
||||
style="font-size:32px">D1</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,574.27609 50,0"
|
||||
id="path4682"
|
||||
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 250,637.27609 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,637.27609 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,574.27609 50,0"
|
||||
id="path4682-2-3"
|
||||
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="250"
|
||||
y="627.27612"
|
||||
id="text5843"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5845"
|
||||
x="250"
|
||||
y="627.27612"
|
||||
style="font-size:18px">Setup</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="314"
|
||||
y="629.27612"
|
||||
id="text5847"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5849"
|
||||
x="314"
|
||||
y="629.27612"
|
||||
style="font-size:18px">Hold</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="248"
|
||||
y="566.27612"
|
||||
id="text5843-2"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5845-4"
|
||||
x="248"
|
||||
y="566.27612"
|
||||
style="font-size:18px">Setup</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="314"
|
||||
y="568.27612"
|
||||
id="text5847-7"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5849-7"
|
||||
x="314"
|
||||
y="568.27612"
|
||||
style="font-size:18px">Hold</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Mstart-2);marker-end:url(#Arrow1Mend-51);stroke-miterlimit:4;stroke-dasharray:none"
|
||||
d="m 310.93011,798.61859 157.28627,0"
|
||||
id="path6523"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:12px;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="349.70599"
|
||||
y="794.34436"
|
||||
id="text7149"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan7151"
|
||||
x="352.57123"
|
||||
y="794.34436"
|
||||
style="font-size:18px;text-align:center;text-anchor:middle">Read </tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="349.70599"
|
||||
y="816.84436"
|
||||
style="font-size:18px;text-align:center;text-anchor:middle"
|
||||
id="tspan3253">Delay</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="250"
|
||||
y="515.27612"
|
||||
id="text5843-2-3"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5845-4-5"
|
||||
x="250"
|
||||
y="515.27612"
|
||||
style="font-size:18px">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,521.27609 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,771.27609 220,0 10,-50 100,0 10,50 100,0 10,-50 100,0 10,50 80,0"
|
||||
id="path3080"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccccccc" />
|
||||
<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="-26"
|
||||
y="755.27612"
|
||||
id="text3946"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3948"
|
||||
x="-26"
|
||||
y="755.27612"
|
||||
style="font-size:32px">SCLK</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.13527045;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.27054089, 0.27054089;stroke-dashoffset:0"
|
||||
d="m 524.00609,826.54582 0,0.65056"
|
||||
id="path4004"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 24 KiB |
Binary file not shown.
|
|
@ -1,858 +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="829.35938"
|
||||
height="452.07816"
|
||||
id="svg3956"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="timing_write.svg">
|
||||
<defs
|
||||
id="defs3958">
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path4694"
|
||||
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)"
|
||||
inkscape:connector-curvature="0" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
id="path4697"
|
||||
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)"
|
||||
inkscape:connector-curvature="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="723.39201"
|
||||
inkscape:cy="156.33517"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="751"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="1"
|
||||
inkscape:window-maximized="1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid3964"
|
||||
empspacing="5"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true"
|
||||
originx="98.359375px"
|
||||
originy="-167.25px" />
|
||||
</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(98.359375,-433.03404)">
|
||||
<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,436.375 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,546.375 150,0 10,50 110,0 10,-50 90,0 10,50 100,0 10,-50 150,0"
|
||||
id="path4501"
|
||||
inkscape:connector-curvature="0"
|
||||
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,601.375 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"
|
||||
transform="translate(0,4.01282)">
|
||||
<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-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||
</g>
|
||||
<g
|
||||
id="g4529"
|
||||
transform="translate(-20,69.01282)">
|
||||
<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;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2,2;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 305,433.69543 0,448.8335"
|
||||
id="path4566"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2,2;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 524,435.01508 0,449.46746"
|
||||
id="path4566-2"
|
||||
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="-29"
|
||||
y="476.375"
|
||||
id="text4586"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4588"
|
||||
x="-29"
|
||||
y="476.375"
|
||||
style="font-size:32px">CLK</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="-47"
|
||||
y="527.375"
|
||||
id="text4590"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4592"
|
||||
x="-47"
|
||||
y="527.375"
|
||||
style="font-size:32px">ADDR</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="-38"
|
||||
y="593.375"
|
||||
id="text4594"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4596"
|
||||
x="-38"
|
||||
y="593.375"
|
||||
style="font-size:32px">CSb</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="-39"
|
||||
y="705.375"
|
||||
id="text4598"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4600"
|
||||
x="-39"
|
||||
y="705.375"
|
||||
style="font-size:32px">OEb</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="-38"
|
||||
y="647.375"
|
||||
id="text4602"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4604"
|
||||
x="-38"
|
||||
y="647.375"
|
||||
style="font-size:32px">WEb</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="-59"
|
||||
y="819.375"
|
||||
id="text4606"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4608"
|
||||
x="-59"
|
||||
y="819.375"
|
||||
style="font-size:32px">DATA IN</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="337"
|
||||
y="525.375"
|
||||
id="text4610"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4612"
|
||||
x="337"
|
||||
y="525.375"
|
||||
style="font-size:32px">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="549"
|
||||
y="527.375"
|
||||
id="text4614"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4616"
|
||||
x="549"
|
||||
y="527.375"
|
||||
style="font-size:32px">A1</tspan></text>
|
||||
<g
|
||||
transform="translate(-70,355.01282)"
|
||||
id="g4529-7">
|
||||
<path
|
||||
transform="translate(0,308.2677)"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4497-7"
|
||||
d="m 270,164.09448 0,0 -123.5,0 273.5,0 10,-50 120,0 10,50 80,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="cccccccc" />
|
||||
<path
|
||||
transform="translate(0,308.2677)"
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4499-4"
|
||||
d="m 270,114.09448 0,0 -123,0 273,0 10,50 120,0 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 0,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,777.375 0,0"
|
||||
id="path4618"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:16px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="399.46103"
|
||||
y="825.74933"
|
||||
id="text4652"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4654"
|
||||
x="399.46103"
|
||||
y="825.74933"
|
||||
style="font-size:20px">D0</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:16px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#666666;fill-opacity:1;stroke:none"
|
||||
x="609"
|
||||
y="814.375"
|
||||
id="text4656"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4658"
|
||||
x="609"
|
||||
y="814.375"
|
||||
style="font-size:32px;fill:#000000">D1</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,574.375 50,0"
|
||||
id="path4682"
|
||||
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 250,629.375 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,629.375 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,574.375 50,0"
|
||||
id="path4682-2-3"
|
||||
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="249"
|
||||
y="621.375"
|
||||
id="text5843"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5845"
|
||||
x="249"
|
||||
y="621.375"
|
||||
style="font-size:18px">Setup</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="314.25"
|
||||
y="623.625"
|
||||
id="text5847"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5849"
|
||||
x="314.25"
|
||||
y="623.625"
|
||||
style="font-size:18px">Hold</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="246"
|
||||
y="565.375"
|
||||
id="text5843-2"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5845-4"
|
||||
x="246"
|
||||
y="565.375"
|
||||
style="font-size:18px">Setup</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="312.25"
|
||||
y="567.125"
|
||||
id="text5847-7"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5849-7"
|
||||
x="312.25"
|
||||
y="567.125"
|
||||
style="font-size:18px">Hold</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="250"
|
||||
y="515.375"
|
||||
id="text5843-2-3"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5845-4-5"
|
||||
x="250"
|
||||
y="515.375"
|
||||
style="font-size:18px">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 251,523.375 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,771.375 220,0 10,-50 100,0 10,50 100,0 10,-50 100,0 10,50 80,0"
|
||||
id="path3080"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccccccc" />
|
||||
<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="-61"
|
||||
y="761.375"
|
||||
id="text3946"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3948"
|
||||
x="-61"
|
||||
y="761.375"
|
||||
style="font-size:32px">WD_EN</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2,2;stroke-dashoffset:0;stroke-opacity:1"
|
||||
d="m 416,435.36218 0,445"
|
||||
id="path3969"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0"
|
||||
d="m 372,769.375 0,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.23744,803.99543 50,0"
|
||||
id="path4682-2-9"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:16px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="361.44366"
|
||||
y="797.12195"
|
||||
id="text5843-3"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5845-5"
|
||||
x="361.44366"
|
||||
y="797.12195"
|
||||
style="font-size:18px">Setup</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.29484856;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 419.70711,804.4651 58.21641,0"
|
||||
id="path4682-2-2-0"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:16px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="427.04504"
|
||||
y="799.76324"
|
||||
id="text5847-2"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan5849-8"
|
||||
x="427.04504"
|
||||
y="799.76324"
|
||||
style="font-size:18px">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,777.375 -90,0"
|
||||
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,827.375 10,-50 120,0 10,50 22,0"
|
||||
id="path4060"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<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,777.375 10,50 120,0 10,-50 22,0"
|
||||
id="path4062"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<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,820.40644 c -3.43878,-16.01305 -3.5001,-17.72303 -1.07757,-30.05012 l 2.29927,-11.69988 38.74001,0 38.74001,0 2.2939,11.67258 2.29391,11.67258 -2.27882,11.82742 -2.27882,11.82742 -38.80223,0 -38.80223,0 -1.12743,-5.25 z"
|
||||
id="path4064"
|
||||
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 77,832.375 423,0 10,50 210,0 10,-50"
|
||||
id="path4068"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<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 77.5,882.375 422.5,0 10,-50 210,0 10,50"
|
||||
id="path4070"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:16px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="580"
|
||||
y="866.375"
|
||||
id="text4652-4"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4654-9"
|
||||
x="580"
|
||||
y="866.375"
|
||||
style="font-size:32px">D0</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="870.375"
|
||||
id="text4114"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
x="-9"
|
||||
y="870.375"
|
||||
id="tspan4118"
|
||||
style="font-size:32px;text-align:center;text-anchor:middle">X 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,858.375 80,0"
|
||||
id="path4120"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:12px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
|
||||
x="459.04199"
|
||||
y="854.375"
|
||||
id="text4592"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4594"
|
||||
x="461.58887"
|
||||
y="854.375"
|
||||
style="font-size:16px;text-align:center;text-anchor:middle">Write </tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="459.04199"
|
||||
y="874.375"
|
||||
style="font-size:16px;text-align:center;text-anchor:middle"
|
||||
id="tspan3259">Delay</tspan></text>
|
||||
<rect
|
||||
style="opacity:0;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#0000ff;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||
id="rect3230"
|
||||
width="89"
|
||||
height="32"
|
||||
x="135.64062"
|
||||
y="556.38782" />
|
||||
<flowRoot
|
||||
xml:space="preserve"
|
||||
id="flowRoot3232"
|
||||
style="font-size:10px;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;-inkscape-font-specification:Sans"
|
||||
transform="translate(-98.359375,322.375)"><flowRegion
|
||||
id="flowRegion3234"><rect
|
||||
id="rect3236"
|
||||
width="1010"
|
||||
height="85"
|
||||
x="-103"
|
||||
y="330" /></flowRegion><flowPara
|
||||
id="flowPara3238" /></flowRoot> </g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 33 KiB |
|
|
@ -1,214 +0,0 @@
|
|||
\section{Implementation}
|
||||
\label{sec:implementation}
|
||||
|
||||
% source langauge
|
||||
OpenRAM's methodology is implemented using an object-oriented approach
|
||||
in the Python programming language. Python is a simple, yet powerful
|
||||
language that is easy to learn and very human-readable. Moreover, Python
|
||||
enables portability to most operating systems. OpenRAM has no additional
|
||||
dependencies except a DRC/LVS tool, but that is disabled with a
|
||||
warning if the tools are unavailable.
|
||||
|
||||
% portability of tools and technologies
|
||||
In addition to system portability, OpenRAM is also translatable across
|
||||
numerous process technologies. This is accomplished by using
|
||||
generalized routines to generate the memory based on common features
|
||||
across all technologies. To facilitate user modification and
|
||||
technology interoperability, OpenRAM provides a reference implementation in
|
||||
$45$nm FreePDK45~\cite{4231502} and a fabricable option using the
|
||||
MOSIS Scalable CMOS (SCMOS) design rules~\cite{scmos}. FreePDK45 uses
|
||||
many design rules found in modern technologies, but is non-fabricable,
|
||||
while SCMOS enables fabrication of designs using the MOSIS foundry
|
||||
services. SCMOS is not confidential and an implementation using it is
|
||||
included, however, it does not include many advanced DSM design
|
||||
rules. OpenRAM has also been ported to other commercial technologies,
|
||||
but these are not directly included due to licensing issues.
|
||||
|
||||
% methodology overview
|
||||
OpenRAM's framework is divided into \enquote{front-end} and \enquote{back-end}
|
||||
methodologies as shown in Figure~\ref{fig:methodology}. The front-end
|
||||
has the compiler and the characterizer. The compiler generates
|
||||
SPICE models and its GDSII layouts based on user inputs. The
|
||||
characterizer calls a SPICE simulator to produce timing and power
|
||||
results. The back-end uses a spice netlist extracted from the GDSII
|
||||
layout using to generate annotated timing and power models.
|
||||
|
||||
\begin{figure}[tb]
|
||||
\centering
|
||||
\includegraphics[width=8cm]{./figs/methodology.pdf}
|
||||
\caption{Overall Compilation and Characterization Methodology}
|
||||
\label{fig:methodology}
|
||||
\end{figure}
|
||||
|
||||
%\fixme{We actually dont have back end done yet.}
|
||||
|
||||
\subsection{Base Data Structures}
|
||||
|
||||
The design modules in OpenRAM are derived from the {\it design} class
|
||||
(design.py). The design class has a name, a SPICE model (netlist), and
|
||||
a layout. Both the SPICE model and the layout inherit their
|
||||
capabilities from a hierarchical class. The design class also provides
|
||||
inherited functions to perform DRC and LVS verification of any
|
||||
sub-design for hierarchical debugging.
|
||||
|
||||
The design class derives from the {\it spice} class
|
||||
(hierarchy\_\allowbreak spice.py) which has a data structure to
|
||||
maintain the circuit hierarchy. This class maintains the design
|
||||
instances, their pins, and their connections as well as helper
|
||||
functions to maintain the structure and connectivity of the circuit
|
||||
hierarchy.
|
||||
|
||||
The design class also derives from a {\it layout} class (hierarchy\_layout.py).
|
||||
This class has a list of physical instances of sub-modules in the layout and
|
||||
a structure for simple objects such as shapes and labels in the
|
||||
current hierarchy level. In addition, there are helper functions that
|
||||
maintain the physical layout structures.
|
||||
|
||||
OpenRAM has an integrated, custom GDSII library to read, write, and
|
||||
manipulate GDSII files. The library, originally called
|
||||
GdsMill~\cite{gdsmill}, has been modified, debugged, and extended for
|
||||
OpenRAM. Full rights were given to include the GdsMill source with
|
||||
OpenRAM, but to make the interfacing easier and porting to other
|
||||
physical layout databases possible, OpenRAM implements a {\it
|
||||
geometry} wrapper class (geometry.py) that abstracts the GdsMill
|
||||
library.
|
||||
|
||||
\subsection{Technology and Tool Portability}
|
||||
|
||||
% technology overview
|
||||
OpenRAM is technology-independent by using a technology directory that
|
||||
includes the technology's specific information, rules, and library
|
||||
cells. Technology parameters such as the design rule check (DRC) rules
|
||||
and the GDS layer map are required to ensure that the dynamically
|
||||
generated designs are DRC clean. Custom designed library cells such as
|
||||
the memory cell and the sense amplifier are also placed in this
|
||||
directory. A very simple design rule parameter file has the most
|
||||
important design rules for constructing basic interconnect and
|
||||
transistor devices. FreePDK45 and SCMOS reference technologies are provided.
|
||||
|
||||
% hand-optimized cells
|
||||
OpenRAM uses some custom-designed library primitives as technology
|
||||
input. Since density is extremely important, the following cells are
|
||||
pre-designed in each technology: 6T cell, sense amplifier,
|
||||
master-slave flip-flop, tri-state gate, and write driver. All other
|
||||
cells are generated on-the-fly using parameterizable transistor and
|
||||
gate primitives.
|
||||
|
||||
% technology specific features
|
||||
OpenRAM can be used for various technologies since it creates the
|
||||
basic components of memory designs that are common over these
|
||||
technologies. For technologies that have specific design requirements,
|
||||
such as specialized well contacts, the user can include call-back
|
||||
helper functions in the technology directory. This is done so that the
|
||||
main compiler remains free of dependencies to specific technologies.
|
||||
|
||||
% DRC and LVS
|
||||
OpenRAM has two functions that provide a wrapper interface with DRC
|
||||
and LVS tools. These two functions perform DRC and LVS using the GDSII
|
||||
layout and SPICE netlist files. Since each DRC and LVS tool has
|
||||
different output, this routine is customized per tool to parse DRC/LVS
|
||||
reports and return the number of errors while also outputting debug
|
||||
information. These routines allow flexibility of any DRC/LVS tool,
|
||||
but the default implementation calls Calibre nmDRC and nmLVS. In
|
||||
OpenRAM, both DRC and LVS are performed at all levels of the design
|
||||
hierarchy to enhance bug tracking. DRC and LVS can be disabled for
|
||||
improved run-time or if tool licenses are not available.
|
||||
|
||||
\subsection{Class Hierarchy}
|
||||
|
||||
\subsubsection{High-Level Classes}
|
||||
|
||||
The {\it openram} class (openram.py) organizes execution and
|
||||
instantiates a single memory design using the {\it sram} class. It
|
||||
accepts user-provided parameters to generate the design, performs the
|
||||
optional extraction, performs characterization, and saves the
|
||||
resulting design files.
|
||||
|
||||
The {\it sram} class (sram.py) decides the appropriate internal parameter
|
||||
dependencies shown in Table~\ref{table:variables}. They are dependent
|
||||
on the user-desired data word size, number of words, and number of banks.
|
||||
It is responsible for instantiation of the single control logic module which
|
||||
controls the SRAM banks. The control logic ensures that only one bank
|
||||
is active in a given address range.
|
||||
|
||||
The {\it bank} class (bank.py) does the bulk of the non-control memory layout. It
|
||||
instantiates $1$, $2$, or $4$ bit-cell arrays and coordinates the row and column
|
||||
address decoders along with their pre-charge, sense amplifiers, and input/output
|
||||
data flops.
|
||||
|
||||
\begin{table}
|
||||
\centering
|
||||
\caption{Dependencies required for sub-modules}
|
||||
\begin{tabular}{|c|l|} \hline
|
||||
Variable&Equation \\ \hline
|
||||
\texttt{Total Bits} & $word\_size*num\_words$ \\ \hline
|
||||
\texttt{Words Per Row} & $\sqrt(num\_words)/word\_size$ \\ \hline
|
||||
\texttt{Num of Rows} & $num\_words/words\_per\_row$ \\ \hline
|
||||
\texttt{Num of Cols} & $words\_per\_row*word\_size$ \\ \hline
|
||||
\texttt{Col Addr Size} & $\log_2(words\_per\_row)$ \\ \hline
|
||||
\texttt{Row Addr Size} & $\log_2(num\_of\_rows)$ \\ \hline
|
||||
\texttt{Total Addr Size} & $row\_addr\_size + col\_addr\_size$ \\ \hline
|
||||
\texttt{Data Size} & $word\_size$ \\ \hline
|
||||
\texttt{Num of Bank} & $num\_banks$ \\ \hline
|
||||
\end{tabular}
|
||||
\label{table:variables}
|
||||
\end{table}
|
||||
|
||||
\subsubsection{Block Classes}
|
||||
|
||||
Every other block in the memory design has a class for its base cell
|
||||
(e.g., sense\_amplifier.py) and an array class (e.g.,
|
||||
sense\_amplifier\_array.py) that is responsible for tiling the base
|
||||
cell. Each class is responsible for physically placing and logically
|
||||
connecting its own sub-circuits while passing its dimensions and port
|
||||
locations up to higher-level modules.
|
||||
|
||||
\subsubsection{Low-Level Classes}
|
||||
|
||||
OpenRAM provides parameterized transistor and logic gate
|
||||
classes that help with technology portability. These classes generate
|
||||
a technology-specific transistor and simple logic gate layouts so that
|
||||
many modules do not rely on library cells. It is also used
|
||||
when a module such as the write driver needs transistor sizing
|
||||
to optimize performance. The parameterized transistor (ptx.py) generates a
|
||||
basic transistor of specified type and size. The parameterized
|
||||
transistor class is used to provide several parameterized gates
|
||||
including pinv.py, nand2.py, nand3.py, and nor2.py.
|
||||
|
||||
% FIXME
|
||||
% crude fix to preven widow Section
|
||||
%\clearpage
|
||||
\subsection{Characterization}
|
||||
|
||||
% overview
|
||||
OpenRAM includes a memory characterizer that measures the timing and
|
||||
power characteristics through SPICE simulation. The
|
||||
characterizer has four main stages: generating the SPICE stimulus,
|
||||
running the circuit simulations, parsing the simulator's output, and
|
||||
producing the characteristics in a Liberty (.lib) file.
|
||||
|
||||
% standard format of stimulus
|
||||
The stimulus is written in standard SPICE format and can be used with
|
||||
any simulator that supports this. The stimulus only uses the
|
||||
interface of the memory (e.g., bi-directional data bus, address bus,
|
||||
and control signals) to perform \enquote{black box} timing measurements.
|
||||
|
||||
% what is measured and how
|
||||
Results from simulations are used to produce the average power,
|
||||
setup/hold times, and timing delay of the memory design. Setup and
|
||||
hold times are obtained by analyzing the flip-flop library cell
|
||||
because OpenRAM uses a completely synchronous input interface. The
|
||||
setup time, hold time, and delay are found using a fast bisection
|
||||
search.
|
||||
|
||||
\subsection{Unit Tests}
|
||||
|
||||
Probably the most important feature of OpenRAM is the set of thorough
|
||||
regression tests implemented with the Python unit test framework.
|
||||
These unit tests allow users to add features and easily verifying if
|
||||
functionality is broken. The tests also work in multiple technologies
|
||||
so they can guide users when porting to new technologies. Every module
|
||||
has its own regression test and there are also regression tests for
|
||||
memory functionality, verifying library cells, timing
|
||||
characterization, and technology verification.
|
||||
|
||||
|
|
@ -1,68 +0,0 @@
|
|||
\section{Introduction}
|
||||
\label{sec:introduction}
|
||||
|
||||
% why memory compilers are important
|
||||
Static Random Access Memories (SRAMs) have become a standard component
|
||||
embedded in all System-on-Chip (SoC), Application-Specific Integrated
|
||||
Circuit (ASIC), and micro-processor designs. Their wide application
|
||||
leads to a variety of requirements in circuit design and memory
|
||||
configuration. However, manual design is
|
||||
too time consuming. The
|
||||
regular structure of memories leads well to automation that produces
|
||||
size and configuration variations quickly, but developing this with
|
||||
multiple technologies and tool methodologies is challenging. In
|
||||
addition, memory designs play a significant role in overall system
|
||||
performance and costs, so optimization is important. Thus, a memory
|
||||
compiler is a critical tool.
|
||||
|
||||
% why academics need memory compilers
|
||||
Most academic ICs design methodologies are limited by the availability
|
||||
of memories. Many standard-cell Process Design Kits (PDKs) are
|
||||
available from foundries and vendors, but these PDKs frequently do not
|
||||
come with memory arrays or memory compilers. If a memory compiler is
|
||||
freely available, it often only supports a generic process technology
|
||||
that is not fabricable. Due to academic funding restrictions,
|
||||
commercial industry solutions are often not feasible for
|
||||
researchers. In addition, these commercial solutions are limited in
|
||||
customization of the memory sizes and specific components of the
|
||||
memory. PDKs may have the options to request \enquote{black box}
|
||||
memory models, but these are also not modifiable and have limited
|
||||
available configurations. These restrictions and licensing issues make
|
||||
comparison and experimentation with real world memories impossible.
|
||||
|
||||
% manually designing is time consuming
|
||||
Academic researchers are able to design their own custom memories, but
|
||||
this can be a tedious and time-consuming task and may not be the intended
|
||||
purpose of the research. Frequently, the memory design is the bare
|
||||
minimum that the research project requires,
|
||||
and, because of this, the memory designs are often inferior and are not
|
||||
optimized. In memory research, peripheral circuits are often not
|
||||
considered when comparing memory performance and density. The
|
||||
lack of a customizable compiler makes it difficult for researchers to
|
||||
prototype and verify circuits and methodologies beyond a single row or
|
||||
column of memory cells.
|
||||
|
||||
% what are the goals of OpenRAM
|
||||
The OpenRAM project aims to provide an open-source memory compiler
|
||||
development framework for memories. It provides reference circuit and
|
||||
physical implementations in a generic $45$nm technology and fabricable
|
||||
Scalable CMOS (SCMOS), but it has also been ported to several
|
||||
commercial technology nodes using a simple technology file. OpenRAM
|
||||
also includes a characterization methodology so that it can generate
|
||||
the timing and power characterization results in addition to circuits and
|
||||
layout while remaining independent of specific commercial tools. Most
|
||||
importantly, OpenRAM is completely user-modifiable since all source
|
||||
code is open source at:
|
||||
\begin{center}
|
||||
\url{https://openram.soe.ucsc.edu/}
|
||||
\end{center}
|
||||
|
||||
The remainder of this paper is organized as follows:
|
||||
Section~\ref{sec:background} provides a background on previous memory
|
||||
compilers. Section~\ref{sec:architecture} presents the reference
|
||||
memory architecture in OpenRAM. Section~\ref{sec:implementation}
|
||||
specifically introduces the implementation and main features of the
|
||||
OpenRAM memory compiler. In Section~\ref{sec:results}, an analysis of
|
||||
the area, timing and power is shown for different sizes and
|
||||
technologies of memory. Finally, the paper is summarized in
|
||||
Section~\ref{sec:conclusions}.
|
||||
|
|
@ -1,122 +0,0 @@
|
|||
% This file should be compiled with V2.5 of "sig-alternate.cls" May 2012
|
||||
% This file has been modified by Brian Chen (bchen12@ucsc.edu) for the purpose of simplifying the sections
|
||||
%
|
||||
% This example file demonstrates the use of the 'sig-alternate.cls'
|
||||
% V2.5 LaTeX2e document class file. It is for those submitting
|
||||
% articles to ACM Conference Proceedings WHO DO NOT WISH TO
|
||||
% STRICTLY ADHERE TO THE SIGS (PUBS-BOARD-ENDORSED) STYLE.
|
||||
% The 'sig-alternate.cls' file will produce a similar-looking,
|
||||
% albeit, 'tighter' paper resulting in, invariably, fewer pages.
|
||||
%
|
||||
% ----------------------------------------------------------------------------------------------------------------
|
||||
% This .tex file (and associated .cls V2.5) produces:
|
||||
% 1) The Permission Statement
|
||||
% 2) The Conference (location) Info information
|
||||
% 3) The Copyright Line with ACM data
|
||||
% 4) NO page numbers
|
||||
%
|
||||
% as against the acm_proc_article-sp.cls file which
|
||||
% DOES NOT produce 1) thru' 3) above.
|
||||
%
|
||||
% Using 'sig-alternate.cls' you have control, however, from within
|
||||
% the source .tex file, over both the CopyrightYear
|
||||
% (defaulted to 200X) and the ACM Copyright Data
|
||||
% (defaulted to X-XXXXX-XX-X/XX/XX).
|
||||
% e.g.
|
||||
% \CopyrightYear{2007} will cause 2007 to appear in the copyright line.
|
||||
% \crdata{0-12345-67-8/90/12} will cause 0-12345-67-8/90/12 to appear in the copyright line.
|
||||
%
|
||||
% ---------------------------------------------------------------------------------------------------------------
|
||||
% This .tex source is an example which *does* use
|
||||
% the .bib file (from which the .bbl file % is produced).
|
||||
% REMEMBER HOWEVER: After having produced the .bbl file,
|
||||
% and prior to final submission, you *NEED* to 'insert'
|
||||
% your .bbl file into your source .tex file so as to provide
|
||||
% ONE 'self-contained' source file.
|
||||
%
|
||||
% ================= IF YOU HAVE QUESTIONS =======================
|
||||
% Questions regarding the SIGS styles, SIGS policies and
|
||||
% procedures, Conferences etc. should be sent to
|
||||
% Adrienne Griscti (griscti@acm.org)
|
||||
%
|
||||
% Technical questions _only_ to
|
||||
% Gerald Murray (murray@hq.acm.org)
|
||||
% ===============================================================
|
||||
%
|
||||
% For tracking purposes - this is V2.0 - May 2012
|
||||
% Custom Modified Version - November 2013
|
||||
|
||||
\documentclass{sig-alternate-05-2015}
|
||||
%\RequirePackage[pdftex]{hyperref}
|
||||
\usepackage{comment}
|
||||
\usepackage{graphicx}
|
||||
\usepackage[autostyle]{csquotes}
|
||||
\usepackage{subfigure}
|
||||
|
||||
\newcommand{\fixme}[1]{{\Large FIXME:} {\bf #1}}
|
||||
\newcommand{\todo}[1]{{\bf TODO: {#1}}\\}
|
||||
\newcommand{\note}[1]{{\bf Note:} \{#1\}\\}
|
||||
\newcommand{\comm}[1]{\small{\it{ //{#1}}}}
|
||||
|
||||
|
||||
% --- Author Metadata here ---
|
||||
\conferenceinfo{ICCAD}{International Conference on Computer-Aided Design}
|
||||
%\CopyrightYear{2007} % Allows default copyright year (20XX) to be over-ridden - IF NEED BE.
|
||||
%\crdata{0-12345-67-8/90/01} % Allows default copyright data (0-89791-88-6/97/05) to be over-ridden - IF NEED BE.
|
||||
% --- End of Author Metadata ---
|
||||
|
||||
\title{OpenRAM: An Open-Source Memory Compiler\\
|
||||
\vspace{-0.5cm}\center{\normalsize{Invited Paper}}}
|
||||
%\titlenote{Some Copyright info about OpenRAM??????}}
|
||||
|
||||
\numberofauthors{1}
|
||||
\author{
|
||||
%% TO DAC: Guthaus, Stine, Ataei, Chen, Wu, Sarwar
|
||||
\alignauthor Matthew R. Guthaus$^1$, James E. Stine$^2$, Samira Ataei$^2$, \\Brian Chen$^1$, Bin Wu$^1$, Mehedi Sarwar$^2$ \\
|
||||
\affaddr{$^1$ Department of Computer Engineering, University of California Santa Cruz, Santa Cruz, CA 95064}\\
|
||||
\affaddr\{mrg, bchen12, bwu8\}@ucsc.edu \\
|
||||
\affaddr{$^2$ Electrical and Computer Engineering Department, Oklahoma State University, Stillwater, OK 74078}\\
|
||||
\affaddr\{james.stine, ataei, mehedis\}@okstate.edu}
|
||||
|
||||
%% \alignauthor Matthew Guthaus, Brian Chen, Bin Wu \\
|
||||
%% \affaddr{Department of Computer Engineering} \\
|
||||
%% \affaddr{University of California Santa Cruz} \\
|
||||
%% \affaddr{Santa Cruz, CA 95064, USA} \\
|
||||
%% \affaddr{\{mrg,bchen12,bwu8\}@ucsc.edu}
|
||||
%% \and
|
||||
%% \alignauthor James Stine, Samira Ataei, Mehedi Sarwar \\
|
||||
%% \affaddr{Electrical and Computer Engineering Department} \\
|
||||
%% \affaddr{Oklahoma State University} \\
|
||||
%% \affaddr{Stillwater, OK 74078} \\
|
||||
%% \affaddr{\{james.stine,ataei,XXXX\}@okstate.edu}
|
||||
%%}
|
||||
|
||||
|
||||
\begin{document}
|
||||
|
||||
\CopyrightYear{2016}
|
||||
\setcopyright{acmlicensed}
|
||||
\conferenceinfo{ICCAD '16,}{November 07 - 10, 2016, Austin, TX, USA}
|
||||
\isbn{978-1-4503-4466-1/16/11}\acmPrice{\$15.00}
|
||||
\doi{http://dx.doi.org/10.1145/2966986.2980098}
|
||||
\maketitle
|
||||
|
||||
\input{abstract}
|
||||
|
||||
%\category{J.6}{COMPUTER-AIDED ENGINEERING}{\\Computer-aided design (CAD)}
|
||||
%\terms{Design, Algorithms}
|
||||
%\keywords{OpenRAM, Memory Compiler, Open-source}
|
||||
|
||||
\input{introduction}
|
||||
\input{background}
|
||||
\input{architecture}
|
||||
\input{implementation}
|
||||
\input{results}
|
||||
\input{conclusion}
|
||||
\input{acknowledgments}
|
||||
|
||||
\bibliographystyle{abbrv}
|
||||
\bibliography{references} % Create bibliography using the file: references.bib
|
||||
|
||||
%\input{appendix}
|
||||
\end{document}
|
||||
|
|
@ -1,586 +0,0 @@
|
|||
@Comment @string{DAC = "ACM/IEEE Design Automation Conference~(DAC)"}
|
||||
@Comment @string{TDEV = "IEEE Transactions on Electron Devices"}
|
||||
@Comment @string{DATE = "IEEE Design, Automation and Test in Europe~(DATE)"}
|
||||
@Comment @string{ISSCC = "IEEE International Solid-State Circuits Conference~(ISSCC)"}
|
||||
@Comment @string{TVLSI = "IEEE Transactions on Very Large Scale Integration~(VLSI) Systems"}
|
||||
@Comment @string{JSSC = "IEEE Journal of Solid-State Circuits~(JSSC)"}
|
||||
@Comment @string{ICCD = "International Conference on Computer Design~(ICCD)"}
|
||||
@Comment @string{ISLPED = "IEEE International Symposium on Low Power Electronics and Design~(ISLPED)"}
|
||||
@Comment @STRING{ICCAD = "IEEE/ACM International Conference on Computer-Aided Design~(ICCAD)"}
|
||||
@Comment @string{ASP-DAC = "IEEE Asia and South Pacific Design Automation Conference~(ASP-DAC)"}
|
||||
@Comment @string{ISCAS = "IEEE International Symposium on Circuits and Systems~(ISCAS)"}
|
||||
@Comment @string{TCAD = "IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems~(TCAD)"}
|
||||
@Comment @string{GLSVLSI = "ACM Great Lakes Symposium on VLSI~(GLSVLSI)"}
|
||||
@Comment @string{TCASI = "IEEE Transactions on Circuits and Systems I~(TCAS-I)"}
|
||||
@Comment @string{TCASII = "IEEE Transactions on Circuits and Systems II~(TCAS-II)"}
|
||||
@Comment @string{TC = "IEEE Transactions on Computers"}
|
||||
@Comment @string{ISPD = "IEEE International Symposium on Physical Design~(ISPD)"}
|
||||
@Comment @string{TODAES = "ACM Transactions on Design Automation of Electronic Systems~(TODAES)"}
|
||||
@Comment @string{ISVLSI = "IEEE International Symposium on Very Large Scale Integration~(ISVLSI)"}
|
||||
@Comment @string{ISQED = "International Symposium on Quality Electronic Design~(ISQED)"}
|
||||
@Comment @string{TNUKE = "IEEE Transactions on Nuclear Science"}
|
||||
@Comment @string{MWSCAS = "IEEE Midwest Symposium on Circuits and Systems~(MWSCAS)"}
|
||||
@Comment @string{MSE = "IEEE International Conference on Microelectronic Systems Education~(MSE)"}
|
||||
|
||||
@string{DAC = "DAC"}
|
||||
@string{TDEV = "TDEV"}
|
||||
@string{DATE = "DATE"}
|
||||
@string{ISSCC = "ISSCC"}
|
||||
@string{TVLSI = "TVLSI"}
|
||||
@string{JSSC = "JSSC"}
|
||||
@string{ICCD = "ICCD"}
|
||||
@string{ISLPED = "ISLPED"}
|
||||
@STRING{ICCAD = "ICCAD"}
|
||||
@string{ASP-DAC = "ASP-DAC"}
|
||||
@string{ISCAS = "ISCAS"}
|
||||
@string{TCAD = "TCAD"}
|
||||
@string{GLSVLSI = "GLSVLSI"}
|
||||
@string{TCASI = "TCAS-I"}
|
||||
@string{TCASII = "TCAS-II"}
|
||||
@string{TC = "TCOMP"}
|
||||
@string{ISPD = "ISPD"}
|
||||
@string{TODAES = "TODAES"}
|
||||
@string{ISVLSI = "ISVLSI"}
|
||||
@string{ISQED = "ISQED"}
|
||||
@string{TNUKE = "Trans. on Nuclear Science"}
|
||||
@string{MWSCAS = "MWSCAS"}
|
||||
@string{MSE = "MSE"}
|
||||
|
||||
@book{Rabaey:2003,
|
||||
title = {Digital Integrated Circuits: A Design Perspective},
|
||||
author = {J. Rabaey and A. Chandrakasan and B. Nikolić},
|
||||
year = {2003},
|
||||
publisher = {Pearson Education, Inc.},
|
||||
edition = {2nd}
|
||||
}
|
||||
|
||||
@book{Chandrakasan:2001,
|
||||
title = {Design of High Performance Microprocessor Circuits},
|
||||
booktitle = {Design of High Performance Microprocessor Circuits},
|
||||
author = {A. Chandrakasan and W.J. Bowhill and F. Fox},
|
||||
year = {2001},
|
||||
publisher = {IEEE Press}
|
||||
}
|
||||
|
||||
@manual{gdsmill,
|
||||
title = {GDS Mill User Manual},
|
||||
author = {M. Wieckowski},
|
||||
year = {2010}
|
||||
}
|
||||
|
||||
%these are end of chapter references from Rabaey
|
||||
%%%%%%%%%%%
|
||||
@article{Amrutur:2001,
|
||||
author = {B.S. Amrutur and M.A. Horowitz},
|
||||
journal = JSSC,
|
||||
title = {Fast Low-Power Decoders for RAMs},
|
||||
number = {10},
|
||||
pages = {1506-1515},
|
||||
volume = {36},
|
||||
year = {2001},
|
||||
month = {Oct}
|
||||
}
|
||||
|
||||
@inbook{Preston:2001,
|
||||
title = {Register Files and Caches},
|
||||
author = {R.P. Preston},
|
||||
crossref = {Chandrakasan:2001}
|
||||
}
|
||||
|
||||
@book{Itoh:2001,
|
||||
title = {VLSI Memory Chip Design},
|
||||
author = {K. Itoh},
|
||||
publisher = {Springer-Verlag},
|
||||
year = {2001}
|
||||
}
|
||||
|
||||
@article{Itoh:1990,
|
||||
author = {K. Itoh},
|
||||
journal = JSSC,
|
||||
title = {Trends in Megabit DRAM Circuit Design},
|
||||
number = {3},
|
||||
pages = {778-798},
|
||||
volume = {25},
|
||||
year = {1990},
|
||||
month = {Jun}
|
||||
}
|
||||
|
||||
@article{May:1979,
|
||||
author = {T. May and M. Woods},
|
||||
journal = TDEV,
|
||||
title = {Aplha-Particle-Induced Soft Errors in Dynamic Memories},
|
||||
number = {1},
|
||||
pages = {2-9},
|
||||
volume = {26},
|
||||
year = {1979},
|
||||
month = {Jan}
|
||||
}
|
||||
|
||||
@ARTICLE{Tosaka:1997,
|
||||
author={Y. Tosaka and S. Satoh and T. Itakura and K. Suzuki and T. Sugii and H. Ehara and G.A. Woffinden},
|
||||
journal=TDEV,
|
||||
title={Cosmic Ray Neutron-Induced Soft Errors in Sub-Half Micron CMOS Circuits},
|
||||
year={1997},
|
||||
volume={18},
|
||||
number={3},
|
||||
pages={99-101}
|
||||
}
|
||||
|
||||
@ARTICLE{Regitz:1970,
|
||||
author={W.M. Regitz and J. Karp},
|
||||
journal=JSSC,
|
||||
title={Three-transistor-cell 1024-bit 500-ns MOS RAM},
|
||||
year={1970},
|
||||
volume={5},
|
||||
number={5},
|
||||
pages={181-186}
|
||||
}
|
||||
|
||||
@INPROCEEDINGS{Kim1:2011,
|
||||
author={S. Kim and M. Guthaus},
|
||||
booktitle=DAC,
|
||||
title={Leakage-aware redundancy for reliable sub-threshold memories},
|
||||
year={2011},
|
||||
pages={435-440}
|
||||
}
|
||||
|
||||
@INPROCEEDINGS{Kim2:2011,
|
||||
author={S. Kim and M. Guthaus},
|
||||
booktitle=VLSISOC,
|
||||
title={SNM-aware power reduction and reliability improvement in 45nm {SRAM}s},
|
||||
year={2011},
|
||||
pages={204-207}
|
||||
}
|
||||
|
||||
@INPROCEEDINGS{Kim3:2011,
|
||||
author={S. Kim and M. Guthaus},
|
||||
booktitle=ICCAD,
|
||||
title={Low-power multiple-bit upset tolerant memory optimization},
|
||||
year={2011},
|
||||
pages={577-581}
|
||||
}
|
||||
|
||||
@INPROCEEDINGS{Kim:2012,
|
||||
author={S. Kim and M. Guthaus},
|
||||
booktitle=VLSISOC,
|
||||
title={Dynamic voltage scaling for SEU-tolerance in low-power memories},
|
||||
year={2012},
|
||||
pages={207-212}
|
||||
}
|
||||
|
||||
|
||||
@ARTICLE{Rusu:2003,
|
||||
author={S. Rusu and J. Stinson and S. Tam and J. Leung and H. Muljono and B. Cherkauer},
|
||||
journal=JSSC,
|
||||
title={A 1.5-GHz 130-nm Itanium reg; 2 Processor with 6-MB on-die L3 cache},
|
||||
year={2003},
|
||||
volume={38},
|
||||
number={11},
|
||||
pages={1887-1895}
|
||||
}
|
||||
|
||||
@article{itrs:2012,
|
||||
author = {International Technology Roadmap for Semiconductors},
|
||||
title = {2012 ITRS Report: System Drivers},
|
||||
howpublished = {www.itrs.net},
|
||||
year = {2012}
|
||||
}
|
||||
|
||||
@article{Kurdahi:2006,
|
||||
author = {F.J. Kurdahi and A.M. Eltawil and Y.H. Park and R.N Kanj and S.R. Nassif},
|
||||
journal = ISQED,
|
||||
title = {System-level {SRAM} Yield Enhancement},
|
||||
year = {2006},
|
||||
month = {Mar}
|
||||
}
|
||||
|
||||
|
||||
@misc{i7:2011,
|
||||
author = {A. Shimpi},
|
||||
title = {Intel Core i7 3960X (Sandy Bridge) Review: Keeping the High-End Alive},
|
||||
howpublished = {\url{http://www.anandtech.com/show/5091/intel-core-i7-3960x-sandy-bridge-e-review-keeping-the-high-end-alive}},
|
||||
year = {2011},
|
||||
month = {Nov}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@misc{calibre:2013,
|
||||
author = {Mentor Graphics},
|
||||
title = {Calibre nmDRC and nmLVS},
|
||||
howpublished = {\url{http://www.mentor.com/products/ic_nanometer_design/verification-signoff/physical-verification/}},
|
||||
year = {2013}
|
||||
}
|
||||
|
||||
@misc{hspice:2013,
|
||||
author = {Synopsis},
|
||||
title = {HSPICE},
|
||||
howpublished = {\url{http://www.synopsys.com/tools/Verification/AMSVerification/CircuitSimulation/HSPICE/Pages/default.aspx}},
|
||||
year = {2013}
|
||||
}
|
||||
|
||||
@INPROCEEDINGS{Athe:2009,
|
||||
author={P. Athe and S. Dasgupta},
|
||||
booktitle={{ISIEA}},
|
||||
title={A comparative study of 6T, 8T and 9T decanano {SRAM} cell},
|
||||
year={2009},
|
||||
volume={2},
|
||||
pages={889-894}
|
||||
}
|
||||
|
||||
@ARTICLE{Calin:1996,
|
||||
author={T. Calin and M. Nicolaidis and R. Velazco},
|
||||
journal=TNUKE,
|
||||
title={Upset hardened memory design for submicron CMOS technology},
|
||||
year={1996},
|
||||
volume={43},
|
||||
number={6},
|
||||
pages={2874-2878}
|
||||
}
|
||||
|
||||
@INPROCEEDINGS{Jung:2012,
|
||||
author={I. Jung and Y. Kim and F. Lombardi},
|
||||
booktitle=MWSCAS,
|
||||
title={A novel sort error hardened 10T {SRAM} cells for low voltage operation},
|
||||
year={2012},
|
||||
pages={714-717}
|
||||
}
|
||||
|
||||
@ARTICLE{Goudarzi:2010,
|
||||
author={M. Goudarzi and T. Ishihara},
|
||||
journal=TVLSI,
|
||||
title={{SRAM} Leakage Reduction by Row/Column Redundancy Under Random Within-Die Delay Variation},
|
||||
year={2010},
|
||||
volume={18},
|
||||
number={12},
|
||||
pages={1660-1671}
|
||||
}
|
||||
|
||||
@techreport{ibm:1997,
|
||||
author = {IBM},
|
||||
title = {Understanding Static RAM Operation},
|
||||
howpublished = {IBM Applications Note},
|
||||
year = {1997},
|
||||
month = {Mar}
|
||||
}
|
||||
|
||||
|
||||
@misc{python:2013,
|
||||
author = {Python},
|
||||
title = {The Python Programming Language},
|
||||
howpublished = {\url{http://www.python.org}},
|
||||
year = {2013}
|
||||
}
|
||||
|
||||
|
||||
@misc{Wieckowski:2010,
|
||||
author = {Michael Wieckowski},
|
||||
title = {GDS Mill},
|
||||
howpublished = {\url{http://michaelwieckowski.com/?page_id=190}},
|
||||
year = {2010}
|
||||
}
|
||||
|
||||
@misc{globalfoundries:2015,
|
||||
author = {{Global Foundries}},
|
||||
title = {{ASICs}},
|
||||
howpublished = {\url{http://www.globalfoundries.com/technology-solutions/asics}},
|
||||
year = {2015}
|
||||
}
|
||||
|
||||
@misc{synopsys:2015,
|
||||
author = {Synopsys},
|
||||
title = {DesignWare Memory Compilers},
|
||||
howpublished = {\url{http://www.synopsys.com/dw/ipdir.php?ds=dwc_sram_memory_compilers}},
|
||||
year = {2015}
|
||||
}
|
||||
|
||||
@misc{dolphin:2015,
|
||||
author = {{Dolphin Technology}},
|
||||
title = {Memory Products},
|
||||
howpublished = {\url{http://www.dolphin-ic.com/memory-products.html}},
|
||||
year = {2015}
|
||||
}
|
||||
|
||||
@misc{faraday:2015,
|
||||
author = {{Faraday Technologies}},
|
||||
title = {Memory Compiler Architecture},
|
||||
howpublished = {\url{http://www.faraday-tech.com/html/Product/IPProduct/LibraryMemoryCompiler/index.htm}},
|
||||
year = {2015}
|
||||
}
|
||||
|
||||
@misc{arm:2015,
|
||||
author = {ARM},
|
||||
title = {Embedded Memory {IP}},
|
||||
howpublished = {\url{http://www.arm.com/products/physical-ip/embedded-memory-ip/index.php}},
|
||||
year = {2015}
|
||||
}
|
||||
|
||||
|
||||
@misc{scmos,
|
||||
author = {MOSIS},
|
||||
title = {{MOSIS} Scalable {CMOS} ({SCMOS})},
|
||||
howpublished = {\url{https://www.mosis.com/files/scmos/scmos.pdf}},
|
||||
year = {2015}
|
||||
}
|
||||
|
||||
%%%look at this paper
|
||||
@article{Hanson:2008,
|
||||
author = {S. Hanson and M. Seok and D. Sylvester and D. Blaauw},
|
||||
journal = TDEV,
|
||||
title = {Nanometer device scaling in subthreshold logic and {SRAM}},
|
||||
number = {1},
|
||||
pages = {175-185},
|
||||
volume = {55},
|
||||
year = {2008}
|
||||
}
|
||||
|
||||
%%%look at this paper
|
||||
@article{Baeg:2009,
|
||||
author={S. Baeg and S. Wen and R. Wong},
|
||||
journal=TNUKE,
|
||||
title={{SRAM} Interleaving Distance Selection With a Soft Error Failure Model},
|
||||
year={2009},
|
||||
month={Aug.},
|
||||
volume={56},
|
||||
number={4},
|
||||
pages={2111-2118}
|
||||
}
|
||||
|
||||
%%%look at this paper
|
||||
@article{Amrutur:2001,
|
||||
author={B. Amrutur and M. Horowitz},
|
||||
journal=JSSC,
|
||||
title={Fast low-power decoders for {RAMs}},
|
||||
year={2001},
|
||||
month={Oct},
|
||||
volume={36},
|
||||
number={10},
|
||||
pages={1506-1515}
|
||||
}
|
||||
|
||||
@inproceedings{Chen:2012,
|
||||
author={Chen Ming and Bai Na},
|
||||
booktitle={{CyberC}},
|
||||
title={An Efficient and Flexible Embedded Memory {IP} Compiler},
|
||||
year={2012},
|
||||
month={Oct},
|
||||
pages={268-273},
|
||||
keywords={SRAM chips;embedded systems;interpolation;polynomials;circuit structure;efficient embedded memory IP compiler;flexible embedded memory IP compiler;polynomial interpolation algorithm;single-port SRAM compiler;Integrated circuit modeling;Interpolation;Mathematical model;Memory management;Random access memory;Tiles;Timing;SRAM;interpolation;memory compiler;modeling;tiling},
|
||||
doi={10.1109/CyberC.2012.52}
|
||||
}
|
||||
|
||||
@inproceedings{Wu:2010,
|
||||
author={Sheng Wu and Xiang Zheng and Zhiqiang Gao and Xiangqing He},
|
||||
booktitle={{DDECS}},
|
||||
title={A 65nm embedded low power {SRAM} compiler},
|
||||
year={2010},
|
||||
month={April},
|
||||
pages={123-124},
|
||||
keywords={CMOS technology;Design methodology;Helium;Kernel;Layout;Libraries;Microelectronics;Program processors;Random access memory;SRAM chips;SRAM compiler;SoC IP;low power},
|
||||
doi={10.1109/DDECS.2010.5491802}
|
||||
}
|
||||
|
||||
@inproceedings{Xu:2007,
|
||||
author={Yi Xu and Zhiqiang Gao and Xiangqing He},
|
||||
booktitle=ISCAS,
|
||||
title={A Flexible Embedded {SRAM} {IP} Compiler},
|
||||
year={2007},
|
||||
month={May},
|
||||
pages={3756-3759},
|
||||
keywords={SRAM chips;circuit layout CAD;elemental semiconductors;embedded systems;logic design;program compilers;silicon;Si;atatic random access memory;block assembly techniques;embedded SRAM IP compiler;physical data syntax;silicon compiler;Assembly;Capacitance;Circuits;Energy consumption;Graphical user interfaces;Helium;Microelectronics;Random access memory;SRAM chips;Silicon compiler},
|
||||
doi={10.1109/ISCAS.2007.378778}
|
||||
}
|
||||
|
||||
%%%%Newest memory compiler on market in 2014
|
||||
@inproceedings{Goldman:2014,
|
||||
author={Goldman, R. and Bartleson, K. and Wood, T. and Melikyan, V. and Babayan, E.},
|
||||
booktitle={{EWME}},
|
||||
title={Synopsys' Educational Generic Memory Compiler},
|
||||
year={2014},
|
||||
month={May},
|
||||
pages={89-92},
|
||||
keywords={SRAM chips;courseware;electronic engineering computing;electronic engineering education;GMC software tool;Synopsys educational generic memory compiler software tool;automatic SRAM cell generation;automatic static RAM cell generation;educational designs;educational process;intellectual property restrictions;Educational institutions;Layout;Memory management;Multiplexing;Ports (Computers);Random access memory;Software},
|
||||
doi={10.1109/EWME.2014.6877402}
|
||||
}
|
||||
|
||||
@mastersthesis{butera:2013,
|
||||
author = {J. Butera},
|
||||
title = {OpenRAM: An Open-Source Memory Compiler},
|
||||
school = {University of California - Santa Cruz},
|
||||
year = {2013}
|
||||
}
|
||||
|
||||
@inproceedings{johannsen:blocks,
|
||||
author = {D. Jahannsen},
|
||||
title = {Bristle Blocks: A Silicon Compiler},
|
||||
booktitle = DAC,
|
||||
pages = {195-198},
|
||||
year = {1979}
|
||||
}
|
||||
|
||||
@book{broderson:sicompiler,
|
||||
author = {R. Broderson},
|
||||
title = {Anatomy of a Silicon Compiler},
|
||||
publisher = {Springer},
|
||||
year = {1992}
|
||||
}
|
||||
|
||||
@inproceedings{poechmueller:array,
|
||||
author = {P. Poechmueller and G.~K. Sharma and M. Glesner},
|
||||
title = {A {CAD} Tool for Designing Large, Fault-Tolerant {VLSI} Arrays},
|
||||
booktitle = GLSVLSI,
|
||||
year = {1991}
|
||||
}
|
||||
|
||||
@inproceedings{huang:array,
|
||||
author = {T.-H. Huang and C.-M. Liu and C.-W. Jen},
|
||||
title = {A High-Level Synthesizer for {VLSI} Array Architectures Dedicated to Digital Signal Processing},
|
||||
booktitle = {International Conference on Acoustics, Speech and Signal Processing},
|
||||
pages = {1221-1224},
|
||||
year = {1991}
|
||||
}
|
||||
|
||||
|
||||
@article{cabe:flexible,
|
||||
author = {AC Cabe and Z Qi and W Huang and Y Zhang and MR Stan and GS Rose},
|
||||
journal = {Cadence CDNLive},
|
||||
title = {A flexible, technology adaptive memory generation tool},
|
||||
year = {2006},
|
||||
}
|
||||
|
||||
@mastersthesis{fabmem:2010,
|
||||
author = {T. Shah},
|
||||
title = {{FabMem}: A Multiported {RAM} and {CAM} Compiler for Superscalar Design Space Exploration},
|
||||
school = {North Carolina State University},
|
||||
year = {2010}
|
||||
}
|
||||
|
||||
@misc{virage:2015,
|
||||
author = {{Virage Logic}},
|
||||
title = {{SiWare} Memory},
|
||||
howpublished = {\url{http://www.viragelogic.com}},
|
||||
year = {2015}
|
||||
}
|
||||
|
||||
|
||||
@article{RBL:1998,
|
||||
author = {B. S. Amrutur and M. A. Horowitz},
|
||||
journal = JSSC,
|
||||
title = {A Replica Technique for Wordline and Sense Control in Low-Power {SRAM}s},
|
||||
number = {8},
|
||||
pages = {1208-1219},
|
||||
volume = {33},
|
||||
year = {1998},
|
||||
month = {Aug}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
% references for bit-density comparison
|
||||
|
||||
|
||||
@article{Bit_Density_1,
|
||||
author = {K. Kushida and others},
|
||||
journal = JSSC,
|
||||
title = {A 0.7 {V} Single-Supply {SRAM} With 0.495 $um^2$ Cell in 65 nm Technology Utilizing Self-Write-Back Sense Amplifier and Cascaded Bit Line Scheme},
|
||||
number = {4},
|
||||
pages = {1192-1198},
|
||||
volume = {44},
|
||||
year = {2009},
|
||||
month = {Apr}
|
||||
}
|
||||
|
||||
|
||||
@article{Bit_Density_2,
|
||||
author = {Sh. Miyano and others},
|
||||
journal = JSSC,
|
||||
title = {Highly Energy-Efficient {SRAM} With Hierarchical Bit Line Charge-Sharing Method Using Non-Selected Bit Line Charges},
|
||||
number = {4},
|
||||
pages = {924-931},
|
||||
volume = {48},
|
||||
year = {2013},
|
||||
month = {Apr}
|
||||
}
|
||||
|
||||
@article{Bit_Density_3,
|
||||
author = {S. O. Toh and Zh. Guo and T. K. Liu and B. Nikolic},
|
||||
journal = JSSC,
|
||||
title = {Characterization of Dynamic {SRAM} Stability in 45 nm {CMOS}},
|
||||
number = {11},
|
||||
pages = {2702-2712},
|
||||
volume = {46},
|
||||
year = {2011},
|
||||
month = {Nov}
|
||||
}
|
||||
|
||||
@article{Bit_Density_4,
|
||||
author = {K. Yamaguchi and others},
|
||||
journal = JSSC,
|
||||
title = {A 1.5-ns Access Time, 78- $um^2$ Memory-Cell Size, 64-kb {ECL-CMOS SRAM}},
|
||||
number = {2},
|
||||
pages = {167-174},
|
||||
volume = {27},
|
||||
year = {1992},
|
||||
month = {Feb}
|
||||
}
|
||||
|
||||
@article{Bit_Density_5,
|
||||
author = {N. Shibata and H. Morimura and M. Watanabe},
|
||||
journal = JSSC,
|
||||
title = {A {1-V}, {10-MHz}, 3.5-mW, {1-Mb} {MTCMOS SRAM} with Charge-Recycling Input/Output Buffers},
|
||||
number = {6},
|
||||
pages = {866-877},
|
||||
volume = {34},
|
||||
year = {1999},
|
||||
month = {Jun}
|
||||
}
|
||||
|
||||
@article{Bit_Density_6,
|
||||
author = {N. Tamba and others},
|
||||
journal = JSSC,
|
||||
title = {A 1.5-ns 256-kb {BiCMOS SRAM} with 60-ps 11-K Logic Gates},
|
||||
number = {11},
|
||||
pages = {1344-1352},
|
||||
volume = {48},
|
||||
year = {1994},
|
||||
month = {Nov}
|
||||
}
|
||||
|
||||
%author={Yamaguchi, K. and Nambu, H. and Kanetani, K. and Idei, Y. and Homma, N. and Hiramoto, T. and Tamba, N. and Watanabe, K. and Odaka, Masanori and Ikeda, T. and Ohhata, K. and Sakurai, Y.},
|
||||
@ARTICLE{127339,
|
||||
author={Yamaguchi, K. and others},
|
||||
journal=JSSC,
|
||||
title={A $1.5$-ns access time, $78~um^2$ memory-cell size, $64$-kb {ECL-CMOS SRAM}},
|
||||
year={1992},
|
||||
volume={27},
|
||||
number={2},
|
||||
pages={167-174},
|
||||
doi={10.1109/4.127339},
|
||||
ISSN={0018-9200},
|
||||
month={Feb},
|
||||
}
|
||||
|
||||
%author={Kushida, K. and Suzuki, A. and Fukano, G. and Kawasumi, A. and Hirabayashi, O. and Takeyama, Y. and Sasaki, T. and Katayama, A. and Fujimura, Y. and Yabe, T.},
|
||||
@INPROCEEDINGS{4585946,
|
||||
author={Kushida, K. and others},
|
||||
booktitle=ISVLSI,
|
||||
title={A $0.7$V single-supply {SRAM} with $0.495~um^2$ cell in $65$nm technology
|
||||
utilizing self-write-back sense amplifier and cascaded bit
|
||||
line scheme},
|
||||
year={2008},
|
||||
pages={46-47},
|
||||
doi={10.1109/VLSIC.2008.4585946},
|
||||
month={June}
|
||||
}
|
||||
|
||||
%author={Stine, J.E. and Castellanos, I. and Wood, M. and Henson, J. and Love, F. and Davis, W.R. and Franzon, P.D. and Bucher, M. and Basavarajaiah, S. and Julie Oh and Jenkal, R.},
|
||||
@INPROCEEDINGS{4231502,
|
||||
author={J. E. Stine and others},
|
||||
booktitle=MSE,
|
||||
title={{FreePDK}: An Open-Source Variation-Aware Design Kit},
|
||||
year={2007},
|
||||
pages={173-174},
|
||||
doi={10.1109/MSE.2007.44},
|
||||
month={June}
|
||||
}
|
||||
|
|
@ -1,115 +0,0 @@
|
|||
\section{Results}
|
||||
\label{sec:results}
|
||||
|
||||
Figure~\ref{fig:layout} shows several different SRAM layouts
|
||||
generated by OpenRAM in FreePDK45. OpenRAM can generate single
|
||||
bank and multi-bank SRAM arrays. Banks are
|
||||
symmetrically placed to have the same delay for data and address
|
||||
while sharing peripheral blocks such as decoders.
|
||||
\begin{figure}[tb]
|
||||
\centering
|
||||
\includegraphics[scale=.4]{./figs/layout.pdf}
|
||||
\caption{Single bank and multi-bank SRAMs (not to scale) use
|
||||
symmetrical bank placement to share peripheral circuitry and
|
||||
equalize signal delays.}
|
||||
\label{fig:layout}
|
||||
\end{figure}
|
||||
|
||||
Figure~\ref{fig:density_figure} shows the memory area of different
|
||||
total size and data word width memories in both FreePDK45 and
|
||||
SCMOS. As expected, the smaller process technology (45nm) has lower
|
||||
total area overall but the trends are similar in both technologies.
|
||||
|
||||
Figure~\ref{fig:density_figure} also shows the access time of
|
||||
different size and data word width in FreePDK45 and SCMOS. Increasing
|
||||
the memory size generally increases the access time; long bit-lines
|
||||
and word-lines increase the access time by adding more parasitic
|
||||
capacitance and resistance. Since OpenRAM uses multiple banks and
|
||||
column muxing, it is possible to have a smaller access time for larger
|
||||
memory designs, but this will sacrifice density.
|
||||
|
||||
\begin{figure}[tb]
|
||||
\begin{center}
|
||||
\centering
|
||||
%\includegraphics[width=8.5cm]{./figs/Results.pdf}
|
||||
\includegraphics[width=7.5cm , height=14cm]{./figs/Results2.pdf}
|
||||
% \subfigure[FreePDK45 memory area \label{fig:freepdk_area}]{
|
||||
% \includegraphics[scale=1]{./figs/Freepdk_Area.pdf}}
|
||||
% \subfigure[SCMOS memory area \label{fig:scn3me_area}]{
|
||||
% \includegraphics[scale=.5]{./figs/Scn3me_Area.pdf}}
|
||||
\caption{OpenRAM provides high-density memories in multiple
|
||||
technologies and sizes with corresponding characterized
|
||||
delays. \label{fig:density_figure}}
|
||||
\vspace{-0.5cm}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
|
||||
%Table~\ref{table:bit-density-comparison} shows a comparison between bit
|
||||
%density of OpenRAM's generated memory designs and other publications
|
||||
%which are close in technology node with FreePDK45 and SCMOS. As shown
|
||||
%in this table, OpenRAM provides very dense SRAM arrays in both technologies.
|
||||
|
||||
\begin{table}[t]
|
||||
\centering
|
||||
\caption{OpenRAM has high density compared to other published memories in
|
||||
similar technologies.}
|
||||
\begin{tabular}{|c|c|c|c|l|l|l|l|l|} \hline
|
||||
\texttt{Ref.} & \texttt{Feature} & \texttt{Tech.} & \texttt{Density} \\
|
||||
& \texttt{Size} & & [Mb/$mm^2$] \\
|
||||
\hline \hline
|
||||
$~\cite{4585946}$ & $65$ nm & CMOS & $0.7700$ \\ \hline
|
||||
$~\cite{Bit_Density_3}$ & $45$ nm & CMOS & $0.3300$ \\ \hline
|
||||
$~\cite{Bit_Density_2}$ & $40$ nm & CMOS & $0.9400$ \\ \hline
|
||||
\verb+OpenRAM+ & $45$ nm & FreePDK45 & $0.8260$ \\ \hline \hline
|
||||
$~\cite{127339}$ & $0.5$ um & CMOS & $0.0036$ \\ \hline
|
||||
$~\cite{Bit_Density_6}$ & $0.5$ um & BiCMOS & $0.0020$ \\ \hline
|
||||
$~\cite{Bit_Density_5}$ & $0.5$ um & CMOS & $0.0050$ \\ \hline
|
||||
\verb+OpenRAM+ & $0.5$ um & SCMOS & $0.0050$ \\ \hline
|
||||
\end{tabular}
|
||||
\label{table:bit-density-comparison}
|
||||
\end{table}
|
||||
|
||||
%\begin{table*}
|
||||
%\centering
|
||||
%\caption{OpenRAM has high density, fast access time and low power consumption compared to other published memories in similar technologies.}
|
||||
%\begin{tabular}{|c|l|l|l|l|l|l|l|l|} \hline
|
||||
%\texttt{Reference} & \texttt{Technology} & \texttt{Density (Mb/$mm^2$)}& \texttt{Access time (ns)}& \texttt{Power consumption} \\ \hline \hline
|
||||
%$~\cite{Bit_Density_1}$ & $65 nm CMOS$ & $0.77$ & $28$ & $22$ $uW/MHz$ \\ \hline
|
||||
%$~\cite{Bit_Density_2}$ & $40 nm CMOS$ & $0.94$ & $45$ & $13.8$ $pJ/access/Mbit$ \\ \hline
|
||||
%$OpenRAM$ & $45 nm FreePDK45$ & $0.826$ & $9.86$ & $13.14$ $mW$ \\ \hline \hline
|
||||
%$~\cite{Bit_Density_4}$ & $0.5 um CMOS$ & $0.0036$ & $1.5$ & $6$ $W$ \\ \hline
|
||||
%$~\cite{Bit_Density_6}$ & $0.5 um BiCMOS$ & $0.002$ & $1.5$ & $35$ $W$ \\ \hline
|
||||
%$~\cite{Bit_Density_5}$ & $0.5 um CMOS$ & $0.005$ & $75$ & $3.9$ $mW$ \\ \hline
|
||||
%$OpenRAM$ & $0.5 um SCMOS$ & $0.005$ & $44.9$ & $115$ $mW$ \\ \hline
|
||||
%\end{tabular}
|
||||
%\label{table:bit-density-comparison}
|
||||
%\end{table*}
|
||||
|
||||
Comparison of power consumption and read access time of different
|
||||
memories is a bit more complicated to make a conclusion, because there
|
||||
are many trade-offs. Power and performance are highly dependent on
|
||||
circuit style (CMOS, ECL, etc.), memory organization (more banks is
|
||||
faster but sacrifices density), and the optimization goal: low-power
|
||||
or high-performance. In general, OpenRAM has reasonable trade-off
|
||||
between the two and can be customized by using an alternate sense
|
||||
amplifiers, decoders, or overall dimensional organization.
|
||||
Table~\ref{table:bit-density-comparison} compares the bit-density of
|
||||
OpenRAM against published designs using similar technology nodes. The
|
||||
results show the benefit of technology scaling and that OpenRAM has
|
||||
very good density in both technologies. As a comparison, a 76ns SRAM
|
||||
consumes 3.9mW~\cite{Bit_Density_5} while OpenRAM is much faster at
|
||||
44.9ns but consumes 115mW for the same size.
|
||||
|
||||
%Table~\ref{table:bit-density-comparison} shows a comparison between bit density, access
|
||||
%time and power consumption of OpenRAM’s generated mem-
|
||||
%ory designs and other publications which are close in tech-
|
||||
%nology node with FreePDK45 and SCMOS. As shown in this
|
||||
%table, OpenRAM provides very dense SRAM arrays in both
|
||||
%technologies. There is no easy comparison on power con-
|
||||
%sumption and read access time as these values vary with the
|
||||
%array size and configuration. Therefore, we only try to com-
|
||||
%pare the features of each work from a more general point of
|
||||
%view.
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,16 +0,0 @@
|
|||
#!/bin/sh
|
||||
# This is a short script to simplify generating a PDF document from LaTeX and BibTeX code.
|
||||
# The script cleans plausibly existing files, generates the PDF, then cleans furthur generated files.
|
||||
|
||||
# Clean any latent files.
|
||||
rm -rf *.aux *.bbl *.blg *.log #*.pdf
|
||||
|
||||
# Generate the actual output.
|
||||
pdflatex main.tex
|
||||
bibtex main.aux
|
||||
pdflatex main.tex
|
||||
pdflatex main.tex
|
||||
mv main.pdf openram.pdf
|
||||
|
||||
# Clean all the generated files except for the .pdf
|
||||
rm -rf *.aux *.bbl *.blg *.log *.lof *.lot *.out *.toc
|
||||
Loading…
Reference in New Issue