Updated documentation, introduce Etesian & plugins.
This commit is contained in:
parent
2739d32bf8
commit
d825a76252
|
@ -10,26 +10,6 @@
|
|||
.. _Here: file:///usr/share/doc/coriolis2/en/latex/users-guide/UsersGuide.pdf
|
||||
|
||||
.. For HTML backend
|
||||
.. |Key_ESC| image:: ./images/key_ESC.png
|
||||
.. |Key_CTRL| image:: ./images/key_CTRL.png
|
||||
.. |Key_Up| image:: ./images/key_UP.png
|
||||
.. |Key_Down| image:: ./images/key_DOWN.png
|
||||
.. |Key_Left| image:: ./images/key_LEFT.png
|
||||
.. |Key_Right| image:: ./images/key_RIGHT.png
|
||||
.. |Key_f| image:: ./images/key_F.png
|
||||
.. |Key_G| image:: ./images/key_Gcap.png
|
||||
.. |Key_i| image:: ./images/key_Icap.png
|
||||
.. |Key_l| image:: ./images/key_Lcap.png
|
||||
.. |Key_m| image:: ./images/key_M.png
|
||||
.. |Key_k| image:: ./images/key_K.png
|
||||
.. |Key_K| image:: ./images/key_Kcap.png
|
||||
.. |Key_o| image:: ./images/key_Ocap.png
|
||||
.. |Key_p| image:: ./images/key_Pcap.png
|
||||
.. |Key_q| image:: ./images/key_Qcap.png
|
||||
.. |Key_w| image:: ./images/key_Wcap.png
|
||||
.. |Key_S| image:: ./images/key_Scap.png
|
||||
.. |Key_z| image:: ./images/key_Z.png
|
||||
.. |Plus| replace:: :raw-html:`+`
|
||||
.. |rightarrow| replace:: :raw-html:`<p class="empty"></p>`
|
||||
.. |menu_P&R| replace:: :raw-html:`<p class="empty"></p>`
|
||||
.. |menu_StepByStep| replace:: :raw-html:`<p class="empty"></p>`
|
||||
|
@ -54,6 +34,8 @@
|
|||
.. |ControllerInspector_3| replace:: :raw-html:`<center><img src="./images/Controller-Inspector-3.png" alt="Controller Basic Snapshot"></center>`
|
||||
.. |ControllerSettings_1| replace:: :raw-html:`<center><img src="./images/Controller-Settings-1.png" alt="Controller Basic Snapshot"></center>`
|
||||
.. |CoriolisSoftSchema| replace:: :raw-html:`<center><img src="./images/Coriolis-Soft-Schema.png" alt="Coriolis Software Schematic"></center>`
|
||||
.. |ChipStructure-1| replace:: :raw-html:`<center><img src="./images/chip-structure-1.png" alt="Chip Top Structure"></center>`
|
||||
.. |Etesian-1| replace:: :raw-html:`<center><img src="./images/etesian-1.png" alt="Etesian Abutment Box"></center>`
|
||||
|
||||
.. |BigMouse| image:: ./images/ComputerMouse.png
|
||||
:scale: 25%
|
||||
|
@ -63,4 +45,5 @@
|
|||
.. |noindent| replace:: :raw-html:`<p class="empty"></p>`
|
||||
.. |medskip| replace:: :raw-html:`<br>`
|
||||
.. |newpage| replace:: :raw-html:`<hr>`
|
||||
.. |br| replace:: :raw-html:`<br>`
|
||||
|
||||
|
|
|
@ -11,26 +11,6 @@
|
|||
.. |DONE| replace:: :raw-latex:`\marginpar{\fbox{\small\ding{56}}}`
|
||||
|
||||
.. For LaTeX/PDF backend.
|
||||
.. |Key_ESC| replace:: :raw-latex:`\key{ESC}\xspace`
|
||||
.. |Key_CTRL| replace:: :raw-latex:`\key{CTRL}\xspace`
|
||||
.. |Key_Up| replace:: :raw-latex:`\key{Up}\xspace`
|
||||
.. |Key_Down| replace:: :raw-latex:`\key{Down}\xspace`
|
||||
.. |Key_Left| replace:: :raw-latex:`\key{Left}\xspace`
|
||||
.. |Key_Right| replace:: :raw-latex:`\key{Right}\xspace`
|
||||
.. |Key_f| replace:: :raw-latex:`\key{f}\xspace`
|
||||
.. |Key_G| replace:: :raw-latex:`\key{G}\xspace`
|
||||
.. |Key_i| replace:: :raw-latex:`\key{i}\xspace`
|
||||
.. |Key_l| replace:: :raw-latex:`\key{l}\xspace`
|
||||
.. |Key_m| replace:: :raw-latex:`\key{m}\xspace`
|
||||
.. |Key_k| replace:: :raw-latex:`\key{k}\xspace`
|
||||
.. |Key_K| replace:: :raw-latex:`\key{K}\xspace`
|
||||
.. |Key_o| replace:: :raw-latex:`\key{o}\xspace`
|
||||
.. |Key_p| replace:: :raw-latex:`\key{p}\xspace`
|
||||
.. |Key_q| replace:: :raw-latex:`\key{q}\xspace`
|
||||
.. |Key_w| replace:: :raw-latex:`\key{w}\xspace`
|
||||
.. |Key_S| replace:: :raw-latex:`\key{S}\xspace`
|
||||
.. |Key_z| replace:: :raw-latex:`\key{z}\xspace`
|
||||
.. |Plus| replace:: :raw-latex:`$+$\xspace`
|
||||
.. |rightarrow| replace:: :raw-latex:`$\rightarrow$`
|
||||
.. |menu_P&R| replace:: :raw-latex:`\fbox{\textsf{\textbf{{P\&R}}}}`
|
||||
.. |menu_StepByStep| replace:: :raw-latex:`\fbox{\textsf{\textbf{{\underline{S}tep by Step}}}}`
|
||||
|
@ -55,6 +35,8 @@
|
|||
.. |ControllerInspector_3| replace:: :raw-latex:`\begin{center}\includegraphics[width=.7\textwidth]{./images/Controller-Inspector-3.eps}\end{center}`
|
||||
.. |ControllerSettings_1| replace:: :raw-latex:`\begin{center}\includegraphics[width=.7\textwidth]{./images/Controller-Settings-1.eps}\end{center}`
|
||||
.. |CoriolisSoftSchema| replace:: :raw-latex:`\begin{center}\includegraphics[width=.7\textwidth]{./images/Coriolis-Soft-Schema.eps}\end{center}`
|
||||
.. |ChipStructure-1| replace:: :raw-latex:`\begin{center}\includegraphics[width=.95\textwidth]{./images/chip-structure-1.eps}\end{center}`
|
||||
.. |Etesian-1| replace:: :raw-latex:`\begin{center}\includegraphics[width=.95\textwidth]{./images/etesian-1.eps}\end{center}`
|
||||
|
||||
.. |BigMouse| image:: ./images/ComputerMouse.eps
|
||||
:scale: 25%
|
||||
|
@ -64,4 +46,5 @@
|
|||
.. |noindent| replace:: :raw-latex:`\noindent`
|
||||
.. |medskip| replace:: :raw-latex:`\medskip`
|
||||
.. |newpage| replace:: :raw-latex:`\newpage`
|
||||
.. |br| replace:: :raw-latex:`\\`
|
||||
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
|
||||
html, body, th, td, tr, p, li, h1, h2, h3, h4, h5, h6 {
|
||||
font-size: 96%;
|
||||
/*
|
||||
font-family: verdana, sans-serif;
|
||||
*/
|
||||
font-family: "Open Sans", sans-serif;
|
||||
font-family: "Open Sans", verdana, sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
|
@ -18,9 +15,13 @@ body {
|
|||
background-attachment: fixed;
|
||||
background-repeat: no-repeat;
|
||||
margin: 0 0 0 0;
|
||||
padding: 0 0 0 0;
|
||||
padding: 20pt;
|
||||
width: 550pt;
|
||||
margin-right: 10%;
|
||||
margin-left: 30%;
|
||||
-moz-box-shadow: 4px 4px 5px 3px #ccc;
|
||||
-webkit-box-shadow: 4px 4px 5px 3px #ccc;
|
||||
box-shadow: 4px 4px 5px 3px #ccc;
|
||||
}
|
||||
|
||||
body.gsummary {
|
||||
|
@ -28,22 +29,27 @@ body.gsummary {
|
|||
margin-left: 10%;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-family: "Open Sans", sans-serif;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 { font-family: "Open Sans", verdana, sans-serif; }
|
||||
h1 { text-align: center;
|
||||
border-top: 2px solid #09550b;
|
||||
border-bottom: 2px solid #09550b;
|
||||
padding-top: 7pt;
|
||||
padding-bottom: 7pt;
|
||||
}
|
||||
h2, h3, h4, h5, h6 { text-align: left; }
|
||||
h1, h2, h3 { font-family: "Open Sans";
|
||||
}
|
||||
h1 { font-weight: normal; font-size: 170%; padding-top: 7pt; margin-top: 25pt; }
|
||||
h2 { font-weight: normal; font-size: 140%; padding-top: 7pt; margin-top: 25pt; }
|
||||
h3 { font-weight: bold; font-size: 118%; padding-top: 7pt; margin-top: 25pt; }
|
||||
h4 { font-weight: bold; font-size: 100%; }
|
||||
h5 { font-style: italic; font-size: 100%; }
|
||||
h6 { font-variant: small-caps; font-size: 100%; }
|
||||
|
||||
body.gsummary h1 { text-align: center; font-size: 220%; }
|
||||
|
||||
h1 a:link { border-bottom: 0px; }
|
||||
|
||||
h1 { text-align: left; }
|
||||
h2, h3, h4, h5, h6 { text-align: left; }
|
||||
h1, h2, h3 { font-family: "Serif";
|
||||
}
|
||||
h1 { font-weight: normal; font-size: 170%; padding-top: 7pt; margin-top: 25pt; }
|
||||
h2 { font-weight: normal; font-size: 140%; padding-top: 7pt; margin-top: 25pt; }
|
||||
h3 { font-weight: bold; font-size: 118%; padding-top: 7pt; margin-top: 25pt; }
|
||||
h4 { font-weight: bold; font-size: 100%; }
|
||||
h5 { font-style: italic; font-size: 100%; }
|
||||
h6 { font-variant: small-caps; font-size: 100%; }
|
||||
|
||||
body.gsummary h1 { text-align: center; font-size: 220%; }
|
||||
|
||||
hr {
|
||||
color: #09550b;
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
.. |FC13| replace:: :sc:`fc13`
|
||||
.. |Debian| replace:: :sc:`Debian`
|
||||
.. |Ubuntu| replace:: :sc:`Ubuntu`
|
||||
.. |LEMON| replace:: :sc:`lemon`
|
||||
.. |Coin-Or| replace:: :sc:`coin-or`
|
||||
|
||||
.. |Alexandre| replace:: :sc:`Alexandre`
|
||||
.. |Belloeil| replace:: :sc:`Belloeil`
|
||||
|
@ -89,13 +91,43 @@
|
|||
.. |rpm| replace:: :cb:`rpm`
|
||||
.. |gdb| replace:: :cb:`gdb`
|
||||
|
||||
.. |KeyUp| replace:: :fboxtt:`Up`
|
||||
.. |KeyDown| replace:: :fboxtt:`Down`
|
||||
.. |KeyLeft| replace:: :fboxtt:`Left`
|
||||
.. |KeyRight| replace:: :fboxtt:`Right`
|
||||
.. |KeyF| replace:: :fboxtt:`f`
|
||||
.. |KeyL| replace:: :fboxtt:`l`
|
||||
.. |KeyG| replace:: :fboxtt:`g`
|
||||
.. |KeyZ| replace:: :fboxtt:`z`
|
||||
.. |KeyM| replace:: :fboxtt:`m`
|
||||
.. |KeyI| replace:: :fboxtt:`i`
|
||||
.. |KeyK| replace:: :fboxtt:`k`
|
||||
.. |KeyP| replace:: :fboxtt:`p`
|
||||
.. |KeyO| replace:: :fboxtt:`o`
|
||||
.. |KeyW| replace:: :fboxtt:`w`
|
||||
.. |KeyQ| replace:: :fboxtt:`q`
|
||||
.. |KeyCapK| replace:: :fboxtt:`K`
|
||||
.. |KeyCapS| replace:: :fboxtt:`S`
|
||||
.. |Plus| replace:: :fboxtt:`+`
|
||||
.. |KeyESC| replace:: :fboxtt:`ESC`
|
||||
.. |CTRL| replace:: :fboxtt:`CTRL`
|
||||
.. |CTRL_L| replace:: :fboxtt:`CTRL+L`
|
||||
.. |CTRL_I| replace:: :fboxtt:`CTRL+I`
|
||||
.. |CTRL_P| replace:: :fboxtt:`CTRL+P`
|
||||
.. |CTRL_O| replace:: :fboxtt:`CTRL+O`
|
||||
.. |CTRL_W| replace:: :fboxtt:`CTRL+W`
|
||||
.. |CTRL_Q| replace:: :fboxtt:`CTRL+Q`
|
||||
.. |CTRL_Down| replace:: :fboxtt:`CTRL+Down`
|
||||
.. |CTRL_Up| replace:: :fboxtt:`CTRL+Up`
|
||||
.. |CTRL_Left| replace:: :fboxtt:`CTRL+Left`
|
||||
.. |CTRL_Right| replace:: :fboxtt:`CTRL+Right`
|
||||
|
||||
.. URLs
|
||||
.. _FGR: http://vlsicad.eecs.umich.edu/BK/FGR/
|
||||
.. _Box Router: http://www.cerc.utexas.edu/~thyeros/boxrouter/boxrouter.htm
|
||||
.. _hMETIS: http://glaros.dtc.umn.edu/gkhome/views/metis
|
||||
.. _Knik Thesis: http://www-soc.lip6.fr/en/users/damiendupuis/PhD/
|
||||
.. _FGR: http://vlsicad.eecs.umich.edu/BK/FGR/
|
||||
.. _Box Router: http://www.cerc.utexas.edu/~thyeros/boxrouter/boxrouter.htm
|
||||
.. _hMETIS: http://glaros.dtc.umn.edu/gkhome/views/metis
|
||||
.. _Knik Thesis: http://www-soc.lip6.fr/en/users/damiendupuis/PhD/
|
||||
.. _Coin Or Home: http://www.coin-or.org/index.html
|
||||
|
||||
.. _coriolis2-1.0.2049-1.slsoc6.i686.rpm: http://asim.lip6.fr/pub/coriolis/2.0/coriolis2-1.0.2049-1.slsoc6.i686.rpm
|
||||
.. _coriolis2-1.0.2049-1.slsoc6.x86_64.rpm: http://asim.lip6.fr/pub/coriolis/2.0/coriolis2-1.0.2049-1.slsoc6.x86_64.rpm
|
||||
|
@ -274,8 +306,8 @@ Release `2049` is Alpha.
|
|||
#. The |cgt| main has been rewritten in Python.
|
||||
|
||||
|
||||
Release **v2.0.1**
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
Release v2.0.1
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
#. Migrated the repository from |svn| to |git|, and release complete sources.
|
||||
As a consequence, we drop the distribution packaging support and give
|
||||
|
@ -284,7 +316,7 @@ Release **v2.0.1**
|
|||
achieve a speedup factor greater than 20...
|
||||
|
||||
|
||||
Release **v3.0**
|
||||
**Release v2.1**
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Replace the old simulated annealing placer |Mauka| by an analytic placer
|
||||
|
@ -325,6 +357,17 @@ Main building prerequisites:
|
|||
* latex
|
||||
* latex2html.
|
||||
* python-docutils (for reStructuredText).
|
||||
* |Coloquinte| (https://github.com/Coloquinte/Coloquinte.git).
|
||||
|
||||
|Coloquinte| requires the |LEMON| component from |Coin-Or| (`Coin Or Home`_).
|
||||
A repository of |Coin-Or| packages backported from |Fedora| 21 is available here:
|
||||
|
||||
* |SL6|: `ftp://pub/linux/distributions/slsoc/slsoc/soc/addons/i386/RPMS <http://ftp.lip6.fr/pub/linux/distributions/slsoc/slsoc/soc/addons/i386/repoview>`_
|
||||
* |SL7|: `ftp://pub/linux/distributions/slsoc/soc/7/addons/x86_64/RPMS <http://ftp.lip6.fr/pub/linux/distributions/slsoc/soc/7/addons/x86_64/repoview>`_
|
||||
|
||||
For other distributions, refer to their own packaging system.
|
||||
|
||||
|newpage|
|
||||
|
||||
|
||||
Fixed Directory Tree
|
||||
|
@ -378,6 +421,8 @@ automatically created either by |ccb| or the build system.
|
|||
``Static`` do not work because I don't know yet to mix statically linked binaries
|
||||
and Python modules (which must be dynamic).
|
||||
|
||||
|newpage|
|
||||
|
||||
|
||||
Building Coriolis
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
@ -394,9 +439,11 @@ The first step is to create the source directory and pull the |git| repository:
|
|||
|
||||
Second and final step, build & install: ::
|
||||
|
||||
dummy@lepka:src$ ./bootstrap/ccp.py --project=importeds --project=coriolis \
|
||||
dummy@lepka:src$ ./bootstrap/ccp.py --project=importeds \
|
||||
--project=coriolis \
|
||||
--make="-j4 install"
|
||||
dummy@lepka:src$ ./bootstrap/ccb.py --project=coriolis --doc --make="-j1 install"
|
||||
dummy@lepka:src$ ./bootstrap/ccb.py --project=coriolis \
|
||||
--doc --make="-j1 install"
|
||||
|
||||
We need two steps because the documentation do not support to be generated with
|
||||
a parallel build. So we compile & install in a first step in ``-j4`` (or whatever)
|
||||
|
@ -404,7 +451,8 @@ then we generate the documentation in ``-j1``
|
|||
|
||||
Under |RHEL6| or clones, you must build using the |devtoolset2|: ::
|
||||
|
||||
dummy@lepka:src$ ./bootstrap/ccp.py --project=importeds --project=coriolis \
|
||||
dummy@lepka:src$ ./bootstrap/ccp.py --project=importeds \
|
||||
--project=coriolis \
|
||||
--devtoolset-2 --make="-j4 install"
|
||||
|
||||
If you want to uses Qt 5 instead of Qt 4, you may add the ``--qt5`` argument.
|
||||
|
@ -426,7 +474,8 @@ In the |Coriolis| |git| repository, two branches are present:
|
|||
command just after the first step: ::
|
||||
|
||||
dummy@lepka:~$ git checkout devel
|
||||
dummy@lepka:src$ ./bootstrap/ccp.py --project=importeds --project=coriolis \
|
||||
dummy@lepka:src$ ./bootstrap/ccp.py --project=importeds \
|
||||
--project=coriolis \
|
||||
--make="-j4 install" --debug
|
||||
|
||||
Be aware that it may requires newer versions of the dependencies and may introduce
|
||||
|
@ -437,6 +486,8 @@ In the |Coriolis| |git| repository, two branches are present:
|
|||
|
||||
dummy@lepka:work$ gdb python core.XXXX
|
||||
|
||||
|newpage|
|
||||
|
||||
|
||||
Additionnal Requirement under |MacOS|
|
||||
-------------------------------------
|
||||
|
@ -615,6 +666,8 @@ simple assembly of tuples. The helpers are installed under the directory: ::
|
|||
|
||||
Where :cb:`<install>/` is the root of the installation.
|
||||
|
||||
|newpage|
|
||||
|
||||
|
||||
.. _Alliance Helper:
|
||||
|
||||
|
@ -909,14 +962,40 @@ Etesian -- Placer
|
|||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
The |Etesian| placer is a state of the art (as of 2015) analytical placer. This |Coriolis|
|
||||
tool is really an encapsulation of |Coloquinte| which *is* the placer. |Coloquinte|
|
||||
is provided a separate library, see the building instructions.
|
||||
tool is actually an encapsulation of |Coloquinte| which *is* the placer. |Coloquinte|
|
||||
is provided as a separate library, see the building instructions.
|
||||
|
||||
.. note:: *Instance Duplication Problem:* a same logical instance cannot have
|
||||
.. note:: *Instance Uniquification Unsupported:* a same logical instance cannot have
|
||||
two different placements. So, either you manually make a clone of it or you
|
||||
supply a placement for it. This is currently a drawback of our *folded hierarchy*
|
||||
approach.
|
||||
supply a placement for it. We need to implement uniquification in the
|
||||
|Hurricane| database.
|
||||
|
||||
|
||||
|noindent|
|
||||
**Hierarchical Placement**
|
||||
|
||||
The placement area is defined by the top cell abutment box.
|
||||
|
||||
When placing a complete hierarchy, the abutment boxes of the cells (models) other than
|
||||
the top cell are sets identical to the one of the top cell and their instances are
|
||||
all placed at position ``(0,0,ID)``. That is, all the abutments boxes, whatever the
|
||||
hierarchical level, defines the same area (they are exactly superposed).
|
||||
|
||||
We choose this scheme because the placer will see all the instances as virtually
|
||||
flattened, so they can be placed anywhere inside the top-cell abutment box.
|
||||
|
||||
|Etesian-1|
|
||||
|
||||
|
||||
|noindent|
|
||||
**Computing the Placement Area**
|
||||
|
||||
The placement area is computed using the ``etesian.aspectRatio`` and ``etesian.spaceMargin``
|
||||
parameters only if the top-cell has an empty abutment box. If the top-cell abutment
|
||||
box has to be set, then it is propagated to all the instances models recursively.
|
||||
|
||||
|
||||
|noindent|
|
||||
**Reseting the Placement**
|
||||
|
||||
Once a placement has been done, the placer cannot reset it (will be implemented
|
||||
|
@ -924,6 +1003,48 @@ later). To perform a new placement, you must restart |cgt|. In addition, if you
|
|||
have saved the placement on disk, you must erase any :cb:`.ap` file, which are
|
||||
automatically reloaded along with the netlist (:cb:`.vst`).
|
||||
|
||||
|newpage|
|
||||
|
||||
|
||||
Etesian Configuration Parameters
|
||||
--------------------------------
|
||||
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
| Parameter Identifier | Type | Default |
|
||||
+===================================+==================+============================+
|
||||
| **Etesian Parameters** |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
|``etesian.aspectRatio`` | TypePercentage | :cb:`100` |
|
||||
| +------------------+----------------------------+
|
||||
| | Define the height on width ``H/W`` aspect |
|
||||
| | ratio, can be comprised between 10 and 1000 |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
|``etesian.spaceMargin`` | TypePercentage | :cb:`5` |
|
||||
| +------------------+----------------------------+
|
||||
| | The extra white space added to the total area |
|
||||
| | of the standard cells |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
|``etesian.uniformDensity`` | TypeBool | :cb:`False` |
|
||||
| +------------------+----------------------------+
|
||||
| | Whether the cells will be spread envenly |
|
||||
| | across the area or allowed to form denser |
|
||||
| | clusters |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
|``etesian.effort`` | TypeInt | :cb:`2` |
|
||||
| +------------------+----------------------------+
|
||||
| | Sets the balance between the speed of the |
|
||||
| | placer and the solution quality |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
|``etesian.graphics`` | TypeInt | :cb:`2` |
|
||||
| +------------------+----------------------------+
|
||||
| | How often the display will be refreshed, more |
|
||||
| | refreshing slows the placer. |
|
||||
| | |
|
||||
| | * ``1`` show both upper and lower bounds |
|
||||
| | * ``2`` show only lower bound |
|
||||
| | * ``3`` Don't show anything |
|
||||
+-----------------------------------+-----------------------------------------------+
|
||||
|
||||
|
||||
Knik -- Global Router
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
@ -976,8 +1097,6 @@ saturated area and increased wirelength. This is the saturation of the
|
|||
which represent one track. The maximum capacity of the |SxLib| gauge is
|
||||
10 tracks in two layers, that makes 20 tracks by |Knik| edge.
|
||||
|
||||
|newpage|
|
||||
|
||||
Routing a design is done in four ordered steps:
|
||||
|
||||
#. Detailed pre-route |menu_P&R| |rightarrow| |menu_StepByStep| |rightarrow| |menu_KiteDetailedPreRoute|.
|
||||
|
@ -1125,7 +1244,7 @@ Printing & Snapshots
|
|||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Printing or saving into a |pdf| is fairly simple, just uses the **File -> Print**
|
||||
menu or the |Key_CTRL| |Plus| |Key_p| shortcut to open the dialog box.
|
||||
menu or the |CTRL_P| shortcut to open the dialog box.
|
||||
|
||||
The print functionality uses exactly the same rendering mechanism as for the
|
||||
screen, beeing almost *WYSIWYG*. Thus, to obtain the best results it is advisable
|
||||
|
@ -1162,22 +1281,21 @@ The main application binary is |cgt|.
|
|||
+---------------+-------------------+-----------------------------------------------------------+
|
||||
| Category | Keys | Action |
|
||||
+===============+===================+===========================================================+
|
||||
| **Moves** | | |Key_Up|, | Shift the view in the according direction |
|
||||
| | |Key_Down| | |
|
||||
| | | |Key_Left|, | |
|
||||
| | |Key_Right| | |
|
||||
| **Moves** | | |KeyUp|, | Shift the view in the according direction |
|
||||
| | |KeyDown| | |
|
||||
| | | |KeyLeft|, | |
|
||||
| | |KeyRight| | |
|
||||
+---------------+-------------------+-----------------------------------------------------------+
|
||||
| **Fit** | |Key_f| | Fit to the Cell abutment box |
|
||||
| **Fit** | |KeyF| | Fit to the Cell abutment box |
|
||||
+---------------+-------------------+-----------------------------------------------------------+
|
||||
| **Refresh** | |Key_CTRL| | Triggers a complete display redraw |
|
||||
| | |Plus| |Key_l| | |
|
||||
| **Refresh** | |CTRL_L| | Triggers a complete display redraw |
|
||||
+---------------+-------------------+-----------------------------------------------------------+
|
||||
| **Goto** | |Key_g| | *apperture* is the minimum side of the area |
|
||||
| **Goto** | |KeyG| | *apperture* is the minimum side of the area |
|
||||
| | | displayed around the point to go to. It's an |
|
||||
| | | alternative way of setting the zoom level |
|
||||
+---------------+-------------------+-----------------------------------------------------------+
|
||||
| **Zoom** | |Key_z|, | Respectively zoom by a 2 factor and *unzoom* |
|
||||
| | |Key_m| | by a 2 factor |
|
||||
| **Zoom** | |KeyZ|, | Respectively zoom by a 2 factor and *unzoom* |
|
||||
| | |KeyM| | by a 2 factor |
|
||||
| +-------------------+-----------------------------------------------------------+
|
||||
| | | |BigMouse| | You can perform a zoom to an area. |
|
||||
| | | Area Zoom | Define the zoom area by *holding down the left |
|
||||
|
@ -1188,52 +1306,51 @@ The main application binary is |cgt|.
|
|||
| | | right mouse button* while moving the mouse. |
|
||||
| +-------------------+-----------------------------------------------------------+
|
||||
| | | |BigMouse| | You can toggle the selection of one object under |
|
||||
| | | Toggle Selection| the mouse position by pressing |key_CTRL| and |
|
||||
| | | Toggle Selection| the mouse position by pressing |CTRL| and |
|
||||
| | | pressing down *the right mouse button*. A popup |
|
||||
| | | list of what's under the position shows up into |
|
||||
| | | which you can toggle the selection state of one |
|
||||
| | | item. |
|
||||
| +-------------------+-----------------------------------------------------------+
|
||||
| | |Key_S| | Toggle the selection visibility |
|
||||
| | |KeyCapS| | Toggle the selection visibility |
|
||||
+---------------+-------------------+-----------------------------------------------------------+
|
||||
| **Controller**| |Key_CTRL| | Show/hide the controller window. |
|
||||
| | |Plus| |Key_i| | |
|
||||
| **Controller**| |CTRL_I| | Show/hide the controller window. |
|
||||
| | | |
|
||||
| | | It's the Swiss Army Knife of the viewer. |
|
||||
| | | From it, you can fine-control the display and |
|
||||
| | | inspect almost everything in your design. |
|
||||
+---------------+-------------------+-----------------------------------------------------------+
|
||||
| **Rulers** | |Key_k|, | One stroke on |Key_k| enters the ruler mode, in |
|
||||
| | |Key_ESC| | which you can draw one ruler. You can exit the |
|
||||
| | | ruler mode by pressing |Key_ESC|. Once in ruler |
|
||||
| **Rulers** | |KeyK|, | One stroke on |KeyK| enters the ruler mode, in |
|
||||
| | |KeyESC| | which you can draw one ruler. You can exit the |
|
||||
| | | ruler mode by pressing |KeyESC|. Once in ruler |
|
||||
| | | mode, the first click on the *left mouse button* |
|
||||
| | | sets the ruler's starting point and the second |
|
||||
| | | click the ruler's end point. The second click |
|
||||
| | | exits automatically the ruler mode. |
|
||||
| +-------------------+-----------------------------------------------------------+
|
||||
| | |Key_K| | Clears all the drawn rulers |
|
||||
| | |KeyCapK| | Clears all the drawn rulers |
|
||||
+---------------+-------------------+-----------------------------------------------------------+
|
||||
| **Print** | |Key_CTRL| | Currently rather crude. It's a direct copy of |
|
||||
| | |Plus| |Key_p| | what's displayed in pixels. So the resulting |
|
||||
| **Print** | |CTRL_P| | Currently rather crude. It's a direct copy of |
|
||||
| | | what's displayed in pixels. So the resulting |
|
||||
| | | picture will be a little blurred due to |
|
||||
| | | anti-aliasing mechanism. |
|
||||
+---------------+-------------------+-----------------------------------------------------------+
|
||||
| **Open/Close**| |Key_CTRL| | Opens a new design. The design name must be |
|
||||
| | |Plus| |Key_o| | given without path or extention. |
|
||||
| **Open/Close**| |CTRL_O| | Opens a new design. The design name must be |
|
||||
| | | given without path or extention. |
|
||||
| +-------------------+-----------------------------------------------------------+
|
||||
| | |Key_CTRL| | Close the current viewer window, but do not quit |
|
||||
| | |Plus| |Key_w| | the application. |
|
||||
| | |CTRL_W| | Close the current viewer window, but do not quit |
|
||||
| | | the application. |
|
||||
| +-------------------+-----------------------------------------------------------+
|
||||
| | |Key_CTRL| | `CTRL+Q` quit the application |
|
||||
| | |Plus| |Key_q| | (closing all windows). |
|
||||
| | |CTRL_Q| | `CTRL+Q` quit the application |
|
||||
| | | (closing all windows). |
|
||||
+---------------+-------------------+-----------------------------------------------------------+
|
||||
| **Hierarchy** | |Key_CTRL| |Plus| | Go one hierarchy level down. That is, if there |
|
||||
| | |Key_Down| | is an *instance* under the cursor position, load |
|
||||
| **Hierarchy** | |CTRL_Down| | Go one hierarchy level down. That is, if there |
|
||||
| | | is an *instance* under the cursor position, load |
|
||||
| | | it's *model* Cell in place of the current one. |
|
||||
| +-------------------+-----------------------------------------------------------+
|
||||
| | |Key_CTRL| |Plus| | Go one hierarchy level up. if we have entered |
|
||||
| | |Key_Up| | the current model through |Key_CTRL| |Plus| |
|
||||
| | | |Key_Down|, reload the previous model (the one |
|
||||
| | |CTRL_Up| | Go one hierarchy level up. if we have entered |
|
||||
| | | the current model through |CTRL_Down| |
|
||||
| | | reload the previous model (the one |
|
||||
| | | in which this model is instanciated). |
|
||||
+---------------+-------------------+-----------------------------------------------------------+
|
||||
|
||||
|
@ -1348,6 +1465,9 @@ Miscellaneous Settings
|
|||
| | To generate one set this flag to :cb:`True` |
|
||||
+---------------------------------------+------------------+----------------------------+
|
||||
|
||||
|newpage|
|
||||
|
||||
|
||||
.. _The Controller:
|
||||
|
||||
The Controller
|
||||
|
@ -1579,11 +1699,249 @@ This typical script can be executed in two ways:
|
|||
+----------------------+-----------------------------------------------+
|
||||
|
||||
|
||||
Plugins
|
||||
=======
|
||||
|
||||
Plugins are |Python| scripts specially crafted to integrate with |cgt|.
|
||||
Their entry point is a :cb:`ScriptMain()` method as described in
|
||||
`Python Interface to Coriolis`_. They can be called by user scripts
|
||||
through this method.
|
||||
|
||||
|
||||
|
||||
Chip Placement
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
Automatically perform the placement of a complete chip. This plugin, as well
|
||||
as the other P&R tools expect a specific top-level hierarchy for the design.
|
||||
The top-level hierarchy must contains the instances of all the I/O pads and
|
||||
**exactly one** instance of the chip's core model.
|
||||
|
||||
|ChipStructure-1|
|
||||
|
||||
The designer must provide a configuration file that define the rules for the
|
||||
placement of the top-level hierarchy (that is, the pads and the core).
|
||||
This file must be named after the chip's name, by appending ``_chip.py``
|
||||
(obviously, it is a |Python| file). For instance if the chip netlist file
|
||||
is called ``amd2901_crl.vst``, then the configuration file must be named
|
||||
``amd2901_crl_chip.vst``.
|
||||
|
||||
Example of chip placement configuration file (for ``AM2901``): ::
|
||||
|
||||
chip = \
|
||||
{ 'pads.south' : [ 'p_a3' , 'p_a2' , 'p_a1' , 'p_r0'
|
||||
, 'p_vddick0', 'p_vssick0', 'p_a0' , 'p_i6'
|
||||
, 'p_i8' , 'p_i7' , 'p_r3' ]
|
||||
, 'pads.east' : [ 'p_zero' , 'p_i0' , 'p_i1' , 'p_i2'
|
||||
, 'p_vddeck0', 'p_vsseck0', 'p_q3' , 'p_b0'
|
||||
, 'p_b1' , 'p_b2' , 'p_b3' ]
|
||||
, 'pads.north' : [ 'p_noe' , 'p_y3' , 'p_y2' , 'p_y1'
|
||||
, 'p_y0' , 'p_vddeck1', 'p_vsseck1', 'p_np'
|
||||
, 'p_ovr' , 'p_cout' , 'p_ng' ]
|
||||
, 'pads.west' : [ 'p_cin' , 'p_i4' , 'p_i5' , 'p_i3'
|
||||
, 'p_ck' , 'p_d0' , 'p_d1' , 'p_d2'
|
||||
, 'p_d3' , 'p_q0' , 'p_f3' ]
|
||||
, 'core.size' : ( 1500, 1500 )
|
||||
, 'chip.size' : ( 3000, 3000 )
|
||||
, 'chip.clockTree' : True
|
||||
}
|
||||
|
||||
The file must contain *one dictionnary* named ``chip``.
|
||||
|
||||
+----------------------+-------------------------------------------------------+
|
||||
| Chip Dictionnary |
|
||||
+----------------------+-------------------------------------------------------+
|
||||
| Parameter Key/Name | Value/Contents type |
|
||||
+======================+=======================================================+
|
||||
| ``'pad.south'`` | Ordered list (left to right) of pad instances names |
|
||||
| | to put on the south side of the chip |
|
||||
+----------------------+-------------------------------------------------------+
|
||||
| ``'pad.east'`` | Ordered list (down to up) of pad instances names |
|
||||
| | to put on the east side of the chip |
|
||||
+----------------------+-------------------------------------------------------+
|
||||
| ``'pad.north'`` | Ordered list (left to right) of pad instances names |
|
||||
| | to put on the north side of the chip |
|
||||
+----------------------+-------------------------------------------------------+
|
||||
| ``'pad.west'`` | Ordered list (down to up) of pad instances names |
|
||||
| | to put on the west side of the chip |
|
||||
+----------------------+-------------------------------------------------------+
|
||||
| ``'core.size'`` | The size of the core (to be used by the placer) |
|
||||
+----------------------+-------------------------------------------------------+
|
||||
| ``'chip.size'`` | The size of the whole chip. The sides must be great |
|
||||
| | enough to accomodate all the pads |
|
||||
+----------------------+-------------------------------------------------------+
|
||||
| ``'chip.clockTree'`` | Whether to generate a clock tree or not. This calls |
|
||||
| | the ClockTree plugin |
|
||||
+----------------------+-------------------------------------------------------+
|
||||
|
||||
Configuration parameters, defaults are defined in ``etc/coriolis2/<STECHNO>/plugins.conf``.
|
||||
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
| Parameter Identifier | Type | Default |
|
||||
+===================================+==================+============================+
|
||||
| **Chip Plugin Parameters** |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
|``chip.block.rails.count`` | TypeInt | :cb:`5` |
|
||||
| +------------------+----------------------------+
|
||||
| | The minimum number of rails around the core |
|
||||
| | block. Must be odd and suppérior to 5. |
|
||||
| | One rail for the clock and at least two pairs |
|
||||
| | of power/grounds |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
|``chip.block.rails.hWidth`` | TypeInt | :cb:`12` |
|
||||
| +------------------+----------------------------+
|
||||
| | The horizontal with of the rails |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
|``chip.block.rails.vWidth`` | TypeInt | :cb:`12` |
|
||||
| +------------------+----------------------------+
|
||||
| | The vertical with of the rails |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
|``chip.block.rails.hSpacing`` | TypeInt | :cb:`6` |
|
||||
| +------------------+----------------------------+
|
||||
| | The spacing, *edge to edge* of two adjacent |
|
||||
| | horizontal rails |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
|``chip.block.rails.vSpacing`` | TypeInt | :cb:`6` |
|
||||
| +------------------+----------------------------+
|
||||
| | The spacing, *edge to edge* of two adjacent |
|
||||
| | vertical rails |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
|``chip.pad.pck`` | TypeString | :cb:`pck_px` |
|
||||
| +------------------+----------------------------+
|
||||
| | The model name of the pad connected to the |
|
||||
| | chip external clock |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
|``chip.pad.pvddeck`` | TypeString | :cb:`pvddeck_px` |
|
||||
| +------------------+----------------------------+
|
||||
| | The model name of the pad connected to the |
|
||||
| | ``vdde`` (external power) and suppling it to |
|
||||
| | the core |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
|``chip.pad.pvsseck`` | TypeString | :cb:`pvsseck_px` |
|
||||
| +------------------+----------------------------+
|
||||
| | The model name of the pad connected to the |
|
||||
| | ``vsse`` (external ground) and suppling it to |
|
||||
| | the core |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
|``chip.pad.pvddick`` | TypeString | :cb:`pvddick_px` |
|
||||
| +------------------+----------------------------+
|
||||
| | The model name of the pad connected to the |
|
||||
| | ``vddi`` (internal power) and suppling it to |
|
||||
| | the core |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
|``chip.pad.pvssick`` | TypeString | :cb:`pvssick_px` |
|
||||
| +------------------+----------------------------+
|
||||
| | The model name of the pad connected to the |
|
||||
| | ``vssi`` (internal ground) and suppling it to |
|
||||
| | the core |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
|
||||
.. note::
|
||||
If no clock tree is generated, then the clock rail is *not* created.
|
||||
So even if the requested number of rails ``chip.block.rails.count`` is, say 5,
|
||||
only four rails (2* ``power``, 2* ``ground``) will be generateds.
|
||||
|
||||
|
||||
Clock Tree
|
||||
~~~~~~~~~~
|
||||
|
||||
Insert a clock tree into a block. The clock tree uses the H strategy.
|
||||
The clock net is splitted into sub-nets, one for each branch of the
|
||||
tree.
|
||||
|
||||
* On **chips** design, the sub-nets are createds in the model of the
|
||||
core block (then trans-hierarchically flattened to be shown at
|
||||
chip level).
|
||||
* On **blocks**, the sub nets are created directly in the top block.
|
||||
* The sub-nets are named according to a simple geometrical scheme.
|
||||
A common prefix ``ck_htree``, then one postfix by level telling
|
||||
on which quarter of plane the sub-clock is located:
|
||||
|
||||
#. ``_bl``: bottom left plane quarter.
|
||||
#. ``_br``: bottom right plane quarter.
|
||||
#. ``_tl``: top left plane quarter.
|
||||
#. ``_tr``: top right plane quarter.
|
||||
|
||||
We can have ``ck_htree_bl``, ``ck_htree_bl_bl``, ``ch_htree_bl_tl`` and so on.
|
||||
|
||||
The clock tree plugin works in four steps:
|
||||
|
||||
#. Build the clock tree: creates the top-block abutment box, compute the
|
||||
levels of H tree neededs and place the clock buffers.
|
||||
#. Once the clock buffers are placed, calls the placer (|etesian|) to place
|
||||
the ordinary standart cells, whithout disturbing clock H-tree buffers.
|
||||
#. At this point we know the exact positions of all the DFFs, so we can
|
||||
connect them to the nearest H-tree leaf clock signal.
|
||||
#. Leaf clock signals that are not connecteds to any DFFs are removed.
|
||||
|
||||
Netlist reorganisation:
|
||||
|
||||
* Obviously the top block or chip core model netlist is modificated to
|
||||
contains all the clock sub-nets. The interface is *not* changed.
|
||||
* If the top block contains instances of other models *and* those models
|
||||
contains DFFs that get re-connecteds to the clock sub-nets (from the
|
||||
top level). Change both the model netlist and interface to propagate
|
||||
the relevant clock sub-nets to the instanciated model. The new model
|
||||
with the added clock signal is renamed with a ``_clocked`` suffix.
|
||||
For example, the sub-block model ``ram.vst`` will become ``ram_clocked.vst``.
|
||||
|
||||
.. note::
|
||||
If you are to re-run the clock tree plugin on a netlist, be careful
|
||||
to erase any previously generated ``_clocked`` file (both netlist and
|
||||
layout: ``rm *.clocked.{ap,vst}``). And restart |cgt| to clear it's
|
||||
memory cache.
|
||||
|
||||
Configuration parameters, defaults are defined in ``etc/coriolis2/<STECHNO>/plugins.conf``.
|
||||
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
| Parameter Identifier | Type | Default |
|
||||
+===================================+==================+============================+
|
||||
| **ClockTree Plugin Parameters** |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
|``clockTree.minimumSide`` | TypeInt | :cb:`300` |
|
||||
| +------------------+----------------------------+
|
||||
| | The minimum size below which the clock tree |
|
||||
| | will stop to perform quadri-partitions |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
|``clockTree.buffer`` | TypeString | :cb:`buf_x2` |
|
||||
| +------------------+----------------------------+
|
||||
| | The buffer model to use to drive sub-nets |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
|``clockTree.placerEngine`` | TypeString | :cb:`Etesian` |
|
||||
| +------------------+----------------------------+
|
||||
| | The placer to use. Other value is ``Mauka`` |
|
||||
| | the simulated annealing placer which will go |
|
||||
| | into retirement very soon |
|
||||
+-----------------------------------+------------------+----------------------------+
|
||||
|
||||
|
||||
Recursive-Save (RSave)
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Perform a recursive top down save of all the models from the top cell
|
||||
loaded in |cgt|. Force a write of any non-terminal model. This plugin is used
|
||||
by the clock tree plugin after the netlist clock sub-nets creation.
|
||||
|
||||
|
||||
A Simple Example: AM2901
|
||||
========================
|
||||
|
||||
To illustrate the capabilities of |Coriolis| tools and |Python| scripting, a small
|
||||
example, derived from the |Alliance| :cb:`AM2901` is supplied.
|
||||
|
||||
This example contains only the synthetized netlists and the :cb:`design.py` script
|
||||
which perform the whole P&R of the design. Just lanch |cgt| then execute :cb:`design.py`.
|
||||
This example contains only the synthetized netlists and the :cb:`doChip.py` script
|
||||
which perform the whole P&R of the design.
|
||||
|
||||
You can generate the chip using one of the following method:
|
||||
|
||||
#. **Command line mode:** directly run the script: ::
|
||||
|
||||
dummy@lepka:AM2901$ ./doChip -V --cell=amd2901
|
||||
|
||||
#. **Graphic mode:** launch |cgt|, load chip netlist ``amd2901`` (the top cell)
|
||||
then run the |Python| script :cb:`doChip.py`.
|
||||
|
||||
.. note::
|
||||
Between two consecutive run, be sure to erase the netlist/layout generateds: ::
|
||||
|
||||
dummy@lepka:AM2901$ rm *_clocked*.vst *.ap
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%!PS-Adobe-3.0 EPSF-3.0
|
||||
%%Title: Coriolis-Soft-Schema.fig
|
||||
%%Creator: fig2dev Version 3.2 Patchlevel 5
|
||||
%%CreationDate: Sun Jun 29 14:12:01 2014
|
||||
%%Creator: fig2dev Version 3.2 Patchlevel 5d
|
||||
%%CreationDate: Sat Feb 28 17:31:06 2015
|
||||
%%For: jpc@lepka (Jean-Paul Chaput)
|
||||
%%BoundingBox: 0 0 492 478
|
||||
%Magnification: 0.8000
|
||||
%%BoundingBox: 0 0 433 420
|
||||
%Magnification: 0.7000
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
/MyAppDict 100 dict dup begin def
|
||||
/$F2psDict 200 dict def
|
||||
$F2psDict begin
|
||||
|
@ -45,10 +46,6 @@ $F2psDict /mtrx matrix put
|
|||
/col31 {1.000 0.840 0.000 srgb} bind def
|
||||
|
||||
end
|
||||
save
|
||||
newpath 0 478 moveto 0 0 lineto 492 0 lineto 492 478 lineto closepath clip newpath
|
||||
-200.5 418.7 translate
|
||||
1 -1 scale
|
||||
|
||||
% left30
|
||||
<<
|
||||
|
@ -108,10 +105,22 @@ makepattern
|
|||
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
|
||||
/$F2psEnd {$F2psEnteredState restore end} def
|
||||
|
||||
/pageheader {
|
||||
save
|
||||
newpath 0 420 moveto 0 0 lineto 433 0 lineto 433 420 lineto closepath clip newpath
|
||||
-174.6 367.2 translate
|
||||
1 -1 scale
|
||||
$F2psBegin
|
||||
10 setmiterlimit
|
||||
0 slj 0 slc
|
||||
0.04800 0.04800 sc
|
||||
0.04200 0.04200 sc
|
||||
} bind def
|
||||
/pagefooter {
|
||||
$F2psEnd
|
||||
restore
|
||||
} bind def
|
||||
%%EndProlog
|
||||
pageheader
|
||||
%
|
||||
% Fig objects follow
|
||||
%
|
||||
|
@ -140,24 +149,6 @@ n 5100 600 m
|
|||
n 5160 -27 m 5100 -267 l 5040 -27 l 5160 -27 l cp gs col21 1.00 shd ef gr col21 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
5010 3572 m 5010 3285 l 4890 3285 l 4890 3572 l 4890 3572 l 4950 3332 l 5010 3572 l cp
|
||||
eoclip
|
||||
n 4950 7800 m
|
||||
4950 3300 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 5010 3572 m 4950 3332 l 4890 3572 l 5010 3572 l cp gs 0.00 setgray ef gr col0 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
5160 1772 m 5160 1485 l 5040 1485 l 5040 1772 l 5040 1772 l 5100 1532 l 5160 1772 l cp
|
||||
eoclip
|
||||
n 5100 7800 m
|
||||
5100 1500 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 5160 1772 m 5100 1532 l 5040 1772 l 5160 1772 l cp gs 0.00 setgray ef gr col0 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
5460 5372 m 5460 5085 l 5340 5085 l 5340 5372 l 5340 5372 l 5400 5132 l 5460 5372 l cp
|
||||
eoclip
|
||||
n 5400 6000 m
|
||||
|
@ -176,24 +167,6 @@ n 5550 6000 m
|
|||
n 5610 3572 m 5550 3332 l 5490 3572 l 5610 3572 l cp gs col8 1.00 shd ef gr col8 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
5760 1772 m 5760 1485 l 5640 1485 l 5640 1772 l 5640 1772 l 5700 1532 l 5760 1772 l cp
|
||||
eoclip
|
||||
n 5700 6000 m
|
||||
5700 1500 l gs col8 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 5760 1772 m 5700 1532 l 5640 1772 l 5760 1772 l cp gs col8 1.00 shd ef gr col8 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
5910 -27 m 5910 -315 l 5790 -315 l 5790 -27 l 5790 -27 l 5850 -267 l 5910 -27 l cp
|
||||
eoclip
|
||||
n 5850 6000 m
|
||||
5850 -300 l gs col8 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 5910 -27 m 5850 -267 l 5790 -27 l 5910 -27 l cp gs col8 1.00 shd ef gr col8 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
4860 5372 m 4860 5085 l 4740 5085 l 4740 5372 l 4740 5372 l 4800 5132 l 4860 5372 l cp
|
||||
eoclip
|
||||
n 4800 7800 m
|
||||
|
@ -300,23 +273,94 @@ n 14100 4800 m
|
|||
|
||||
% arrowhead
|
||||
n 14160 872 m 14100 632 l 14040 872 l 14160 872 l cp gs col18 1.00 shd ef gr col18 s
|
||||
% Polyline
|
||||
45.000 slw
|
||||
n 13800 4800 m 14400 4800 l 14400 6600 l 13800 6600 l
|
||||
cp gs col18 0.50 tnt ef gr gs col18 s gr
|
||||
% Polyline
|
||||
15.000 slw
|
||||
gs clippath
|
||||
5910 -27 m 5910 -315 l 5790 -315 l 5790 -27 l 5790 -27 l 5850 -267 l 5910 -27 l cp
|
||||
eoclip
|
||||
n 5850 6000 m
|
||||
5850 -300 l gs col8 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 5910 -27 m 5850 -267 l 5790 -27 l 5910 -27 l cp gs col8 1.00 shd ef gr col8 s
|
||||
% Polyline
|
||||
45.000 slw
|
||||
n 13200 1800 m 13800 1800 l 13800 3600 l 13200 3600 l
|
||||
cp gs col18 0.50 tnt ef gr gs col18 s gr
|
||||
% Polyline
|
||||
15.000 slw
|
||||
gs clippath
|
||||
5760 1772 m 5760 1485 l 5640 1485 l 5640 1772 l 5640 1772 l 5700 1532 l 5760 1772 l cp
|
||||
eoclip
|
||||
n 5700 6000 m
|
||||
5700 1500 l gs col8 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 5760 1772 m 5700 1532 l 5640 1772 l 5760 1772 l cp gs col8 1.00 shd ef gr col8 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
5010 3572 m 5010 3285 l 4890 3285 l 4890 3572 l 4890 3572 l 4950 3332 l 5010 3572 l cp
|
||||
eoclip
|
||||
n 4950 7800 m
|
||||
4950 3300 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 5010 3572 m 4950 3332 l 4890 3572 l 5010 3572 l cp gs 0.00 setgray ef gr col0 s
|
||||
% Polyline
|
||||
45.000 slw
|
||||
n 12600 -1200 m 14400 -1200 l 14400 600 l 12600 600 l
|
||||
cp gs col18 0.50 tnt ef gr gs col18 s gr
|
||||
% Polyline
|
||||
15.000 slw
|
||||
gs clippath
|
||||
5160 1772 m 5160 1485 l 5040 1485 l 5040 1772 l 5040 1772 l 5100 1532 l 5160 1772 l cp
|
||||
eoclip
|
||||
n 5100 7800 m
|
||||
5100 1500 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 5160 1772 m 5100 1532 l 5040 1772 l 5160 1772 l cp gs 0.00 setgray ef gr col0 s
|
||||
% here ends figure;
|
||||
%
|
||||
% here starts figure with depth 60
|
||||
% Polyline
|
||||
0 slj
|
||||
0 slc
|
||||
15.000 slw
|
||||
n 4200 7800 m 9000 7800 l 9000 8700 l 4200 8700 l
|
||||
cp gs col7 1.00 shd ef gr gs col0 s gr
|
||||
45.000 slw
|
||||
n 9000 6000 m 10800 6000 l 10800 6900 l 9000 6900 l
|
||||
cp
|
||||
% Fill with pattern background color
|
||||
gs /DeviceRGB setcolorspace 0.00 0.00 0.56 setcolor fill gr
|
||||
|
||||
% Fill with pattern pen color
|
||||
gs /DeviceRGB setcolorspace 0.00 0.00 0.56 P1 setpattern fill gr
|
||||
|
||||
gs col8 s gr
|
||||
% Polyline
|
||||
n 9000 7800 m 10800 7800 l 10800 8700 l 9000 8700 l
|
||||
cp gs col7 0.00 shd ef gr gs col0 s gr
|
||||
n 4200 6000 m 9000 6000 l 9000 6900 l 4200 6900 l
|
||||
cp gs col7 1.00 shd ef gr gs col8 s gr
|
||||
% Polyline
|
||||
n 4200 4200 m 6000 4200 l 6000 5100 l 4200 5100 l
|
||||
n 9000 -1200 m 10800 -1200 l 10800 -300 l 9000 -300 l
|
||||
cp
|
||||
% Fill with pattern background color
|
||||
gs /DeviceRGB setcolorspace 0.56 0.00 0.56 setcolor fill gr
|
||||
|
||||
% Fill with pattern pen color
|
||||
gs /DeviceRGB setcolorspace 0.56 0.00 0.56 P1 setpattern fill gr
|
||||
|
||||
gs col21 s gr
|
||||
% Polyline
|
||||
n 4200 -1200 m 9000 -1200 l 9000 -300 l 4200 -300 l
|
||||
cp gs col7 1.00 shd ef gr gs col21 s gr
|
||||
% Polyline
|
||||
n 6000 4200 m 7800 4200 l 7800 5100 l 6000 5100 l
|
||||
n 4800 600 m 6600 600 l 6600 1500 l 4800 1500 l
|
||||
cp gs col7 1.00 shd ef gr gs col21 s gr
|
||||
% Polyline
|
||||
n 6600 600 m 8400 600 l 8400 1500 l 6600 1500 l
|
||||
cp
|
||||
% Fill with pattern background color
|
||||
gs /DeviceRGB setcolorspace 0.56 0.00 0.56 setcolor fill gr
|
||||
|
@ -339,10 +383,10 @@ gs /DeviceRGB setcolorspace 0.56 0.00 0.56 P1 setpattern fill gr
|
|||
|
||||
gs col21 s gr
|
||||
% Polyline
|
||||
n 4800 600 m 6600 600 l 6600 1500 l 4800 1500 l
|
||||
n 4200 4200 m 6000 4200 l 6000 5100 l 4200 5100 l
|
||||
cp gs col7 1.00 shd ef gr gs col21 s gr
|
||||
% Polyline
|
||||
n 6600 600 m 8400 600 l 8400 1500 l 6600 1500 l
|
||||
n 6000 4200 m 7800 4200 l 7800 5100 l 6000 5100 l
|
||||
cp
|
||||
% Fill with pattern background color
|
||||
gs /DeviceRGB setcolorspace 0.56 0.00 0.56 setcolor fill gr
|
||||
|
@ -352,98 +396,68 @@ gs /DeviceRGB setcolorspace 0.56 0.00 0.56 P1 setpattern fill gr
|
|||
|
||||
gs col21 s gr
|
||||
% Polyline
|
||||
n 9000 -1200 m 10800 -1200 l 10800 -300 l 9000 -300 l
|
||||
cp
|
||||
% Fill with pattern background color
|
||||
gs /DeviceRGB setcolorspace 0.56 0.00 0.56 setcolor fill gr
|
||||
|
||||
% Fill with pattern pen color
|
||||
gs /DeviceRGB setcolorspace 0.56 0.00 0.56 P1 setpattern fill gr
|
||||
|
||||
gs col21 s gr
|
||||
n 4200 7800 m 9000 7800 l 9000 8700 l 4200 8700 l
|
||||
cp gs col7 1.00 shd ef gr gs col0 s gr
|
||||
% Polyline
|
||||
n 4200 -1200 m 9000 -1200 l 9000 -300 l 4200 -300 l
|
||||
cp gs col7 1.00 shd ef gr gs col21 s gr
|
||||
% Polyline
|
||||
n 13200 1800 m 13800 1800 l 13800 3600 l 13200 3600 l
|
||||
cp gs col7 1.00 shd ef gr gs col18 s gr
|
||||
% Polyline
|
||||
n 13800 4800 m 14400 4800 l 14400 6600 l 13800 6600 l
|
||||
cp gs col7 1.00 shd ef gr gs col18 s gr
|
||||
% Polyline
|
||||
n 9000 6000 m 10800 6000 l 10800 6900 l 9000 6900 l
|
||||
cp
|
||||
% Fill with pattern background color
|
||||
gs /DeviceRGB setcolorspace 0.00 0.00 0.56 setcolor fill gr
|
||||
|
||||
% Fill with pattern pen color
|
||||
gs /DeviceRGB setcolorspace 0.00 0.00 0.56 P1 setpattern fill gr
|
||||
|
||||
gs col8 s gr
|
||||
% Polyline
|
||||
n 4200 6000 m 9000 6000 l 9000 6900 l 4200 6900 l
|
||||
cp gs col7 1.00 shd ef gr gs col8 s gr
|
||||
n 9000 7800 m 10800 7800 l 10800 8700 l 9000 8700 l
|
||||
cp gs col7 0.00 shd ef gr gs col0 s gr
|
||||
% Polyline
|
||||
n 11700 -1200 m 12600 -1200 l 12600 8700 l 11700 8700 l
|
||||
cp gs col7 1.00 shd ef gr gs col18 s gr
|
||||
% Polyline
|
||||
n 12600 -1200 m 14400 -1200 l 14400 600 l 12600 600 l
|
||||
cp gs col18 1.00 shd ef gr gs col18 s gr
|
||||
% here ends figure;
|
||||
%
|
||||
% here starts figure with depth 50
|
||||
/Times-Bold ff 400.00 scf sf
|
||||
6600 8400 m
|
||||
gs 1 -1 sc (Hurricane) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Times-Bold ff 300.00 scf sf
|
||||
9900 8400 m
|
||||
gs 1 -1 sc (Isobar) dup sw pop 2 div neg 0 rm col7 sh gr
|
||||
/Times-Bold ff 300.00 scf sf
|
||||
6900 4800 m
|
||||
gs 1 -1 sc (PyMauka) dup sw pop 2 div neg 0 rm col7 sh gr
|
||||
/Times-Bold ff 400.00 scf sf
|
||||
5100 4800 m
|
||||
gs 1 -1 sc (Mauka) dup sw pop 2 div neg 0 rm col21 sh gr
|
||||
/Times-Bold ff 400.00 scf sf
|
||||
5700 3000 m
|
||||
gs 1 -1 sc (Knik) dup sw pop 2 div neg 0 rm col21 sh gr
|
||||
/Times-Bold ff 300.00 scf sf
|
||||
7500 3000 m
|
||||
gs 1 -1 sc (PyKnik) dup sw pop 2 div neg 0 rm col7 sh gr
|
||||
/Times-Bold ff 400.00 scf sf
|
||||
5700 1200 m
|
||||
gs 1 -1 sc (Kite) dup sw pop 2 div neg 0 rm col21 sh gr
|
||||
/Times-Bold ff 300.00 scf sf
|
||||
7500 1200 m
|
||||
gs 1 -1 sc (PyKite) dup sw pop 2 div neg 0 rm col7 sh gr
|
||||
/Times-Bold ff 300.00 scf sf
|
||||
9900 -600 m
|
||||
gs 1 -1 sc (PyUnicorn) dup sw pop 2 div neg 0 rm col7 sh gr
|
||||
/Times-Bold ff 400.00 scf sf
|
||||
6600 -600 m
|
||||
gs 1 -1 sc (Unicorn) dup sw pop 2 div neg 0 rm col21 sh gr
|
||||
/Times-Bold ff 400.00 scf sf
|
||||
13650 2700 m
|
||||
gs 1 -1 sc 90.0 rot (Stratus) dup sw pop 2 div neg 0 rm col18 sh gr
|
||||
/Times-Bold ff 400.00 scf sf
|
||||
14250 5700 m
|
||||
gs 1 -1 sc 90.0 rot (Plugin) dup sw pop 2 div neg 0 rm col18 sh gr
|
||||
/Times-Bold ff 400.00 scf sf
|
||||
/Helvetica-Bold ff 400.00 scf sf
|
||||
6600 6600 m
|
||||
gs 1 -1 sc (CRL Core) dup sw pop 2 div neg 0 rm col8 sh gr
|
||||
/Times-Bold ff 300.00 scf sf
|
||||
/Helvetica-Bold ff 300.00 scf sf
|
||||
9975 6600 m
|
||||
gs 1 -1 sc (PyCRL) dup sw pop 2 div neg 0 rm col7 sh gr
|
||||
/Times-Bold ff 533.33 scf sf
|
||||
12375 3150 m
|
||||
gs 1 -1 sc 90.0 rot (Python) dup sw pop 2 div neg 0 rm col18 sh gr
|
||||
/Times-Bold ff 533.33 scf sf
|
||||
/Helvetica-Bold ff 533.33 scf sf
|
||||
13650 -300 m
|
||||
gs 1 -1 sc 90.0 rot (cgt) dup sw pop 2 div neg 0 rm col7 sh gr
|
||||
/Helvetica-Bold ff 300.00 scf sf
|
||||
9900 -600 m
|
||||
gs 1 -1 sc (PyUnicorn) dup sw pop 2 div neg 0 rm col7 sh gr
|
||||
/Helvetica-Bold ff 400.00 scf sf
|
||||
6600 -600 m
|
||||
gs 1 -1 sc (Unicorn) dup sw pop 2 div neg 0 rm col21 sh gr
|
||||
/Helvetica-Bold ff 400.00 scf sf
|
||||
5700 1200 m
|
||||
gs 1 -1 sc (Kite) dup sw pop 2 div neg 0 rm col21 sh gr
|
||||
/Helvetica-Bold ff 300.00 scf sf
|
||||
7500 1200 m
|
||||
gs 1 -1 sc (PyKite) dup sw pop 2 div neg 0 rm col7 sh gr
|
||||
/Helvetica-Bold ff 400.00 scf sf
|
||||
5700 3000 m
|
||||
gs 1 -1 sc (Knik) dup sw pop 2 div neg 0 rm col21 sh gr
|
||||
/Helvetica-Bold ff 300.00 scf sf
|
||||
7500 3000 m
|
||||
gs 1 -1 sc (PyKnik) dup sw pop 2 div neg 0 rm col7 sh gr
|
||||
/Helvetica-Bold ff 300.00 scf sf
|
||||
6900 4800 m
|
||||
gs 1 -1 sc (PyEtesian) dup sw pop 2 div neg 0 rm col7 sh gr
|
||||
/Helvetica-Bold ff 400.00 scf sf
|
||||
5100 4800 m
|
||||
gs 1 -1 sc (Etesian) dup sw pop 2 div neg 0 rm col21 sh gr
|
||||
/Helvetica-Bold ff 533.33 scf sf
|
||||
12375 3600 m
|
||||
gs 1 -1 sc 90.0 rot (Python) dup sw pop 2 div neg 0 rm col7 sh gr
|
||||
/Helvetica-Bold ff 400.00 scf sf
|
||||
13650 2700 m
|
||||
gs 1 -1 sc 90.0 rot (Stratus) dup sw pop 2 div neg 0 rm col7 sh gr
|
||||
/Helvetica-Bold ff 400.00 scf sf
|
||||
14250 5700 m
|
||||
gs 1 -1 sc 90.0 rot (Plugin) dup sw pop 2 div neg 0 rm col7 sh gr
|
||||
/Helvetica-Bold ff 400.00 scf sf
|
||||
6600 8400 m
|
||||
gs 1 -1 sc (Hurricane) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Helvetica-Bold ff 300.00 scf sf
|
||||
9900 8400 m
|
||||
gs 1 -1 sc (Isobar) dup sw pop 2 div neg 0 rm col7 sh gr
|
||||
% here ends figure;
|
||||
$F2psEnd
|
||||
rs
|
||||
end
|
||||
pagefooter
|
||||
showpage
|
||||
%%Trailer
|
||||
end
|
||||
%EOF
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5a
|
||||
#FIG 3.2 Produced by xfig version 3.2.5c
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
|
@ -83,9 +83,6 @@ Single
|
|||
11700 -1200 12600 -1200 12600 8700 11700 8700 11700 -1200
|
||||
2 2 0 4 18 18 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
13800 4800 14400 4800 14400 6600 13800 6600 13800 4800
|
||||
2 1 0 2 0 7 70 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 120.00 240.00
|
||||
5100 7800 5100 1500
|
||||
2 1 0 2 8 7 70 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 120.00 240.00
|
||||
5850 6000 5850 -300
|
||||
|
@ -99,6 +96,9 @@ Single
|
|||
4950 7800 4950 3300
|
||||
2 2 0 4 18 18 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
12600 -1200 14400 -1200 14400 600 12600 600 12600 -1200
|
||||
2 1 0 2 0 7 70 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 120.00 240.00
|
||||
5100 7800 5100 1500
|
||||
4 1 8 50 -1 18 24 0.0000 4 300 1920 6600 6600 CRL Core\001
|
||||
4 1 7 50 -1 18 18 0.0000 4 285 990 9975 6600 PyCRL\001
|
||||
4 1 7 50 -1 18 32 1.5708 4 480 810 13650 -300 cgt\001
|
||||
|
@ -108,8 +108,8 @@ Single
|
|||
4 1 7 50 -1 18 18 0.0000 4 285 945 7500 1200 PyKite\001
|
||||
4 1 21 50 -1 18 24 0.0000 4 300 900 5700 3000 Knik\001
|
||||
4 1 7 50 -1 18 18 0.0000 4 285 1020 7500 3000 PyKnik\001
|
||||
4 1 7 50 -1 18 18 0.0000 4 285 1290 6900 4800 PyMauka\001
|
||||
4 1 21 50 -1 18 24 0.0000 4 300 1275 5100 4800 Mauka\001
|
||||
4 1 7 50 -1 18 18 0.0000 4 285 1425 6900 4800 PyEtesian\001
|
||||
4 1 21 50 -1 18 24 0.0000 4 300 1455 5100 4800 Etesian\001
|
||||
4 1 7 50 -1 18 32 1.5708 4 510 1830 12375 3600 Python\001
|
||||
4 1 7 50 -1 18 24 1.5708 4 300 1410 13650 2700 Stratus\001
|
||||
4 1 7 50 -1 18 24 1.5708 4 390 1275 14250 5700 Plugin\001
|
||||
|
|
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 12 KiB |
|
@ -0,0 +1,544 @@
|
|||
%!PS-Adobe-3.0 EPSF-3.0
|
||||
%%Title: chip-structure-1.fig
|
||||
%%Creator: fig2dev Version 3.2 Patchlevel 5d
|
||||
%%CreationDate: Thu Mar 5 23:52:42 2015
|
||||
%%For: jpc@lepka (Jean-Paul Chaput)
|
||||
%%BoundingBox: 0 0 1018 438
|
||||
%Magnification: 1.0000
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
/$F2psDict 200 dict def
|
||||
$F2psDict begin
|
||||
$F2psDict /mtrx matrix put
|
||||
/col-1 {0 setgray} bind def
|
||||
/col0 {0.000 0.000 0.000 srgb} bind def
|
||||
/col1 {0.000 0.000 1.000 srgb} bind def
|
||||
/col2 {0.000 1.000 0.000 srgb} bind def
|
||||
/col3 {0.000 1.000 1.000 srgb} bind def
|
||||
/col4 {1.000 0.000 0.000 srgb} bind def
|
||||
/col5 {1.000 0.000 1.000 srgb} bind def
|
||||
/col6 {1.000 1.000 0.000 srgb} bind def
|
||||
/col7 {1.000 1.000 1.000 srgb} bind def
|
||||
/col8 {0.000 0.000 0.560 srgb} bind def
|
||||
/col9 {0.000 0.000 0.690 srgb} bind def
|
||||
/col10 {0.000 0.000 0.820 srgb} bind def
|
||||
/col11 {0.530 0.810 1.000 srgb} bind def
|
||||
/col12 {0.000 0.560 0.000 srgb} bind def
|
||||
/col13 {0.000 0.690 0.000 srgb} bind def
|
||||
/col14 {0.000 0.820 0.000 srgb} bind def
|
||||
/col15 {0.000 0.560 0.560 srgb} bind def
|
||||
/col16 {0.000 0.690 0.690 srgb} bind def
|
||||
/col17 {0.000 0.820 0.820 srgb} bind def
|
||||
/col18 {0.560 0.000 0.000 srgb} bind def
|
||||
/col19 {0.690 0.000 0.000 srgb} bind def
|
||||
/col20 {0.820 0.000 0.000 srgb} bind def
|
||||
/col21 {0.560 0.000 0.560 srgb} bind def
|
||||
/col22 {0.690 0.000 0.690 srgb} bind def
|
||||
/col23 {0.820 0.000 0.820 srgb} bind def
|
||||
/col24 {0.500 0.190 0.000 srgb} bind def
|
||||
/col25 {0.630 0.250 0.000 srgb} bind def
|
||||
/col26 {0.750 0.380 0.000 srgb} bind def
|
||||
/col27 {1.000 0.500 0.500 srgb} bind def
|
||||
/col28 {1.000 0.630 0.630 srgb} bind def
|
||||
/col29 {1.000 0.750 0.750 srgb} bind def
|
||||
/col30 {1.000 0.880 0.880 srgb} bind def
|
||||
/col31 {1.000 0.840 0.000 srgb} bind def
|
||||
|
||||
end
|
||||
|
||||
/cp {closepath} bind def
|
||||
/ef {eofill} bind def
|
||||
/gr {grestore} bind def
|
||||
/gs {gsave} bind def
|
||||
/sa {save} bind def
|
||||
/rs {restore} bind def
|
||||
/l {lineto} bind def
|
||||
/m {moveto} bind def
|
||||
/rm {rmoveto} bind def
|
||||
/n {newpath} bind def
|
||||
/s {stroke} bind def
|
||||
/sh {show} bind def
|
||||
/slc {setlinecap} bind def
|
||||
/slj {setlinejoin} bind def
|
||||
/slw {setlinewidth} bind def
|
||||
/srgb {setrgbcolor} bind def
|
||||
/rot {rotate} bind def
|
||||
/sc {scale} bind def
|
||||
/sd {setdash} bind def
|
||||
/ff {findfont} bind def
|
||||
/sf {setfont} bind def
|
||||
/scf {scalefont} bind def
|
||||
/sw {stringwidth} bind def
|
||||
/tr {translate} bind def
|
||||
/tnt {dup dup currentrgbcolor
|
||||
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
|
||||
bind def
|
||||
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
|
||||
4 -2 roll mul srgb} bind def
|
||||
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
|
||||
/$F2psEnd {$F2psEnteredState restore end} def
|
||||
|
||||
/pageheader {
|
||||
save
|
||||
newpath 0 438 moveto 0 0 lineto 1018 0 lineto 1018 438 lineto closepath clip newpath
|
||||
403.1 488.6 translate
|
||||
1 -1 scale
|
||||
$F2psBegin
|
||||
10 setmiterlimit
|
||||
0 slj 0 slc
|
||||
0.06000 0.06000 sc
|
||||
} bind def
|
||||
/pagefooter {
|
||||
$F2psEnd
|
||||
restore
|
||||
} bind def
|
||||
%%EndProlog
|
||||
pageheader
|
||||
%
|
||||
% Fig objects follow
|
||||
%
|
||||
%
|
||||
% here starts figure with depth 70
|
||||
% Polyline
|
||||
0 slj
|
||||
0 slc
|
||||
0.000 slw
|
||||
n 3075 2925 m 3075 2475 l 3525 2475 l 3525 2925 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 4575 975 m 5025 975 l 5025 1425 l 4575 1425 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 5175 975 m 5625 975 l 5625 1425 l 5175 1425 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 5775 975 m 6225 975 l 6225 1425 l 5775 1425 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 6375 975 m 6825 975 l 6825 1425 l 6375 1425 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 6975 975 m 7425 975 l 7425 1425 l 6975 1425 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 7575 975 m 8025 975 l 8025 1425 l 7575 1425 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 8175 975 m 8625 975 l 8625 1425 l 8175 1425 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 3075 3525 m 3075 3075 l 3525 3075 l 3525 3525 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 3075 4125 m 3075 3675 l 3525 3675 l 3525 4125 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 3075 4725 m 3075 4275 l 3525 4275 l 3525 4725 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 3075 5325 m 3075 4875 l 3525 4875 l 3525 5325 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 3075 5925 m 3075 5475 l 3525 5475 l 3525 5925 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 10125 3075 m 10125 3525 l 9675 3525 l 9675 3075 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 10125 3675 m 10125 4125 l 9675 4125 l 9675 3675 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 10125 4275 m 10125 4725 l 9675 4725 l 9675 4275 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 10125 4875 m 10125 5325 l 9675 5325 l 9675 4875 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 10125 5475 m 10125 5925 l 9675 5925 l 9675 5475 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 10125 6075 m 10125 6525 l 9675 6525 l 9675 6075 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 6225 8025 m 5775 8025 l 5775 7575 l 6225 7575 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 6825 8025 m 6375 8025 l 6375 7575 l 6825 7575 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 7425 8025 m 6975 8025 l 6975 7575 l 7425 7575 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 8025 8025 m 7575 8025 l 7575 7575 l 8025 7575 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 5625 8025 m 5175 8025 l 5175 7575 l 5625 7575 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 8625 8025 m 8175 8025 l 8175 7575 l 8625 7575 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 5025 8025 m 4575 8025 l 4575 7575 l 5025 7575 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 10125 2475 m 10125 2925 l 9675 2925 l 9675 2475 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% Polyline
|
||||
n 3075 6525 m 3075 6075 l 3525 6075 l 3525 6525 l
|
||||
cp gs col1 0.50 tnt ef gr
|
||||
% here ends figure;
|
||||
%
|
||||
% here starts figure with depth 60
|
||||
% Polyline
|
||||
0 slj
|
||||
0 slc
|
||||
7.500 slw
|
||||
n 5100 3000 m 8100 3000 l 8100 6000 l 5100 6000 l
|
||||
cp gs 0.50 setgray ef gr gs col0 s gr
|
||||
% here ends figure;
|
||||
%
|
||||
% here starts figure with depth 50
|
||||
% Polyline
|
||||
0 slj
|
||||
0 slc
|
||||
45.000 slw
|
||||
n 3000 3000 m 3000 2400 l 4500 2400 l 4500 3000 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n 4500 900 m 5100 900 l 5100 2400 l 4500 2400 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n 5100 900 m 5700 900 l 5700 2400 l 5100 2400 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n 5700 900 m 6300 900 l 6300 2400 l 5700 2400 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n 6300 900 m 6900 900 l 6900 2400 l 6300 2400 l
|
||||
cp gs col0 s gr
|
||||
/Courier-Bold ff 200.00 scf sf
|
||||
6600 1650 m
|
||||
gs 1 -1 sc 90.0 rot (pvddeck_px) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
% Polyline
|
||||
n 6900 900 m 7500 900 l 7500 2400 l 6900 2400 l
|
||||
cp gs col0 s gr
|
||||
/Courier-Bold ff 200.00 scf sf
|
||||
7200 1650 m
|
||||
gs 1 -1 sc 90.0 rot (pvsseck_px) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
% Polyline
|
||||
n 7500 900 m 8100 900 l 8100 2400 l 7500 2400 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n 8100 900 m 8700 900 l 8700 2400 l 8100 2400 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n 3000 3600 m 3000 3000 l 4500 3000 l 4500 3600 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n 3000 4200 m 3000 3600 l 4500 3600 l 4500 4200 l
|
||||
cp gs col0 s gr
|
||||
/Courier-Bold ff 200.00 scf sf
|
||||
3750 3900 m
|
||||
gs 1 -1 sc 180.0 rot (pvssick_px) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
% Polyline
|
||||
n 3000 4800 m 3000 4200 l 4500 4200 l 4500 4800 l
|
||||
cp gs col0 s gr
|
||||
/Courier-Bold ff 200.00 scf sf
|
||||
3750 4500 m
|
||||
gs 1 -1 sc 180.0 rot (pvddick_px) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
% Polyline
|
||||
n 3000 5400 m 3000 4800 l 4500 4800 l 4500 5400 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n 3000 6000 m 3000 5400 l 4500 5400 l 4500 6000 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n 10200 3000 m 10200 3600 l 8700 3600 l 8700 3000 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n 10200 3600 m 10200 4200 l 8700 4200 l 8700 3600 l
|
||||
cp gs col0 s gr
|
||||
/Courier-Bold ff 200.00 scf sf
|
||||
9450 3900 m
|
||||
gs 1 -1 sc (pvddeck_px) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
% Polyline
|
||||
n 10200 4200 m 10200 4800 l 8700 4800 l 8700 4200 l
|
||||
cp gs col0 s gr
|
||||
/Courier-Bold ff 200.00 scf sf
|
||||
9450 4500 m
|
||||
gs 1 -1 sc (pvsseck_px) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
% Polyline
|
||||
n 10200 4800 m 10200 5400 l 8700 5400 l 8700 4800 l
|
||||
cp gs col0 s gr
|
||||
/Courier-Bold ff 200.00 scf sf
|
||||
9450 5100 m
|
||||
gs 1 -1 sc (pck_px) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
% Polyline
|
||||
n 10200 5400 m 10200 6000 l 8700 6000 l 8700 5400 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n 10200 6000 m 10200 6600 l 8700 6600 l 8700 6000 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n 6300 8100 m 5700 8100 l 5700 6600 l 6300 6600 l
|
||||
cp gs col0 s gr
|
||||
/Courier-Bold ff 200.00 scf sf
|
||||
6000 7350 m
|
||||
gs 1 -1 sc 270.0 rot (pvddick_px) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
% Polyline
|
||||
n 6900 8100 m 6300 8100 l 6300 6600 l 6900 6600 l
|
||||
cp gs col0 s gr
|
||||
/Courier-Bold ff 200.00 scf sf
|
||||
6600 7350 m
|
||||
gs 1 -1 sc 270.0 rot (pvssick_px) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
% Polyline
|
||||
n 7500 8100 m 6900 8100 l 6900 6600 l 7500 6600 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n 8100 8100 m 7500 8100 l 7500 6600 l 8100 6600 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n 5700 8100 m 5100 8100 l 5100 6600 l 5700 6600 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n 8700 8100 m 8100 8100 l 8100 6600 l 8700 6600 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n 5100 8100 m 4500 8100 l 4500 6600 l 5100 6600 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n 10200 2400 m 10200 3000 l 8700 3000 l 8700 2400 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n 3000 6600 m 3000 6000 l 4500 6000 l 4500 6600 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n -1800 4500 m -2400 4500 l -2400 4125 l -2175 3900 l -1200 3900 l -1200 4500 l
|
||||
|
||||
-1800 4500 l cp gs col0 s gr
|
||||
/Helvetica-Bold ff 233.33 scf sf
|
||||
-1800 4275 m
|
||||
gs 1 -1 sc (pck_px) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
% Polyline
|
||||
15.000 slw
|
||||
n -6600 2400 m -5400 2400 l -5400 3000 l -6600 3000 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n -4800 2400 m -3600 2400 l -3600 3000 l -4800 3000 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n -3000 2400 m -1800 2400 l -1800 3000 l -3000 3000 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n -1200 2400 m 0 2400 l 0 3000 l -1200 3000 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
n 600 2400 m 1800 2400 l 1800 3000 l 600 3000 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
45.000 slw
|
||||
n -6000 4500 m -6600 4500 l -6600 4125 l -6375 3900 l -5400 3900 l -5400 4500 l
|
||||
|
||||
-6000 4500 l cp gs col0 s gr
|
||||
% Polyline
|
||||
n -4200 4500 m -4800 4500 l -4800 4125 l -4575 3900 l -3600 3900 l -3600 4500 l
|
||||
|
||||
-4200 4500 l cp gs col0 s gr
|
||||
% Polyline
|
||||
15.000 slw
|
||||
gs clippath
|
||||
-6059 3628 m -6060 3915 l -5940 3915 l -5939 3628 l -5939 3628 l -5999 3868 l -6059 3628 l cp
|
||||
eoclip
|
||||
n -6000 3000 m
|
||||
-6000 3900 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n -6059 3628 m -5999 3868 l -5939 3628 l -6059 3628 l cp gs 0.00 setgray ef gr col0 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
-4259 3628 m -4260 3915 l -4140 3915 l -4139 3628 l -4139 3628 l -4199 3868 l -4259 3628 l cp
|
||||
eoclip
|
||||
n -4200 3000 m
|
||||
-4200 3900 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n -4259 3628 m -4199 3868 l -4139 3628 l -4259 3628 l cp gs 0.00 setgray ef gr col0 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
-3696 3708 m -3943 3856 l -3881 3959 l -3634 3810 l -3634 3810 l -3871 3883 l -3696 3708 l cp
|
||||
eoclip
|
||||
n -2400 3000 m
|
||||
-3900 3900 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n -3696 3708 m -3871 3883 l -3634 3810 l -3696 3708 l cp gs 0.00 setgray ef gr col0 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
-1617 3689 m -1848 3861 l -1776 3957 l -1545 3785 l -1545 3785 l -1773 3881 l -1617 3689 l cp
|
||||
eoclip
|
||||
n -600 3000 m
|
||||
-1800 3900 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n -1617 3689 m -1773 3881 l -1545 3785 l -1617 3689 l cp gs 0.00 setgray ef gr col0 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
1140 3628 m 1140 3915 l 1260 3915 l 1260 3628 l 1260 3628 l 1200 3868 l 1140 3628 l cp
|
||||
eoclip
|
||||
n 1200 3000 m
|
||||
1200 3900 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 1140 3628 m 1200 3868 l 1260 3628 l 1140 3628 l cp gs 0.00 setgray ef gr col0 s
|
||||
% Polyline
|
||||
45.000 slw
|
||||
n -6000 7200 m -6600 7200 l -6600 6825 l -6375 6600 l -5400 6600 l -5400 7200 l
|
||||
|
||||
-6000 7200 l cp gs col0 s gr
|
||||
% Polyline
|
||||
15.000 slw
|
||||
n -6600 7500 m -5400 7500 l -5400 8100 l -6600 8100 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
7.500 slw
|
||||
n 3000 900 m 10200 900 l 10200 8100 l 3000 8100 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
45.000 slw
|
||||
n -2400 3150 m -6675 3150 l -6675 1875 l -6225 1425 l 1875 1425 l 1875 3150 l
|
||||
|
||||
-2400 3150 l cp gs col0 s gr
|
||||
% Polyline
|
||||
n -3300 1425 m -3300 1875 l -1500 1875 l
|
||||
-1500 1425 l gs col0 s gr
|
||||
% Polyline
|
||||
15.000 slw
|
||||
gs clippath
|
||||
-5740 2293 m -6025 2343 l -6004 2461 l -5720 2411 l -5720 2411 l -5967 2394 l -5740 2293 l cp
|
||||
eoclip
|
||||
n -3000 1875 m
|
||||
-6000 2400 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n -5740 2293 m -5967 2394 l -5720 2411 l -5740 2293 l cp gs col7 1.00 shd ef gr col0 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
-3967 2245 m -4235 2349 l -4192 2461 l -3923 2356 l -3923 2356 l -4169 2388 l -3967 2245 l cp
|
||||
eoclip
|
||||
n -2850 1875 m
|
||||
-4200 2400 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n -3967 2245 m -4169 2388 l -3923 2356 l -3967 2245 l cp gs col7 1.00 shd ef gr col0 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
-2459 2128 m -2460 2415 l -2340 2415 l -2339 2128 l -2339 2128 l -2399 2368 l -2459 2128 l cp
|
||||
eoclip
|
||||
n -2400 1875 m
|
||||
-2400 2400 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n -2459 2128 m -2399 2368 l -2339 2128 l -2459 2128 l cp gs col7 1.00 shd ef gr col0 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
-876 2366 m -605 2461 l -566 2348 l -836 2253 l -836 2253 l -630 2389 l -876 2366 l cp
|
||||
eoclip
|
||||
n -2100 1875 m
|
||||
-600 2400 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n -876 2366 m -630 2389 l -836 2253 l -876 2366 l cp gs col7 1.00 shd ef gr col0 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
921 2409 m 1203 2461 l 1225 2343 l 942 2291 l 942 2291 l 1168 2394 l 921 2409 l cp
|
||||
eoclip
|
||||
n -1650 1875 m
|
||||
1200 2400 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 921 2409 m 1168 2394 l 942 2291 l 921 2409 l cp gs col7 1.00 shd ef gr col0 s
|
||||
% Polyline
|
||||
45.000 slw
|
||||
n 1200 5100 m 0 5100 l 0 4275 l 375 3900 l 2400 3900 l 2400 5100 l
|
||||
|
||||
1200 5100 l cp gs col0 s gr
|
||||
% Polyline
|
||||
n 600 3900 m 600 4275 l 1800 4275 l
|
||||
1800 3900 l gs col0 s gr
|
||||
% Polyline
|
||||
15.000 slw
|
||||
gs clippath
|
||||
682 4533 m 540 4783 l 644 4842 l 787 4593 l 787 4593 l 616 4772 l 682 4533 l cp
|
||||
eoclip
|
||||
n 900 4275 m
|
||||
600 4800 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 682 4533 m 616 4772 l 787 4593 l 682 4533 l cp gs col7 1.00 shd ef gr col0 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
1140 4528 m 1140 4815 l 1260 4815 l 1260 4528 l 1260 4528 l 1200 4768 l 1140 4528 l cp
|
||||
eoclip
|
||||
n 1200 4275 m
|
||||
1200 4800 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 1140 4528 m 1200 4768 l 1260 4528 l 1140 4528 l cp gs col7 1.00 shd ef gr col0 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
1612 4593 m 1755 4842 l 1859 4783 l 1717 4533 l 1717 4533 l 1784 4772 l 1612 4593 l cp
|
||||
eoclip
|
||||
n 1500 4275 m
|
||||
1800 4800 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 1612 4593 m 1784 4772 l 1717 4533 l 1612 4593 l cp gs col7 1.00 shd ef gr col0 s
|
||||
/Courier-Bold ff 266.67 scf sf
|
||||
-5100 6975 m
|
||||
gs 1 -1 sc (Cell \(Model\)) col0 sh gr
|
||||
/Courier ff 266.67 scf sf
|
||||
-5100 7875 m
|
||||
gs 1 -1 sc (Instance) col0 sh gr
|
||||
/Helvetica-Bold ff 233.33 scf sf
|
||||
-6000 4275 m
|
||||
gs 1 -1 sc (pi_px) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Helvetica-Bold ff 233.33 scf sf
|
||||
-4200 4275 m
|
||||
gs 1 -1 sc (po_px) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Helvetica ff 233.33 scf sf
|
||||
-6000 2775 m
|
||||
gs 1 -1 sc (p_a0) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Helvetica ff 233.33 scf sf
|
||||
-4200 2775 m
|
||||
gs 1 -1 sc (p_ovr) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Helvetica ff 233.33 scf sf
|
||||
-2400 2775 m
|
||||
gs 1 -1 sc (p_ng) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Helvetica ff 233.33 scf sf
|
||||
-600 2775 m
|
||||
gs 1 -1 sc (p_ck) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Helvetica ff 233.33 scf sf
|
||||
1200 2775 m
|
||||
gs 1 -1 sc (core) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Helvetica ff 233.33 scf sf
|
||||
-6000 7875 m
|
||||
gs 1 -1 sc (i_name) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Helvetica-Bold ff 233.33 scf sf
|
||||
-6000 6975 m
|
||||
gs 1 -1 sc (m_name) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Courier-Bold ff 300.00 scf sf
|
||||
6525 4575 m
|
||||
gs 1 -1 sc (coeur) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Helvetica-Bold ff 233.33 scf sf
|
||||
-2400 1725 m
|
||||
gs 1 -1 sc (amd2901) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Helvetica-Bold ff 233.33 scf sf
|
||||
1200 4125 m
|
||||
gs 1 -1 sc (coeur) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
% here ends figure;
|
||||
pagefooter
|
||||
showpage
|
||||
%%Trailer
|
||||
%EOF
|
|
@ -0,0 +1,280 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5c
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
100.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
6 2925 2325 4575 3075
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
3000 3000 3000 2400 4500 2400 4500 3000 3000 3000
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
3075 2925 3075 2475 3525 2475 3525 2925 3075 2925
|
||||
-6
|
||||
6 4425 825 5175 2475
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
4500 900 5100 900 5100 2400 4500 2400 4500 900
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
4575 975 5025 975 5025 1425 4575 1425 4575 975
|
||||
-6
|
||||
6 5025 825 5775 2475
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
5100 900 5700 900 5700 2400 5100 2400 5100 900
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
5175 975 5625 975 5625 1425 5175 1425 5175 975
|
||||
-6
|
||||
6 5625 825 6375 2475
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
5700 900 6300 900 6300 2400 5700 2400 5700 900
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
5775 975 6225 975 6225 1425 5775 1425 5775 975
|
||||
-6
|
||||
6 6225 825 6975 2475
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
6300 900 6900 900 6900 2400 6300 2400 6300 900
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
6375 975 6825 975 6825 1425 6375 1425 6375 975
|
||||
4 1 0 50 -1 14 12 1.5708 4 165 1200 6600 1650 pvddeck_px\001
|
||||
-6
|
||||
6 6825 825 7575 2475
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
6900 900 7500 900 7500 2400 6900 2400 6900 900
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
6975 975 7425 975 7425 1425 6975 1425 6975 975
|
||||
4 1 0 50 -1 14 12 1.5708 4 165 1200 7200 1650 pvsseck_px\001
|
||||
-6
|
||||
6 7425 825 8175 2475
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
7500 900 8100 900 8100 2400 7500 2400 7500 900
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
7575 975 8025 975 8025 1425 7575 1425 7575 975
|
||||
-6
|
||||
6 8025 825 8775 2475
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
8100 900 8700 900 8700 2400 8100 2400 8100 900
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
8175 975 8625 975 8625 1425 8175 1425 8175 975
|
||||
-6
|
||||
6 2925 2925 4575 3675
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
3000 3600 3000 3000 4500 3000 4500 3600 3000 3600
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
3075 3525 3075 3075 3525 3075 3525 3525 3075 3525
|
||||
-6
|
||||
6 2925 3525 4575 4275
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
3000 4200 3000 3600 4500 3600 4500 4200 3000 4200
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
3075 4125 3075 3675 3525 3675 3525 4125 3075 4125
|
||||
4 1 0 50 -1 14 12 3.1416 4 165 1200 3750 3900 pvssick_px\001
|
||||
-6
|
||||
6 2925 4125 4575 4875
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
3000 4800 3000 4200 4500 4200 4500 4800 3000 4800
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
3075 4725 3075 4275 3525 4275 3525 4725 3075 4725
|
||||
4 1 0 50 -1 14 12 3.1416 4 165 1200 3750 4500 pvddick_px\001
|
||||
-6
|
||||
6 2925 4725 4575 5475
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
3000 5400 3000 4800 4500 4800 4500 5400 3000 5400
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
3075 5325 3075 4875 3525 4875 3525 5325 3075 5325
|
||||
-6
|
||||
6 2925 5325 4575 6075
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
3000 6000 3000 5400 4500 5400 4500 6000 3000 6000
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
3075 5925 3075 5475 3525 5475 3525 5925 3075 5925
|
||||
-6
|
||||
6 8625 2925 10275 3675
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
10200 3000 10200 3600 8700 3600 8700 3000 10200 3000
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
10125 3075 10125 3525 9675 3525 9675 3075 10125 3075
|
||||
-6
|
||||
6 8625 3525 10275 4275
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
10200 3600 10200 4200 8700 4200 8700 3600 10200 3600
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
10125 3675 10125 4125 9675 4125 9675 3675 10125 3675
|
||||
4 1 0 50 -1 14 12 0.0000 4 165 1200 9450 3900 pvddeck_px\001
|
||||
-6
|
||||
6 8625 4125 10275 4875
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
10200 4200 10200 4800 8700 4800 8700 4200 10200 4200
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
10125 4275 10125 4725 9675 4725 9675 4275 10125 4275
|
||||
4 1 0 50 -1 14 12 0.0000 4 165 1200 9450 4500 pvsseck_px\001
|
||||
-6
|
||||
6 8625 4725 10275 5475
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
10200 4800 10200 5400 8700 5400 8700 4800 10200 4800
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
10125 4875 10125 5325 9675 5325 9675 4875 10125 4875
|
||||
4 1 0 50 -1 14 12 0.0000 4 165 720 9450 5100 pck_px\001
|
||||
-6
|
||||
6 8625 5325 10275 6075
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
10200 5400 10200 6000 8700 6000 8700 5400 10200 5400
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
10125 5475 10125 5925 9675 5925 9675 5475 10125 5475
|
||||
-6
|
||||
6 8625 5925 10275 6675
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
10200 6000 10200 6600 8700 6600 8700 6000 10200 6000
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
10125 6075 10125 6525 9675 6525 9675 6075 10125 6075
|
||||
-6
|
||||
6 5625 6525 6375 8175
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
6300 8100 5700 8100 5700 6600 6300 6600 6300 8100
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
6225 8025 5775 8025 5775 7575 6225 7575 6225 8025
|
||||
4 1 0 50 -1 14 12 4.7124 4 165 1200 6000 7350 pvddick_px\001
|
||||
-6
|
||||
6 6225 6525 6975 8175
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
6900 8100 6300 8100 6300 6600 6900 6600 6900 8100
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
6825 8025 6375 8025 6375 7575 6825 7575 6825 8025
|
||||
4 1 0 50 -1 14 12 4.7124 4 165 1200 6600 7350 pvssick_px\001
|
||||
-6
|
||||
6 6825 6525 7575 8175
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
7500 8100 6900 8100 6900 6600 7500 6600 7500 8100
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
7425 8025 6975 8025 6975 7575 7425 7575 7425 8025
|
||||
-6
|
||||
6 7425 6525 8175 8175
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
8100 8100 7500 8100 7500 6600 8100 6600 8100 8100
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
8025 8025 7575 8025 7575 7575 8025 7575 8025 8025
|
||||
-6
|
||||
6 5025 6525 5775 8175
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
5700 8100 5100 8100 5100 6600 5700 6600 5700 8100
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
5625 8025 5175 8025 5175 7575 5625 7575 5625 8025
|
||||
-6
|
||||
6 8025 6525 8775 8175
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
8700 8100 8100 8100 8100 6600 8700 6600 8700 8100
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
8625 8025 8175 8025 8175 7575 8625 7575 8625 8025
|
||||
-6
|
||||
6 4425 6525 5175 8175
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
5100 8100 4500 8100 4500 6600 5100 6600 5100 8100
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
5025 8025 4575 8025 4575 7575 5025 7575 5025 8025
|
||||
-6
|
||||
6 8625 2325 10275 3075
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
10200 2400 10200 3000 8700 3000 8700 2400 10200 2400
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
10125 2475 10125 2925 9675 2925 9675 2475 10125 2475
|
||||
-6
|
||||
6 2925 5925 4575 6675
|
||||
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
3000 6600 3000 6000 4500 6000 4500 6600 3000 6600
|
||||
2 2 0 0 1 1 70 -1 30 0.000 0 0 -1 0 0 5
|
||||
3075 6525 3075 6075 3525 6075 3525 6525 3075 6525
|
||||
-6
|
||||
6 -2475 3825 -1125 4575
|
||||
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 7
|
||||
-1800 4500 -2400 4500 -2400 4125 -2175 3900 -1200 3900 -1200 4500
|
||||
-1800 4500
|
||||
4 1 0 50 -1 18 14 0.0000 4 225 840 -1800 4275 pck_px\001
|
||||
-6
|
||||
2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
-6600 2400 -5400 2400 -5400 3000 -6600 3000 -6600 2400
|
||||
2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
-4800 2400 -3600 2400 -3600 3000 -4800 3000 -4800 2400
|
||||
2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
-3000 2400 -1800 2400 -1800 3000 -3000 3000 -3000 2400
|
||||
2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
-1200 2400 0 2400 0 3000 -1200 3000 -1200 2400
|
||||
2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
600 2400 1800 2400 1800 3000 600 3000 600 2400
|
||||
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 7
|
||||
-6000 4500 -6600 4500 -6600 4125 -6375 3900 -5400 3900 -5400 4500
|
||||
-6000 4500
|
||||
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 7
|
||||
-4200 4500 -4800 4500 -4800 4125 -4575 3900 -3600 3900 -3600 4500
|
||||
-4200 4500
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 120.00 240.00
|
||||
-6000 3000 -6000 3900
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 120.00 240.00
|
||||
-4200 3000 -4200 3900
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 120.00 240.00
|
||||
-2400 3000 -3900 3900
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 120.00 240.00
|
||||
-600 3000 -1800 3900
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 120.00 240.00
|
||||
1200 3000 1200 3900
|
||||
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 7
|
||||
-6000 7200 -6600 7200 -6600 6825 -6375 6600 -5400 6600 -5400 7200
|
||||
-6000 7200
|
||||
2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
-6600 7500 -5400 7500 -5400 8100 -6600 8100 -6600 7500
|
||||
2 2 0 1 0 0 60 -1 10 0.000 0 0 -1 0 0 5
|
||||
5100 3000 8100 3000 8100 6000 5100 6000 5100 3000
|
||||
2 2 0 1 0 1 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
3000 900 10200 900 10200 8100 3000 8100 3000 900
|
||||
2 1 0 4 0 7 50 -1 -1 40.000 0 0 -1 0 0 7
|
||||
-2400 3150 -6675 3150 -6675 1875 -6225 1425 1875 1425 1875 3150
|
||||
-2400 3150
|
||||
2 1 0 4 0 7 50 -1 -1 40.000 0 0 -1 0 0 4
|
||||
-3300 1425 -3300 1875 -1500 1875 -1500 1425
|
||||
2 1 0 2 0 7 50 -1 -1 24.000 0 0 -1 1 0 2
|
||||
1 0 2.00 120.00 240.00
|
||||
-3000 1875 -6000 2400
|
||||
2 1 0 2 0 7 50 -1 -1 24.000 0 0 -1 1 0 2
|
||||
1 0 2.00 120.00 240.00
|
||||
-2850 1875 -4200 2400
|
||||
2 1 0 2 0 7 50 -1 -1 24.000 0 0 -1 1 0 2
|
||||
1 0 2.00 120.00 240.00
|
||||
-2400 1875 -2400 2400
|
||||
2 1 0 2 0 7 50 -1 -1 24.000 0 0 -1 1 0 2
|
||||
1 0 2.00 120.00 240.00
|
||||
-2100 1875 -600 2400
|
||||
2 1 0 2 0 7 50 -1 -1 24.000 0 0 -1 1 0 2
|
||||
1 0 2.00 120.00 240.00
|
||||
-1650 1875 1200 2400
|
||||
2 1 0 4 0 7 50 -1 -1 40.000 0 0 -1 0 0 7
|
||||
1200 5100 0 5100 0 4275 375 3900 2400 3900 2400 5100
|
||||
1200 5100
|
||||
2 1 0 4 0 7 50 -1 -1 40.000 0 0 -1 0 0 4
|
||||
600 3900 600 4275 1800 4275 1800 3900
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 0 2.00 120.00 240.00
|
||||
900 4275 600 4800
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 0 2.00 120.00 240.00
|
||||
1200 4275 1200 4800
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 0 2.00 120.00 240.00
|
||||
1500 4275 1800 4800
|
||||
4 0 0 50 -1 14 16 0.0000 4 210 1980 -5100 6975 Cell (Model)\001
|
||||
4 0 0 50 -1 12 16 0.0000 4 150 1320 -5100 7875 Instance\001
|
||||
4 1 0 50 -1 18 14 0.0000 4 225 630 -6000 4275 pi_px\001
|
||||
4 1 0 50 -1 18 14 0.0000 4 180 720 -4200 4275 po_px\001
|
||||
4 1 0 50 -1 16 14 0.0000 4 210 540 -6000 2775 p_a0\001
|
||||
4 1 0 50 -1 16 14 0.0000 4 165 600 -4200 2775 p_ovr\001
|
||||
4 1 0 50 -1 16 14 0.0000 4 165 540 -2400 2775 p_ng\001
|
||||
4 1 0 50 -1 16 14 0.0000 4 225 510 -600 2775 p_ck\001
|
||||
4 1 0 50 -1 16 14 0.0000 4 120 465 1200 2775 core\001
|
||||
4 1 0 50 -1 16 14 0.0000 4 225 795 -6000 7875 i_name\001
|
||||
4 1 0 50 -1 18 14 0.0000 4 180 975 -6000 6975 m_name\001
|
||||
4 1 0 50 -1 14 18 0.0000 4 135 900 6525 4575 coeur\001
|
||||
4 1 0 50 -1 18 14 0.0000 4 180 1035 -2400 1725 amd2901\001
|
||||
4 1 0 50 -1 18 14 0.0000 4 135 660 1200 4125 coeur\001
|
Binary file not shown.
After Width: | Height: | Size: 9.7 KiB |
|
@ -0,0 +1,437 @@
|
|||
%!PS-Adobe-3.0 EPSF-3.0
|
||||
%%Title: etesian-1.fig
|
||||
%%Creator: fig2dev Version 3.2 Patchlevel 5d
|
||||
%%CreationDate: Fri Mar 6 00:13:07 2015
|
||||
%%For: jpc@lepka (Jean-Paul Chaput)
|
||||
%%BoundingBox: 0 0 507 267
|
||||
%Magnification: 0.7000
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
/$F2psDict 200 dict def
|
||||
$F2psDict begin
|
||||
$F2psDict /mtrx matrix put
|
||||
/col-1 {0 setgray} bind def
|
||||
/col0 {0.000 0.000 0.000 srgb} bind def
|
||||
/col1 {0.000 0.000 1.000 srgb} bind def
|
||||
/col2 {0.000 1.000 0.000 srgb} bind def
|
||||
/col3 {0.000 1.000 1.000 srgb} bind def
|
||||
/col4 {1.000 0.000 0.000 srgb} bind def
|
||||
/col5 {1.000 0.000 1.000 srgb} bind def
|
||||
/col6 {1.000 1.000 0.000 srgb} bind def
|
||||
/col7 {1.000 1.000 1.000 srgb} bind def
|
||||
/col8 {0.000 0.000 0.560 srgb} bind def
|
||||
/col9 {0.000 0.000 0.690 srgb} bind def
|
||||
/col10 {0.000 0.000 0.820 srgb} bind def
|
||||
/col11 {0.530 0.810 1.000 srgb} bind def
|
||||
/col12 {0.000 0.560 0.000 srgb} bind def
|
||||
/col13 {0.000 0.690 0.000 srgb} bind def
|
||||
/col14 {0.000 0.820 0.000 srgb} bind def
|
||||
/col15 {0.000 0.560 0.560 srgb} bind def
|
||||
/col16 {0.000 0.690 0.690 srgb} bind def
|
||||
/col17 {0.000 0.820 0.820 srgb} bind def
|
||||
/col18 {0.560 0.000 0.000 srgb} bind def
|
||||
/col19 {0.690 0.000 0.000 srgb} bind def
|
||||
/col20 {0.820 0.000 0.000 srgb} bind def
|
||||
/col21 {0.560 0.000 0.560 srgb} bind def
|
||||
/col22 {0.690 0.000 0.690 srgb} bind def
|
||||
/col23 {0.820 0.000 0.820 srgb} bind def
|
||||
/col24 {0.500 0.190 0.000 srgb} bind def
|
||||
/col25 {0.630 0.250 0.000 srgb} bind def
|
||||
/col26 {0.750 0.380 0.000 srgb} bind def
|
||||
/col27 {1.000 0.500 0.500 srgb} bind def
|
||||
/col28 {1.000 0.630 0.630 srgb} bind def
|
||||
/col29 {1.000 0.750 0.750 srgb} bind def
|
||||
/col30 {1.000 0.880 0.880 srgb} bind def
|
||||
/col31 {1.000 0.840 0.000 srgb} bind def
|
||||
|
||||
end
|
||||
|
||||
/cp {closepath} bind def
|
||||
/ef {eofill} bind def
|
||||
/gr {grestore} bind def
|
||||
/gs {gsave} bind def
|
||||
/sa {save} bind def
|
||||
/rs {restore} bind def
|
||||
/l {lineto} bind def
|
||||
/m {moveto} bind def
|
||||
/rm {rmoveto} bind def
|
||||
/n {newpath} bind def
|
||||
/s {stroke} bind def
|
||||
/sh {show} bind def
|
||||
/slc {setlinecap} bind def
|
||||
/slj {setlinejoin} bind def
|
||||
/slw {setlinewidth} bind def
|
||||
/srgb {setrgbcolor} bind def
|
||||
/rot {rotate} bind def
|
||||
/sc {scale} bind def
|
||||
/sd {setdash} bind def
|
||||
/ff {findfont} bind def
|
||||
/sf {setfont} bind def
|
||||
/scf {scalefont} bind def
|
||||
/sw {stringwidth} bind def
|
||||
/tr {translate} bind def
|
||||
/tnt {dup dup currentrgbcolor
|
||||
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||
4 -2 roll dup 1 exch sub 3 -1 roll mul add
|
||||
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
|
||||
bind def
|
||||
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
|
||||
4 -2 roll mul srgb} bind def
|
||||
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
|
||||
/$F2psEnd {$F2psEnteredState restore end} def
|
||||
|
||||
/pageheader {
|
||||
save
|
||||
newpath 0 267 moveto 0 0 lineto 507 0 lineto 507 267 lineto closepath clip newpath
|
||||
253.8 315.9 translate
|
||||
1 -1 scale
|
||||
$F2psBegin
|
||||
10 setmiterlimit
|
||||
0 slj 0 slc
|
||||
0.04200 0.04200 sc
|
||||
} bind def
|
||||
/pagefooter {
|
||||
$F2psEnd
|
||||
restore
|
||||
} bind def
|
||||
%%EndProlog
|
||||
pageheader
|
||||
%
|
||||
% Fig objects follow
|
||||
%
|
||||
%
|
||||
% here starts figure with depth 50
|
||||
% Polyline
|
||||
0 slj
|
||||
0 slc
|
||||
45.000 slw
|
||||
n -5100 6600 m -5700 6600 l -5700 6225 l -5475 6000 l -4500 6000 l -4500 6600 l
|
||||
|
||||
-5100 6600 l cp gs col0 s gr
|
||||
% Polyline
|
||||
15.000 slw
|
||||
n -5700 6900 m -4500 6900 l -4500 7500 l -5700 7500 l
|
||||
cp gs col0 s gr
|
||||
/Courier ff 266.67 scf sf
|
||||
-4200 7275 m
|
||||
gs 1 -1 sc (Instance) col0 sh gr
|
||||
/Helvetica ff 233.33 scf sf
|
||||
-5100 7275 m
|
||||
gs 1 -1 sc (i_name) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Helvetica-Bold ff 233.33 scf sf
|
||||
-5100 6375 m
|
||||
gs 1 -1 sc (m_name) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Courier-Bold ff 266.67 scf sf
|
||||
-4200 6375 m
|
||||
gs 1 -1 sc (Cell \(Model\)) col0 sh gr
|
||||
% Polyline
|
||||
45.000 slw
|
||||
n -5400 4800 m -6000 4800 l -6000 4125 l -5775 3900 l -4350 3900 l -4350 4800 l
|
||||
|
||||
-5400 4800 l cp gs col0 s gr
|
||||
% Polyline
|
||||
n -5550 3900 m -5550 4200 l -4875 4200 l
|
||||
-4875 3900 l gs col0 s gr
|
||||
% Polyline
|
||||
15.000 slw
|
||||
gs clippath
|
||||
-5459 4378 m -5460 4665 l -5340 4665 l -5339 4378 l -5339 4378 l -5399 4618 l -5459 4378 l cp
|
||||
eoclip
|
||||
n -5400 4200 m
|
||||
-5400 4650 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n -5459 4378 m -5399 4618 l -5339 4378 l -5459 4378 l cp gs col7 1.00 shd ef gr col0 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
-5009 4378 m -5010 4665 l -4890 4665 l -4889 4378 l -4889 4378 l -4949 4618 l -5009 4378 l cp
|
||||
eoclip
|
||||
n -4950 4200 m
|
||||
-4950 4650 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n -5009 4378 m -4949 4618 l -4889 4378 l -5009 4378 l cp gs col7 1.00 shd ef gr col0 s
|
||||
/Helvetica-Bold ff 233.33 scf sf
|
||||
-5175 4125 m
|
||||
gs 1 -1 sc (alu) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
% Polyline
|
||||
45.000 slw
|
||||
n -3600 4800 m -4200 4800 l -4200 4125 l -3975 3900 l -2550 3900 l -2550 4800 l
|
||||
|
||||
-3600 4800 l cp gs col0 s gr
|
||||
% Polyline
|
||||
n -3750 3900 m -3750 4200 l -3000 4200 l
|
||||
-3000 3900 l gs col0 s gr
|
||||
% Polyline
|
||||
15.000 slw
|
||||
gs clippath
|
||||
-3659 4378 m -3660 4665 l -3540 4665 l -3539 4378 l -3539 4378 l -3599 4618 l -3659 4378 l cp
|
||||
eoclip
|
||||
n -3600 4200 m
|
||||
-3600 4650 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n -3659 4378 m -3599 4618 l -3539 4378 l -3659 4378 l cp gs col7 1.00 shd ef gr col0 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
-3209 4378 m -3210 4665 l -3090 4665 l -3089 4378 l -3089 4378 l -3149 4618 l -3209 4378 l cp
|
||||
eoclip
|
||||
n -3150 4200 m
|
||||
-3150 4650 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n -3209 4378 m -3149 4618 l -3089 4378 l -3209 4378 l cp gs col7 1.00 shd ef gr col0 s
|
||||
/Helvetica-Bold ff 233.33 scf sf
|
||||
-3375 4125 m
|
||||
gs 1 -1 sc (accu) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
% Polyline
|
||||
45.000 slw
|
||||
n -1800 4800 m -2400 4800 l -2400 4125 l -2175 3900 l -750 3900 l -750 4800 l
|
||||
|
||||
-1800 4800 l cp gs col0 s gr
|
||||
% Polyline
|
||||
n -1950 3900 m -1950 4200 l -1200 4200 l
|
||||
-1200 3900 l gs col0 s gr
|
||||
% Polyline
|
||||
15.000 slw
|
||||
gs clippath
|
||||
-1859 4378 m -1860 4665 l -1740 4665 l -1739 4378 l -1739 4378 l -1799 4618 l -1859 4378 l cp
|
||||
eoclip
|
||||
n -1800 4200 m
|
||||
-1800 4650 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n -1859 4378 m -1799 4618 l -1739 4378 l -1859 4378 l cp gs col7 1.00 shd ef gr col0 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
-1409 4378 m -1410 4665 l -1290 4665 l -1289 4378 l -1289 4378 l -1349 4618 l -1409 4378 l cp
|
||||
eoclip
|
||||
n -1350 4200 m
|
||||
-1350 4650 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n -1409 4378 m -1349 4618 l -1289 4378 l -1409 4378 l cp gs col7 1.00 shd ef gr col0 s
|
||||
/Helvetica-Bold ff 233.33 scf sf
|
||||
-1575 4125 m
|
||||
gs 1 -1 sc (ram) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
% Polyline
|
||||
45.000 slw
|
||||
n 0 4800 m -600 4800 l -600 4125 l -375 3900 l 1050 3900 l 1050 4800 l
|
||||
|
||||
0 4800 l cp gs col0 s gr
|
||||
% Polyline
|
||||
n -225 3900 m -225 4200 l 675 4200 l
|
||||
675 3900 l gs col0 s gr
|
||||
% Polyline
|
||||
15.000 slw
|
||||
gs clippath
|
||||
-60 4378 m -60 4665 l 60 4665 l 60 4378 l 60 4378 l 0 4618 l -60 4378 l cp
|
||||
eoclip
|
||||
n 0 4200 m
|
||||
0 4650 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n -60 4378 m 0 4618 l 60 4378 l -60 4378 l cp gs col7 1.00 shd ef gr col0 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
390 4378 m 390 4665 l 510 4665 l 510 4378 l 510 4378 l 450 4618 l 390 4378 l cp
|
||||
eoclip
|
||||
n 450 4200 m
|
||||
450 4650 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 390 4378 m 450 4618 l 510 4378 l 390 4378 l cp gs col7 1.00 shd ef gr col0 s
|
||||
/Helvetica-Bold ff 233.33 scf sf
|
||||
225 4125 m
|
||||
gs 1 -1 sc (muxs) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
% Polyline
|
||||
7.500 slw
|
||||
gs clippath
|
||||
1860 1473 m 1860 1185 l 1740 1185 l 1740 1473 l 1740 1473 l 1800 1233 l 1860 1473 l cp
|
||||
eoclip
|
||||
n 1800 5400 m
|
||||
1800 1200 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
15.000 slw
|
||||
n 1860 1473 m 1800 1233 l 1740 1473 l col0 s
|
||||
% Polyline
|
||||
7.500 slw
|
||||
gs clippath
|
||||
5727 5160 m 6015 5160 l 6015 5040 l 5727 5040 l 5727 5040 l 5967 5100 l 5727 5160 l cp
|
||||
eoclip
|
||||
n 1500 5100 m
|
||||
6000 5100 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
15.000 slw
|
||||
n 5727 5160 m 5967 5100 l 5727 5040 l col0 s
|
||||
% Polyline
|
||||
45.000 slw
|
||||
[150] 0 sd
|
||||
n 1800 1800 m 5100 1800 l 5100 5100 l 1800 5100 l
|
||||
cp gs col0 s gr [] 0 sd
|
||||
% Polyline
|
||||
15.000 slw
|
||||
[90] 0 sd
|
||||
n 1875 5025 m 5025 5025 l 5025 1875 l 1875 1875 l
|
||||
cp gs col1 s gr [] 0 sd
|
||||
% Polyline
|
||||
[180] 0 sd
|
||||
n 1950 1950 m 4950 1950 l 4950 4950 l 1950 4950 l
|
||||
cp gs col4 s gr [] 0 sd
|
||||
% Polyline
|
||||
n 1800 6300 m
|
||||
2100 6300 l gs col1 s gr
|
||||
% Polyline
|
||||
n 1800 6000 m
|
||||
2100 6000 l gs col4 s gr
|
||||
% Polyline
|
||||
45.000 slw
|
||||
n 1800 5700 m
|
||||
2100 5700 l gs col0 s gr
|
||||
% Polyline
|
||||
15.000 slw
|
||||
[360] 0 sd
|
||||
n 2025 2025 m 4875 2025 l 4875 4875 l 2025 4875 l
|
||||
cp gs col12 s gr [] 0 sd
|
||||
% Polyline
|
||||
n 1800 6600 m
|
||||
2100 6600 l gs col12 s gr
|
||||
% Polyline
|
||||
45.000 slw
|
||||
n -2400 3150 m -5775 3150 l -5775 2175 l -5325 1725 l 975 1725 l 975 3150 l
|
||||
|
||||
-2400 3150 l cp gs col0 s gr
|
||||
% Polyline
|
||||
n -3000 1725 m -3000 2025 l -1800 2025 l
|
||||
-1800 1725 l gs col0 s gr
|
||||
% Polyline
|
||||
15.000 slw
|
||||
gs clippath
|
||||
-4840 2296 m -5124 2343 l -5104 2461 l -4820 2414 l -4820 2414 l -5067 2395 l -4840 2296 l cp
|
||||
eoclip
|
||||
n -2850 2025 m
|
||||
-5100 2400 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n -4840 2296 m -5067 2395 l -4820 2414 l -4840 2296 l cp gs col7 1.00 shd ef gr col0 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
-3082 2225 m -3340 2353 l -3286 2460 l -3028 2332 l -3028 2332 l -3270 2386 l -3082 2225 l cp
|
||||
eoclip
|
||||
n -2550 2025 m
|
||||
-3300 2400 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n -3082 2225 m -3270 2386 l -3028 2332 l -3082 2225 l cp gs col7 1.00 shd ef gr col0 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
-1769 2332 m -1513 2460 l -1459 2353 l -1715 2225 l -1715 2225 l -1528 2386 l -1769 2332 l cp
|
||||
eoclip
|
||||
n -2250 2025 m
|
||||
-1500 2400 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n -1769 2332 m -1528 2386 l -1715 2225 l -1769 2332 l cp gs col7 1.00 shd ef gr col0 s
|
||||
% Polyline
|
||||
gs clippath
|
||||
21 2414 m 304 2461 l 324 2343 l 41 2296 l 41 2296 l 268 2395 l 21 2414 l cp
|
||||
eoclip
|
||||
n -1950 2025 m
|
||||
300 2400 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 21 2414 m 268 2395 l 41 2296 l 21 2414 l cp gs col7 1.00 shd ef gr col0 s
|
||||
% Polyline
|
||||
n -5700 2400 m -4500 2400 l -4500 3000 l -5700 3000 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
gs clippath
|
||||
-5159 3628 m -5160 3915 l -5040 3915 l -5039 3628 l -5039 3628 l -5099 3868 l -5159 3628 l cp
|
||||
eoclip
|
||||
n -5100 3000 m
|
||||
-5100 3900 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n -5159 3628 m -5099 3868 l -5039 3628 l -5159 3628 l cp gs 0.00 setgray ef gr col0 s
|
||||
% Polyline
|
||||
n -3900 2400 m -2700 2400 l -2700 3000 l -3900 3000 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
gs clippath
|
||||
-3359 3628 m -3360 3915 l -3240 3915 l -3239 3628 l -3239 3628 l -3299 3868 l -3359 3628 l cp
|
||||
eoclip
|
||||
n -3300 3000 m
|
||||
-3300 3900 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n -3359 3628 m -3299 3868 l -3239 3628 l -3359 3628 l cp gs 0.00 setgray ef gr col0 s
|
||||
% Polyline
|
||||
n -2100 2400 m -900 2400 l -900 3000 l -2100 3000 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
gs clippath
|
||||
-1559 3628 m -1560 3915 l -1440 3915 l -1439 3628 l -1439 3628 l -1499 3868 l -1559 3628 l cp
|
||||
eoclip
|
||||
n -1500 3000 m
|
||||
-1500 3900 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n -1559 3628 m -1499 3868 l -1439 3628 l -1559 3628 l cp gs 0.00 setgray ef gr col0 s
|
||||
% Polyline
|
||||
n -300 2400 m 900 2400 l 900 3000 l -300 3000 l
|
||||
cp gs col0 s gr
|
||||
% Polyline
|
||||
gs clippath
|
||||
240 3628 m 240 3915 l 360 3915 l 360 3628 l 360 3628 l 300 3868 l 240 3628 l cp
|
||||
eoclip
|
||||
n 300 3000 m
|
||||
300 3900 l gs col0 s gr gr
|
||||
|
||||
% arrowhead
|
||||
n 240 3628 m 300 3868 l 360 3628 l 240 3628 l cp gs 0.00 setgray ef gr col0 s
|
||||
/Helvetica-Bold ff 233.33 scf sf
|
||||
2400 5700 m
|
||||
gs 1 -1 sc (coeur) col0 sh gr
|
||||
/Helvetica ff 233.33 scf sf
|
||||
2400 6000 m
|
||||
gs 1 -1 sc (ialu) col0 sh gr
|
||||
/Helvetica ff 233.33 scf sf
|
||||
2400 6300 m
|
||||
gs 1 -1 sc (iaccu) col0 sh gr
|
||||
/Helvetica ff 233.33 scf sf
|
||||
2400 6600 m
|
||||
gs 1 -1 sc (iram) col0 sh gr
|
||||
/Helvetica-Bold ff 233.33 scf sf
|
||||
-2400 1950 m
|
||||
gs 1 -1 sc (coeur) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Helvetica ff 233.33 scf sf
|
||||
-5100 2625 m
|
||||
gs 1 -1 sc (ialu) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Helvetica ff 233.33 scf sf
|
||||
-5100 2925 m
|
||||
gs 1 -1 sc (\(0,0,ID\)) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Helvetica ff 233.33 scf sf
|
||||
-3300 2625 m
|
||||
gs 1 -1 sc (iaccu) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Helvetica ff 233.33 scf sf
|
||||
-3300 2925 m
|
||||
gs 1 -1 sc (\(0,0,ID\)) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Helvetica ff 233.33 scf sf
|
||||
-1500 2625 m
|
||||
gs 1 -1 sc (iram) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Helvetica ff 233.33 scf sf
|
||||
-1500 2925 m
|
||||
gs 1 -1 sc (\(0,0,ID\)) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Helvetica ff 233.33 scf sf
|
||||
300 2625 m
|
||||
gs 1 -1 sc (imuxs) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
/Helvetica ff 233.33 scf sf
|
||||
300 2925 m
|
||||
gs 1 -1 sc (\(0,0,ID\)) dup sw pop 2 div neg 0 rm col0 sh gr
|
||||
% here ends figure;
|
||||
pagefooter
|
||||
showpage
|
||||
%%Trailer
|
||||
%EOF
|
|
@ -0,0 +1,148 @@
|
|||
#FIG 3.2 Produced by xfig version 3.2.5c
|
||||
Landscape
|
||||
Center
|
||||
Inches
|
||||
Letter
|
||||
70.00
|
||||
Single
|
||||
-2
|
||||
1200 2
|
||||
6 -5775 5925 -2175 7575
|
||||
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 7
|
||||
-5100 6600 -5700 6600 -5700 6225 -5475 6000 -4500 6000 -4500 6600
|
||||
-5100 6600
|
||||
2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
-5700 6900 -4500 6900 -4500 7500 -5700 7500 -5700 6900
|
||||
4 0 0 50 -1 12 16 0.0000 4 150 1320 -4200 7275 Instance\001
|
||||
4 1 0 50 -1 16 14 0.0000 4 225 795 -5100 7275 i_name\001
|
||||
4 1 0 50 -1 18 14 0.0000 4 180 975 -5100 6375 m_name\001
|
||||
4 0 0 50 -1 14 16 0.0000 4 210 1980 -4200 6375 Cell (Model)\001
|
||||
-6
|
||||
6 -6075 3825 -4275 4875
|
||||
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 7
|
||||
-5400 4800 -6000 4800 -6000 4125 -5775 3900 -4350 3900 -4350 4800
|
||||
-5400 4800
|
||||
2 1 0 4 0 7 50 -1 -1 40.000 0 0 -1 0 0 4
|
||||
-5550 3900 -5550 4200 -4875 4200 -4875 3900
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 0 2.00 120.00 240.00
|
||||
-5400 4200 -5400 4650
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 0 2.00 120.00 240.00
|
||||
-4950 4200 -4950 4650
|
||||
4 1 0 50 -1 18 14 0.0000 4 180 345 -5175 4125 alu\001
|
||||
-6
|
||||
6 -4275 3825 -2475 4875
|
||||
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 7
|
||||
-3600 4800 -4200 4800 -4200 4125 -3975 3900 -2550 3900 -2550 4800
|
||||
-3600 4800
|
||||
2 1 0 4 0 7 50 -1 -1 40.000 0 0 -1 0 0 4
|
||||
-3750 3900 -3750 4200 -3000 4200 -3000 3900
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 0 2.00 120.00 240.00
|
||||
-3600 4200 -3600 4650
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 0 2.00 120.00 240.00
|
||||
-3150 4200 -3150 4650
|
||||
4 1 0 50 -1 18 14 0.0000 4 135 555 -3375 4125 accu\001
|
||||
-6
|
||||
6 -2475 3825 -675 4875
|
||||
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 7
|
||||
-1800 4800 -2400 4800 -2400 4125 -2175 3900 -750 3900 -750 4800
|
||||
-1800 4800
|
||||
2 1 0 4 0 7 50 -1 -1 40.000 0 0 -1 0 0 4
|
||||
-1950 3900 -1950 4200 -1200 4200 -1200 3900
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 0 2.00 120.00 240.00
|
||||
-1800 4200 -1800 4650
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 0 2.00 120.00 240.00
|
||||
-1350 4200 -1350 4650
|
||||
4 1 0 50 -1 18 14 0.0000 4 135 435 -1575 4125 ram\001
|
||||
-6
|
||||
6 -675 3825 1125 4875
|
||||
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 7
|
||||
0 4800 -600 4800 -600 4125 -375 3900 1050 3900 1050 4800
|
||||
0 4800
|
||||
2 1 0 4 0 7 50 -1 -1 40.000 0 0 -1 0 0 4
|
||||
-225 3900 -225 4200 675 4200 675 3900
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 0 2.00 120.00 240.00
|
||||
0 4200 0 4650
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 0 2.00 120.00 240.00
|
||||
450 4200 450 4650
|
||||
4 1 0 50 -1 18 14 0.0000 4 135 630 225 4125 muxs\001
|
||||
-6
|
||||
2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
|
||||
0 0 2.00 120.00 240.00
|
||||
1800 5400 1800 1200
|
||||
2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
|
||||
0 0 2.00 120.00 240.00
|
||||
1500 5100 6000 5100
|
||||
2 2 1 4 0 7 50 -1 -1 10.000 0 0 -1 0 0 5
|
||||
1800 1800 5100 1800 5100 5100 1800 5100 1800 1800
|
||||
2 2 1 2 1 7 50 -1 -1 6.000 0 0 -1 0 0 5
|
||||
1875 5025 5025 5025 5025 1875 1875 1875 1875 5025
|
||||
2 2 1 2 4 7 50 -1 -1 12.000 0 0 -1 0 0 5
|
||||
1950 1950 4950 1950 4950 4950 1950 4950 1950 1950
|
||||
2 1 0 2 1 7 50 -1 -1 12.000 0 0 -1 0 0 2
|
||||
1800 6300 2100 6300
|
||||
2 1 0 2 4 7 50 -1 -1 12.000 0 0 -1 0 0 2
|
||||
1800 6000 2100 6000
|
||||
2 1 0 4 0 7 50 -1 -1 20.000 0 0 -1 0 0 2
|
||||
1800 5700 2100 5700
|
||||
2 2 1 2 12 7 50 -1 -1 24.000 0 0 -1 0 0 5
|
||||
2025 2025 4875 2025 4875 4875 2025 4875 2025 2025
|
||||
2 1 0 2 12 7 50 -1 -1 24.000 0 0 -1 0 0 2
|
||||
1800 6600 2100 6600
|
||||
2 1 0 4 0 7 50 -1 -1 40.000 0 0 -1 0 0 7
|
||||
-2400 3150 -5775 3150 -5775 2175 -5325 1725 975 1725 975 3150
|
||||
-2400 3150
|
||||
2 1 0 4 0 7 50 -1 -1 40.000 0 0 -1 0 0 4
|
||||
-3000 1725 -3000 2025 -1800 2025 -1800 1725
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 0 2.00 120.00 240.00
|
||||
-2850 2025 -5100 2400
|
||||
2 1 0 2 0 7 50 -1 -1 24.000 0 0 -1 1 0 2
|
||||
1 0 2.00 120.00 240.00
|
||||
-2550 2025 -3300 2400
|
||||
2 1 0 2 0 7 50 -1 -1 24.000 0 0 -1 1 0 2
|
||||
1 0 2.00 120.00 240.00
|
||||
-2250 2025 -1500 2400
|
||||
2 1 0 2 0 7 50 -1 -1 24.000 0 0 -1 1 0 2
|
||||
1 0 2.00 120.00 240.00
|
||||
-1950 2025 300 2400
|
||||
2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
-5700 2400 -4500 2400 -4500 3000 -5700 3000 -5700 2400
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 120.00 240.00
|
||||
-5100 3000 -5100 3900
|
||||
2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
-3900 2400 -2700 2400 -2700 3000 -3900 3000 -3900 2400
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 120.00 240.00
|
||||
-3300 3000 -3300 3900
|
||||
2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
-2100 2400 -900 2400 -900 3000 -2100 3000 -2100 2400
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 120.00 240.00
|
||||
-1500 3000 -1500 3900
|
||||
2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
|
||||
-300 2400 900 2400 900 3000 -300 3000 -300 2400
|
||||
2 1 0 2 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
|
||||
1 1 2.00 120.00 240.00
|
||||
300 3000 300 3900
|
||||
4 0 0 50 -1 18 14 0.0000 4 135 660 2400 5700 coeur\001
|
||||
4 0 0 50 -1 16 14 0.0000 4 180 390 2400 6000 ialu\001
|
||||
4 0 0 50 -1 16 14 0.0000 4 180 570 2400 6300 iaccu\001
|
||||
4 0 0 50 -1 16 14 0.0000 4 180 465 2400 6600 iram\001
|
||||
4 1 0 50 -1 18 14 0.0000 4 135 660 -2400 1950 coeur\001
|
||||
4 1 0 50 -1 16 14 0.0000 4 180 390 -5100 2625 ialu\001
|
||||
4 1 0 50 -1 16 14 0.0000 4 225 780 -5100 2925 (0,0,ID)\001
|
||||
4 1 0 50 -1 16 14 0.0000 4 180 570 -3300 2625 iaccu\001
|
||||
4 1 0 50 -1 16 14 0.0000 4 225 780 -3300 2925 (0,0,ID)\001
|
||||
4 1 0 50 -1 16 14 0.0000 4 180 465 -1500 2625 iram\001
|
||||
4 1 0 50 -1 16 14 0.0000 4 225 780 -1500 2925 (0,0,ID)\001
|
||||
4 1 0 50 -1 16 14 0.0000 4 180 630 300 2625 imuxs\001
|
||||
4 1 0 50 -1 16 14 0.0000 4 225 780 300 2925 (0,0,ID)\001
|
Binary file not shown.
After Width: | Height: | Size: 7.8 KiB |
|
@ -78,7 +78,7 @@
|
|||
\renewcommand{\sectionmark}[1]{\markboth{\thesection\ #1}{\thesection\ #1}}
|
||||
\renewcommand{\subsectionmark}[1]{}
|
||||
\lhead[]{Documentation \SoC}
|
||||
\rhead[]{March 2014}
|
||||
\rhead[]{March 2015}
|
||||
\lfoot[]{\UPMC/\LIP/\SoC}
|
||||
\rfoot[]{\thepage}
|
||||
\cfoot[]{}
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
from Hurricane import DebugSession
|
||||
|
||||
#DebugSession.addToTrace( kite.getCell().getNet( 'f_i(3)' ) )
|
|
@ -0,0 +1,31 @@
|
|||
|
||||
# -*- Mode:Python -*-
|
||||
|
||||
|
||||
defaultStyle = 'Alliance.Classic [black]'
|
||||
|
||||
parametersTable = \
|
||||
( ('misc.catchCore' , TypeBool , False )
|
||||
, ('misc.info' , TypeBool , False )
|
||||
, ('misc.paranoid' , TypeBool , False )
|
||||
, ('misc.bug' , TypeBool , False )
|
||||
, ('misc.logMode' , TypeBool , False )
|
||||
, ('misc.verboseLevel1' , TypeBool , False )
|
||||
, ('misc.verboseLevel2' , TypeBool , True )
|
||||
, ('misc.traceLevel' , TypeInt , 1000 )
|
||||
, ('etesian.spaceMargin' , TypePercentage, 5.0 )
|
||||
, ('etesian.aspectRatio' , TypePercentage, 100.0 )
|
||||
# Kite parameters.
|
||||
, ("kite.eventsLimit" , TypeInt , 1000000 )
|
||||
, ('katabatic.topRoutingLayer', TypeString , 'METAL5')
|
||||
, ("kite.hTracksReservedLocal", TypeInt , 4 )
|
||||
, ("kite.vTracksReservedLocal", TypeInt , 3 )
|
||||
)
|
||||
|
||||
#import os
|
||||
#
|
||||
#print ' o Cleaning up ClockTree previous run.'
|
||||
#for fileName in os.listdir('.'):
|
||||
# if fileName.endswith('.ap') or (fileName.find('_clocked.') >= 0):
|
||||
# print ' - <%s>' % fileName
|
||||
# os.unlink(fileName)
|
|
@ -0,0 +1,2 @@
|
|||
symbolicTechno = 'cmos'
|
||||
realTechno = 'hcmos9'
|
|
@ -8,6 +8,10 @@
|
|||
muxe.vst
|
||||
muxs.vst
|
||||
ram.vst
|
||||
design.py
|
||||
DESTINATION ${examplesInstallDir}/AM2901 )
|
||||
amd2901_chip.py DESTINATION ${examplesInstallDir}/AM2901 )
|
||||
install ( FILES doChip.py PERMISSIONS OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE
|
||||
OWNER_READ GROUP_READ WORLD_READ
|
||||
OWNER_WRITE
|
||||
DESTINATION ${examplesInstallDir}/AM2901 )
|
||||
install ( DIRECTORY .coriolis2 DESTINATION ${examplesInstallDir}/AM2901 )
|
||||
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
|
||||
chip = { 'pads.south' : [ 'p_a3' , 'p_a2', 'p_a1', 'p_r0', 'p_vddick0', 'p_vssick0', 'p_a0' , 'p_i6', 'p_i8' , 'p_i7' , 'p_r3' ]
|
||||
, 'pads.east' : [ 'p_zero', 'p_i0', 'p_i1', 'p_i2', 'p_vddeck0', 'p_vsseck0', 'p_q3' , 'p_b0', 'p_b1' , 'p_b2' , 'p_b3' ]
|
||||
, 'pads.north' : [ 'p_noe' , 'p_y3', 'p_y2', 'p_y1', 'p_y0' , 'p_vddeck1', 'p_vsseck1', 'p_np', 'p_ovr', 'p_cout', 'p_ng' ]
|
||||
#, 'pads.west' : [ 'p_i5', 'p_i3', 'p_ck' , 'p_d0' , 'p_d1' , 'p_d2', 'p_d3' , 'p_q0' , 'p_f3' ]
|
||||
, 'pads.west' : [ 'p_cin' , 'p_i4', 'p_i5', 'p_i3', 'p_ck' , 'p_d0' , 'p_d1' , 'p_d2', 'p_d3' , 'p_q0' , 'p_f3' ]
|
||||
, 'core.size' : ( 1500, 1500 )
|
||||
, 'chip.size' : ( 3000, 3000 )
|
||||
, 'chip.clockTree' : True
|
||||
}
|
|
@ -1,246 +0,0 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
try:
|
||||
import sys
|
||||
import traceback
|
||||
import os.path
|
||||
import optparse
|
||||
import Cfg
|
||||
import Hurricane
|
||||
from Hurricane import DbU
|
||||
from Hurricane import UpdateSession
|
||||
from Hurricane import Breakpoint
|
||||
from Hurricane import Transformation
|
||||
from Hurricane import Instance
|
||||
import Viewer
|
||||
import CRL
|
||||
from helpers import ErrorMessage
|
||||
import Nimbus
|
||||
import Metis
|
||||
import Mauka
|
||||
import Katabatic
|
||||
import Kite
|
||||
import Unicorn
|
||||
import placeandroute
|
||||
except ImportError, e:
|
||||
serror = str(e)
|
||||
if serror.startswith('No module named'):
|
||||
module = serror.split()[-1]
|
||||
print '[ERROR] The <%s> python module or symbol cannot be loaded.' % module
|
||||
print ' Please check the integrity of the <coriolis> package.'
|
||||
if str(e).find('cannot open shared object file'):
|
||||
library = serror.split(':')[0]
|
||||
print '[ERROR] The <%s> shared library cannot be loaded.' % library
|
||||
print ' Under RHEL 6, you must be under devtoolset-2.'
|
||||
print ' (scl enable devtoolset-2 bash)'
|
||||
sys.exit(1)
|
||||
except Exception, e:
|
||||
print '[ERROR] A strange exception occurred while loading the basic Coriolis/Python'
|
||||
print ' modules. Something may be wrong at Python/C API level.\n'
|
||||
print ' %s' % e
|
||||
sys.exit(2)
|
||||
|
||||
|
||||
# Check that all the instances have been placed by Mauka.
|
||||
def checkForUnplaceds ( cell ):
|
||||
unplaceds = []
|
||||
for instance in cell.getInstances():
|
||||
if instance.getPlacementStatus() == Instance.PlacementStatus.UNPLACED:
|
||||
unplaceds += [ instance ]
|
||||
if unplaceds:
|
||||
message = [ 'Some instances are still unplaceds:' ]
|
||||
for instance in unplaceds:
|
||||
message += [ '<%s> of model <%s>'%(str(instance.getName())
|
||||
,str(instance.getMasterCell().getName())) ]
|
||||
raise ErrorMessage( 3, message )
|
||||
return
|
||||
|
||||
|
||||
# Small wrapper to display breakpoints, when in graphic mode only.
|
||||
def breakpoint ( editor, level, message ):
|
||||
if editor:
|
||||
editor.fit()
|
||||
editor.refresh()
|
||||
Breakpoint.stop( level, message )
|
||||
return
|
||||
|
||||
|
||||
def ScriptMain ( cell=None ):
|
||||
# Force removal of any previouly generated placement (.ap files)
|
||||
# as they would prevent the the placer to run again.
|
||||
# This is a little bit inconvenient, but will change in the future.
|
||||
print ' o Cleaning up any previous run.'
|
||||
for fileName in os.listdir('.'):
|
||||
if fileName.endswith('.ap'):
|
||||
print ' - <%s>' % fileName
|
||||
os.unlink(fileName)
|
||||
|
||||
editor = None
|
||||
if globals().has_key('__editor'):
|
||||
print ' o Editor detected, running in graphic mode.'
|
||||
editor = __editor
|
||||
|
||||
Cfg.Configuration.pushDefaultPriority(Cfg.Parameter.Priority.CommandLine)
|
||||
Cfg.getParamBool('misc.verboseLevel1').setBool(True)
|
||||
Cfg.getParamBool('misc.verboseLevel2').setBool(True)
|
||||
Cfg.Configuration.popDefaultPriority()
|
||||
|
||||
errorCode = 0
|
||||
framework = CRL.AllianceFramework.get()
|
||||
|
||||
padHeight = DbU.fromLambda( 400.0)
|
||||
padWidth = DbU.fromLambda( 200.0)
|
||||
coreSide = DbU.fromLambda(1400.0)
|
||||
|
||||
# Cell must be loaded *before* opening the UpdateSession.
|
||||
print ' o Placing <coeur>.'
|
||||
modelCoeur = framework.getCell('coeur',CRL.Catalog.State.Logical)
|
||||
|
||||
UpdateSession.open()
|
||||
try:
|
||||
modelCoeur.setAbutmentBox( Hurricane.Box( DbU.fromLambda(0)
|
||||
, DbU.fromLambda(0)
|
||||
, coreSide
|
||||
, coreSide
|
||||
) )
|
||||
# Cannot place a rail if at least one instance is placed.
|
||||
# (to compute the orientation of the cells rows)
|
||||
#placeandroute.pyAlimVerticalRail( modelCoeur, coreSide/DbU.fromLambda(5.0*2) )
|
||||
|
||||
except Exception, e:
|
||||
print e; errorCode = 1
|
||||
|
||||
# For the geometrical modifications to be taken into account, we must
|
||||
# close this UpdateSession now. So the chip will see the core correctly.
|
||||
UpdateSession.close()
|
||||
if errorCode: sys.exit(errorCode)
|
||||
|
||||
print ' o Placing <chip>.'
|
||||
amd2901 = framework.getCell('amd2901',CRL.Catalog.State.Logical)
|
||||
if editor: editor.setCell(amd2901)
|
||||
|
||||
UpdateSession.open()
|
||||
try:
|
||||
|
||||
chipSide = 11*padWidth + 2*padHeight # Le chip est carre, avec 11 plots par face.
|
||||
abutmentBoxChip = Hurricane.Box( DbU.fromLambda(0.0)
|
||||
, DbU.fromLambda(0.0)
|
||||
, chipSide
|
||||
, chipSide
|
||||
)
|
||||
amd2901.setAbutmentBox( abutmentBoxChip )
|
||||
|
||||
instanceCoeur = amd2901.getInstance( 'core' )
|
||||
instanceCoeur.setTransformation(Hurricane.Transformation( (chipSide-coreSide)/2
|
||||
, (chipSide-coreSide)/2
|
||||
, Transformation.Orientation.ID ) )
|
||||
instanceCoeur.setPlacementStatus( Instance.PlacementStatus.PLACED )
|
||||
|
||||
# Placing Pads
|
||||
southPads = [ 'p_a3' , 'p_a2', 'p_a1', 'p_r0', 'p_vddick0', 'p_vssick0', 'p_a0' , 'p_i6', 'p_i8' , 'p_i7' , 'p_r3' ]
|
||||
eastPads = [ 'p_zero', 'p_i0', 'p_i1', 'p_i2', 'p_vddeck0', 'p_vsseck0', 'p_q3' , 'p_b0', 'p_b1' , 'p_b2' , 'p_b3' ]
|
||||
northPads = [ 'p_noe' , 'p_y3', 'p_y2', 'p_y1', 'p_y0' , 'p_vddeck1', 'p_vsseck1', 'p_np', 'p_ovr', 'p_cout', 'p_ng' ]
|
||||
westPads = [ 'p_cin' , 'p_i4', 'p_i5', 'p_i3', 'p_ck' , 'p_d0' , 'p_d1' , 'p_d2', 'p_d3' , 'p_q0' , 'p_f3' ]
|
||||
|
||||
for (key,listPads) in {'south':southPads, 'east':eastPads, 'north':northPads, 'west':westPads}.iteritems():
|
||||
print ' o Pads on %s side:' %key
|
||||
for ipad in range(len(listPads)):
|
||||
pad = amd2901.getInstance( listPads[ipad] )
|
||||
print ' - Placing pad: <%s> (model:<%s>).' % (listPads[ipad],str(pad.getMasterCell().getName()))
|
||||
|
||||
# south
|
||||
if key == 'south' :
|
||||
xpad = abutmentBoxChip.getXMin() + padHeight + ipad*(padWidth)
|
||||
ypad = abutmentBoxChip.getYMin() + padHeight
|
||||
pad.setTransformation( Hurricane.Transformation( xpad, ypad, Transformation.Orientation.MY) )
|
||||
|
||||
# east
|
||||
if key == 'east' :
|
||||
xpad = abutmentBoxChip.getXMax() - padHeight
|
||||
ypad = padHeight + padWidth + ipad*(padWidth)
|
||||
pad.setTransformation( Hurricane.Transformation( xpad, ypad, Transformation.Orientation.R3) )
|
||||
|
||||
# north
|
||||
if key == 'north' :
|
||||
xpad = padHeight + ipad*(padWidth)
|
||||
ypad = abutmentBoxChip.getYMax() - padHeight
|
||||
pad.setTransformation( Hurricane.Transformation( xpad, ypad, Transformation.Orientation.ID) )
|
||||
|
||||
# west
|
||||
if key == 'west' :
|
||||
xpad = padHeight
|
||||
ypad = padHeight + ipad*(padWidth)
|
||||
pad.setTransformation( Hurricane.Transformation( xpad, ypad, Transformation.Orientation.R1) )
|
||||
|
||||
pad.setPlacementStatus( Instance.PlacementStatus.PLACED )
|
||||
|
||||
except ErrorMessage, e:
|
||||
print e; errorCode = e.code
|
||||
except Exception, e:
|
||||
print '\n\n', e; errorCode = 1
|
||||
traceback.print_tb(sys.exc_info()[2])
|
||||
|
||||
UpdateSession.close()
|
||||
if errorCode: sys.exit(errorCode)
|
||||
|
||||
breakpoint( editor, 1, 'Chip After Pad Placement' )
|
||||
|
||||
try:
|
||||
# Now run the tools.
|
||||
coeur = framework.getCell('coeur',CRL.Catalog.State.Logical)
|
||||
|
||||
mauka = Mauka.MaukaEngine.create(coeur)
|
||||
mauka.run()
|
||||
mauka.destroy()
|
||||
|
||||
breakpoint( editor, 1, 'Core After Standard Cell Placement' )
|
||||
|
||||
placeandroute.pyAlimConnectors(coeur)
|
||||
|
||||
# This is gross. It's the ghost of Wu Yifei and his demonic code...
|
||||
# Will not be needed in the future (dynamic detection based on the
|
||||
# transformations).
|
||||
for pad in southPads: placeandroute.pad_south += [ amd2901.getInstance(pad) ]
|
||||
for pad in northPads: placeandroute.pad_north += [ amd2901.getInstance(pad) ]
|
||||
for pad in eastPads: placeandroute.pad_east += [ amd2901.getInstance(pad) ]
|
||||
for pad in westPads: placeandroute.pad_west += [ amd2901.getInstance(pad) ]
|
||||
|
||||
placeandroute.pyPowerRing( amd2901, amd2901.getInstance('core'), 3 )
|
||||
placeandroute.pyRouteCk ( amd2901, amd2901.getNet('ckc') )
|
||||
breakpoint( editor, 1, 'Core After Clock & Power Routing' )
|
||||
|
||||
kite = Kite.KiteEngine.create( amd2901 )
|
||||
kite.runGlobalRouter( Kite.KtBuildGlobalRouting )
|
||||
kite.loadGlobalRouting( Katabatic.EngineLoadGrByNet, [] )
|
||||
kite.layerAssign( Katabatic.EngineNoNetLayerAssign )
|
||||
kite.runNegociate()
|
||||
breakpoint( editor, 1, 'Routing done, but router still active for inspection.' )
|
||||
kite.finalizeLayout()
|
||||
kite.destroy()
|
||||
|
||||
# Write back layout to disk if everything has gone fine.
|
||||
# Must write all the sub-blocks of the core but *not* the
|
||||
# standard cell (mainly the feed-through).
|
||||
for instance in modelCoeur.getInstances():
|
||||
masterCell = instance.getMasterCell()
|
||||
if not masterCell.isTerminal():
|
||||
framework.saveCell( masterCell, CRL.Catalog.State.Physical )
|
||||
|
||||
framework.saveCell( modelCoeur, CRL.Catalog.State.Physical )
|
||||
framework.saveCell( amd2901 , CRL.Catalog.State.Physical )
|
||||
|
||||
except ErrorMessage, e:
|
||||
print e; errorCode = e.code
|
||||
except Exception, e:
|
||||
print '\n\n', e; errorCode = 1
|
||||
traceback.print_tb(sys.exc_info()[2])
|
||||
|
||||
if editor: editor.setCell(amd2901)
|
||||
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
ScriptMain()
|
||||
|
||||
sys.exit(0)
|
|
@ -0,0 +1,136 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
try:
|
||||
import sys
|
||||
import traceback
|
||||
import os.path
|
||||
import optparse
|
||||
import Cfg
|
||||
import Hurricane
|
||||
from Hurricane import DbU
|
||||
from Hurricane import UpdateSession
|
||||
from Hurricane import Breakpoint
|
||||
from Hurricane import Transformation
|
||||
from Hurricane import Instance
|
||||
import Viewer
|
||||
import CRL
|
||||
from helpers import ErrorMessage
|
||||
import Nimbus
|
||||
import Metis
|
||||
import Mauka
|
||||
import Katabatic
|
||||
import Kite
|
||||
import Unicorn
|
||||
import plugins.ChipPlugin
|
||||
import plugins.RSavePlugin
|
||||
except ImportError, e:
|
||||
serror = str(e)
|
||||
if serror.startswith('No module named'):
|
||||
module = serror.split()[-1]
|
||||
print '[ERROR] The <%s> python module or symbol cannot be loaded.' % module
|
||||
print ' Please check the integrity of the <coriolis> package.'
|
||||
sys.exit(1)
|
||||
if str(e).find('cannot open shared object file'):
|
||||
library = serror.split(':')[0]
|
||||
print '[ERROR] The <%s> shared library cannot be loaded.' % library
|
||||
print ' Under RHEL 6, you must be under devtoolset-2.'
|
||||
print ' (scl enable devtoolset-2 bash)'
|
||||
sys.exit(1)
|
||||
except Exception, e:
|
||||
print '[ERROR] A strange exception occurred while loading the basic Coriolis/Python'
|
||||
print ' modules. Something may be wrong at Python/C API level.\n'
|
||||
print ' %s' % e
|
||||
sys.exit(2)
|
||||
|
||||
|
||||
DoPlacement = 0x0001
|
||||
DoRouting = 0x0002
|
||||
AllStages = DoPlacement|DoRouting
|
||||
|
||||
framework = CRL.AllianceFramework.get()
|
||||
|
||||
|
||||
def ScriptMain ( **kw ):
|
||||
success = False
|
||||
doStages = AllStages
|
||||
if kw.has_key('doStages'):
|
||||
doStages = kw['doStages']
|
||||
try:
|
||||
cell, editor = plugins.kwParseMain( **kw )
|
||||
|
||||
if doStages & DoPlacement:
|
||||
success = plugins.ChipPlugin.ScriptMain( **kw )
|
||||
if not success: return False
|
||||
|
||||
if doStages & DoRouting:
|
||||
routingNets = []
|
||||
kite = Kite.KiteEngine.create( cell )
|
||||
#kite.printConfiguration()
|
||||
|
||||
kite.runGlobalRouter ( Kite.KtBuildGlobalRouting )
|
||||
kite.loadGlobalRouting( Katabatic.EngineLoadGrByNet, routingNets )
|
||||
kite.layerAssign ( Katabatic.EngineNoNetLayerAssign )
|
||||
kite.runNegociate ()
|
||||
success = kite.getToolSuccess()
|
||||
kite.finalizeLayout()
|
||||
kite.destroy()
|
||||
cell.setName( cell.getName()+'_kite' )
|
||||
framework.saveCell( cell, CRL.Catalog.State.Logical )
|
||||
|
||||
plugins.RSavePlugin.ScriptMain( **kw )
|
||||
|
||||
except Exception, e:
|
||||
print e
|
||||
|
||||
return success
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = optparse.OptionParser()
|
||||
parser.add_option( '-c', '--cell' , type='string', dest='cell' , help='The name of the chip to build, whithout extension.')
|
||||
parser.add_option( '-s', '--script', type='string', dest='script' , help='The name of a Python script, without extension.')
|
||||
parser.add_option( '-v', '--verbose' , action='store_true', dest='verbose' , help='First level of verbosity.')
|
||||
parser.add_option( '-V', '--very-verbose' , action='store_true', dest='veryVerbose', help='Second level of verbosity.')
|
||||
parser.add_option( '-p', '--place' , action='store_true', dest='doPlacement', help='Perform chip placement step only.')
|
||||
parser.add_option( '-r', '--route' , action='store_true', dest='doRouting' , help='Perform routing step only.')
|
||||
(options, args) = parser.parse_args()
|
||||
|
||||
|
||||
doStages = 0
|
||||
if options.verbose: Cfg.getParamBool('misc.verboseLevel1').setBool(True)
|
||||
if options.veryVerbose: Cfg.getParamBool('misc.verboseLevel2').setBool(True)
|
||||
if options.doPlacement: doStages |= DoPlacement
|
||||
if options.doRouting: doStages |= DoRouting
|
||||
if not doStages: doStages = AllStages
|
||||
|
||||
kw = { 'doStages':doStages }
|
||||
if options.script:
|
||||
try:
|
||||
module = __import__( options.script, globals(), locals() )
|
||||
if not module.__dict__.has_key('ScriptMain'):
|
||||
print '[ERROR] Script module <%s> do not contains a ScripMain() function.' % options.script
|
||||
sys.exit(1)
|
||||
|
||||
cell = module.__dict__['ScriptMain']( **kw )
|
||||
kw['cell'] = cell
|
||||
|
||||
except ImportError, e:
|
||||
module = str(e).split()[-1]
|
||||
|
||||
print '[ERROR] The <%s> script cannot be loaded.' % module
|
||||
print ' Please check your design hierarchy.'
|
||||
sys.exit(1)
|
||||
except Exception, e:
|
||||
print '[ERROR] A strange exception occurred while loading the Python'
|
||||
print ' script <%s>. Please check that module for error:\n' % options.script
|
||||
traceback.print_tb(sys.exc_info()[2])
|
||||
print ' %s' % e
|
||||
sys.exit(2)
|
||||
elif options.cell:
|
||||
kw['cell'] = framework.getCell( options.cell, CRL.Catalog.State.Views )
|
||||
|
||||
success = ScriptMain( **kw )
|
||||
shellSuccess = 0
|
||||
if not success: shellSuccess = 1
|
||||
|
||||
sys.exit( shellSuccess )
|
Loading…
Reference in New Issue