* ./hurricane/src/hviewer,

./coriolis/src/crlcore,
     ./coriolis/src/knik,
     ./coriolis/src/katabatic,
     ./coriolis/src/kite,
     ./coriolis/src/equinox,
     ./coriolis/src/solstice,
     ./coriolis/src/ispd:
     - SVN MOVE: Source tree simplification & uniformisation. Now all tools
         are at the same level, directly under the root of the repository.
         No more "coriolis/src".
This commit is contained in:
Jean-Paul Chaput 2010-03-09 15:24:29 +00:00
parent 5f59d39713
commit 360ff0424e
320 changed files with 31026 additions and 0 deletions

48
katabatic/CMakeLists.txt Normal file
View File

@ -0,0 +1,48 @@
PROJECT(KATABATIC)
OPTION(BUILD_DOC "Build the documentation (doxygen)" OFF)
OPTION(CHECK_DATABASE "Run database in full check mode (very slow)" OFF)
CMAKE_MINIMUM_REQUIRED(VERSION 2.4.0)
SET(CMAKE_C_FLAGS_DEBUG "-g -Wall" CACHE STRING "Debug options." FORCE)
SET(CMAKE_CXX_FLAGS_DEBUG "-g -Wall" CACHE STRING "Debug options." FORCE)
#SET(CMAKE_LINKER_FLAGS_DEBUG "-pg" CACHE STRING "Debug options." FORCE)
#SET(CMAKE_SHARED_LINKER_FLAGS_DEBUG "-pg" CACHE STRING "Debug options." FORCE)
#SET(CMAKE_MODULE_LINKER_FLAGS_DEBUG "-pg" CACHE STRING "Debug options." FORCE)
#SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "-pg" CACHE STRING "Debug options." FORCE)
SET(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG -Wall" CACHE STRING "Release options." FORCE)
SET(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG -Wall" CACHE STRING "Release options." FORCE)
IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
ENDIF(COMMAND CMAKE_POLICY)
SET(CMAKE_MODULE_PATH "$ENV{HURRICANE_TOP}/share/cmake_modules/")
SET(QT_USE_QTXML "true")
IF(BUILD_DOC)
FIND_PACKAGE(Doxygen)
ENDIF(BUILD_DOC)
FIND_PACKAGE(Qt4 REQUIRED) # find and setup Qt4 for this project
FIND_PACKAGE(HURRICANE REQUIRED)
FIND_PACKAGE(CORIOLIS REQUIRED)
FIND_PACKAGE(KNIK REQUIRED)
SET_LIB_LINK_MODE()
ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(cmake_modules)
IF(BUILD_DOC AND DOXYGEN_FOUND)
ADD_SUBDIRECTORY(doc)
ENDIF(BUILD_DOC AND DOXYGEN_FOUND)
IF(CHECK_DATABASE)
ADD_DEFINITIONS(-DCHECK_DATABASE)
MESSAGE(STATUS "Checking database enabled (very slow).")
ENDIF(CHECK_DATABASE)
IF(CHECK_DETERMINISM)
ADD_DEFINITIONS(-DCHECK_DETERMINISM)
MESSAGE(STATUS "Checking determinism enabled.")
ENDIF(CHECK_DETERMINISM)

View File

@ -0,0 +1 @@
install ( FILES FindKATABATIC.cmake DESTINATION /share/cmake_modules )

View File

@ -0,0 +1,47 @@
# - Find the Katabatic includes and libraries.
# The following variables are set if Coriolis is found. If KATABATIC is not
# found, KATABATIC_FOUND is set to false.
# KATABATIC_FOUND - True when the Coriolis include directory is found.
# KATABATIC_INCLUDE_DIR - the path to where the Coriolis include files are.
# KATABATIC_LIBRARIES - The path to where the Coriolis library files are.
SET(KATABATIC_INCLUDE_PATH_DESCRIPTION "directory containing the Katabatic include files. E.g /usr/local/include/coriolis or /asim/coriolis/include/coriolis")
SET(KATABATIC_DIR_MESSAGE "Set the KATABATIC_INCLUDE_DIR cmake cache entry to the ${KATABATIC_INCLUDE_PATH_DESCRIPTION}")
# don't even bother under WIN32
IF(UNIX)
SET(KATABATIC_DIR_SEARCH $ENV{CORIOLIS_TOP} $ENV{HURRICANE_TOP})
#
# Look for an installation.
#
FIND_PATH(KATABATIC_INCLUDE_PATH NAMES katabatic/KatabaticEngine.h PATHS
# Look in other places.
${KATABATIC_DIR_SEARCH}
PATH_SUFFIXES include/coriolis
# Help the user find it if we cannot.
DOC "The ${KATABATIC_INCLUDE_PATH_DESCRIPTION}"
)
FIND_LIBRARY(KATABATIC_LIBRARY_PATH
NAMES katabatic
PATHS ${KATABATIC_DIR_SEARCH}
PATH_SUFFIXES lib
# Help the user find it if we cannot.
DOC "The ${KATABATIC_INCLUDE_PATH_DESCRIPTION}"
)
FIND_LIBRARY(KATABATIC_STATIC_LIBRARY_PATH
NAMES katabatic-static
PATHS ${KATABATIC_DIR_SEARCH}
PATH_SUFFIXES lib
# Help the user find it if we cannot.
DOC "The ${KATABATIC_INCLUDE_PATH_DESCRIPTION}"
)
SET_LIBRARIES_PATH(KATABATIC KATABATIC)
HURRICANE_CHECK_LIBRARIES(KATABATIC)
ENDIF(UNIX)

View File

@ -0,0 +1,353 @@
/*
* x-----------------------------------------------------------------x
* | HTML Standart Tags |
* x-----------------------------------------------------------------x
*/
html, body, th, td, tr, p, li, h1, h2, h3, h4, h5, h6 {
font-size: 100%;
font-family: verdana, sans-serif;
}
body {
color: black;
background: white;
background-color: white;
background-position: top left;
background-attachment: fixed;
background-repeat: no-repeat;
margin-top: 2em;
margin-right: 10%;
margin-left: 10%;
}
hr {
height: 1px;
border: 0;
color: #004400;
background-color: #004400;
}
h1, h2, h3, h4, h5, h6 {
font-family: verdana, sans-serif;
}
h1 { text-align: center; }
h2, h3, h4, h5, h6 { text-align: left;
padding-top: 2em;
}
h1, h2, h3 { font-family: "Trebuchet MS", sans-serif;
color: #09550B;
}
h1 { font-weight: bold; font-size: 170%; }
h2 { font-weight: bold; font-size: 140%; }
h3 { font-weight: bold; font-size: 118%; }
h4 { font-weight: bold; font-size: 100%; }
h5 { font-style: italic; font-size: 100%; }
h6 { font-variant: small-caps; font-size: 100%; }
.hide {
display: none;
color: white;
}
p {
margin-top: 0.6em;
margin-bottom: 0.6em;
margin-left: 0.0em;
margin-right: 0.0em;
}
address {
text-align: right;
font-weight: bold;
font-style: italic;
font-size: 80%;
}
caption { font-weight: bold }
blockquote {
margin-left: 4em;
margin-right: 4em;
margin-top: 0.8em;
margin-bottom: 0.8em;
font-style: italic;
color: #003300;
}
blockquote p {
margin-bottom: 0;
}
blockquote address {
margin: 0;
}
table {
border-collapse: collapse;
}
dt, dd { margin-top: 0; margin-bottom: 0; }
dt { font-weight: bold; }
pre, tt, code {
font-family: "andale mono", monospace;
font-size: 100%;
white-space: pre;
}
pre {
font-size: 80%;
border: solid;
border-width: thin;
border-color: #003300;
background-color: #EEEEEE;
padding: 0.5em;
margin-left: 2em;
margin-right: 2em
}
tt { color: green; }
em { font-style: italic; font-weight: bold; }
strong { font-weight: bold; }
span.textit { font-style: italic; }
span.textbf { font-weight: bold; }
.small { font-size: 90%; }
.white { color: #FFFFFF; }
ul.toc {
list-style: disc;
list-style: none;
}
a:link img, a:visited img { border-style: none; }
a img { color: white; }
a:link, a:active, a:visited {
color: #09550B;
text-decoration: none;
}
a:hover, a:focus {
color: #FF9900;
text-decoration: underline;
}
/*
* x-----------------------------------------------------------------x
* | Doxygen Specific Classes |
* x-----------------------------------------------------------------x
*/
/* -------------------------------------------------------------------
* Header & Footer Classes (customized top page navigation bar).
*/
table.header {
width: 100%;
/*background-color: #EEEEEE;*/
background-color: #CCE6CA;
}
h1.header {
font-family: times, verdana, sans-serif;
}
td.header {
/*width: 14%;*/
text-align: center;
font-weight: bold;
font-family: verdana, sans-serif;
}
table.footer {
width: 100%;
}
td.leftFoot1, td.leftFoot2 {
text-align: left;
}
td.rightFoot1, td.rightFoot2 {
text-align: right;
}
td.leftFoot2 {
font-family: time;
font-weight: bold;
}
td.rightFoot2 {
font-weight: bold;
}
div.ah {
font-family: time;
font-size: 250%;
}
/* -------------------------------------------------------------------
* Quick Index Class (top page navigation bar).
*/
div.qindex, div.nav {
width: 100%;
/*background-color: #DADAEF;*/
/*background-color: #eeeeff;*/
/*background-color: #EEEEEE;*/
background-color: #CCE6CA;
border: 1px solid #003300;
text-align: center;
margin: 2px;
padding: 2px;
line-height: 140%;
}
a.qindex, a.qindex:visited, a.qindex:hover, a.qindexHL, a.el, a.elRef {
text-decoration: none;
font-weight: bold;
}
a.qindex, a.qindex:visited {
color: #09550B;
}
a.qindex:hover {
background-color: #ddddff;
}
a.qindexHL, a.qindexHL:hover, a.qindexHL:visited {
background-color: #0c780c;
color: #ffffff;
border: 1px double #9295C2;
}
a.code:link, a.code:visited, a.codeRef:link, a.codeRef:visited {
text-decoration: none;
font-weight: normal;
color: #0000ff;
}
.indexkey {
background-color: #eeeeff;
border: 1px solid #b0b0b0;
padding: 2px 15px;
}
.indexkey, .indexvalue {
background-color: #eeeeff;
border: 1px solid #b0b0b0;
padding: 2px 15px;
}
.indexkey {
width: 40%;
}
.indexvalue {
width: 80%;
}
/* -------------------------------------------------------------------
* Verbatim Source Code / Examples.
*/
pre.fragment { background-color: #EEEEEE; }
span.keyword { color: #008000 }
span.keywordtype { color: #604020 }
span.keywordflow { color: #e08000 }
span.comment { color: #800000 }
span.preprocessor { color: #806020 }
span.stringliteral { color: #002080 }
span.charliteral { color: #008080 }
/* -------------------------------------------------------------------
* Attributes Listing.
*/
.mdTable {
/*border: 1px solid #868686;*/
/*background-color: #DADAEF;*/
/*background-color: #F4F4FB;*/
border: 1px none #868686;
/*background-color: #B8E6B8;*/
background-color: #CCE6CA;
margin-top: 25px;
}
.mdRow {
padding: 5px 10px;
}
/* This Mozilla/Firefox bug has been corrected from v1.5.
* .mdname1 {
* padding: 3px 0px 0px 0px;
* }
*/
.mdescLeft, .mdescRight {
padding: 0px 8px 4px 8px;
font-size: 12px;
font-style: italic;
/*background-color: #FAFAFA;*/
border-top: 1px none #E0E0E0;
border-right: 1px none #E0E0E0;
border-bottom: 1px none #E0E0E0;
border-left: 1px none #E0E0E0;
margin: 0px;
}
.memItemLeft, .memItemRight, .memTemplItemLeft {
padding: 1px 0px 0px 8px;
margin: 4px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-color: #0c0c0c;
border-right-color: #0c0c0c;
border-bottom-color: #0c0c0c;
border-left-color: #0c0c0c;
border-top-style: solid;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
/*background-color: #DADAEF;*/
/*background-color: #eeeeff;*/
/*background-color: #EEEEEE;*/
background-color: #CCE6CA;
}
.memItemLeft { font-size: 12px; }
.memItemRight { font-size: 13px; }
.memTemplItemLeft { font-size: 12px; }
.memTemplItemRight { font-size: 13px; }
.memTemplParams {
color: #606060;
background-color: #DADAEF;
font-size: 12px;
}

485
katabatic/doc/ASIM.css Normal file
View File

@ -0,0 +1,485 @@
/*
* x-----------------------------------------------------------------x
* | HTML Standart Tags |
* x-----------------------------------------------------------------x
*/
html, body, th, td, tr, p, li, h1, h2, h3, h4, h5, h6 {
font-size: 96%;
font-family: verdana, sans-serif;
}
body {
color: black;
background: white;
background-color: white;
background-position: top left;
background-attachment: fixed;
background-repeat: no-repeat;
margin-top: 2em;
margin-right: 8%;
margin-left: 8%;
}
hr {
height: 1px;
border: 0;
color: #004400;
background-color: #004400;
}
h1, h2, h3, h4, h5, h6 {
font-family: verdana, sans-serif;
}
h1 { text-align: center; }
h2, h3, h4, h5, h6 { text-align: left;
padding-top: 2em;
}
h1, h2, h3 { font-family: "Trebuchet MS", sans-serif;
color: #09550B;
}
h1 { font-weight: bold; font-size: 170%; }
h2 { font-weight: bold; font-size: 140%; }
h3 { font-weight: bold; font-size: 118%; }
h4 { font-weight: bold; font-size: 100%; }
h5 { font-style: italic; font-size: 100%; }
h6 { font-variant: small-caps; font-size: 100%; }
h2.classHierarchy {
/*border: 1px none #008500;*/
border: 1px none #000000;
border-top-width: 2px;
border-top-style: solid;
padding-top: 1em;
}
.hide {
display: none;
color: white;
}
p {
margin-top: 0.6em;
margin-bottom: 0.6em;
margin-left: 0.0em;
margin-right: 0.0em;
}
address {
text-align: right;
font-weight: bold;
font-style: italic;
font-size: 80%;
}
caption { font-weight: bold }
blockquote {
margin-left: 4em;
margin-right: 4em;
margin-top: 0.8em;
margin-bottom: 0.8em;
font-style: italic;
color: #003300;
}
blockquote p {
margin-bottom: 0;
}
blockquote address {
margin: 0;
}
table {
border-collapse: collapse;
}
dt, dd { margin-top: 0; margin-bottom: 0; }
dt { font-weight: bold; }
pre, tt, code {
font-family: "andale mono", monospace;
font-size: 100%;
white-space: pre;
}
pre {
font-size: 80%;
border: dashed;
border-width: thin;
border-color: #003300;
/*
background-color: #EEEEEE;
*/
background-color: #FCFCE1;
padding: 0.5em;
margin-left: 2em;
margin-right: 2em
}
tt { color: green; }
em { font-style: italic;
font-weight: bold; }
strong { font-weight: bold; }
span.textit { font-style: italic; }
span.textbf { font-weight: bold; }
.small { font-size: 90%; }
.white { color: #FFFFFF; }
ul.toc {
list-style: disc;
list-style: none;
}
a:link img, a:visited img { border-style: none; }
a img { color: white; }
a:link, a:active, a:visited {
color: #09550B;
text-decoration: none;
}
a:hover, a:focus {
color: #FF9900;
text-decoration: underline;
}
/*
* x-----------------------------------------------------------------x
* | Doxygen Specific Classes |
* x-----------------------------------------------------------------x
*/
/* -------------------------------------------------------------------
* Header & Footer Classes (customized top page navigation bar).
*/
h1.header {
font-size: 200%;
font-family: times, verdana, sans-serif;
}
center.header {
background-color: #CCE6CA;
}
table.header {
/*width: 100%;*/
/*background-color: #EEEEEE;*/
background-color: #CCE6CA;
}
table.header td {
padding: 2px 14px;
text-align: center;
font-weight: bold;
font-family: verdana, sans-serif;
font-size: 110%;
}
table.footer1, table.footer2 { width: 100%; }
td.LFooter { text-align: left; }
td.RFooter { text-align: right; }
td.CFooter { text-align: center;}
table.footer2 td.RFooter { font-weight: bold; width: 35% }
table.footer2 td.CFooter { width: 30% }
table.footer2 td.LFooter { font-weight: bold; width: 35%; font-family: time; }
table.classHierarchy {
border-collapse: separate;
border-spacing: 5px;
font-size: 110%;
}
table.classHierarchy tr {
border: 1px solid blue;
}
table.classHierarchy td.normal {
border: 1px solid #CCE6CA;
width: 140pt;
text-align: center;
font-weight: bold;
background-color: #CCE6CA;
}
table.classHierarchy td.virtual {
border: 1px solid black;
width: 140pt;
text-align: center;
font-weight: bold;
}
table.classHierarchy td.wnormal {
border: 1px solid #CCE6CA;
width: 240pt;
text-align: center;
font-weight: bold;
background-color: #CCE6CA;
}
table.classHierarchy td.wvirtual {
border: 1px solid black;
width: 240pt;
text-align: center;
font-weight: bold;
}
div.ah {
font-family: time;
font-size: 250%;
}
/* -------------------------------------------------------------------
* Quick Index Class (top page navigation bar).
*/
div.qindex, div.nav {
width: 100%-4px;
/*background-color: #DADAEF;*/
/*background-color: #eeeeff;*/
/*background-color: #EEEEEE;*/
background-color: #CCE6CA;
border: 0px solid #003300;
text-align: center;
margin: 0px;
padding: 2px;
line-height: 140%;
}
a.qindex, a.qindex:visited, a.qindex:hover, a.qindexHL, a.el, a.elRef {
text-decoration: none;
font-weight: bold;
}
a.qindex, a.qindex:visited {
color: #09550B;
}
a.qindex:hover {
background-color: #ddddff;
}
a.qindexHL, a.qindexHL:hover, a.qindexHL:visited {
background-color: #0c780c;
color: #ffffff;
border: 1px double #9295C2;
}
a.code:link, a.code:visited, a.codeRef:link, a.codeRef:visited {
text-decoration: none;
font-weight: normal;
color: #0000ff;
}
.indexkey {
background-color: #eeeeff;
border: 1px solid #b0b0b0;
padding: 2px 15px;
}
.indexkey, .indexvalue {
background-color: #eeeeff;
border: 1px solid #b0b0b0;
padding: 2px 15px;
}
.indexkey {
width: 40%;
}
.indexvalue {
width: 80%;
}
h3 a[name="index__"],
h3 a[name="index_a"],
h3 a[name="index_b"],
h3 a[name="index_c"],
h3 a[name="index_d"],
h3 a[name="index_e"],
h3 a[name="index_f"],
h3 a[name="index_g"],
h3 a[name="index_h"],
h3 a[name="index_i"],
h3 a[name="index_j"],
h3 a[name="index_k"],
h3 a[name="index_l"],
h3 a[name="index_m"],
h3 a[name="index_n"],
h3 a[name="index_o"],
h3 a[name="index_p"],
h3 a[name="index_q"],
h3 a[name="index_r"],
h3 a[name="index_s"],
h3 a[name="index_t"],
h3 a[name="index_u"],
h3 a[name="index_v"],
h3 a[name="index_w"],
h3 a[name="index_x"],
h3 a[name="index_y"],
h3 a[name="index_z"],
h3 a[name="index_0"],
h3 a[name="index_1"],
h3 a[name="index_2"],
h3 a[name="index_3"],
h3 a[name="index_4"],
h3 a[name="index_5"],
h3 a[name="index_6"],
h3 a[name="index_7"],
h3 a[name="index_8"],
h3 a[name="index_9"]
{
font-family: time;
font-size: 250%;
}
/* -------------------------------------------------------------------
* Verbatim Source Code / Examples.
*/
/* pre.fragment { background-color: #EEEEEE; } */
span.keyword { color: #008000 }
span.keywordtype { color: #604020 }
span.keywordflow { color: #e08000 }
span.comment { color: #800000 }
span.preprocessor { color: #806020 }
span.stringliteral { color: #002080 }
span.charliteral { color: #008080 }
/* -------------------------------------------------------------------
* Attributes Listing.
*/
.mdTable {
/*border: 1px solid #868686;*/
/*background-color: #DADAEF;*/
/*background-color: #F4F4FB;*/
border: 1px none #008500;
border-left-width: 1px;
border-left-style: solid;
/*background-color: #B8E6B8;*/
/*background-color: #CCE6CA;*/
margin-top: 25px;
font-size: 105%;
}
.mdRow {
padding: 5px 10px;
}
/* This Mozilla/Firefox bug has been corrected from v1.5.
* .mdname1 {
* padding: 3px 0px 0px 0px;
* }
*/
.mdescLeft, .mdescRight {
padding: 0px 8px 4px 8px;
font-size: 11px;
font-style: italic;
/*background-color: #FAFAFA;*/
border-top: 1px none #E0E0E0;
border-right: 1px none #E0E0E0;
border-bottom: 1px none #E0E0E0;
border-left: 1px none #E0E0E0;
margin: 0px;
}
.memitem {
margin-bottom: 30px;
border: 1px none #008500;
}
.memproto {
background-color: #CCE6CA;
border-left-width: 4px;
border-left-style: solid;
border-color: #008500;
}
.memname {
white-space: nowrap;
padding-left: 5px;
font-size: 105%;
}
.memdoc{
padding-left: 5px;
/*margin-top: -8px;*/
border-left-width: 1px;
border-left-style: solid;
border-color: #008500;
}
.memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight {
padding: 1px 0px 0px 8px;
margin: 4px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-color: #0c0c0c;
border-right-color: #0c0c0c;
border-bottom-color: #0c0c0c;
border-left-color: #0c0c0c;
border-top-style: solid;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
/*background-color: #DADAEF;*/
/*background-color: #eeeeff;*/
/*background-color: #EEEEEE;*/
background-color: #CCE6CA;
}
.memTemplItemLeft, .memTemplItemRight {
border-bottom-width: 2px;
border-bottom-style: solid;
font-weight: bold;
}
.memItemLeft { font-size: 11px; }
.memItemRight { font-size: 12px; }
.memTemplItemLeft { font-size: 11px; }
.memTemplItemRight { font-size: 12px; }
.memTemplParams {
color: #FFFFFF;
background-color: #000000;
font-size: 11px;
font-weight: bold;
}
.groupText, .groupHeader {
color: #09550B;
margin-top: 15px;
font-size: 130%;
font-weight: bold;
}

View File

@ -0,0 +1,364 @@
// -*- C++ -*-
namespace Katabatic {
/*! \class AutoContact
* \brief Self-sizing Contact (\b API).
*
* \see \ref buildRules.
*
* \section secAutoContactSplitting AutoContact splitting mechanism
*
* An AutoContact splitting occurs when more than two layers connects
* to a single AutoContact.
*
* <b>General Case</b>
*
* <ol>
* <li>Create a \b secondary contact, so that both the original
* and the secondary abide by the two layers rule.
* <li>Create new AutoSegments to connect original to secondary.
* There could be one or two segments created according to
* the <i>layers distance</i>.
* <li>Re-attach the AutoSegments to the right AutoContact.
* The rule being that an AutoSegment is attached to the
* lowest AutoContact containing it's Layer.
* <li>The orignal &amp; secondary contact are passed trough
* the connexity restauration procedure.
* </ol>
*
* <b>Importants Points</b>
*
* <ul>
* <li>In the second step: the new AutoSegments must be put on
* axis so that after resizing original and secondary AutoContact,
* the AutoSegments do not extend outside their previous extension.
* <li>Constraints splitting: the constraints on the splitted
* AutoSegment mustn't be more restrictive than thoses on the
* original one. For example, two AutoSegments that weren't
* HAligneds must not become so.
* </ul>
*
* <b>Special Cases</b>
* <ul>
* <li>The AutoContact is anchored on a \c METAL1 terminal, then
* there is only one \c M4 AutoSegment to be re-connected, we
* simply create a two-VIA dog leg.
* <li>The AutoContact still have connect two connex Layers, just
* changes the AutoContact Layer.
* </ul>
*
* \image html AutoContact-12.png
* \image html AutoContact-13.png
* \image html AutoContact-14.png
* \image html AutoContact-15.png
* \image latex AutoContact-12.pdf
* \image latex AutoContact-13.pdf
* \image latex AutoContact-14.pdf
* \image latex AutoContact-15.pdf
*/
/* \var GCell* AutoContact::_gcell
* \brief The GCell into which the AutoContact is located.
*/
/*! \function AutoContact* AutoContact::fromRp ( GCell* gcell, RoutingPad* routingPad, const Layer* layer, Point point, DbU::Unit width, DbU::Unit height, bool fixed=false );
* \param gcell The GCell in which to create the AutoContact.
* \param routingPad The RoutingPad on which to anchor the AutoContact.
* \param layer The AutoContact's layer.
* \param point The absolute position of the AutoContact.
* \param width AutoContact's width.
* \param height AutoContact's height.
* \param fixed The AutoContact cannot be moved.
* \return Newly created AutoContact.
*
* create an AutoContact anchored on a \c RoutingPad. The AutoContact can
* be moved along the \c RoutingPad but not outside it.
*
* A remark on the \c point parameter : it must be absolute coordinates, but
* as we uses the \c RoutingPad as an anchor they are translated into an
* offset from the \c RoutingPad (see how \c Hurricane handles coordinates
* through anchoring). It is also assumed that the AutoContact is to be
* electrically connected to the \c RoutingPad (no disconnection).
* So, we will faces three cases, depending on the \c RoutingPad
* underlying \c Entity :
* <ul>
* <li>The \c Entity is an horizontal segment :
* the Y coordinate is sets to zero, the X coordinate is kept.
* <li>The \c Entity is a vertical segment :
* keep the Y coordinate, the X coordinate is sets to zero.
* <li>The \c Entity is a \c Contact or a \c Pin :
* both X and Y are sets to zero.
* </ul>
*/
/*! \function AutoContact* AutoContact::create ( GCell* gcell, Net* net, const Layer* layer, bool hAlignate=false, bool vAlignate=false )
* \param gcell The GCell into which the AutoContact will be put.
* \param net The AutoContact's owner Net.
* \param layer The AutoContact's layer.
* \param hAlignate Keeps alignate (all) horizontal segments.
* \param vAlignate Keeps alignate (all) vertical segments.
* \return A new AutoContact.
*
* As AutoContact are Contacts restricted to, at best, two adjacent
* routing layers, the layer argument is either a single routing
* contact or a two metals only VIA.
*/
/*! \function AutoContact* AutoContact::create ( GCell* gcell, RoutingPad* rp, const Layer* layer, const DbU::Unit dx, const DbU::Unit dy, const DbU::Unit width, const DbU::Unit height, bool hAlignate=false, bool vAlignate=false, bool fixed=false );
* \param gcell The GCell into which the AutoContact will be put.
* \param rp The RoutingPad anchor.
* \param layer The AutoContact's layer.
* \param dx Horizontal offset to the component.
* \param dy Vertical offset to the component.
* \param width Width of the AutoContact.
* \param height Height of the AutoContact.
* \param hAlignate Keeps alignate (all) horizontal segments.
* \param vAlignate Keeps alignate (all) vertical segments.
* \param fixed The AutoContact cannot be moved.
* \return A new AutoContact.
*
* create an AutoContact anchored on a component : the component must
* be a \RoutingPad, sets the isTerminal() flag.
*
* As AutoContact are Contacts restricted to, at best, two adjacent
* routing layers, the layer argument is either a single routing
* contact or a two metals only VIA.
*/
/*! \function GCell* AutoContact::getGCell() const
* \brief Returns the GCell into which the AutoContact is located.
*/
/*! \function void AutoContact::updateGeometry()
* \brief Perform the segment resizing.
*
* As it will resizes Hurricane components, this function call must
* be enclosed into an updateSession.
*/
/*! \function AutoContacts AutoContact::getCollapseds ( unsigned int direction );
* \param direction restrict the search to that direction.
* \return The \c Collection of AutoContact that are collapsed on this one,
* that is, linked through collapsed AutoSegment of type
* \c direction.
*/
/*! \function bool AutoContact::isTerminal () const;
* \return \true if the AutoContact is anchored on a terminal.
*/
/*! \function bool AutoContact::isHAlignate () const;
* \return \true if the horizontal AutoSegment anchored on the AutoContact
* must be kept aligned.
* \see \ref collapseCanonical
*/
/*! \function bool AutoContact::isVAlignate () const;
* \return \true if the vertical AutoSegment anchored on the AutoContact
* must be kept aligned.
* \see \ref collapseCanonical
*/
/*! \function void AutoContact::getLengths ( DbU::Unit* lengths, set<AutoSegment*>& segments );
* \return Increment the table of lengths for the lengths of segments of
* this AutoContact and inside it's owning GCell.
*/
/*! \function void AutoContact::setTerminal ( bool isTerminal );
* \param isTerminal set the terminal flag.
*/
/*! \function bool AutoContact::isHExtended ();
* \return \true if the \b privileged direction of the AutoContact is horizontal.
*
* To be privileged in horizontal direction means that the \c Y coordinates
* of all horizontals of the AutoContact are the same and imposed in either
* of the following ways:
* <ul>
* <li>Have a horizontal global (i.e. stem). The AutoContact could
* be non-punctual along the horizontal axis.
* <li>All it's horizontals are kept aligneds.
* </ul>
* \note An AutoContact can be neither horizontally extended nor vertically
* extended. In which case it is punctual.
*
* \image html AutoContact-10.png
* \image latex AutoContact-10.pdf
*/
/*! \function bool AutoContact::isVExtended ();
* \return \true if the \b privileged direction of the AutoContact is vertical.
*
* To be privileged in vertical direction means that the \c X coordinates
* of all verticals of the AutoContact are the same and imposed in either
* the following way:
* <ul>
* <li>Have a vertical global (i.e. stem). The AutoContact could
* be non-punctual along the vertical axis.
* <li>All it's vertical are kept aligneds.
* </ul>
* \note An AutoContact can be neither horizontally extended nor vertically
* extended. In which case it is punctual.
*
* \image html AutoContact-11.png
* \image latex AutoContact-11.pdf
*/
/*! \function void AutoContact::setHAlignate ( bool hAlignate );
* \param hAlignate The new horizontal alignement mode.
*
* When horizontal aligment mode is active, all horizontals of the
* AutoContact are kept aligned (on the same \b Y coordinate).
* \see \ref collapseCanonical
*/
/*! \function void AutoContact::setVAlignate ( bool vAlignate );
* \param vAlignate The new vertical alignement mode.
*
* When vertical aligment mode is active, all verticals of the
* AutoContact are kept aligned (on the same \b X coordinate).
* \see \ref collapseCanonical
*/
/*! \function void AutoContact::restoreHConnexity ( DbU::Unit y, bool split=false );
* \param y When splitting, the coordinate of the vertical strap segments.
* \param split Wether to separate the various horizontals or not.
*
* Ensure that there is no gap between horizontals of this AutoContact.
* <ul>
* <li>The default behavior (<tt>split=false</tt>) is simply to sets the
* <b>H Alignate</b> flags, thus forcing the alignment on the same \c Y.
* <li>To allow the horizontals to be on different axis, we can split
* them on differents AutoContacts aligneds vertically. The AutoSegments
* created between thoses secondary contacts are calleds "straps" and
* sets on the \c Y axis.
* </ul>
* In case of splitting, all the verticals are kept on the original AutoContact.
*/
/*! \function void AutoContact::restoreVConnexity ( DbU::Unit x, bool split=false );
* \param x When splitting, the coordinate of the horizontal strap segments.
* \param split Wether to separate the various verticals or not.
*
* Ensure that there is no gap between verticals of this AutoContact.
* <ul>
* <li>The default behavior (<tt>split=false</tt>) is simply to sets the
* <b>V Alignate</b> flags, thus forcing the alignment on the same \c X.
* <li>To allow the verticals to be on different axis, we can split
* them on differents AutoContacts aligneds horizontally. The AutoSegments
* created between thoses secondary contacts are calleds "straps" and
* sets on the \c X axis.
* </ul>
* In case of splitting, all the horizontals are kept on the original AutoContact.
*/
/*! \function void AutoContact::invalidate ();
* Put this AutoContact into the invalidated set (see \ref katabaticSession).
*/
//! \addtogroup katabaticSession
//! \{
/*! \function bool AutoContact::isInvalidated () const;
* \return \True if the AutoContact is invalidated, i.e. in the
* Katabatic Session, one or more of it's anchored AutoSegment
* being moved.
*
* \see autoInvalidate().
*/
/*! \function bool AutoContact::setInvalidated ( bool state );
* \param state set the state of the AutoContact regarding the
* Katabatic Session.
*
* \see autoInvalidate().
*/
/*! \function Box AutoContact::getNativeConstraintBox () const;
* Return the native constraint box, that is, the \Box of the
* owning GCell or the bounding box of the terminal it's anchored
* upon.
*/
/*! \function DbU::Unit AutoContact::getCBXMin () const;
* \return The X coordinate of the lower left corner.
*/
/*! \function DbU::Unit AutoContact::getCBYMin () const;
* \return The Y coordinate of the lower left corner.
*/
/*! \function DbU::Unit AutoContact::getCBXMax () const;
* \return The X coordinate of the upper right corner.
*/
/*! \function DbU::Unit AutoContact::getCBYMax () const;
* \return The Y coordinate of the upper right corner.
*/
/*! \function Box AutoContact::getConstraintBox () const;
* \return The current constraint box.
*/
/*! \function Box& AutoContact::intersectConstraintBox ( Box& box ) const;
* \param box The box to intersect width.
* \return A reference on the the box given as argument.
*
* Do the intersection of the constraint box and the one given
* as argument. Store the result in place.
*/
/*! \function void AutoContact::restoreNativeConstraintBox ();
* reset the constraint box to the native constraint box.
*/
/*! \function void AutoContact::setConstraintBox ( const Box& box );
* \param box The new constraint box.
*
* sets the constraint box.
*/
/*! \function void AutoContact::restrictConstraintBox ( DbU::Unit constraintMin, DbU::Unit constraintMax, unsigned int direction );
* \param constraintMin The constraint lower bound.
* \param constraintMax The constraint upper bound.
* \param direction The direction into which apply the constraint.
*
* restrict the constraint box in one direction.
*/
/*! \function void AutoContact::setCBXMin ( DbU::Unit xMin );
* \param xMin The X cooordinate of the lower left corner.
*
* sets the X coordinate of the lower left corner.
*/
/*! \function void AutoContact::setCBYMin ( DbU::Unit yMin );
* \param yMin The Y cooordinate of the lower left corner.
*
* sets the Y coordinate of the lower left corner.
*/
/*! \function void AutoContact::setCBXMax ( DbU::Unit xMax );
* \param xMax The X cooordinate of the upper right corner.
*
* sets the X coordinate of the upper right corner.
*/
/*! \function void AutoContact::setCBYMax ( DbU::Unit yMax );
* \param yMax The Y cooordinate of the upper right corner.
*
* sets the Y coordinate of the upper right corner.
*/
//! \}
}
namespace {
}

View File

@ -0,0 +1,677 @@
// -*- C++ -*-
namespace Katabatic {
/*! \class AutoSegment
* \brief Self-sizing segment (\b API).
*
* AutoSegment provide an uniform way of accessing AutoHorizontal
* and AutoVertical self-sizing segments. AutoSegments mainly contains
* a pointer to the associated Horizontal/Vertical Hurricane segment.
* This is the Hurricane segment which is part of the ring of the
* AutoContact. Thus we can directly access the Hurricane segment
* from the AutoSegment, but for the othey around we uses a lookup
* table in the Katabatic \c ToolEngine (see the
* Katabatic::_Lookup() member function).
*
* In order to inform the router of an AutoSegment state change,
* a callback function SegmentRevalidateCB can be positionned.
*
* \c Segment associated to AutoSegment are automatically oriented
* in such a way that the source \c Hook is always \e lower than
* the target \c hook. For an Horizontal segment it means that
* the abcissa of the source is inferior to the abcsissa of the
* target. It goes the same way for Vertical segment with the
* ordinate.
*
* KatabaticSession mechanism : this is fairly similar to the
* \c Hurricane updateSession one. When a segment is either moved
* by the router or resized by it's AutoContact it is invalidated
* with autoInvalidate() and put into the set of invalidated
* segments. When the KatabaticSession is closed the onRevalidate()
* member function is called on each segment, which in turn calls
* the router's callback. See Session::open(), Session::revalidate(),
* Session::close() and \ref katabaticSession.
*
* \remark As this object uses the decorator Design Pattern, almost all
* functions are pure virtuals. Implementation take place in a
* derived class \c AutoSegmentConcrete which is not documented,
* (same specifications as AutoSegment).
*
* \see AutoSegmentDecorator class.
*/
/*! \typedef AutoSegment::RevalidateCb_t ( AutoSegment* )
* Function type for the router callback. See AutoSegment::setRevalidateCb().
*/
/* \function static AutoSegment::RevalidateCb_t* AutoSegment::setRevalidateCb ( RevalidateCb_t* cb );
* \param cb The new router callback to install.
* \return The previous router callback.
*
* Install the callback to call when an AutoSegment is revalidated,
* The callback is called by onRevalidate() on closing the Katabatic
* update session.
*/
/*! \function bool AutoSegment::isHorizontal () const;
* \return \true if the AutoSegment is horizontal.
*/
/*! \function bool AutoSegment::isVertical () const;
* \return \true if the AutoSegment is vertical.
*/
/*! \function bool AutoSegment::isGlobal () const;
* \return \true if the AutoSegment is global : source and target
* AutoContact are not in the same GCell.
*/
/*! \function bool AutoSegment::isLocal () const;
* \return \true if the AutoSegment is local : source and target
* belongs to the same GCell.
*/
/*! \function bool AutoSegment::isTerminal () const;
* \return \true if the AutoSegment is terminal : the only way
* to access a terminal AutoContact (may not be directly
* achored on that terminal).
*/
/*! \function bool AutoSegment::isCollapsed () const;
* \return \true if the AutoSegment is collapsed : kept to zero-length.
*/
/*! \function bool AutoSegment::isCanonical () const;
* \return \true if the AutoSegment is canonical that is, the leftmost
* (for horizontal) or lowest (for vertical) segment of a set
* of collapsed segments. The canonical segment must be used
* as the unique representant for the collapsed set.
*/
/*! \function bool AutoSegment::isFixed () const;
* \return \true if the AutoSegment cannot be moved (through setAxis()).
*/
/*! \function bool AutoSegment::isAccountable () const;
* \return \true if the AutoSegment is canonical and not collapsed.
* Normally those flags are mutually exclusives, but better safe
* than sorry.
*
*/
/*! \function virtual GCell* AutoSegment::getGCell () const;
* \return The GCell owning the source AutoContact.
*/
/*! \function Net* AutoSegment::getNet () const;
* \return The net this AutoSegment is part of.
*/
/*! \function Layer* AutoSegment::getLayer () const;
* \return The layer of the AutoSegment.
*/
/*! \function virtual Segment* AutoSegment::getSegment ();
* \return The associated \c Hurricane segment.
*/
/*! \function virtual Segment* AutoSegment::getSegment () const;
* \return The associated \c Hurricane segment.
*
* This function is for use in const members.
*/
/*! \function virtual Segment* AutoSegment::getHorizontal ();
* \return If the the associated segment is horizontal, returns it.
* Otherwise (vertical) returns \c NULL.
*/
/*! \function virtual Segment* AutoSegment::getVertical ();
* \return If the the associated segment is vertical, returns it.
* Otherwise (horizontal) returns \c NULL.
*/
/*! \function DbU::Unit AutoSegment::getAxis () const;
* \return The segment axis : Y for horizontals and X for verticals.
*/
/*! \function AutoContact* AutoSegment::getSource () const;
* \return The source AutoContact.
*/
/*! \function AutoContact* AutoSegment::getTarget () const;
* \return The target AutoContact.
*/
/*! \function DbU::Unit AutoSegment::getSourcePosition () const;
* \return The lower bound of the segment into the routing track, equal
* the source coordinate minus the half pitch.
*/
/*! \function DbU::Unit AutoSegment::getTargetPosition () const;
* \return The upper bound of the segment into the routing track, equal
* the target coordinate plus the half pitch.
*/
/*! \function virtual void AutoSegment::setAxis ( DbU::Unit axis, bool realignate=false, set<AutoSegment*>* processeds=NULL );
* \param axis New coordinate of the axis. For an horizontal segment
* it will change the Y coordinate and for a vertical,
* the X coordinate.
* \param realignate It set to true, the new axis position will be propagated
* to all collapsed segments, even if the current AutoSegment
* don't need to be moved.
* \param processeds The set of already processeds aligneds AutoSegments.
*
* setAxis is the API frontend to the alignate function. It actually
* only checks if the segment has to be moved and if the move is to
* be propagated to the aligned AutoSegments.
*/
/*! \function virtual void AutoSegment::orient ();
* sets the source and target \c Hook of the Hurricane segment so
* the source is always lower than the target.
*/
/*! \function virtual void AutoSegment::invalidate ();
* adds the AutoSegment to the invalidate session. This will happens
* whenever a segment is moved by the router through setAxis() or
* resized by it's AutoContact.
*/
/* \function virtual void AutoSegment::onRevalidate ();
* This function is called at the time the AutoUpdate session is closed
* and calls the router's callback.
*/
/*! \function virtual void AutoSegment::getConstraints ( DbU::Unit& constraintMin, DbU::Unit& constraintMax ) const;
* \param constraintMin Where to store the constraint lower bound.
* \param constraintMax Where to store the constraint upper bound.
* \return Always \true (don't remember why...).
*
* Constraints are deduced from the constraint box of the source
* AutoContact.
*
* \see \ref NetConstraints
*/
/*! \function virtual void AutoSegment::getConstraints ( Interval& i ) const;
* \param i The constraint interval.
* \return Always \true (don't remember why...).
*
* \see getConstraints(), \ref NetConstraints
*/
/*! \function DbU::Unit AutoSegment::getSlack () const;
* \return The length of the constraint interval.
*
* \see \ref NetOptimals
*/
/*! \function DbU::Unit AutoSegment::getOptimalMin () const;
* \return The lower bound of the optimal interval.
*
* \see \ref NetOptimals
*/
/*! \function DbU::Unit AutoSegment::getOptimalMax () const;
* \return The upper bound of the optimal interval.
*
* \see \ref NetOptimals
*/
/*! \function Interval& AutoSegment::getOptimal ( Interval& i ) const;
* \param i The optimal interval.
* \return The interval given as argument.
*
* \see \ref NetOptimals
*/
/*! \function DbU::Unit AutoSegment::getCost ( DbU::Unit axis ) const;
* \param axis An axis coordinate.
* \return The distance from the nearest optimal interval bound.
*
* \see \ref NetOptimals
*/
/*! \function AutoSegment* AutoSegment::getCanonical ( DbU::Unit& sourcePosition, DbU::Unit& targetPosition );
* \param sourcePosition Lower bound of the super-AutoSegment.
* \param targetPosition Upper bound of the super-AutoSegment.
* \return The canonical AutoSegment of the super-AutoSegment.
*
* A super-AutoSegment is the set of all AutoSegment which have been
* bound together through (perpandicular) collapsed AutoSegment.
* They behave like one big AutoSegment. For algorithmic purpose we
* needs a canonical representant : it will be the lower AutoSegment
* (the one with the lower source coordinates).
* We also needs to know the real extend of the super-AutoSegment : it's
* returned through \c sourcePosition and \c targetPosition parameters.
*/
/*! \function AutoSegment* AutoSegment::getCanonical ( Interval& i );
* \param i interval of the super-AutoSegment.
* \return The canonical AutoSegment of the super-AutoSegment.
*
* \see AutoSegment::getCanonical().
*/
/*! \function AutoSegments AutoSegment::getCollapseds ( bool withPerpand=false );
* \return The \Collection of AutoSegment that are collapsed to this one
* (i.e. linked through perpandicual collapsed ones). Together
* they forms one big virtual AutoSegment.
*/
/*! \function AutoSegments AutoSegment::getCollapsedPerpandiculars ();
* \return The \Collection of AutoSegment that are perpandicular to this
* one and it's collapsed fellows.
*
* Note that this \Collection contains only \b GLOBAL perpandicular
* AutoSegment and \b Terminal perpandicular AutoSegment.
*/
/*! \function void AutoSegment::setCanonical ( bool state );
* \param state sets the isCanonical() flag to this value.
*/
/*! \function void AutoSegment::setTerminal ( bool state );
* \param state sets the isTerminal() flag to this value.
*/
/*! \function void AutoSegment::setLayer ( const Layer* layer );
* \param layer Changes the \Hurricane segment layer.
*/
/*! \function void AutoSegment::setPositions ();
* compute the positions of the AutoSegment into the routing track,
* from the \Hurricane segment extentions and the half-pitch.
*
* \see getSourcePosition() & getTargetPosition().
*/
/*! \function void AutoSegment::collapse ();
* sets the AutoSegment into collapsed state (zero-length).
*/
/*! \function void AutoSegment::expand ();
* Uncollapse the AutoSegment, re-compute the constraints on
* the splitted sets.
*/
/*! \function bool AutoSegment::toConstraintAxis ( set<AutoSegment*>* processeds=NULL );
* \return \True if the AutoSegment axis has been moved.
*
* If the segment axis is outside the constraint interval, set it
* the nearest constraint interval bound.
*/
/*! \function bool AutoSegment::toOptimalAxis ( set<AutoSegment*>* processeds=NULL );
* \return \True if the AutoSegment axis has been moved.
*
* If the segment axis is outside the optimal interval, set it
* the nearest optimal interval bound.
*/
/*! \function void AutoSegment::alignate ( DbU::Unit axis );
* \param axis New axis's coordinate.
*
* Move the segment axis to a new position. Adjust positions
* of the supporting Contact whenever they are anchored on terminals
* (i.e. RoutingPad).
* This function is atomic and should not be called directly
* but rather through setAxis(). It's implemented in the
* derived classes AutoHorizontal & AutoVertical.
*/
/*! \function void AutoSegment::setOptimalMin ( DbU::Unit oMin );
* \param oMin sets the lower bound of the optimal interval.
*
* \see getOptimalMin(), getOptimalMax(), getCost().
*/
/*! \function void AutoSegment::setOptimalMax ( DbU::Unit oMin );
* \param oMin sets the upper bound of the optimal interval.
*
* \see getOptimalMin(), getOptimalMax(), getCost().
*/
/*! \function void AutoSegment::checkPositions () const;
* check the coherency between the locally shadowed values
* of source \& target position and the real ones. If a discrepancy
* is found issue an error (but do not stop the program).
*
* Note that discrepancies are legal while the AutoSegment is
* invalidated (see \ref katabaticSession).
*/
/*! \function void AutoSegment::checkInvalidated () const;
* issue an error if the AutoSegment is invalidated. Mainly used
* to debug the Katabatic Session mechanism (\ref katabaticSession).
*/
//! \addtogroup NetOptimals
//! \{
/*! \function virtual void AutoSegment::computeOptimal ( set<AutoSegment*>* processeds=NULL );
* compute the AutoSegment optimal position interval.
*/
/*! \function virtual DbU::Unit AutoSegment::getOrigin () const;
* \return The lower bound of the GCell in which the AutoSegment is
* (\c YMin for horizontals, \c XMin for verticals).
*/
/*! \function virtual DbU::Unit AutoSegment::getExtremity () const;
* \return The upper bound of the GCell in which the AutoSegment is
* (\c YMax for horizontals, \c XMax for verticals).
*/
//! \}
//! \addtogroup katabaticSession
//! \{
/*! \function bool AutoSegment::isInvalidated () const;
* \return \True if the AutoSegment is invalidated, i.e. in the
* Katabatic Session, it's axis having being moved by the
* router.
*
* \see autoInvalidate().
*/
/*! \function bool AutoSegment::setInvalidated ( bool state );
* \param state set the state of the AutoSegment regarding the
* Katabatic Session.
*
* \see autoInvalidate().
*/
//! \}
/*! \class AutoHorizontal
* \brief Horizontal AutoSegment (\b API).
*/
/*! \function static AutoHorizontal* AutoHorizontal::create ( Horizontal* horizontal, int type, bool terminal=false, bool collapsed=false );
* \param horizontal The associated \c Hurricane segment.
* \param type Global, local or guessed kind.
* \param terminal Whether the segment is tightly linked to a terminal.
* \param collapsed Whether the segment must be kept of null length.
* \return The newly created AutoSegment.
*/
/*! \function static AutoHorizontal* AutoHorizontal::create ( AutoContact* source, AutoContact* target, const Layer* layer, DbU::Unit y, DbU::Unit width, int type, bool terminal=false, bool collapsed=false );
* \param source The source \c Component.
* \param target The target \c Component.
* \param layer The segment's layer.
* \param y The segment's Y coordinate.
* \param width The segment's width.
* \param type Global, local or guessed kind.
* \param terminal Whether the segment is tightly linked to a terminal.
* \param collapsed Whether the segment must be kept of null length.
* \return The newly created AutoSegment.
*
* Allocate both \c Hurricane segment and Katabatic AutoSegment.
*/
/*! \class AutoVertical
* \brief Vertical AutoSegment (\b API).
*/
/*! \function static AutoVertical* AutoVertical::create ( Vertical* vertical, int type, bool terminal=false, bool collapsed=false );
* \param vertical The associated \c Hurricane segment.
* \param type Global, local or guessed kind.
* \param terminal Whether the segment is tightly linked to a terminal.
* \param collapsed Whether the segment must be kept of null length.
* \return The newly created AutoSegment.
*/
/*! \function static AutoVertical* AutoVertical::create ( AutoContact* source, AutoContact* target, const Layer* layer, DbU::Unit x, DbU::Unit width, int type, bool terminal=false, bool collapsed=false );
* \param source The source \c Component.
* \param target The target \c Component.
* \param layer The segment's layer.
* \param x The segment's X coordinate.
* \param width The segment's width.
* \param type Global, local or guessed kind.
* \param terminal Whether the segment is tightly linked to a terminal.
* \param collapsed Whether the segment must be kept of null length.
* \return The newly created AutoSegment.
*
* Allocate both \c Hurricane segment and Katabatic AutoSegment.
*/
/*! \function AutoSegment* AutoSegment::create ( AutoContact* source, AutoContact* target, unsigned int dir, int type, bool terminal=false, bool collapsed=false );
* \param source The source AutoContact.
* \param target The target AutoContact.
* \param dir The AutoSegment direction (\b H / \b V).
* \param type Whether the AutoSegment is \b LOCAL, \b GLOBAL or must be guessed.
* \param terminal The AutoSegment is used to connect a terminal.
* \param collapsed The AutoSegment is collapsed.
* \return A new AutoSegment.
*
* create the AutoSegment between \c source and \c target, update the GCell
* density if needed.
*
* If the \c dir parameter do not contains the \b HORIZONTAL or \b VERTICAL
* boolean flags an error will be thrown.
*/
/*! \enum AutoSegment::Type
* This enumeration is used to hints AutoSegment constructor about
* the kind of segment we are about to create. Once created, the
* kind of AutoSegment is stored in a single boolean telling
* wether it's \b GLOBAL or \b LOCAL (see AutoSegment::isGlobal()).
*
* It is always best to avoid using AutoSegment::Guess as it implies findind
* and checking source and target anchors (through ring access).
* And in most cases we already known the kind of segment because
* we created the source and target AutoContact just before...
* See GCellConfiguration related functions.
*/
/*! \var AutoSegment::Global
* The AutosSegment crosses at least one GCell boundary (i.e.
* source and target AutoContact do not belong to the same GCell).
*/
/*! \var AutoSegment::Local
* The AutoSegment is fully included in one GCell.
*/
/*! \var AutoSegment::Guess
* The AutoSegment constructor will guess the kind of AutoSegment
* by examining source and target anchors.
*/
/*! \defgroup collapseCanonical 3. AutoSegment collapse & Canonical (internal)
*
* \section AlignedAS Collapsing AutoSegment
*
* A set of AutoSegment can be aligned together. The set will
* behave like one big AutoSegment, especially, moving one
* AutoSegment through setAxis() will move the whole set.
*
* For each set of aligned AutoSegment, we provide a canonical
* AutoSegment : the leftmost (for horizontal) or lowermost for
* verticals.
*
* There are two ways AutoSegments could be aligned :
* <ul>
* <li>Through a collapsed perpandicular AutoSegment.
* <li>Through a locked AutoContact.
* </ul>
*
* \subsection AlignedByCollapsed Aligned through collapsed AutoSegment
*
* When an AutoSegment is collapsed, all perpandicular AutoSegment
* to it's source and target AutoContact are aligneds. Collapsing
* an AutoSegment means that it should be kept to zero length and
* thus not managed by the overlying router.
*
* \image html AutoSegmentCollapse-5.png "collapse by AutoSegment"
* \image latex AutoSegmentCollapse-5.pdf "collapse by AutoSegment" width=0.4\textwidth
*
* \subsection AlignedByAutoContact Aligned through collapsed AutoContact
*
* With the setHAlignate() and setVAlignate() the alignment of
* horizontal (resp. vertical) AutoSegment of an AutoContact can be
* forced.
*
* \image html AutoSegmentCollapse-6.png "collapse by AutoContact"
* \image latex AutoSegmentCollapse-6.pdf "collapse by AutoContact" width=0.4\textwidth
*
* \subsection collapsedExample An example of collapse/alignment
*
* \image html AutoSegmentCollapse-1.png "collapse - Step 1"
* \image latex AutoSegmentCollapse-1.pdf "collapse - Step 1" width=0.4\textwidth
*
* \image html AutoSegmentCollapse-2.png "collapse - Step 2"
* \image latex AutoSegmentCollapse-2.pdf "collapse - Step 2" width=0.4\textwidth
*
* \image html AutoSegmentCollapse-3.png "collapse - Step 3"
* \image latex AutoSegmentCollapse-3.pdf "collapse - Step 3" width=0.4\textwidth
*
* \image html AutoSegmentCollapse-4.png "collapse - Step 4"
* \image latex AutoSegmentCollapse-4.pdf "collapse - Step 4" width=0.4\textwidth
*/
//! \addtogroup collapseCanonical
//! \{
/*! \enum AutoSegment::PerpandicularState
* set of flags used to build the state of two AutoSegment.
* \see getPerpandicularState().
*/
/*! \var AutoSegment::PerpandicularAny
* The \e current AutoSegment is perpandicular to the \e master.
* May it be or not through collapsed perpandiculars.
*/
/*! \var AutoSegment::PerpandicularIndirect
* The \e current AutoSegment is perpandicular to the \e master
* through at least one collapsed perpandicular.
*/
/*! \var AutoSegment::ParallelOrExpanded
* The \e current AutoSegment is not part of the aligned set,
* it's either parallel but not aligned (no constraint on the
* AutoContact) or perpandicular and not collapsed.
*/
/*! \var AutoSegment::ParallelAndLayerChange
* The \e current AutoSegment is parallel to the master but not on
* the same layer as the \e source (the \e master by transitivity).
*/
/*! \function unsigned int AutoSegment::getPerpandicularState ( AutoContact* contact, AutoSegment* source, AutoSegment* current, bool isHorizontalMaster, const Layer* masterLayer=NULL )
* \param contact The AutoContact shared by source \& current.
* \param source The AutoSegment from where we came.
* \param current The AutoSegment we are exploring.
* \param isHorizontalMaster The direction of the reference AutoSegment.
* \param masterLayer The \Layer of the reference AutoSegment.
* \return A composite value telling the position of current relative to
* source and reference.
*
* Locators of \Collections like AutoSegment::getCollapseds() or
* AutoSegment::getCollapsedPerpandiculars() are built on this
* function. Any \Collection manipulating aligned sets must uses
* this function which is the keystone of the aligned set walk-through.
*
* The return value is a combination of binary flags from the
* AutoSegment::PerpandicularState enumeration. The function
* compute the following boolean values :
* <ul>
* <li>\e sourcePerpandicular : \True if the \e source is perpandicular
* to the \e master AutoSegment.
* <li>\e currentPerpandicular : \True if the \e current is perpandicular
* to the \e master AutoSegment.
* <li>\e contactAlignate : \True if the alignment constraint on the
* AutoContact (if any) applies to \e source \& \e current. For instance
* it will be \True if both source and current are horizontal
* \b and AutoContact::isHAlignate() is \True.
* </ul>
* Then the return value is computed as follow :
* <ol>
* <li>If \e current is parallel to \e master \b but not on the same
* layer.
*
* sets the AutoSegment::AutoSegment::ParallelAndLayerChange flag.
* <li>If \e current is perpandicular to \e master \b and not
* collapsed, it is perpandicular to the aligned set of the
* \e master.
*
* sets the AutoSegment::AutoSegment::PerpandicularAny flag.
* <li>\e source is perpandicular to \e master. There is an implicit
* context : the only way a perpandicular segment gets took into
* account, is to be collapsed. Then if the \e current AutoSegment
* is also perpandicular \b and \b not collapsed, it means
* that it's a perpandicular to the aligned set of the \e master,
* The difference with the previous case, is that it's through at
* least one collapsed perpandicular.
*
* sets the AutoSegment::AutoSegment::PerpandicularIndirect flag.
* <li>\e source is parallel to \e master. Then we check for
* disconnection in the aligned set. Disconnection arises
* if the \e contactAlignate flag is \false (either no
* alignment constraint on the AutoContact or different
* directions), \b and the \e current segment is not a
* collapsed perpandicular.
*
* sets the AutoSegment::AutoSegment::ParallelOrExpanded flag.
* </ol>
* The \b zero return value means that the \e current AutoSegment
* belong to the same aligned set as the \e master \b or is a
* perpandicular collapsed AutoSegment.
*
* The figures below demonstrate all thoses case :
*
* \image html PerpandicularState-1.png "Simple Perpandicular (case 2)"
* \image latex PerpandicularState-1.pdf "Simple Perpandicular (case 2)" width=0.8\textwidth
*
* \image html PerpandicularState-2.png "Indirect Perpandicular (case 3)"
* \image latex PerpandicularState-2.pdf "Indirect Perpandicular (case 3)" width=0.8\textwidth
*
* \image html PerpandicularState-3.png "Parallel (case 4.1)"
* \image latex PerpandicularState-3.pdf "Parallel (case 4.1)" width=0.8\textwidth
*
* \image html PerpandicularState-4.png "Aligned through AutoContact (case 4.2)"
* \image latex PerpandicularState-4.pdf "Aligned through AutoContact (case 4.2)" width=0.8\textwidth
*/
/*! \function unsigned int AutoSegment::getPerpandicularState ( AutoContact* contact, AutoSegment* source, AutoSegment* current, AutoSegment* master )
* \param contact The AutoContact shared by source \& current.
* \param source The AutoSegment from where we came.
* \param current The AutoSegment we are exploring.
* \param master The reference AutoSegment.
* \return A composite value telling the position of current relative to
* source and reference.
*/
/*! \function bool AutoSegment::arePerpandiculars ( AutoSegment* a, AutoSegment* b );
* \param a First AutoSegment.
* \param b Second AutoSegment.
* \return true if a \& b have perpandicular directions.
*/
/*! \function bool AutoSegment::areAligneds ( AutoSegment* a, AutoSegment* b );
* \param a First AutoSegment.
* \param b Second AutoSegment.
* \return true if a \& b have same directions.
*/
/*! \function bool AutoSegment::arePerpandiculars ( bool isHorizontalA, AutoSegment* b );
* \param isHorizontalA is the A AutoSegment horizontal.
* \param b Second AutoSegment.
* \return true if a \& have perpandicular directions.
*/
}

View File

@ -0,0 +1,12 @@
set ( htmlInstallDir /share/doc/en/html/katabatic )
set ( latexInstallDir /share/doc/en/latex/katabatic )
add_custom_target ( doc ALL cd ${KATABATIC_SOURCE_DIR}/doc && ${DOXYGEN_EXECUTABLE} doxyfile )
install ( DIRECTORY html/ DESTINATION ${htmlInstallDir} )
install ( FILES customHierarchy.html DESTINATION ${htmlInstallDir} )
install ( FILES customSummary.html DESTINATION ${htmlInstallDir} )
install ( DIRECTORY latex/ DESTINATION ${latexInstallDir} )
install ( FILES asimbook.cls DESTINATION ${latexInstallDir} )

179
katabatic/doc/GCell.dox Normal file
View File

@ -0,0 +1,179 @@
// -*- C++ -*-
namespace Katabatic {
/*! \class GCell
* \brief Global Routing cell (\b API).
*
* \attention This class can only be allocated through a GCellGrid thus
* Constructors/Destructors are protecteds.
*
* \remark As this object uses the decorator Design Pattern, almost all
* functions are pure virtuals. Implementation take place in a
* derived class \c GCellConcrete which is not documented,
* (same specifications as GCell).
*
* \see GCellDecorator class.
*/
/*! \function GCellGrid* GCell::getGCellGrid () const;
* \return The GCellGrid to which the GCell belongs.
*/
/*! \function unsigned int GCell::getIndex () const;
* \return The linear index of this GCell inside the GCellGrid GCell table.
*/
/*! \function unsigned int GCell::getRow () const;
* \return The GCell's row inside the GCellGrid (this is a Y coordinate).
*/
/*! \function unsigned int GCell::getColumn () const;
* \return The GCell's row inside the GCellGrid (this is a X coordinate).
*/
/*! \function Point GCell::getCenter () const;
* \return The center of the GCell.
*/
/*! \function DbU::Unit GCell::getX () const;
* \return The X coordinate of the GCell's lower left corner (\b XMin).
*/
/*! \function DbU::Unit GCell::getY () const;
* \return The Y coordinate of the GCell's lower left corner (\b YMin).
*/
/*! \function DbU::Unit GCell::getXMax () const;
* \return The X coordinate of the GCell's upper right corner.
*/
/*! \function DbU::Unit GCell::getYMax () const;
* \return The Y coordinate of the GCell's lower upper right corner.
*/
/*! \function Box GCell::getBoundingBox () const;
* \return The GCell bounding box.
*/
/*! \function GCell* GCell::getLeft () const;
* \return The CCell's left neighbour (may be \c NULL if first of the row).
*/
/*! \function GCell* GCell::getRight () const;
* \return The CCell's right neighbour (may be \c NULL if last of the row).
*/
/*! \function GCell* GCell::getUp () const;
* \return The CCell's up neighbour (may be \c NULL if top of the column).
*/
/*! \function GCell* GCell::getDown () const;
* \return The CCell's down neighbour (may be \c NULL if bottom of the column).
*/
/*! \function unsigned int GCell::getDensity ( unsigned int depth ) const;
* \return The density of vertical wires going through this GCell.
* \see updateDensity()
*/
/*! \function unsigned int GCell::getCDensity () const;
* \return The AutoContact density.
* \see updateDensity()
*/
/*! \function unsigned int GCell::getDensity () const;
* \return The average of horizontal and vertical density.
* \see updateDensity()
*/
/*! \function vector<AutoSegment*>* GCell::getVSegments ();
* \return All vertical AutoSegment, starting, ending or crossing this GCell.
*/
/*! \function vector<AutoSegment*>* GCell::getHSegments ();
* \return All horizontal AutoSegment, starting, ending or crossing this GCell.
*/
/*! \function vector<AutoContact*>* GCell::getContacts ();
* \return All AutoContact belonging to this GCell.
*/
/*! \function AutoSegments GCell::getVStartSegments ();
* \return All vertical AutoSegment starting from this GCell.
*/
/*! \function AutoSegments GCell::getHStartSegments ();
* \return All horizontal AutoSegment starting from this GCell.
*/
/*! \function AutoSegments GCell::getVStopSegments ();
* \return All vertical AutoSegment ending in this GCell.
*/
/*! \function AutoSegments GCell::getHStopSegments ();
* \return All horizontal AutoSegment ending in this GCell.
*/
/*! \function AutoSegments GCell::getStartSegments ( unsigned int direction );
* \param direction The selected direction.
* \return All AutoSegment starting from this GCell in \b direction.
*/
/*! \function AutoSegments GCell::getStopSegments ( unsigned int direction );
* \param direction The selected direction.
* \return All AutoSegment ending in this GCell in \b direction.
*/
/*! \function void GCell::addVSegment ( AutoSegment* segment );
* \param segment A vertical AutoSegment.
*
* Indicate that the vertical \c segment is going straigh through this
* GCell (no AutoContact).
*/
/*! \function void GCell::addHSegment ( AutoSegment* segment );
* \param segment An horizontal AutoSegment.
*
* Indicate that the horizontal \c segment is going straigh through this
* GCell (no AutoContact).
*/
/*! \function void GCell::addContact ( AutoContact* contact );
* \param contact An AutoContact.
*
* Indicate that the \c contact is owned by this GCell. This means that
* either it's a branching point or there are terminals in the GCell.
* The AutoContact is geometrically bound by the GCell bounding box.
*/
/*! \function void GCell::updateContacts ();
* Force the geometrical recalculation of all AutoContact owned by
* this GCell.
*/
/*! \function void GCell::updateDensity ();
* Recompute the horizontal, vertical, global and contact of
* this GCell.
*
* The horizontal density is computed as follow : the sum of the length
* of all horizontal wires divided by the the total length of horizontal
* wires (the width of the GCell times the number of horizontal tracks).
* A density equal to one means a totally saturated GCell, and greater
* than one an overloaded GCell (unroutable).
*
* The vertical density is computed in a similar way to the horizontal
* one.
*
* The global density is the average of horizontal and vertical
* density.
*
* AutoContact density is the ratio of number of contact with length of
* the diagonal of the GCell multiplied by two. This is a rough approximate.
*
* \see GCellGrid::updateDensity().
*/
}

View File

@ -0,0 +1,21 @@
// -*- C++ -*-
namespace Katabatic {
/*! \class GCellGrid
* \brief Routing Grid (\b API).
*
* \attention This class is can only be allocated through a Katabatic
* \c ToolEngine thus Constructors/Destructors are protecteds.
*
* \section GCellGridImplementation GCellGrid Implementation Details
*/
/*! \function void GCellGrid::updateDensity ();
* \return Recompute the density of each GCell in the grid.
* \see GCell::updateDensity().
*/
}

114
katabatic/doc/Grid.dox Normal file
View File

@ -0,0 +1,114 @@
// -*- C++ -*-
namespace Katabatic {
/*! \class BaseGrid
* \brief Grid Common Skeleton (\b API).
*
* \attention Provide a non-template common skeleton for the Grid class
* template. Specifically manage the axis graduation, the geometric
* search functions and the indexes computation (assuming a linear
* storage of the grid elements).
*
*
* \section BaseGridImplementation Grid Implementation Details
*
* The matrix of GCell is stored in a linear vector of GCell's pointer,
* row by row. The Grid class provide convenient functions to
* convert a linear index into row / column and the other way around.
*/
/*! \function unsigned int BaseGrid::getColumns () const;
* \return The number of columns of the GCell matrix.
*/
/*! \function unsigned int BaseGrid::getRows () const;
* \return The number of rows of the GCell matrix.
*/
/*! \function unsigned int BaseGrid::getRawSize () const;
* \return The size of the vector holding the GCell matrix.
*/
/*! \function unsigned int BaseGrid::getIndex ( unsigned int column, unsigned int row ) const;
* \param column The GCell's column.
* \param row The GCell's row.
* \return The linear index of the GCell at <code>(column,row)</code>.
*/
/*! \function unsigned int BaseGrid::getRow ( unsigned int index ) const;
* \param index A linear index.
* \return extract the row number from the linear index.
*/
/*! \function unsigned int BaseGrid::getColumn ( unsigned int index ) const;
* \param index A linear index.
* \return extract the column number from the linear index.
*/
/*! \class Grid
* \brief Routing Grid (\b API).
*
* \attention This class is can only be allocated through a Katabatic
* \c ToolEngine thus Constructors/Destructors are protecteds.
*
* \section GridImplementation Grid Implementation Details
*
* The matrix of GCell is stored in a linear vector of GCell's pointer,
* row by row. The Grid class provide convenient functions to
* convert a linear index into row / column and the other way around.
*/
/*! \function GCell* Grid::getGCell ( const Point p1, const Point p2 ) const;
* \param p1 First point.
* \param p2 Second point.
* \return Returns the GCell enclosing both points.
*
* When we build a Net's routing wires, and the Net span more than one
* GCell, we can always find the appropriate GCell through the
* \c Hook, \c GCell and GCell association.
*
* Problem arises for a Net fully contained inside one GCell, in this
* case there is no SplitterContact telling us where we are. We have
* to guess the GCell by only using RoutingPad's positions. And unfortunatly
* \c RoutingPad can be on the edge of one GCell so we cannot tell if
* it belongs to the left or the right. To solve this problem we guess
* the GCell from two (different) \c RoutingPad positions.
*
* Note that if there is only one \c RoutingPad, there is no problem at
* all : we are dealing with a <em>one \c Plug</em> \c Net...
*
* If points do not belongs to one GCell (too far appart), strange
* results may occurs.
*/
/*! \function GCell* Grid::getGCell ( unsigned int index ) const;
* \param index A linear index.
* \return The GCell at the given index.
*
* Be aware that no check is performed if the index is out of bound,
* this may leads to catastrophic results.
*/
/*! \function vector<GCell*> Grid::getGCellVector ();
* \return The \vector holding all GCells.
*/
/*! \function GCells Grid::getGCellsColumn ( unsigned int column, unsigned int rowStart, unsigned int rowStop );
* \param column The column index.
* \param rowStart The start row index inside the column.
* \param rowStop The stop row index inside the column.
* \return The \c Collection of a partial row.
*/
/*! \function GCells Grid::getGCellsRow ( unsigned int row, unsigned int columnStart, unsigned int columnStop );
* \param row The row index.
* \param columnStart The start column index inside the row.
* \param columnStop The stop column index inside the row.
* \return The \c Collection of a partial column.
*/
}

View File

@ -0,0 +1,202 @@
// -*- C++ -*-
namespace Katabatic {
/*! \mainpage Routing Toolbox Documentation
*
* This documentation adresses two level of explanations :
*
* <ul>
* <li>The \b API description which explains how to use Katabatic,
* thoses parts as flagged as \b API.
* <li>The internal description which details how Katabatic do
* things. It's mostly intended for myself to help me not to
* forget how I've done things when debug time will come...
* It may also be valuable to people who may want to use
* or patch Katabatic for their own purpose (my secret hope).
* </ul>
*/
/*! \namespace Katabatic
* \brief The namespace dedicated to Katabatic.
*/
/*! \enum LoadGRMethod
* Lists all avalaible global routing loading methods for
* loadGlobalRouting().
*/
/*! \var LoadGRMethod LoadGrByNet
* The global routing will be loaded net by net.
*/
/*! \var LoadGRMethod LoadGrByGCell
* The global routing will be loaded GCell by GCell.
*/
/*! \class KatabaticEngine
* \brief The Katabatic ToolEngine, routing toolbox (\b API).
*/
/*! \function KatabaticEngine* KatabaticEngine::create ( const RoutingGauge* gauge, Cell* cell, vector<Net*>& nets );
* \param gauge The RoutingGauge to use.
* \param cell The \Cell to be routed.
* \param nets The subset of \Nets to be routeds. Note that the vector is
* copied inside the KatabaticEngine object, so there's no need to keep
* the parameter.
*
* creates a new KatabaticEngine object. Should never be used, as Katabatic
* must be used as the base class for any router, and therefore
* created through it. Still avalaible for debugging purposes.
*/
/* \function void KatabaticEngine::destroy ();
* Cleanly destruct the data-base, saves the routing wires in
* the \Hurricane data-base (really a call to _preDestroy()).
*
* \see _saveNet().
*/
/*! \function GCellGrid* KatabaticEngine::getGCellGrid () const;
* \return The associated GCellGrid.
*/
/*! \function const vector<Net*>& KatabaticEngine::getRoutingNets () const;
* \return The subset of \Nets that are to be routed.
*/
/*! \function void KatabaticEngine::loadGlobalRouting ( unsigned int method )
* \param method to specify the algorithm used to perform the loading.
*
* translates a global routing created by Tornado (GCell/GCell data-base)
* into an initial detailed routing. Two algorithms are currently
* avalaibles :
* <ul>
* <li> LoadGrByNet : load global routing net by net.
* <li> LoadGrByGCell : load global routing GCell by GCell.
* </ul>
*
* This method is essentially a switch which calls the appropriate sub-method
* _loadGrByNet() or _LoadGRbyGCell(). It relies on the presence of a Nimbus
* ToolEngine, if not found, throws an error.
*/
/*! \function void KatabaticEngine::setGlobalThreshold ( DbU::Unit threshold );
* \param threshold The global routing threshold.
*
* The length (in DbU::Unit) from which an AutoSegment will be considered to be
* global.
*
* \see layerAssign(), getGlobalThresold().
*/
/*! \function DbU::Unit KatabaticEngine::getGlobalThreshold () const;
* \return The value of the global routing thresold.
*
* \see setGlobalThresold().
*/
/*! \function void KatabaticEngine::_computeNetConstraints ( Net* );
* computes the \c AutoSegment constraints (see \ref NetConstraints).
*/
/*! \function void KatabaticEngine::_computeNetOptimals ( Net* );
* computes the \c AutoSegment optimal positions (see \ref NetOptimals).
*/
/*! \function AutoSegment* KatabaticEngine::_lookup ( Segment* segment ) const;
* \param segment The \c Hurricane segment.
*
* Finds the Katabatic AutoSegment associated to \c segment.
* For this function to work, a Katabatic update session must be open.
* If not, an exception will be thrown.
*/
/*! \function void KatabaticEngine::_link ( AutoSegment* autoSegment );
* adds \b autoSegment to the AutoSegment internal lookup table.
* This function does nothing if DoLinkAutoSegment() is \false :
* in destruction mode.
* \see _Lookup().
*/
/*! \function void KatabaticEngine::_unlink ( AutoSegment* autoSegment );
* removes \b autoSegment AutoSegment internal lookup table.
* This function does nothing if DoLinkAutoSegment() is \false :
* in destruction mode.
* \see _Lookup().
*/
/*! \function void KatabaticEngine::_destroyAutoSegments ();
* clear the internal AutoSegment lookup table. Should be called
* only from inside the Katabatic destructor.
*/
/*! \function void KatabaticEngine::_saveNet ( Net* net );
* \param net The \Net to process.
*
* Revert (partially destruct) the AutoSegment/AutoContact
* structure of the \Net to the \Hurricane data-base.
* To be used only in the Katabatic destructor...
*
* \see destroy().
*/
/*! \function KatabaticEngine* KatabaticEngine::get ( const Cell* cell )
* \brief Returns the Katabatic ToolEngine attached to the Cell, if any.
*/
/*! \function void KatabaticEngine::refresh ( bool openSession=true );
* Force the update of all AutoContact. By default opens a new
* update Session. If one is already open, set openSession to
* \False.
*/
/*! \function void KatabaticEngine::startMeasures ();
* Start memory consumption and timer measurment (reset any
* previous one).
*
* \see stopMeasures(), printMeasures().
*/
/*! \function void KatabaticEngine::stopMeasures ();
* compute memory consumption \& time elapsed since the last
* call to startMeasures().
*
* \see startMeasures(), printMeasures().
*/
/*! \function void KatabaticEngine::printMeasures () const;
* Display memory consumption \& time elapsed.
*
* \see startMeasures(), stopMeasures().
*/
/*! \function void KatabaticEngine::_check ( const char* message=NULL ) const;
* \param message The message to print.
*
* Perform a coherency complete coherency check of the
* data-base. Currently :
* <ul>
* <li>No AutoSegment remains invalidated (\ref katabaticSession).
* <li>AutoSegment extentions are coherent.
* </ul>
*/
//! \addtogroup collapseCanonical
//! \{
/*! \function void KatabaticEngine::_canonize ( Net* net );
* \param net The \Net to canonize.
*
* Find canonical AutoSegments and non-canonicals ones,
* sets up the flags accordingly.
*
* \see AutoSegment::isCanonical().
*/
//! \}
}

View File

@ -0,0 +1,143 @@
// -*- C++ -*-
namespace Katabatic {
/*! \defgroup layerAssign 4. Layer Assignment (internal)
*
* This modules documents how layer assignment is performed. It is intented
* for developpers only.
*
* Layer Assignment functions works in two steps :
* <ol>
* <li>For a given net, go through the \c AutoSegment and migrate them
* to upper (global) layers if needed.
* <li>For each \c AutoContact of which at least one \c AutoSegment has been
* migrated, split the \c AutoContact (with SplitAutoContact()).
* </ol>
*
* SplitAutoContact() relies on the hypothesis that the split occurs
* between two sets of \b HV layers. For example between \b M2/M3 and
* \b M4/M5 but not between \b M2/M3 and \b M6/M7.
*
* The following figures shows all possible configurations, except for
* the most obvious : when all \c AutoSegment are migrated from \b M2/M3 to
* \b M4/M5 we just change the layer of the \c AutoContact from \b C23 to \b C34.
* SplitAutoContact() compute the <em>layer span</em> of the AutoContact,
* that is, the distance between the lowest layer and the higher one (it
* cannot exceed 3 as from \b M2 to \b M5). Then it detach the higher
* \c AutoSegment and re-attach them to a newly created \c AutoContact.
* In turn this new \c AutoContact is connected to the previous one.
* <ul>
* <li>The span is 3 (\b M2 to \b M5) : creates 2 \c AutoContact and
* 2 \c AutoSegment.
* <li>The span is 2 (\b M2 to \b M4 or \b M3 to \b M5) : creates one
* \c AutoContact and one \c AutoSegment.
* <li>The span is 1 (\b M3 to \b M4) : just change the layer of the
* \c AutoContact to \b C34.
* </ul>
* Simpler rules could be formulated : if \b M2 is present creates the
* \b M3 additionnal \c AutoSegment. If \b M5 is present, created the
* \b M4 additionnal \c AutoSegment.
*
* In <b>M2+M3+M4+M5</b>, <b>M3+M4+M5</b> and <b>M2+M3+M4</b> configurations
* two separates \b M4 \c AutoSegment (resp. \b M3 \c AutoSegment) are needed
* to avoid the <em>incomplete AutoContact wiring</em> problem
* (see \ref ssecFaultyTopologies).
*
* \image html SplitAutoContact-1.png "Full Configuration"
* \image latex SplitAutoContact-1.pdf "Full Configuration" width=0.4\textwidth
* \image html SplitAutoContact-2.png "No M3 Configuration"
* \image latex SplitAutoContact-2.pdf "No M3 Configuration" width=0.4\textwidth
* \image html SplitAutoContact-3.png "No M3,M4 Configuration"
* \image latex SplitAutoContact-3.pdf "No M3,M4 Configuration" width=0.4\textwidth
* \image html SplitAutoContact-4.png "No M2 Configuration (degenerate)"
* \image latex SplitAutoContact-4.pdf "No M2 Configuration (degenerate)" width=0.4\textwidth
* \image html SplitAutoContact-5.png "No M5 Configuration (degenerate)"
* \image latex SplitAutoContact-5.pdf "No M5 Configuration (degenerate)" width=0.4\textwidth
* \image html SplitAutoContact-6.png "No M2,M5 Configuration (degenerate)"
* \image latex SplitAutoContact-6.pdf "No M2,M5 Configuration (degenerate)" width=0.4\textwidth
*/
/*! \enum LayerAssignMethod
* List all avalaible global layer assignment algorithm avalaible for
* layerAssign().
*/
/*! \var LayerAssign LayerAssignByLength
* See layerAssign().
*/
/*! \var LayerAssign LayerAssignByTrunk
* See layerAssign().
*/
/*! \function void KatabaticEngine::layerAssign ( unsigned int method )
* \param method specify the algorithm used to perform the layer assignement.
*
* The loadGlobalRouting() method build a topology for each net using only the
* two first routing layers avalaibles (usually \e metal2 and \e metal3).
* To use upper routing layer we needs to go through a <em>layer assignment</em>
* step. The layerAssign() method provides two simples approaches to do so :
* <ul>
* <li> layerAssignByLength : every global AutoSegment which
* length is superior to the global threshold is moved to the upper layer.
* <li> layerAssignByTrunk : if any AutoSegment of a net
* exceed the global threshold, then all the global wiring of this
* net is put into the upper layers.
* </ul>
*
* This method is a switch to _layerAssignByLength() or _layerAssignByTrunk().
*
* The <em>global threshold</em> is to be sets using the setGlobalThreshold()
* method.
*/
//! \addtogroup layerAssign
//! \{
/*! \function void KatabaticEngine::_layerAssignByLength ( unsigned long& total, unsigned long& global, set<Net*>& globalNets );
*
* Perform the layer assignment on all nets, using the
* layerAssignByLength algorithm. See layerAssign().
*/
/*! \function void KatabaticEngine::_layerAssignByLength ( Net* net, unsigned long& total, unsigned long& global, set<Net*>& globalNets );
* \param net The net to process.
* \param total The total number of AutoSegment.
* \param global The number of AutoSegment that have been sets global.
* \param globalNets Set of global Nets.
*
* Perform the layer assignment on one net, using the
* layerAssignByLength algorithm. See layerAssign().
*/
/*! \function void KatabaticEngine::_layerAssignByTrunk ( unsigned long& total, unsigned long& global, set<Net*>& globalNets );
*
* Perform the layer assignment on all nets, using the
* layerAssignByTrunk algorithm. See layerAssign().
*/
/*! \function void KatabaticEngine::_layerAssignByTrunk ( Net* net, unsigned long& total, unsigned long& global, set<Net*>& globalNets );
* \param net The net to process.
* \param total The total number of AutoSegment.
* \param global The number of AutoSegment that have been sets global.
* \param globalNets Set of global Nets.
*
* Perform the layer assignment on one net, using the
* layerAssignByTrunk algorithm. See layerAssign().
*/
//! \}
}
namespace {
}

View File

@ -0,0 +1,27 @@
// -*- C++ -*-
namespace Katabatic {
/*! \function void KatabaticEngine::_loadGrByNet ()
* Load the global routing from the Nimbus structure (built by the Tornado
* global router) into the Katabatic ToolEngine.
*/
/*! \function void KatabaticEngine::_loadNetGlobalRouting ( Net* net )
* \param net The net for which to build the final routing.
*
* Load the global routing from the Nimbus structure. Do a recursive
* walk through the GCells. Recursivity is handled with the
* ForkStack stack.
*/
}
namespace {
}

View File

@ -0,0 +1,128 @@
// -*- C++ -*-
namespace Katabatic {
/*! \defgroup NetConstraints 5. Constraints Computations (internal)
*
* This module documents how constraints computation are performed.
* It is intented for developpers only.
*
* Constraints gives the absolute minimal and maximal position an
* \c AutoSegment axis can be set. They materialize the bounds over
* which we may have an electrical disconnection.
*
* Practically, due to the magic of \c AutoContact, disconnections
* can only occurs on \c AutoContact anchored on \c RoutingPad :
* if they go outside the \c RoutingPad area, we are in trouble.
* Those \c AutoContact can be spotted either by the fact they have
* an anchor or the AutoContact::isTerminal() flag is set.
*
*
* \section secConstraintsOrgan Organisation
*
* Due to algorithmic consideration, instead of storing constraint
* interval (one axis) in \c AutoSegment, we store constraint \c Box
* (both axis) in \c AutoContact. They are easier to propagate during the
* computation stage and should takes less memory as \c AutoContact
* are often shared by more than two \c AutoSegment.
*
* To spare memory, each coordinate of the constraint \c Box is expressed
* as a strictly positive offset in \e lambdas from the lower left corner
* of the \c FCell owning the \c AutoContact. Offsets are 8 bits <code>unsigned int</code>,
* thus a \c Box takes one word (32 bits). This leads to two restrictions :
* <ul>
* <li>A \c FCell side cannot be greater than 256 \e lambdas.
* <li>The constraint \c Box minimal precision is the \e lambda.
* </ul>
* In all cases I can foresee, none of them should be a problem.
*
* Constraint interval on \c AutoSegment can be deduced from any of
* the source or target \c AutoContact. For an horizontal \c AutoSegment
* we take the constraint \c Box vertical interval and for a vertical,
* the horizontal interval.
*
*
* \section secNativeConstraints Native Constraints
*
* Before the contraints computation starts, we needs to initialize
* each \c AutoContact \c Box to a reasonable default : the
* <em>Native Constraint Box</em>. Wich is :
* <ul>
* <li>For an anchored/passive \c AutoContact : the bounding box
* of the underlying terminal.
* <li>For any other \c AutoContact : the bounding box of the
* \c FCell owner.
* </ul>
*
*
* \section secConstraintsPropagation Constraints Propagation
*
* The only source of constraints being the anchored \c AutoContact
* we do a full propagation from each of them. Propagation is done
* through \c AutoSegment as follow :
* <ul>
* <li>Horizontal \c AutoSegment propagate the vertical (\b DY)
* constraint part.
* <li>Vertical \c AutoSegment propagate the horizontal (\b DX)
* constraint part.
* </ul>
* Obviously, any constraint diseapear after we have gone through
* exactly one horizontal and one vertical, thus the propagation is
* somewhat limited.
*
* Case of collapsed \c AutoSegment : those are to be kept at
* zero-length, thus they act as a bypass between two \c AutoContact.
* Their source and target can be considered as <em>stacked</em>
* and propagate both vertical and horizontal constraint (that is :
* the whole constraint \c Box).
*
*
* \section secCollapseUncollapse Collapsing & Uncollapsing
*
* Only local \c AutoSegment can be collapsed, as a global
* \c AutoSegment crosses the boundary of at least one \c FCell
* it can't have a null length.
*
* When collapsing a new \c AutoSegment, we can do an incremental
* constraint computation as it will result in a further increase
* of constraint (if any).
*
* When uncollapsing an \c AutoSegment we may have to slacken the
* constraint, but we do not know to which extend. So to make it
* simple we fully recompute constraints from scratch.
*
* Note that collapsing/uncollapsing are exceptionnal operations,
* so we can afford losing a little time there.
*
*
* \section secCollapseExample progressive Collapsing Example
*
* In this set of example we show how constraints propagate along the
* \c AutoSegment, depending on the collapsed ones. We starts we no
* collapse and ends with all \e local \c AutoSegment collapseds.
*
* \image html NetConstraints-1.png "Fully expanded"
* \image latex NetConstraints-1.pdf "Fully expanded" width=0.4\textwidth
* \image html NetConstraints-2.png "After One Vertical collapse"
* \image latex NetConstraints-2.pdf "After One Vertical collapse" width=0.4\textwidth
* \image html NetConstraints-3.png "After Horizontal collapse"
* \image latex NetConstraints-3.pdf "After Horizontal collapse" width=0.4\textwidth
* \image html NetConstraints-4.png "Fully collapsed"
* \image latex NetConstraints-4.pdf "Fully collapsed" width=0.4\textwidth
*/
//! \addtogroup NetConstraints
//! \{
/*! \function void KatabaticEngine::_computeNetConstraints ( Net* net );
* \param net The net for which to compute constraints.
*
* compute constraints on a net.
*/
//! \}
}

View File

@ -0,0 +1,59 @@
// -*- C++ -*-
namespace Katabatic {
/*! \defgroup NetOptimals 6. AutoSegment Optimal Placement (internal)
*
* This modules documents how \c AutoSegment optimal placement are computed.
* It is intented for developpers only.
*
* The principle is quite simple : for any given \c AutoSegment, for example
* a vertical one (\b A), we want to find the optimal position so the wire
* length of \c AutoSegment perpandicular to \b A would be minimal. This
* optimal position is an interval of X positions, possibly reduced to a
* point.
*
* Given an \c AutoSegment, we will take into account :
* <ul>
* <li>Perpandicular global \c AutoSegment.
* <li>Terminals linked to the \c AutoSegment through any number of
* local \c AutoSegment (collapsed or not).
* </ul>
*
* How to find the optimal interval :
*
* First we build an histogram in the direction perpandicular to the
* \c AutoSegment. For \b A : in horizontal direction. We populate the
* histogram with the axis coordinate of global \c AutoSegment and
* terminals linked to \b A. Note that for global \c AutoSegment the
* "axis" coordinate is the position of the side of the \c FCell.
* For terminal depending on their orientation relative to \b A we
* add either their axis or their two extremities.
*
* The optimal interval is then the median interval of the histogram.
*
* The set of examples below shows some representative cases.
*
* \image html NetOptimals-1.png "Multiple Verticals Terminals"
* \image latex NetOptimals-1.pdf "Multiple Verticals Terminals" width=0.6\textwidth
* \image html NetOptimals-2.png "Globals Only"
* \image latex NetOptimals-2.pdf "Globals Only" width=0.6\textwidth
* \image html NetOptimals-3.png "One Horizontal Terminal"
* \image latex NetOptimals-3.pdf "One Horizontal Terminal" width=0.6\textwidth
*/
//! \addtogroup NetOptimals
//! \{
/*! \function void KatabaticEngine::_computeNetOptimals ( Net* net );
* \param net The net for which to compute optimal placement.
*
* compute optimal placement of all net's AutoSegment.
*/
//! \}
}

153
katabatic/doc/Session.dox Normal file
View File

@ -0,0 +1,153 @@
// -*- C++ -*-
namespace Katabatic {
/*! \defgroup katabaticSession 7. Katabatic update Session Mechanism (internal)
*
* This module documents the Katabatic update Session Mechanism.
* It is intented for developpers only.
*
*
* \section secSessionGoal Goal of The Katabatic::Session
*
* Due to obvious performance issue, we do not recompute the
* geometry of source and target of a Katabatic::AutoSegment
* each time it's moved by the router. Instead we uses a simple
* queuing mechanism : the Katabatic::Session.
*
* Note that, most of the time, the router only moves segments,
* that is, never modifies directly Katabatic::AutoContact.
* The only exceptions being during the initial building stage
* or when the router decide to change the topology of a net.
*
* The router knows which Katabatic::AutoSegment it has moved,
* but during the update of a Katabatic::AutoContact geometry
* more segments will be modified. The modification being a
* change in their soure and/or target extention. And of thoses
* the router will not know about. To solve this problem,
* the router has to set a callback Katabatic::SegmentRevalidateCB
* which will be called for each modificated Katabatic::AutoSegment.
*
* Note that, in order to uniformize the procedure, this callback
* will also be run on Katabatic::AutoSegment modificated by
* the router.
*
*
* \section secSectionLookup The lookup function.
*
* To find a Katabatic::AutoSegment from it's associated \Hurricane
* segment, we build a simple \STL map in the Katabatic \c ToolEngine.
* This lookup table, can be accessed through the Session lookup()
* function, once the session is open.
*
*
* \section secSessionRevalidate The Revalidate procedure
*
* The sequence of calls is as follow :
* <ol>
* <li>The Router modifies some Katabatic::AutoSegment by moving
* their axis. For example, horizontal segments in an horizontal
* routing channel.
* <li>The Katabatic::AutoSegment is then invalidated : put in the
* invalidated segment set. It's Katabatic::AutoContact anchors
* are also invalidated and put in the set of invalidated contacts.
* <li>At some point, a global revalidation is performed :
* Katabatic::Session::revalidate(). Says, when the channel
* is successfully routed.
* <li>Katabatic::updateGeometry() is called and update the
* geometry of all invalided Katabatic::AutoContact. Doing so
* almost surely leads to the invalidation of more Katabatic::AutoSegment
* which are added to the invalidated set. In this example, as
* we moved horizontal segments, the new invalidated segments
* will be vertical ones incident to the formers.
* <li>Finally we call Katabatic::AutoSegment::onRevalidate()
* fonction for each Katabatic::AutoSegment.
* This function encapsulate the callback from the router, so it
* can take into account the segment extension change.
* </ol>
*
* \image html AutoInvalidate-1.png "Revalidate Procedure"
* \image latex AutoInvalidate-1.pdf "Revalidate Procedure" width=0.9\textwidth
*
*
* \section secStaticAccess The Static Member choice
*
* Almost all Session function members are \c static, this is
* because they refers to the currently opened Session which is
* kept entirely internal to the \c KatabaticSession module.
* This avoid carrying a global variable for the Session object.
*/
/*! \class Session
* \brief Katabatic update Session (\b API).
*
* The Katabatic Session is mandatory before any AutoSegment /
* AutoContact to be modified (supposedly by a router).
*
* Unlike \Hurricane \c update \c Session only one session
* can be opened at a time (no stacking mechanism). Opening a
* Katabatic update Session also opens an \Hurricane \c update
* \c Session.
*
* For details on how Katabatic Sessions works, have a look to
* \ref katabaticSession.
*/
/*! \function static Session* Session::get ();
* \return The currently opened session, \c NULL if no session has
* been opened.
*/
/*! \function static Katabatic* Session::getKatabatic ();
* \return The Katabatic ToolEngine associated to the current update
* session.
*/
/*! \function static AutoSegment* Session::lookup ( Segment* segment );
* \param segment An \Hurricane segment.
* \return The associated Katabatic AutoSegment.
*
* For this function to work, a Katabatic Session must be opened
* as it's a simple bypass to the Katabatic::_Lookup() member.
*/
/*! \function static Session* Session::open ( KatabaticEngine* ktbt );
* \param ktbt A Katabatic ToolEngine on which to work.
*
* Open a new Katabatic update Session on the \c ktbt \c ToolEngine.
* At this point only one session can be opened at a time. Attempt
* to open a second one will result in an exception.
*/
/*! \function static size_t Session::close ();
* \return The number of AutoContact / AutoSegment that have been revalidateds.
*
* Ends an update Session. This functions made a call to Revalidate to
* ensure that no AutoContact / AutoSegment remains invalidated.
*/
/*! \function static size_t Session::revalidate ();
* \return The number of AutoContact / AutoSegment that have been revalidateds.
*
* Revalidate all AutoContact / AutoSegment currently in the queue :
* that is, update the AutoContact geometry and AutoSegment extentions.
*/
/*! \function void Session::invalidate ( AutoSegment* segment );
* \param segment An AutoSegment that has been moved.
*
* The invalidated AutoSegment are stored into a \STL set,
* so it can be added multiples times without problems.
*/
/*! \function void Session::invalidate ( AutoContact* contact );
* \param contact An AutoContact of which a AutoSegment has been moved.
*
* The invalidated AutoContact are stored into a \STL set,
* so it can be added multiples times without problems.
*/
}

798
katabatic/doc/asimbook.cls Normal file
View File

@ -0,0 +1,798 @@
%%
%% This is file `book.cls',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% classes.dtx (with options: `book')
%%
%% This is a generated file.
%%
%% Copyright 1993 1994 1995 1996 1997 1998 1999 2000 2001
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
%% This file was generated from file(s) of the LaTeX base system.
%% --------------------------------------------------------------
%%
%% It may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.2
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
%% and version 1.2 or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
%%
%% This file may only be distributed together with a copy of the LaTeX
%% base system. You may however distribute the LaTeX base system without
%% such generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
%% information.
%%
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%% Digits \0\1\2\3\4\5\6\7\8\9
%% Exclamation \! Double quote \" Hash (number) \#
%% Dollar \$ Percent \% Ampersand \&
%% Acute accent \' Left paren \( Right paren \)
%% Asterisk \* Plus \+ Comma \,
%% Minus \- Point \. Solidus \/
%% Colon \: Semicolon \; Less than \<
%% Equals \= Greater than \> Question mark \?
%% Commercial at \@ Left bracket \[ Backslash \\
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{asimbook}
[2005/11/21 v1.0
ASIM LaTeX document class]
\newcommand\@ptsize{}
\newif\if@restonecol
\newif\if@titlepage
\@titlepagetrue
\newif\if@openright
\newif\if@mainmatter \@mainmattertrue
\if@compatibility\else
\DeclareOption{a4paper}
{\setlength\paperheight {297mm}%
\setlength\paperwidth {210mm}}
\DeclareOption{a5paper}
{\setlength\paperheight {210mm}%
\setlength\paperwidth {148mm}}
\DeclareOption{b5paper}
{\setlength\paperheight {250mm}%
\setlength\paperwidth {176mm}}
\DeclareOption{letterpaper}
{\setlength\paperheight {11in}%
\setlength\paperwidth {8.5in}}
\DeclareOption{legalpaper}
{\setlength\paperheight {14in}%
\setlength\paperwidth {8.5in}}
\DeclareOption{executivepaper}
{\setlength\paperheight {10.5in}%
\setlength\paperwidth {7.25in}}
\DeclareOption{landscape}
{\setlength\@tempdima {\paperheight}%
\setlength\paperheight {\paperwidth}%
\setlength\paperwidth {\@tempdima}}
\fi
\if@compatibility
\renewcommand\@ptsize{0}
\else
\DeclareOption{10pt}{\renewcommand\@ptsize{0}}
\fi
\DeclareOption{11pt}{\renewcommand\@ptsize{1}}
\DeclareOption{12pt}{\renewcommand\@ptsize{2}}
\if@compatibility\else
\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
\fi
\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue}
\DeclareOption{draft}{\setlength\overfullrule{5pt}}
\if@compatibility\else
\DeclareOption{final}{\setlength\overfullrule{0pt}}
\fi
\DeclareOption{titlepage}{\@titlepagetrue}
\if@compatibility\else
\DeclareOption{notitlepage}{\@titlepagefalse}
\fi
\if@compatibility
\@openrighttrue
\else
\DeclareOption{openright}{\@openrighttrue}
\DeclareOption{openany}{\@openrightfalse}
\fi
\if@compatibility\else
\DeclareOption{onecolumn}{\@twocolumnfalse}
\fi
\DeclareOption{twocolumn}{\@twocolumntrue}
\DeclareOption{leqno}{\input{leqno.clo}}
\DeclareOption{fleqn}{\input{fleqn.clo}}
\DeclareOption{openbib}{%
\AtEndOfPackage{%
\renewcommand\@openbib@code{%
\advance\leftmargin\bibindent
\itemindent -\bibindent
\listparindent \itemindent
\parsep \z@
}%
\renewcommand\newblock{\par}}%
}
\ExecuteOptions{letterpaper,10pt,twoside,onecolumn,final,openright}
\ProcessOptions
\input{bk1\@ptsize.clo}
\setlength\lineskip{1\p@}
\setlength\normallineskip{1\p@}
\renewcommand\baselinestretch{}
\setlength\parskip{0\p@ \@plus \p@}
\@lowpenalty 51
\@medpenalty 151
\@highpenalty 301
\setcounter{topnumber}{2}
\renewcommand\topfraction{.7}
\setcounter{bottomnumber}{1}
\renewcommand\bottomfraction{.3}
\setcounter{totalnumber}{3}
\renewcommand\textfraction{.2}
\renewcommand\floatpagefraction{.5}
\setcounter{dbltopnumber}{2}
\renewcommand\dbltopfraction{.7}
\renewcommand\dblfloatpagefraction{.5}
%%%% Select Chapter font.
\newcommand \textchapter [1] {\textsf{\textbf{#1}}}
\newcommand \fontchapter {\sffamily \bfseries}
\if@twoside
\def\ps@headings{%
\let\@oddfoot\@empty\let\@evenfoot\@empty
\def\@evenhead{\thepage\hfil\slshape\leftmark}%
\def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
\let\@mkboth\markboth
\def\chaptermark##1{%
\markboth {\MakeUppercase{%
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\@chapapp\ \thechapter. \ %
\fi
\fi
##1}}{}}%
\def\sectionmark##1{%
\markright {\MakeUppercase{%
\ifnum \c@secnumdepth >\z@
\thesection. \ %
\fi
##1}}}}
\else
\def\ps@headings{%
\let\@oddfoot\@empty
\def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
\let\@mkboth\markboth
\def\chaptermark##1{%
\markright {\MakeUppercase{%
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\@chapapp\ \thechapter. \ %
\fi
\fi
##1}}}}
\fi
\def\ps@myheadings{%
\let\@oddfoot\@empty\let\@evenfoot\@empty
\def\@evenhead{\thepage\hfil\slshape\leftmark}%
\def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
\let\@mkboth\@gobbletwo
\let\chaptermark\@gobble
\let\sectionmark\@gobble
}
\if@titlepage
\newcommand\maketitle{\begin{titlepage}%
\let\footnotesize\small
\let\footnoterule\relax
\let \footnote \thanks
\null\vfil
\vskip 60\p@
\begin{center}%
{\LARGE \@title \par}%
\vskip 3em%
{\large
\lineskip .75em%
\begin{tabular}[t]{c}%
\@author
\end{tabular}\par}%
\vskip 1.5em%
{\large \@date \par}% % Set date in \large size.
\end{center}\par
\@thanks
\vfil\null
\end{titlepage}%
\setcounter{footnote}{0}%
\global\let\thanks\relax
\global\let\maketitle\relax
\global\let\@thanks\@empty
\global\let\@author\@empty
\global\let\@date\@empty
\global\let\@title\@empty
\global\let\title\relax
\global\let\author\relax
\global\let\date\relax
\global\let\and\relax
}
\else
\newcommand\maketitle{\par
\begingroup
\renewcommand\thefootnote{\@fnsymbol\c@footnote}%
\def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
\long\def\@makefntext##1{\parindent 1em\noindent
\hb@xt@1.8em{%
\hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
\if@twocolumn
\ifnum \col@number=\@ne
\@maketitle
\else
\twocolumn[\@maketitle]%
\fi
\else
\newpage
\global\@topnum\z@ % Prevents figures from going at top of page.
\@maketitle
\fi
\thispagestyle{plain}\@thanks
\endgroup
\setcounter{footnote}{0}%
\global\let\thanks\relax
\global\let\maketitle\relax
\global\let\@maketitle\relax
\global\let\@thanks\@empty
\global\let\@author\@empty
\global\let\@date\@empty
\global\let\@title\@empty
\global\let\title\relax
\global\let\author\relax
\global\let\date\relax
\global\let\and\relax
}
\def\@maketitle{%
\newpage
\null
\vskip 2em%
\begin{center}%
\let \footnote \thanks
{\LARGE \@title \par}%
\vskip 1.5em%
{\large
\lineskip .5em%
\begin{tabular}[t]{c}%
\@author
\end{tabular}\par}%
\vskip 1em%
{\large \@date}%
\end{center}%
\par
\vskip 1.5em}
\fi
\newcommand*\chaptermark[1]{}
\setcounter{secnumdepth}{2}
\newcounter {part}
\newcounter {chapter}
\newcounter {section}[chapter]
\newcounter {subsection}[section]
\newcounter {subsubsection}[subsection]
\newcounter {paragraph}[subsubsection]
\newcounter {subparagraph}[paragraph]
\renewcommand \thepart {\@Roman\c@part}
\renewcommand \thechapter {\@arabic\c@chapter}
\renewcommand \thesection {\thechapter.\@arabic\c@section}
\renewcommand\thesubsection {\thesection.\@arabic\c@subsection}
\renewcommand\thesubsubsection{\thesubsection .\@arabic\c@subsubsection}
\renewcommand\theparagraph {\thesubsubsection.\@arabic\c@paragraph}
\renewcommand\thesubparagraph {\theparagraph.\@arabic\c@subparagraph}
\newcommand\@chapapp{\chaptername}
\newcommand\frontmatter{%
\cleardoublepage
\@mainmatterfalse
\pagenumbering{roman}}
\newcommand\mainmatter{%
\cleardoublepage
\@mainmattertrue
\pagenumbering{arabic}}
\newcommand\backmatter{%
\if@openright
\cleardoublepage
\else
\clearpage
\fi
\@mainmatterfalse}
\newcommand\part{%
\if@openright
\cleardoublepage
\else
\clearpage
\fi
\thispagestyle{plain}%
\if@twocolumn
\onecolumn
\@tempswatrue
\else
\@tempswafalse
\fi
\null\vfil
\secdef\@part\@spart}
\def\@part[#1]#2{%
\ifnum \c@secnumdepth >-2\relax
\refstepcounter{part}%
\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
\else
\addcontentsline{toc}{part}{#1}%
\fi
\markboth{}{}%
{\centering
\interlinepenalty \@M
\normalfont
\ifnum \c@secnumdepth >-2\relax
\huge\bfseries \partname\nobreakspace\thepart
\par
\vskip 20\p@
\fi
\Huge \bfseries #2\par}%
\@endpart}
\def\@spart#1{%
{\centering
\interlinepenalty \@M
\normalfont
\Huge \bfseries #1\par}%
\@endpart}
\def\@endpart{\vfil\newpage
\if@twoside
\if@openright
\null
\thispagestyle{empty}%
\newpage
\fi
\fi
\if@tempswa
\twocolumn
\fi}
\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
\thispagestyle{plain}%
\global\@topnum\z@
\@afterindentfalse
\secdef\@chapter\@schapter}
\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\refstepcounter{chapter}%
\typeout{\@chapapp\space\thechapter.}%
\addcontentsline{toc}{chapter}%
{\protect\numberline{\thechapter}#1}%
\else
\addcontentsline{toc}{chapter}{#1}%
\fi
\else
\addcontentsline{toc}{chapter}{#1}%
\fi
\chaptermark{#1}%
\addtocontents{lof}{\protect\addvspace{10\p@}}%
\addtocontents{lot}{\protect\addvspace{10\p@}}%
\if@twocolumn
\@topnewpage[\@makechapterhead{#2}]%
\else
\@makechapterhead{#2}%
\@afterheading
\fi}
%%%%\def\@makechapterhead#1{%
%%%% \vspace*{50\p@}%
%%%% {\parindent \z@ \raggedright \normalfont
%%%% \ifnum \c@secnumdepth >\m@ne
%%%% \if@mainmatter
%%%% \huge\bfseries \@chapapp\space \thechapter
%%%% \par\nobreak
%%%% \vskip 20\p@
%%%% \fi
%%%% \fi
%%%% \interlinepenalty\@M
%%%% \Huge \bfseries #1\par\nobreak
%%%% \vskip 40\p@
%%%% }}
\newlength \titlewidth
\setlength \titlewidth {\textwidth}
\addtolength \titlewidth {\marginparwidth}
\addtolength \titlewidth {\marginparsep}
\def\@makechapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedleft \fontchapter
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\huge \@chapapp\space \thechapter
\par\nobreak
\vskip 20\p@
\fi
\fi
\interlinepenalty\@M
\hsize=\titlewidth
\Huge #1 \par\nobreak
\hsize=\textwidth
\vskip 40\p@
}}
\def\@schapter#1{\if@twocolumn
\@topnewpage[\@makeschapterhead{#1}]%
\else
\@makeschapterhead{#1}%
\@afterheading
\fi}
%%%%\def\@makeschapterhead#1{%
%%%% \vspace*{50\p@}%
%%%% {\parindent \z@ \raggedright
%%%% \normalfont
%%%% \interlinepenalty\@M
%%%% \Huge \bfseries #1\par\nobreak
%%%% \vskip 40\p@
%%%% }}
\def\@makeschapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedright
\normalfont
\interlinepenalty\@M
\hsize=\titlewidth
\flushright
\Huge \bfseries #1\par\nobreak
\hsize=\textwidth
\vskip 40\p@
}}
\newcommand\section{\@startsection {section}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\normalfont\Large\bfseries}}
\newcommand\subsection{\@startsection{subsection}{2}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\normalfont\large\bfseries}}
\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\normalfont\normalsize\bfseries}}
\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
{3.25ex \@plus1ex \@minus.2ex}%
{-1em}%
{\normalfont\normalsize\bfseries}}
\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
{3.25ex \@plus1ex \@minus .2ex}%
{-1em}%
{\normalfont\normalsize\bfseries}}
\if@twocolumn
\setlength\leftmargini {2em}
\else
\setlength\leftmargini {2.5em}
\fi
\leftmargin \leftmargini
\setlength\leftmarginii {2.2em}
\setlength\leftmarginiii {1.87em}
\setlength\leftmarginiv {1.7em}
\if@twocolumn
\setlength\leftmarginv {.5em}
\setlength\leftmarginvi {.5em}
\else
\setlength\leftmarginv {1em}
\setlength\leftmarginvi {1em}
\fi
\setlength \labelsep {.5em}
\setlength \labelwidth{\leftmargini}
\addtolength\labelwidth{-\labelsep}
\@beginparpenalty -\@lowpenalty
\@endparpenalty -\@lowpenalty
\@itempenalty -\@lowpenalty
\renewcommand\theenumi{\@arabic\c@enumi}
\renewcommand\theenumii{\@alph\c@enumii}
\renewcommand\theenumiii{\@roman\c@enumiii}
\renewcommand\theenumiv{\@Alph\c@enumiv}
\newcommand\labelenumi{\theenumi.}
\newcommand\labelenumii{(\theenumii)}
\newcommand\labelenumiii{\theenumiii.}
\newcommand\labelenumiv{\theenumiv.}
\renewcommand\p@enumii{\theenumi}
\renewcommand\p@enumiii{\theenumi(\theenumii)}
\renewcommand\p@enumiv{\p@enumiii\theenumiii}
\newcommand\labelitemi{\textbullet}
\newcommand\labelitemii{\normalfont\bfseries \textendash}
\newcommand\labelitemiii{\textasteriskcentered}
\newcommand\labelitemiv{\textperiodcentered}
\newenvironment{description}
{\list{}{\labelwidth\z@ \itemindent-\leftmargin
\let\makelabel\descriptionlabel}}
{\endlist}
\newcommand*\descriptionlabel[1]{\hspace\labelsep
\normalfont\bfseries #1}
\newenvironment{verse}
{\let\\\@centercr
\list{}{\itemsep \z@
\itemindent -1.5em%
\listparindent\itemindent
\rightmargin \leftmargin
\advance\leftmargin 1.5em}%
\item\relax}
{\endlist}
\newenvironment{quotation}
{\list{}{\listparindent 1.5em%
\itemindent \listparindent
\rightmargin \leftmargin
\parsep \z@ \@plus\p@}%
\item\relax}
{\endlist}
\newenvironment{quote}
{\list{}{\rightmargin\leftmargin}%
\item\relax}
{\endlist}
\if@compatibility
\newenvironment{titlepage}
{%
\cleardoublepage
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse\newpage
\fi
\thispagestyle{empty}%
\setcounter{page}\z@
}%
{\if@restonecol\twocolumn \else \newpage \fi
}
\else
\newenvironment{titlepage}
{%
\cleardoublepage
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse\newpage
\fi
\thispagestyle{empty}%
\setcounter{page}\@ne
}%
{\if@restonecol\twocolumn \else \newpage \fi
\if@twoside\else
\setcounter{page}\@ne
\fi
}
\fi
\newcommand\appendix{\par
\setcounter{chapter}{0}%
\setcounter{section}{0}%
\gdef\@chapapp{\appendixname}%
\gdef\thechapter{\@Alph\c@chapter}}
\setlength\arraycolsep{5\p@}
\setlength\tabcolsep{6\p@}
\setlength\arrayrulewidth{.4\p@}
\setlength\doublerulesep{2\p@}
\setlength\tabbingsep{\labelsep}
\skip\@mpfootins = \skip\footins
\setlength\fboxsep{3\p@}
\setlength\fboxrule{.4\p@}
\@addtoreset {equation}{chapter}
\renewcommand\theequation
{\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@equation}
\newcounter{figure}[chapter]
\renewcommand \thefigure
{\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@figure}
\def\fps@figure{tbp}
\def\ftype@figure{1}
\def\ext@figure{lof}
\def\fnum@figure{\figurename\nobreakspace\thefigure}
\newenvironment{figure}
{\@float{figure}}
{\end@float}
\newenvironment{figure*}
{\@dblfloat{figure}}
{\end@dblfloat}
\newcounter{table}[chapter]
\renewcommand \thetable
{\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@table}
\def\fps@table{tbp}
\def\ftype@table{2}
\def\ext@table{lot}
\def\fnum@table{\tablename\nobreakspace\thetable}
\newenvironment{table}
{\@float{table}}
{\end@float}
\newenvironment{table*}
{\@dblfloat{table}}
{\end@dblfloat}
\newlength\abovecaptionskip
\newlength\belowcaptionskip
\setlength\abovecaptionskip{10\p@}
\setlength\belowcaptionskip{0\p@}
\long\def\@makecaption#1#2{%
\vskip\abovecaptionskip
\sbox\@tempboxa{#1: #2}%
\ifdim \wd\@tempboxa >\hsize
#1: #2\par
\else
\global \@minipagefalse
\hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
\fi
\vskip\belowcaptionskip}
\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
\newcommand\@pnumwidth{1.55em}
\newcommand\@tocrmarg{2.55em}
\newcommand\@dotsep{4.5}
\setcounter{tocdepth}{2}
\newcommand\tableofcontents{%
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse
\fi
\chapter*{\contentsname
\@mkboth{%
\MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
\@starttoc{toc}%
\if@restonecol\twocolumn\fi
}
\newcommand*\l@part[2]{%
\ifnum \c@tocdepth >-2\relax
\addpenalty{-\@highpenalty}%
\addvspace{2.25em \@plus\p@}%
\setlength\@tempdima{3em}%
\begingroup
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
{\leavevmode
\large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par
\nobreak
\global\@nobreaktrue
\everypar{\global\@nobreakfalse\everypar{}}%
\endgroup
\fi}
%%%%\newcommand*\l@chapter[2]{%
%%%% \ifnum \c@tocdepth >\m@ne
%%%% \addpenalty{-\@highpenalty}%
%%%% \vskip 1.0em \@plus\p@
%%%% \setlength\@tempdima{1.5em}%
%%%% \begingroup
%%%% \parindent \z@ \rightskip \@pnumwidth
%%%% \parfillskip -\@pnumwidth
%%%% \leavevmode \bfseries
%%%% \advance\leftskip\@tempdima
%%%% \hskip -\leftskip
%%%% #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
%%%% \penalty\@highpenalty
%%%% \endgroup
%%%% \fi}
\newcommand\l@chapter[2]{%
\ifnum \c@tocdepth >\m@ne
\addpenalty{-\@highpenalty}%
\vskip 1.0em \@plus\p@
\setlength\@tempdima{1.5em}%
\begingroup
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
\leavevmode \fontchapter
\advance\leftskip\@tempdima
\hskip -\leftskip
#1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
\penalty\@highpenalty
\endgroup
\fi}
\newcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}}
\newcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}}
\newcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
\newcommand*\l@paragraph{\@dottedtocline{4}{10em}{5em}}
\newcommand*\l@subparagraph{\@dottedtocline{5}{12em}{6em}}
\newcommand\listoffigures{%
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse
\fi
\chapter*{\listfigurename}%
\@mkboth{\MakeUppercase\listfigurename}%
{\MakeUppercase\listfigurename}%
\@starttoc{lof}%
\if@restonecol\twocolumn\fi
}
\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
\newcommand\listoftables{%
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse
\fi
\chapter*{\listtablename}%
\@mkboth{%
\MakeUppercase\listtablename}%
{\MakeUppercase\listtablename}%
\@starttoc{lot}%
\if@restonecol\twocolumn\fi
}
\let\l@table\l@figure
\newdimen\bibindent
\setlength\bibindent{1.5em}
\newenvironment{thebibliography}[1]
{\chapter*{\bibname}%
\@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}%
\list{\@biblabel{\@arabic\c@enumiv}}%
{\settowidth\labelwidth{\@biblabel{#1}}%
\leftmargin\labelwidth
\advance\leftmargin\labelsep
\@openbib@code
\usecounter{enumiv}%
\let\p@enumiv\@empty
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
\sloppy
\clubpenalty4000
\@clubpenalty \clubpenalty
\widowpenalty4000%
\sfcode`\.\@m}
{\def\@noitemerr
{\@latex@warning{Empty `thebibliography' environment}}%
\endlist}
\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}
\let\@openbib@code\@empty
\newenvironment{theindex}
{\if@twocolumn
\@restonecolfalse
\else
\@restonecoltrue
\fi
\columnseprule \z@
\columnsep 35\p@
\twocolumn[\@makeschapterhead{\indexname}]%
\@mkboth{\MakeUppercase\indexname}%
{\MakeUppercase\indexname}%
\thispagestyle{plain}\parindent\z@
\parskip\z@ \@plus .3\p@\relax
\let\item\@idxitem}
{\if@restonecol\onecolumn\else\clearpage\fi}
\newcommand\@idxitem{\par\hangindent 40\p@}
\newcommand\subitem{\@idxitem \hspace*{20\p@}}
\newcommand\subsubitem{\@idxitem \hspace*{30\p@}}
\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
\renewcommand\footnoterule{%
\kern-3\p@
\hrule\@width.4\columnwidth
\kern2.6\p@}
\@addtoreset{footnote}{chapter}
\newcommand\@makefntext[1]{%
\parindent 1em%
\noindent
\hb@xt@1.8em{\hss\@makefnmark}#1}
\newcommand\contentsname{Contents}
\newcommand\listfigurename{List of Figures}
\newcommand\listtablename{List of Tables}
\newcommand\bibname{Bibliography}
\newcommand\indexname{Index}
\newcommand\figurename{Figure}
\newcommand\tablename{Table}
\newcommand\partname{Part}
\newcommand\chaptername{Chapter}
\newcommand\appendixname{Appendix}
\def\today{\ifcase\month\or
January\or February\or March\or April\or May\or June\or
July\or August\or September\or October\or November\or December\fi
\space\number\day, \number\year}
\setlength\columnsep{10\p@}
\setlength\columnseprule{0\p@}
\pagestyle{headings}
\pagenumbering{arabic}
\if@twoside
\else
\raggedbottom
\fi
\if@twocolumn
\twocolumn
\sloppy
\flushbottom
\else
\onecolumn
\fi
\endinput
%%
%% End of file `book.cls'.

View File

@ -0,0 +1,110 @@
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0//EN'>
<!-- $Id: customHierarchy.html,v 1.1 2007/09/15 13:10:12 jpc Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Katabatic Documentation</title>
<link href="ASIM.css" rel="stylesheet" type="text/css">
</head>
<h1 id="pagetop" class="header">Katabatic Documentation</h1>
<center class="header">
<table class="header">
<tr>
<td><a href="customSummary.html">Summary</a></td>
<td><a href="namespaces.html">Namespaces</a></td>
<td><a href="customHierarchy.html">Class Hierarchy</a></td>
<td><a href="annotated.html">Classes</a></td>
<td><a href="functions.html">Member Index</a></td>
<!-- <td><a href="classes.html">Index2</a></td> -->
</tr>
</table>
</center>
<br>
<hr>
<body>
<h1>Katabatic Synthetic Class Hierarchy</h1>
<br>
<p><b>The complete class hierarchy could be accessed <a href="hierarchy.html">here</a>.</b></p>
<p>All the classes below are in the <a href="namespaceKatabatic.html">Katabatic</a> namespace.</p>
<p>The inheritance tree has been splitted/simplificated.</p>
<b>Legend :</b><br>
<pre class="fragment">
<table class="classHierarchy">
<tr><td width="70"></td><td class="virtual"><a href="#pagetop">ClassA</a></td><td><b>&nbsp;&nbsp;<tt>ClassA</tt> is abstract</b></td></tr>
<tr><td width="70"></td><td class="normal"><a href="#pagetop">ClassB</a></td><td><b>&nbsp;&nbsp;<tt>ClassB</tt> is instanciable</b></td></tr>
</table>
</pre>
<br>
<h2 class="classHierarchy">Katabatic Engine</h2>
<table class="classHierarchy">
<tr><td width="70"></td><td class="normal"><a href="classKatabatic_1_1Katabatic.html">Katabatic</a></td></tr>
<tr><td width="70"></td><td class="normal"><a href="classKatabatic_1_1Session.html">Session</a></td></tr>
<tr><td width="70"></td><td class="normal"><a href="classKatabatic_1_1DataAlgorithm.html">DataAlgorithm</a></td></tr>
</table>
<h2 class="classHierarchy">Contacts</h2>
<table class="classHierarchy">
<tr><td width="70"></td><td class="normal"><a href="classKatabatic_1_1AutoContact.html">AutoContact</a></td></tr>
</table>
<h2 class="classHierarchy">Segments</h2>
<table class="classHierarchy">
<tr><td width="70"></td><td class="virtual"><a href="classKatabatic_1_1AutoSegment.html">AutoSegment</a></td></tr>
</table>
<table class="classHierarchy">
<tr><td width="140"></td><td class="normal"><a href="classKatabatic_1_1AutoSegmentDecorator.html">AutoSegmentDecorator</a></td></tr>
<tr><td width="140"></td><td class="normal"><a href="classKatabatic_1_1AutoSegmentConcrete.html">AutoSegmentConcrete</a></td></tr>
</table>
<table class="classHierarchy">
<tr><td width="210"></td><td class="normal"><a href="classKatabatic_1_1AutoHorizontal.html">AutoHorizontal</a></td></tr>
<tr><td width="140"></td><td class="normal"><a href="classKatabatic_1_1AutoVertical.html">AutoVertical</a></td></tr>
</table>
<h2 class="classHierarchy">FCells</h2>
<table class="classHierarchy">
<tr><td width="70"></td><td class="wvirtual"><a href="classKatabatic_1_1FCell.html">FCell</a></td></tr>
</table>
<table class="classHierarchy">
<tr><td width="140"></td><td class="wnormal"><a href="classKatabatic_1_1FCellDecorator.html">FCellDecorator</a></td></tr>
<tr><td width="140"></td><td class="wnormal"><a href="classKatabatic_1_1FCellConcrete.html">FCellConcrete</a></td></tr>
</table>
<table class="classHierarchy">
<tr><td width="70"></td><td class="wvirtual"><a href="classKatabatic_1_1FCellGrid.html">FCellGrid</a></td></tr>
</table>
<table class="classHierarchy">
<!--
<tr><td width="140"></td><td class="normal"><a href="classKatabatic_1_1FCellGridDecorator.html">FCellDecorator</a></td></tr>
-->
<tr><td width="140"></td><td class="wnormal"><a href="classKatabatic_1_1FCellGridConcrete.html">FCellGridConcrete</a></td></tr>
</table>
<table class="classHierarchy">
<tr><td width="70"></td><td class="wnormal"><a href="classFCellConfiguration.html">FCellConfiguration</a></td></tr>
<tr><td width="70"></td><td class="wnormal"><a href="unionFCellConfiguration_1_1UState.html">FCellConfiguration::UState</a></td></tr>
</table>
<h2 class="classHierarchy">Miscellaneous Utilities</h2>
<table class="classHierarchy">
<tr><td width="70"></td><td class="normal"><a href="classKatabatic_1_1DebugSession.html">DebugSession</a></td></tr>
<tr><td width="70"></td><td class="normal"><a href="classRPSortX.html">RPSortX</a></td></tr>
<tr><td width="70"></td><td class="normal"><a href="classRPSortY.html">RPSortY</a></td></tr>
<tr><td width="70"></td><td class="normal"><a href="classSplitterForkList.html">SplitterForkList</a></td></tr>
</table>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Customized Class Hierarchy</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>
<table class="footer2">
<tr>
<td class="LFooter">Katabatic Documentation</td>
<td class="RFooter"><small>Copyright &#169; 2000-2007 Bull S.A. All rights reserved</small></td>
</tr>
</table>
</body>
</html>

View File

@ -0,0 +1,77 @@
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0//EN'>
<!-- $Id: customSummary.html,v 1.1 2007/09/15 13:10:13 jpc Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Katabatic Documentation</title>
<link href="ASIM.css" rel="stylesheet" type="text/css">
</head>
<h1 class="header">Katabatic Documentation</h1>
<center class="header">
<table class="header">
<tr>
<td><a href="customSummary.html">Summary</a></td>
<td><a href="namespaces.html">Namespaces</a></td>
<td><a href="customHierarchy.html">Class Hierarchy</a></td>
<td><a href="annotated.html">Classes</a></td>
<td><a href="functions.html">Member Index</a></td>
<!-- <td><a href="classes.html">Index2</a></td> -->
</tr>
</table>
</center>
<br>
<hr>
<body>
<h1>Katabatic Documentation Summary</h1>
<br>
<p><b>The classical Doxygen module documentation could be accessed <a href="modules.html">here</a>.</b></p>
<h2>Katabatic Concepts (internal)</h2>
<ol>
<li><a class="el" href="group__buildRules.html">Rules for building wires.</a>
<br>Rules for building AutoContacts. Global/Locals AutoSegments.
<li><a class="el" href="group__loadGlobalRouting.html">Global Routing Loading.</a>
<br>How the Knik global routing is loaded into Katabatic data-base.
Details the wiring topologies used to complete the routing to the
terminals.
<li><a class="el" href="group__collapseCanonical.html">AutoSegment Collapse &amp; Canonical.</a>
<br>How to force alignment of AutoSegments.
<li><a class="el" href="group__layerAssign.html">Layer Assignment.</a>
<br>Simple strategy to put long wires on higher routing metals.
<li><a class="el" href="group__NetConstraints.html">Constraints Computations.</a>
<br>Compute the legal range of variation of each wire (note that the
constraints are stored on AutoContacts).
<li><a class="el" href="group__NetOptimals.html">AutoSegment Optimal Placement.</a>
<br>Compute the optimal range of variation of each wire.
<li><a class="el" href="group__katabaticSession.html">Katabatic Update Session Mechanism.</a>
<br>The Session mechanism for modifying the Katabatic data-base.
</ol>
<h2>API documentations</h2>
<ul>
<li><b><a href="customHierarchy.html">Synthetic Class Hierarchy.</a></b>
<li><b><a href="hierarchy.html">Complete Class Hierarchy (doxygen).</a></b>
<li><b><a href="annotated.html">Class List (doxygen).</a></b>
<li><b><a href="classes.html">Class Index (doxygen).</a></b>
<li><b><a href="modules.html">Modules (raw concepts).</a></b>
<li><b><a href="functions.html">Member Functions Index (doxygen).</a></b>
<li><b><a href="namespaces.html">Namespaces (doxygen).</a></b>
</ul>
<br>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Customized Concepts (a.k.a. modules)</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>
<table class="footer2">
<tr>
<td class="LFooter">Katabatic Documentation</td>
<td class="RFooter"><small>Copyright &#169; 2005-2007 LIP6. All rights reserved</small></td>
</tr>
</table>
</body>
</html>

275
katabatic/doc/doxyfile Normal file
View File

@ -0,0 +1,275 @@
# Doxyfile 1.3.4
# --------------------------------------------------------------------
# Project related configuration options
PROJECT_NAME = "Katabatic - Routing Toolbox"
PROJECT_NUMBER = 1.0
OUTPUT_DIRECTORY = .
OUTPUT_LANGUAGE = English
#USE_WINDOWS_ENCODING = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = NO
STRIP_FROM_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
#DETAILS_AT_TOP = YES
INHERIT_DOCS = YES
DISTRIBUTE_GROUP_DOC = NO
TAB_SIZE = 2
ALIASES = "function=\fn"\
"important=\par Important:\n"\
"remark=\par Remark:\n"\
"True=\b True"\
"true=\b true"\
"False=\b False"\
"false=\b false"\
"VERTICAL=\b VERTICAL"\
"HORIZONTAL=\b HORIZONTAL"\
"NULL=\c NULL"\
"vector=\c vector"\
"Collection=\c Collection"\
"Collections=\c Collections"\
"Box=\c Box"\
"box=\c box"\
"Layer=\c Layer"\
"Layers=\c Layers"\
"Net=\c Net"\
"Nets=\c Nets"\
"Pin=\c Pin"\
"Pins=\c Pins"\
"Plug=\c Plug"\
"Plugs=\c Plugs"\
"RoutingPad=\c RoutingPad"\
"RoutingPads=\c RoutingPads"\
"Cell=\c Cell"\
"Cells=\c Cells"\
"ToolEngine=\c ToolEngine"\
"ToolEngines=\c ToolEngines"\
"GCell=\c GCell"\
"GCells=\c GCells"\
"Splitter=\c Splitter"\
"Splitters=\c Splitters"\
"SplitterContact=\c SplitterContact"\
"SplitterContacts=\c SplitterContacts"\
"Hurricane=<a href='../hurricane/Index.html'>Hurricane</a>"\
"STL=<a href='http://www.sgi.com/tech/stl/'>STL</a>"
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = YES
SUBGROUPING = YES
# --------------------------------------------------------------------
# Build related configuration options
EXTRACT_ALL = NO
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = YES
HIDE_UNDOC_MEMBERS = YES
HIDE_UNDOC_CLASSES = YES
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = NO
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 1
SHOW_USED_FILES = YES
# --------------------------------------------------------------------
# Configuration options related to warning and progress messages
QUIET = YES
WARNINGS = YES
WARN_IF_UNDOCUMENTED = NO
WARN_IF_DOC_ERROR = YES
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
# --------------------------------------------------------------------
# Configuration options related to the input files
INPUT = \
../src/katabatic/KatabaticEngine.h ../src/KatabaticEngine.cpp KatabaticEngine.dox \
../src/LoadGrByNet.cpp LoadGrByNet.dox \
../src/LayerAssign.cpp LayerAssign.dox \
../src/NetConstraints.cpp NetConstraints.dox \
../src/NetOptimals.cpp NetOptimals.dox \
../src/katabatic/AutoContact.h ../src/AutoContact.cpp AutoContact.dox \
../src/katabatic/AutoSegment.h ../src/AutoSegment.cpp AutoSegment.dox \
../src/katabatic/AutoHorizontal.h ../src/AutoHorizontal.cpp \
../src/katabatic/AutoVertical.h ../src/AutoVertical.cpp \
../src/katabatic/Grid.h ../src/Grid.cpp Grid.dox \
../src/katabatic/GCell.h ../src/GCell.cpp GCell.dox \
../src/katabatic/GCellGrid.h ../src/GCellGrid.cpp GCellGrid.dox \
../src/katabatic/Session.h ../src/Session.cpp Session.dox
FILE_PATTERNS = *.h \
*.cpp \
*.dox
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = NO
IMAGE_PATH = images
INPUT_FILTER =
FILTER_SOURCE_FILES = YES
# --------------------------------------------------------------------
# Configuration options related to source browsing
SOURCE_BROWSER = NO
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
VERBATIM_HEADERS = YES
# --------------------------------------------------------------------
# Configuration options related to the alphabetical class index
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 2
IGNORE_PREFIX =
# --------------------------------------------------------------------
# Configuration options related to the HTML output
GENERATE_HTML = YES
HTML_OUTPUT = html
HTML_FILE_EXTENSION = .html
HTML_HEADER = header.html
HTML_FOOTER = footer.html
HTML_STYLESHEET = ASIM.css
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = NO
DISABLE_INDEX = YES
ENUM_VALUES_PER_LINE = 1
GENERATE_TREEVIEW = NO
TREEVIEW_WIDTH = 250
# --------------------------------------------------------------------
# Configuration options related to the LaTeX output
GENERATE_LATEX = YES
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER = header.tex
PDF_HYPERLINKS = YES
USE_PDFLATEX = YES
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
# --------------------------------------------------------------------
# Configuration options related to the RTF output
GENERATE_RTF = YES
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
# --------------------------------------------------------------------
# Configuration options related to the man page output
GENERATE_MAN = YES
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = NO
# --------------------------------------------------------------------
# Configuration options related to the XML output
GENERATE_XML = NO
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
# --------------------------------------------------------------------
# Configuration options for the AutoGen Definitions output
GENERATE_AUTOGEN_DEF = NO
# --------------------------------------------------------------------
# Configuration options related to the Perl module output
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
# --------------------------------------------------------------------
# Configuration options related to the preprocessor
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED = __DOXYGEN__
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
# --------------------------------------------------------------------
# Configuration::addtions related to external references
TAGFILES = ../../../../hurricane/doc/hurricane/html/hurricane.tag=../hurricane
GENERATE_TAGFILE = html/katabatic.tag
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl
# --------------------------------------------------------------------
# Configuration options related to the dot tool
CLASS_DIAGRAMS = NO
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = YES
CLASS_GRAPH = YES
COLLABORATION_GRAPH = NO
UML_LOOK = NO
TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = NO
GRAPHICAL_HIERARCHY = NO
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
#MAX_DOT_GRAPH_WIDTH = 512
#MAX_DOT_GRAPH_HEIGHT = 1024
#MAX_DOT_GRAPH_DEPTH = 0
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
# --------------------------------------------------------------------
# Configuration::addtions related to the search engine
SEARCHENGINE = NO

16
katabatic/doc/footer.html Normal file
View File

@ -0,0 +1,16 @@
<br>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen $doxygenversion on $date</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>
<table class="footer2">
<tr>
<td class="LFooter">Katabatic - Routing Toolbox</td>
<td class="RFooter"><small>Copyright &#169; 2008-2009 LIP6. All rights reserved</small></td>
</tr>
</table>
</body>
</html>

22
katabatic/doc/header.html Normal file
View File

@ -0,0 +1,22 @@
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0//EN'>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Katabatic - Routing Toolbox: Routing Toolbox Documentation</title>
<link href="ASIM.css" rel="stylesheet" type="text/css">
</head>
<h1 class="header">Katabatic - Routing Toolbox</h1>
<center class="header">
<table class="header">
<tr>
<td><a href="customSummary.html">Summary</a></td>
<td><a href="namespaces.html">Namespaces</a></td>
<td><a href="customHierarchy.html">Class Hierarchy</a></td>
<td><a href="annotated.html">Classes</a></td>
<td><a href="functions.html">Member Index</a></td>
<!-- <td><a href="classes.html">Index2</a></td> -->
</tr>
</table>
</center>
<br>
<hr>
<body>

47
katabatic/doc/header.tex Normal file
View File

@ -0,0 +1,47 @@
\documentclass[a4paper]{asimbook}
\usepackage{a4wide}
\usepackage{makeidx}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage{multicol}
\usepackage{float}
\usepackage{textcomp}
\usepackage{alltt}
\usepackage{times}
\ifx\pdfoutput\undefined
\usepackage[ps2pdf,pagebackref=true,colorlinks=true,linkcolor=blue]{hyperref}
\usepackage{pspicture}
\else
\usepackage[pdftex,pagebackref=true,colorlinks=true,linkcolor=blue]{hyperref}
\fi
\usepackage{doxygen}
\makeindex
\setcounter{tocdepth}{1}
\renewcommand{\footrulewidth}{0.4pt}
\raggedbottom
\begin{document}
\begin{titlepage}
\vspace*{7cm}
\begin{center}
{\Large $projectname Reference Manual\\[1ex]\large $projectnumber }\\
\vspace*{1cm}
{\large Generated by Doxygen $doxygenversion}\\
\vspace*{0.5cm}
{\small $datetime}\\
\end{center}
\end{titlepage}
\clearemptydoublepage
\pagenumbering{roman}
\tableofcontents
\clearemptydoublepage
\pagenumbering{arabic}

1
katabatic/doc/html.entry Normal file
View File

@ -0,0 +1 @@
<li><a class="entry" href="katabatic/customSummary.html">Katabatic</a><br>Routing Database<br><br>

View File

@ -0,0 +1,107 @@
#FIG 3.2
Landscape
Center
Inches
Letter
100.00
Single
-2
1200 2
6 11025 2325 13275 2925
2 2 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 5
11100 2400 13200 2400 13200 2850 11100 2850 11100 2400
4 1 0 50 -1 18 16 0.0000 4 240 1635 12150 2700 AutoSegment\001
-6
6 11025 5925 13275 6525
2 2 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 5
11100 6000 13200 6000 13200 6450 11100 6450 11100 6000
4 1 0 50 -1 18 16 0.0000 4 180 1500 12150 6300 AutoContact\001
-6
6 11025 7425 13275 8025
2 2 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 5
11100 7500 13200 7500 13200 7950 11100 7950 11100 7500
4 1 0 50 -1 18 16 0.0000 4 240 1635 12150 7800 AutoSegment\001
-6
2 1 0 2 0 7 50 -1 15 0.000 0 0 -1 0 0 4
5700 0 5700 3300 6000 3300 6000 0
2 1 0 2 0 7 50 -1 15 0.000 0 0 -1 0 0 4
12300 3900 9000 3900 9000 4200 12300 4200
2 2 3 2 0 7 60 -1 -1 15.000 0 0 -1 0 0 5
2100 2100 10200 2100 10200 9600 2100 9600 2100 2100
2 2 0 2 0 7 50 -1 -1 6.000 0 0 -1 0 0 5
8100 7200 8400 7200 8400 9000 8100 9000 8100 7200
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
7950 7950 8550 7950 8550 8550 7950 8550 7950 7950
2 2 0 2 0 7 45 -1 15 6.000 0 0 -1 0 0 5
6900 8100 8400 8100 8400 8400 6900 8400 6900 8100
2 2 0 4 4 7 50 -1 -1 0.000 0 0 -1 0 0 5
7350 6150 7950 6150 7950 6750 7350 6750 7350 6150
2 1 0 4 20 7 50 -1 -1 10.000 0 0 -1 0 0 3
5850 3450 5850 8250 6750 8250
2 1 0 4 20 7 50 -1 -1 10.000 0 0 -1 0 0 2
3450 6450 5850 6450
2 1 0 4 20 7 50 -1 -1 10.000 0 0 -1 0 0 2
8850 4050 5850 4050
2 2 0 4 20 7 50 -1 -1 10.000 0 0 -1 0 0 5
5700 6300 6000 6300 6000 6600 5700 6600 5700 6300
2 2 0 4 20 7 50 -1 -1 10.000 0 0 -1 0 0 5
5700 3900 6000 3900 6000 4200 5700 4200 5700 3900
2 1 0 4 4 7 40 -1 -1 0.000 0 0 -1 0 0 2
7500 6450 7800 6450
2 1 0 4 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
5850 2850 5850 3150
2 1 0 4 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
9150 4050 9450 4050
2 1 0 4 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
7050 8250 7350 8250
2 1 0 4 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
2850 6450 3150 6450
2 1 0 2 0 7 50 -1 15 0.000 0 0 -1 0 0 4
0 6300 3300 6300 3300 6600 0 6600
2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 1 0 4
1 1 2.00 120.00 240.00
11400 2850 11400 3300 9450 3300 9450 3975
2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
12600 2850 12600 6000
2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 1 0 3
1 1 2.00 120.00 240.00
12900 2850 12900 3300 13725 3300
2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 1 0 3
1 1 2.00 120.00 240.00
11100 7725 7350 7725 7350 8250
2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
12600 7500 12600 6450
2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 1 0 3
1 1 2.00 120.00 240.00
12900 7950 12900 8400 13800 8400
2 1 0 2 0 7 50 -1 -1 6.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
11100 6300 7950 6300
3 0 0 2 4 7 40 -1 -1 6.000 0 1 0 4
3 0 2.00 120.00 240.00
7650 6450 7650 6900 7200 7500 7200 8250
0.000 1.000 1.000 0.000
3 0 0 2 4 7 40 -1 -1 6.000 0 1 0 6
3 0 2.00 120.00 240.00
7200 8325 7200 8700 6900 9000 4800 9000 3000 7200 3000 6450
0.000 1.000 1.000 1.000 1.000 0.000
3 0 0 2 4 7 40 -1 -1 6.000 0 1 0 4
3 0 2.00 120.00 240.00
3000 6450 3000 5100 5100 3000 5850 3000
0.000 1.000 1.000 0.000
3 0 0 2 4 7 40 -1 -1 6.000 0 1 0 4
3 0 2.00 120.00 240.00
5850 3000 8700 3000 9300 3600 9300 4050
0.000 1.000 1.000 0.000
3 0 0 2 4 7 40 -1 -1 0.000 0 1 0 4
3 1 2.00 120.00 240.00
9300 4050 9300 4800 7650 5700 7650 6450
0.000 1.000 1.000 0.000
4 1 0 50 -1 18 16 1.5708 4 180 360 12525 5100 AC\001
4 1 0 50 -1 18 16 1.5708 4 180 360 12525 7050 AC\001
4 1 0 50 -1 18 16 0.0000 4 180 165 11550 3300 S\001
4 1 0 50 -1 18 16 0.0000 4 180 150 13050 3150 T\001
4 1 0 50 -1 18 16 0.0000 4 180 165 10950 8025 S\001
4 1 0 50 -1 18 16 0.0000 4 180 150 13050 8250 T\001

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

@ -0,0 +1,72 @@
#FIG 3.2
Landscape
Center
Inches
Letter
70.00
Single
-2
1200 2
6 825 1125 6000 6300
6 825 1125 3075 1575
2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
900 1200 3000 1200 3000 1500 900 1500 900 1200
4 0 0 50 -1 14 12 0.0000 4 135 1890 975 1425 HExtended - case 1\001
-6
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1800 1875 2550 1875 2550 2100 1800 2100 1800 1875
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
2625 3450 4725 3450 4725 3750 2625 3750 2625 3450
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1800 2100 5400 2100 5400 5400 1800 5400 1800 2100
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
900 1200 6000 1200 6000 6300 900 6300 900 1200
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
2625 3600 1575 3600
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
2700 2700 2700 3450
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
3300 3750 3300 5700
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
4500 3750 4500 4500
4 1 0 50 -1 14 12 0.0000 4 135 525 2175 2025 GCell\001
4 1 0 50 -1 14 18 0.0000 4 165 165 2850 2925 L\001
4 1 0 50 -1 14 18 0.0000 4 165 165 1650 3900 G\001
4 1 0 50 -1 14 18 0.0000 4 165 165 4650 4500 L\001
4 1 0 50 -1 14 18 0.0000 4 165 165 3450 5625 G\001
-6
1 2 0 2 4 7 50 -1 -1 0.000 1 0.0000 9450 3600 150 300 9300 3300 9600 3900
1 4 0 2 4 7 50 -1 -1 0.000 1 0.0000 8550 3600 150 150 8400 3600 8700 3600
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
8100 1875 8850 1875 8850 2100 8100 2100 8100 1875
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
8100 2100 11700 2100 11700 5400 8100 5400 8100 2100
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
7200 1200 12300 1200 12300 6300 7200 6300 7200 1200
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
8850 3600 7800 3600
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
9000 2700 9000 3450
2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
7200 1200 9300 1200 9300 1500 7200 1500 7200 1200
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
8850 3450 9150 3450 9150 3750 8850 3750 8850 3450
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
9150 3525 9900 3525
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
9150 3675 12000 3675
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
8925 3600 9075 3600
2 1 0 2 4 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 0 2.00 120.00 240.00
8550 3750 8700 4500
2 1 0 2 4 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 0 2.00 120.00 240.00
9450 3900 9300 4500
4 1 0 50 -1 14 12 0.0000 4 135 525 8475 2025 GCell\001
4 1 0 50 -1 14 18 0.0000 4 165 165 9150 2925 L\001
4 1 0 50 -1 14 18 0.0000 4 165 165 7950 3900 G\001
4 0 0 50 -1 14 12 0.0000 4 135 1890 7275 1425 HExtended - case 2\001
4 1 0 50 -1 14 18 0.0000 4 165 165 11925 3975 G\001
4 1 0 50 -1 14 18 0.0000 4 165 165 9750 3450 L\001
4 1 4 50 -1 18 12 0.0000 4 180 1170 9000 4650 kept aligneds\001

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -0,0 +1,68 @@
#FIG 3.2
Landscape
Center
Inches
Letter
70.00
Single
-2
1200 2
1 2 0 2 4 7 50 -1 -1 0.000 1 0.0000 10200 3150 300 150 9900 3000 10500 3300
1 4 0 2 4 7 50 -1 -1 0.000 1 0.0000 10200 4050 150 150 10050 4050 10350 4050
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
8100 1875 8850 1875 8850 2100 8100 2100 8100 1875
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
8100 2100 11700 2100 11700 5400 8100 5400 8100 2100
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
7200 1200 12300 1200 12300 6300 7200 6300 7200 1200
2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
7200 1200 9300 1200 9300 1500 7200 1500 7200 1200
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1800 1875 2550 1875 2550 2100 1800 2100 1800 1875
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1800 2100 5400 2100 5400 5400 1800 5400 1800 2100
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
900 1200 6000 1200 6000 6300 900 6300 900 1200
2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
900 1200 3000 1200 3000 1500 900 1500 900 1200
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
3750 3600 1500 3600
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
3900 4650 3900 5700
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
3750 2850 4050 2850 4050 4650 3750 4650 3750 2850
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
3750 3000 3000 3000
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
4800 4500 4050 4500
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
10050 3450 10350 3450 10350 3750 10050 3750 10050 3450
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
10200 5700 10200 3750
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
10275 1800 10275 3450
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
10125 3450 10125 2700
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
10350 3600 11100 3600
2 1 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
10200 3675 10200 3525
2 1 0 2 4 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 0 2.00 120.00 240.00
9900 3150 8850 3375
2 1 0 2 4 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 0 2.00 120.00 240.00
10050 4050 8850 3750
4 1 0 50 -1 14 12 0.0000 4 135 525 8475 2025 GCell\001
4 0 0 50 -1 14 12 0.0000 4 135 1890 7275 1425 VExtended - case 2\001
4 1 0 50 -1 14 12 0.0000 4 135 525 2175 2025 GCell\001
4 0 0 50 -1 14 12 0.0000 4 135 1890 975 1425 VExtended - case 1\001
4 1 0 50 -1 14 18 0.0000 4 165 165 4050 5625 G\001
4 1 0 50 -1 14 18 0.0000 4 165 165 4725 4425 L\001
4 1 0 50 -1 14 18 0.0000 4 165 165 3075 2925 L\001
4 1 0 50 -1 14 18 0.0000 4 165 165 1650 3900 G\001
4 1 0 50 -1 14 18 0.0000 4 165 165 11025 3900 L\001
4 1 0 50 -1 14 18 0.0000 4 165 165 9975 2925 L\001
4 1 0 50 -1 14 18 0.0000 4 165 165 10425 2025 G\001
4 1 4 50 -1 18 12 0.0000 4 180 1170 8775 3600 kept aligneds\001
4 1 0 50 -1 14 18 0.0000 4 165 165 10350 5700 G\001

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@ -0,0 +1,91 @@
#FIG 3.2
Landscape
Center
Inches
Letter
70.00
Single
-2
1200 2
6 6600 1875 10200 5400
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
6600 1875 7350 1875 7350 2100 6600 2100 6600 1875
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
6600 2100 10200 2100 10200 5400 6600 5400 6600 2100
4 1 0 50 -1 14 12 0.0000 4 135 525 6975 2025 GCell\001
-6
1 4 0 2 4 7 45 -1 -1 0.000 1 0.0000 3300 4200 150 150 3150 4200 3450 4200
1 4 0 2 4 7 45 -1 -1 0.000 1 0.0000 4500 4050 150 150 4350 4050 4650 4050
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1800 1875 2550 1875 2550 2100 1800 2100 1800 1875
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
2625 3450 4725 3450 4725 3750 2625 3750 2625 3450
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1800 2100 5400 2100 5400 5400 1800 5400 1800 2100
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
2625 3600 1500 3600
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
2700 2700 2700 3450
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
4500 3750 4500 4500
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
900 1200 11100 1200 11100 6225 900 6225 900 1200
2 1 0 2 4 7 45 -1 -1 0.000 0 0 -1 1 0 2
3 0 2.00 120.00 240.00
3375 4350 3900 4800
2 1 0 2 4 7 45 -1 -1 0.000 0 0 -1 1 0 2
3 0 2.00 120.00 240.00
4425 4125 3975 4800
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
7350 3600 6300 3600
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
7350 3450 8250 3450 8250 3750 7350 3750 7350 3450
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
3300 3750 3300 5700
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
7500 2700 7500 3450
2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
900 1200 3900 1200 3900 1500 900 1500 900 1200
2 2 0 4 4 7 45 -1 -1 0.000 0 0 7 0 0 5
7950 4050 8250 4050 8250 4350 7950 4350 7950 4050
2 1 0 4 4 7 55 -1 -1 0.000 0 0 -1 0 0 2
8100 3750 8100 4050
2 1 0 4 4 7 55 -1 -1 0.000 0 0 -1 0 0 2
8250 4200 8550 4200
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
8700 4350 8700 5700
2 2 0 4 4 7 45 -1 -1 0.000 0 0 7 0 0 5
8550 4050 8850 4050 8850 4350 8550 4350 8550 4050
2 2 0 4 4 7 45 -1 -1 0.000 0 0 7 0 0 5
9750 4050 10050 4050 10050 4350 9750 4350 9750 4050
2 1 0 4 4 7 55 -1 -1 0.000 0 0 -1 0 0 2
8850 4200 9750 4200
2 4 0 1 4 7 45 -1 -1 0.000 0 0 7 0 0 5
10125 4425 10125 3975 8475 3975 8475 4425 10125 4425
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
9900 3300 9900 4050
2 1 0 4 4 7 55 -1 -1 0.000 0 0 -1 0 0 2
8625 4200 8775 4200
3 0 0 1 4 7 45 -1 -1 0.000 0 1 1 6
3 0 1.00 60.00 120.00
3 0 1.00 60.00 120.00
6900 3600 6900 3450 7200 3150 8100 3150 8400 3450 8400 4200
0.000 1.000 1.000 1.000 1.000 0.000
3 0 0 1 4 7 45 -1 -1 0.000 0 1 1 6
3 0 1.00 60.00 120.00
3 0 1.00 60.00 120.00
8100 3900 7800 3900 7500 4200 7500 4500 7800 4800 8700 4800
0.000 1.000 1.000 1.000 1.000 0.000
4 1 0 50 -1 14 12 0.0000 4 135 525 2175 2025 GCell\001
4 0 0 50 -1 14 12 0.0000 4 180 2520 975 1425 Split HExtended - case 1\001
4 1 4 45 -1 18 12 0.0000 4 135 840 3900 4950 M3 -> M5\001
4 0 0 50 -1 14 14 0.0000 4 150 540 1500 3825 G.M2\001
4 0 0 50 -1 14 14 0.0000 4 150 540 2775 2850 L.M3\001
4 0 0 45 -1 14 14 0.0000 4 150 540 4575 4500 L.M3\001
4 0 0 45 -1 14 14 0.0000 4 150 540 3375 5700 G.M3\001
4 0 0 45 -1 14 14 0.0000 4 150 540 6300 3825 G.M2\001
4 0 0 45 -1 14 14 0.0000 4 150 540 6975 2850 L.M3\001
4 0 0 45 -1 14 14 0.0000 4 150 540 8775 5700 G.M5\001
4 0 0 45 -1 14 14 0.0000 4 150 540 9975 3450 L.M5\001
4 1 4 45 -1 18 12 0.0000 4 135 120 7425 4425 Y\001
4 1 4 45 -1 18 12 0.0000 4 135 120 7800 3150 X\001

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@ -0,0 +1,104 @@
#FIG 3.2
Landscape
Center
Inches
Letter
70.00
Single
-2
1200 2
6 6600 1875 10200 5400
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
6600 1875 7350 1875 7350 2100 6600 2100 6600 1875
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
6600 2100 10200 2100 10200 5400 6600 5400 6600 2100
4 1 0 50 -1 14 12 0.0000 4 135 525 6975 2025 GCell\001
-6
1 4 0 2 4 7 45 -1 -1 0.000 1 0.0000 2250 3600 150 150 2100 3600 2400 3600
1 4 0 2 4 7 45 -1 -1 0.000 1 0.0000 3600 3150 150 150 3750 3150 3450 3150
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1800 1875 2550 1875 2550 2100 1800 2100 1800 1875
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1800 2100 5400 2100 5400 5400 1800 5400 1800 2100
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
2625 3600 1575 3600
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
900 1200 11100 1200 11100 6225 900 6225 900 1200
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
7350 3600 6300 3600
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
3300 3750 3300 5700
2 1 0 2 4 7 45 -1 -1 0.000 0 0 -1 1 0 2
3 0 2.00 120.00 240.00
2250 3750 2250 4200
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
2700 3750 2700 4500
2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
900 1200 3900 1200 3900 1500 900 1500 900 1200
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
3600 2700 3600 3450
2 1 0 2 4 7 45 -1 -1 0.000 0 0 -1 1 0 2
3 0 2.00 120.00 240.00
3450 3075 2925 2475
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
2625 3450 3750 3450 3750 3750 2625 3750 2625 3450
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
8400 2700 8400 3450
2 2 0 4 4 7 45 -1 -1 0.000 0 0 7 0 0 5
7350 3450 8550 3450 8550 3750 7350 3750 7350 3450
2 2 0 4 4 7 45 -1 -1 0.000 0 0 7 0 0 5
8850 3450 9150 3450 9150 3750 8850 3750 8850 3450
2 1 0 4 4 7 55 -1 -1 0.000 0 0 -1 0 0 2
9000 3750 9000 4050
2 1 0 4 4 7 55 -1 -1 0.000 0 0 -1 0 0 2
8550 3600 8850 3600
2 1 0 4 4 7 55 -1 -1 0.000 0 0 -1 0 0 2
8550 4200 8850 4200
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
8850 4050 9150 4050 9150 4350 8850 4350 8850 4050
2 2 0 4 4 7 45 -1 -1 0.000 0 0 7 0 0 5
8250 4050 8550 4050 8550 4350 8250 4350 8250 4050
2 1 0 4 4 7 55 -1 -1 0.000 0 0 -1 0 0 2
7425 3600 8475 3600
2 2 0 4 4 7 45 -1 -1 0.000 0 0 7 0 0 5
7650 4050 7950 4050 7950 4350 7650 4350 7650 4050
2 1 0 4 4 7 55 -1 -1 0.000 0 0 -1 0 0 2
7950 4200 8250 4200
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
7800 4350 7800 5100
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
8400 4350 8400 5700
2 1 0 4 4 7 55 -1 -1 0.000 0 0 -1 0 0 2
8325 4200 8475 4200
2 4 0 1 4 7 45 -1 -1 0.000 0 0 7 0 0 5
9225 4425 9225 3975 7575 3975 7575 4425 9225 4425
3 0 0 1 4 7 45 -1 -1 0.000 0 1 1 6
3 0 1.00 60.00 120.00
3 0 1.00 60.00 120.00
6900 3600 6900 3300 7200 3000 8550 3000 8700 3300 8700 3600
0.000 1.000 1.000 1.000 1.000 0.000
3 0 0 1 4 7 45 -1 -1 0.000 0 1 1 6
3 0 1.00 60.00 120.00
3 0 1.00 60.00 120.00
8400 4800 9300 4800 9600 4500 9600 4050 9300 3900 9000 3900
0.000 1.000 1.000 1.000 1.000 0.000
3 0 0 1 4 7 45 -1 -1 0.000 0 1 1 6
3 0 1.00 60.00 120.00
3 0 1.00 60.00 120.00
6900 3600 6900 4500 7200 4800 7950 4800 8100 4500 8100 4200
0.000 1.000 1.000 1.000 1.000 0.000
4 1 0 50 -1 14 12 0.0000 4 135 525 2175 2025 GCell\001
4 1 4 45 -1 18 12 0.0000 4 135 840 2250 4350 M2 -> M4\001
4 0 0 50 -1 14 12 0.0000 4 180 2520 975 1425 Split HExtended - case 2\001
4 0 0 45 -1 14 14 0.0000 4 150 540 1575 3825 G.M2\001
4 0 0 45 -1 14 14 0.0000 4 150 540 2775 4500 L.M3\001
4 0 0 45 -1 14 14 0.0000 4 150 540 3375 5700 G.M3\001
4 1 4 45 -1 18 12 0.0000 4 135 840 2925 2475 M3 -> M5\001
4 0 0 45 -1 14 14 0.0000 4 150 540 3675 2850 L.M3\001
4 0 0 45 -1 14 14 0.0000 4 150 540 6300 3825 G.M4\001
4 0 0 45 -1 14 14 0.0000 4 150 540 8475 2850 L.M5\001
4 1 4 45 -1 18 12 0.0000 4 135 120 7800 2925 Y\001
4 1 4 45 -1 18 12 0.0000 4 135 120 9675 4350 X\001
4 0 0 45 -1 14 14 0.0000 4 150 540 8475 5700 G.M3\001
4 2 0 45 -1 14 14 0.0000 4 150 540 7725 5100 L.M3\001
4 1 4 45 -1 18 12 0.0000 4 135 120 7125 4500 Y\001

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@ -0,0 +1,79 @@
#FIG 3.2
Landscape
Center
Inches
Letter
70.00
Single
-2
1200 2
6 6600 1875 10200 5400
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
6600 1875 7350 1875 7350 2100 6600 2100 6600 1875
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
6600 2100 10200 2100 10200 5400 6600 5400 6600 2100
4 1 0 50 -1 14 12 0.0000 4 135 525 6975 2025 GCell\001
-6
1 4 0 2 4 7 45 -1 -1 0.000 1 0.0000 4500 4050 150 150 4350 4050 4650 4050
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1800 1875 2550 1875 2550 2100 1800 2100 1800 1875
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
2625 3450 4725 3450 4725 3750 2625 3750 2625 3450
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1800 2100 5400 2100 5400 5400 1800 5400 1800 2100
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
2625 3600 1500 3600
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
2700 2700 2700 3450
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
4500 3750 4500 4500
2 1 0 2 4 7 45 -1 -1 0.000 0 0 -1 1 0 2
3 0 2.00 120.00 240.00
4425 4125 3900 4800
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
7350 3600 6300 3600
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
7350 3450 8250 3450 8250 3750 7350 3750 7350 3450
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
8100 3750 8100 5700
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
3300 3750 3300 5700
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
7500 2700 7500 3450
2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
900 1200 3900 1200 3900 1500 900 1500 900 1200
2 2 0 4 4 7 45 -1 -1 0.000 0 0 7 0 0 5
7950 2850 8250 2850 8250 3150 7950 3150 7950 2850
2 1 0 4 4 7 55 -1 -1 0.000 0 0 -1 0 0 2
8100 3150 8100 3450
2 1 0 4 4 7 55 -1 -1 0.000 0 0 -1 0 0 2
8250 3000 9150 3000
2 2 0 4 4 7 45 -1 -1 0.000 0 0 7 0 0 5
9150 2850 9450 2850 9450 3150 9150 3150 9150 2850
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
9300 3150 9300 4200
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
900 1200 11100 1200 11100 6300 900 6300 900 1200
3 0 0 1 4 7 45 -1 -1 0.000 0 1 1 6
3 0 1.00 60.00 120.00
3 0 1.00 60.00 120.00
7800 3450 7800 2700 8100 2400 8400 2400 8700 2700 8700 3000
0.000 1.000 1.000 1.000 1.000 0.000
3 0 0 1 4 7 45 -1 -1 0.000 0 1 1 2
3 0 1.00 60.00 120.00
3 0 1.00 60.00 120.00
8100 3300 9300 3300
0.000 0.000
4 1 0 50 -1 14 12 0.0000 4 135 525 2175 2025 GCell\001
4 0 0 50 -1 14 12 0.0000 4 180 2520 975 1425 Split HExtended - case 3\001
4 1 4 45 -1 18 12 0.0000 4 135 840 3900 4950 M3 -> M5\001
4 1 4 45 -1 18 12 0.0000 4 135 120 8250 2325 Y\001
4 1 4 45 -1 18 12 0.0000 4 135 120 8700 3525 X\001
4 0 0 45 -1 14 14 0.0000 4 150 540 2775 2850 L.M3\001
4 0 0 45 -1 14 14 0.0000 4 150 540 1500 3825 G.M2\001
4 0 0 45 -1 14 14 0.0000 4 150 540 4575 4500 L.M3\001
4 0 0 45 -1 14 14 0.0000 4 150 540 3375 5700 G.M3\001
4 2 0 45 -1 14 14 0.0000 4 150 540 7425 2850 L.M3\001
4 0 0 45 -1 14 14 0.0000 4 150 540 6300 3825 G.M2\001
4 0 0 45 -1 14 14 0.0000 4 150 540 9375 4200 L.M5\001
4 0 0 45 -1 14 14 0.0000 4 150 540 8175 5700 G.M3\001

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -0,0 +1,73 @@
#FIG 3.2
Landscape
Center
Inches
Letter
70.00
Single
-2
1200 2
6 6600 1875 10200 5400
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
6600 1875 7350 1875 7350 2100 6600 2100 6600 1875
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
6600 2100 10200 2100 10200 5400 6600 5400 6600 2100
4 1 0 50 -1 14 12 0.0000 4 135 525 6975 2025 GCell\001
-6
1 4 0 2 4 7 45 -1 -1 0.000 1 0.0000 4050 3675 150 150 3900 3675 4200 3675
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1800 1875 2550 1875 2550 2100 1800 2100 1800 1875
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1800 2100 5400 2100 5400 5400 1800 5400 1800 2100
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
2550 3600 1500 3600
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
2700 2700 2700 3450
2 1 0 2 4 7 45 -1 -1 0.000 0 0 -1 1 0 2
3 0 2.00 120.00 240.00
4050 3825 4050 4200
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
7350 3600 6300 3600
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
7500 2700 7500 3450
2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
900 1200 3900 1200 3900 1500 900 1500 900 1200
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
2550 3450 2850 3450 2850 3750 2550 3750 2550 3450
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
2850 3675 5700 3675
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
2850 3525 3600 3525
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
2625 3600 2775 3600
2 2 0 4 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
7350 3450 7650 3450 7650 3750 7350 3750 7350 3450
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
7650 3525 8400 3525
2 1 0 4 4 7 55 -1 -1 0.000 0 0 -1 0 0 2
7500 3750 7500 4050
2 2 0 4 4 7 45 -1 -1 0.000 0 0 7 0 0 5
7350 4050 7650 4050 7650 4350 7350 4350 7350 4050
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
7650 4200 10500 4200
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
7425 3600 7575 3600
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
900 1200 11100 1200 11100 6300 900 6300 900 1200
3 0 0 1 4 7 45 -1 -1 0.000 0 1 1 6
3 0 1.00 60.00 120.00
3 0 1.00 60.00 120.00
7500 3150 7200 3150 6900 3450 6900 3750 7200 3900 7500 3900
0.000 1.000 1.000 1.000 1.000 0.000
4 1 0 50 -1 14 12 0.0000 4 135 525 2175 2025 GCell\001
4 0 0 50 -1 14 12 0.0000 4 180 2520 975 1425 Split HExtended - case 4\001
4 1 4 45 -1 18 12 0.0000 4 135 840 4050 4350 M2 -> M4\001
4 1 4 45 -1 18 12 0.0000 4 135 120 6900 3450 X\001
4 0 0 45 -1 14 14 0.0000 4 150 540 2775 2850 L.M3\001
4 2 0 45 -1 14 14 0.0000 4 150 540 3600 3450 L.M2\001
4 2 0 45 -1 14 14 0.0000 4 150 540 5700 3900 G.M2\001
4 0 0 45 -1 14 14 0.0000 4 150 540 6300 3825 G.M2\001
4 0 0 45 -1 14 14 0.0000 4 150 540 1500 3825 G.M2\001
4 2 0 45 -1 14 14 0.0000 4 150 540 8400 3450 L.M2\001
4 0 0 45 -1 14 14 0.0000 4 150 540 7575 2850 L.M3\001
4 2 0 45 -1 14 14 0.0000 4 150 540 10500 4425 G.M4\001

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@ -0,0 +1,43 @@
#FIG 3.2
Landscape
Center
Metric
Letter
100.00
Single
-2
1200 2
6 0 0 5625 2475
2 2 0 1 0 7 50 -1 45 0.000 0 0 -1 0 0 5
765 945 4635 945 4635 1260 765 1260 765 945
2 1 0 4 0 7 45 -1 45 0.000 0 0 -1 0 0 2
900 990 900 1215
2 1 0 4 0 7 45 -1 45 0.000 0 0 -1 0 0 2
4500 990 4500 1215
2 1 3 1 0 7 45 -1 45 8.000 0 0 -1 0 0 2
900 1350 900 2070
2 1 3 1 0 7 45 -1 45 8.000 0 0 -1 0 0 2
4500 1350 4500 2070
2 1 3 1 0 7 45 -1 45 8.000 0 0 -1 0 0 2
4725 1125 5220 1125
2 1 0 1 0 7 45 -1 45 4.000 0 0 -1 1 1 2
3 0 1.00 60.00 120.00
3 0 1.00 60.00 120.00
450 2025 1350 2025
2 1 0 1 0 7 45 -1 45 4.000 0 0 -1 1 1 2
3 0 1.00 60.00 120.00
3 0 1.00 60.00 120.00
4050 2025 4950 2025
2 1 0 1 0 7 45 -1 45 4.000 0 0 -1 1 1 2
3 0 1.00 60.00 120.00
3 0 1.00 60.00 120.00
5175 675 5175 1575
2 2 0 1 0 7 55 -1 -1 0.000 0 0 -1 0 0 5
0 0 5625 0 5625 2475 0 2475 0 0
2 1 0 1 0 7 55 -1 -1 0.000 0 0 -1 0 0 3
0 315 2025 315 2025 0
4 1 0 45 -1 14 12 0.0000 4 120 1155 4500 2250 AutoContact\001
4 1 0 45 -1 14 12 0.0000 4 120 1155 900 2250 AutoContact\001
4 1 0 45 -1 14 12 1.5708 4 120 630 5400 1125 Router\001
4 0 0 55 -1 18 12 0.0000 4 180 1740 90 225 Horizontal Segment\001
-6

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,54 @@
#FIG 3.2
Landscape
Center
Metric
Letter
100.00
Single
-2
1200 2
6 0 0 5400 3150
6 765 1620 4635 1980
2 2 0 1 0 7 50 -1 45 0.000 0 0 -1 0 0 5
765 1620 4635 1620 4635 1980 765 1980 765 1620
2 1 0 4 0 7 45 -1 45 0.000 0 0 -1 0 0 2
900 1671 900 1929
2 1 0 4 0 7 45 -1 45 0.000 0 0 -1 0 0 2
4500 1671 4500 1929
-6
6 4320 1665 4680 2835
2 2 0 1 12 7 60 -1 45 0.000 0 0 -1 0 0 5
4320 2835 4680 2835 4680 1665 4320 1665 4320 2835
2 1 0 4 12 7 45 -1 45 0.000 0 0 -1 0 0 2
4371 1800 4629 1800
2 1 0 4 12 7 45 -1 45 0.000 0 0 -1 0 0 2
4371 2700 4629 2700
-6
6 3420 765 3780 1935
2 2 0 1 12 7 60 -1 45 0.000 0 0 -1 0 0 5
3420 1935 3780 1935 3780 765 3420 765 3420 1935
2 1 0 4 12 7 45 -1 45 0.000 0 0 -1 0 0 2
3471 900 3729 900
2 1 0 4 12 7 45 -1 45 0.000 0 0 -1 0 0 2
3471 1800 3729 1800
-6
2 1 3 1 12 7 45 -1 -1 8.000 0 0 -1 0 0 2
3690 1800 5085 1800
2 1 0 4 12 7 45 -1 -1 0.000 0 0 -1 1 0 2
3 0 4.00 120.00 240.00
3600 1845 3600 2475
2 1 0 4 12 7 45 -1 -1 0.000 0 0 -1 1 0 2
3 0 4.00 120.00 240.00
4950 1800 4950 2475
2 1 0 4 0 7 45 -1 -1 0.000 0 0 -1 1 0 2
3 0 4.00 120.00 240.00
450 1800 450 2475
2 1 3 1 0 7 45 -1 -1 8.000 0 0 -1 0 0 2
225 1800 900 1800
2 2 0 1 0 7 45 -1 -1 0.000 0 0 -1 0 0 5
0 0 5400 0 5400 3150 0 3150 0 0
2 1 0 1 0 7 45 -1 -1 0.000 0 0 -1 0 0 3
0 540 2115 540 2115 0
4 0 0 45 -1 18 12 0.0000 4 180 1545 90 225 Moved by Router\001
4 0 12 45 -1 18 12 0.0000 4 180 2025 90 495 Moved by Autocontact\001
-6

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,33 @@
#FIG 3.2
Landscape
Center
Metric
Letter
100.00
Single
-2
1200 2
6 585 -225 765 3375
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
765 -225 765 450 585 450 585 -225
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
675 450 675 3375
-6
6 540 2115 810 2385
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
675 2160 675 2340
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
585 2250 765 2250
-6
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
0 0 3150 0 3150 3150 0 3150 0 0
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1350 3600 1800 3600 1800 3825 1350 3825 1350 3600
2 2 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 5
1125 2160 1575 2160 1575 2340 1125 2340 1125 2160
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
450 2250 1125 2250
2 4 0 2 4 7 55 -1 -1 0.000 0 0 7 0 0 5
810 2385 540 2385 540 2115 810 2115 810 2385
4 0 0 50 -1 18 12 0.0000 4 135 465 0 -45 FCell\001
4 1 0 50 -1 0 12 0.0000 4 135 360 1575 3780 G1.1\001

View File

@ -0,0 +1,78 @@
%PDF-1.3
%Çì<C387>¢
5 0 obj
<</Length 6 0 R/Filter /FlateDecode>>
stream
<EFBFBD>R»nÜ0ìù[:²á>(.[‰ëøÔ©äW ]a§Èïgy¤(nDr4šYÎîD$ˆõéër_ï3<ÿ U-Á¿@ð'´<>÷wAI¦hŠyód 3æd5$­Œ”|s8“áÄ°„ )ÑX«Æ†¨¢D¸ÛdÍ•Æy š<63>¬AÍå#Sšã|q­²U¶<1E>V{ÓÜoÛ\÷».á%œŠ¦^Á‰ U^šP©æÖ€¢­NœóBK)˜Y*É
<EFBFBD>Tû°r÷„ш<C391>ŠÛWù¾¾?:Ñ—1 d¿Š6AM¤„Y§Õ÷þÞµ}_3ÜÎ> ®I(b óS{ŠIæs¸ùñíq]?ͯÎ/G¾‡ÅÓú±ÈóC¸¹#¤Êý>‡Ÿ®X÷ïq0ùštχ a´:VOŸÃ/<2F> ëTjÆK}H·ão¯îá
<>ïk{Ô™&œ$¢vÃkh¢<>&ì/¿ÍÖÉ­"A1/²·çr^oo2'oXæCÛ·ßפÿU Åõ¡ïöÍ÷
ÖÉ[óÄ Ð2endstream
endobj
6 0 obj
437
endobj
4 0 obj
<</Type/Page/MediaBox [0 0 200 257]
/Parent 3 0 R
/Resources<</ProcSet[/PDF /Text]
/ExtGState 10 0 R
/Font 11 0 R
>>
/Contents 5 0 R
>>
endobj
3 0 obj
<< /Type /Pages /Kids [
4 0 R
] /Count 1
>>
endobj
1 0 obj
<</Type /Catalog /Pages 3 0 R
>>
endobj
7 0 obj
<</Type/ExtGState
/OPM 1>>endobj
10 0 obj
<</R7
7 0 R>>
endobj
11 0 obj
<</R8
8 0 R/R9
9 0 R>>
endobj
8 0 obj
<</BaseFont/Helvetica-Bold/Type/Font
/Subtype/Type1>>
endobj
9 0 obj
<</BaseFont/Times-Roman/Type/Font
/Subtype/Type1>>
endobj
2 0 obj
<</Producer(ESP Ghostscript 815.02)
/CreationDate(D:20080703182854)
/ModDate(D:20080703182854)>>endobj
xref
0 12
0000000000 65535 f
0000000751 00000 n
0000001044 00000 n
0000000692 00000 n
0000000541 00000 n
0000000015 00000 n
0000000522 00000 n
0000000799 00000 n
0000000909 00000 n
0000000978 00000 n
0000000840 00000 n
0000000870 00000 n
trailer
<< /Size 12 /Root 1 0 R /Info 2 0 R
/ID [(ŒG³vv²=æÓtIy-Ó)(ŒG³vv²=æÓtIy-Ó)]
>>
startxref
1155
%%EOF

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,75 @@
#FIG 3.2
Landscape
Center
Metric
Letter
100.00
Single
-2
1200 2
6 585 -225 765 3375
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
765 -225 765 450 585 450 585 -225
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
675 450 675 3375
-6
6 -225 810 3375 990
6 -225 810 450 990
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
-225 810 450 810 450 990 -225 990
-6
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
450 900 3375 900
-6
6 5535 -180 5715 3420
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
5715 -180 5715 495 5535 495 5535 -180
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
5625 495 5625 3420
-6
6 4725 2385 8325 2565
6 4725 2385 5400 2565
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
4725 2385 5400 2385 5400 2565 4725 2565
-6
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
5400 2475 8325 2475
-6
6 5490 765 5760 1035
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
5625 810 5625 990
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
5535 900 5715 900
-6
6 540 2115 810 2385
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
675 2160 675 2340
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
585 2250 765 2250
-6
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
4950 0 8100 0 8100 3150 4950 3150 4950 0
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
6300 3600 6750 3600 6750 3825 6300 3825 6300 3600
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
0 0 3150 0 3150 3150 0 3150 0 0
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1350 3600 1800 3600 1800 3825 1350 3825 1350 3600
2 4 0 2 4 7 55 -1 -1 0.000 0 0 7 0 0 5
5760 2610 5490 2610 5490 2340 5760 2340 5760 2610
2 2 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 5
1125 2160 1575 2160 1575 2340 1125 2340 1125 2160
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
450 2250 1125 2250
2 2 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 5
6075 810 6525 810 6525 990 6075 990 6075 810
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
5400 900 6075 900
2 4 0 2 4 7 55 -1 -1 0.000 0 0 7 0 0 5
765 990 585 990 585 810 765 810 765 990
2 4 0 2 4 7 55 -1 -1 0.000 0 0 7 0 0 5
810 2385 540 2385 540 765 810 765 810 2385
4 0 0 50 -1 18 12 0.0000 4 135 465 4950 -45 FCell\001
4 1 0 50 -1 0 12 0.0000 4 135 360 6525 3780 G2.2\001
4 0 0 50 -1 18 12 0.0000 4 135 465 0 -45 FCell\001
4 1 0 50 -1 0 12 0.0000 4 135 360 1575 3780 G2.1\001

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1,89 @@
#FIG 3.2
Landscape
Center
Metric
Letter
100.00
Single
-2
1200 2
6 585 -225 765 3375
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
765 -225 765 450 585 450 585 -225
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
675 450 675 3375
-6
6 2385 -225 2565 3375
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
2475 2700 2475 -225
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
2385 3375 2385 2700 2565 2700 2565 3375
-6
6 450 2160 2700 2340
2 2 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 5
1125 2160 1575 2160 1575 2340 1125 2340 1125 2160
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
450 2250 2700 2250
-6
6 2340 2115 2610 2385
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
2475 2160 2475 2340
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
2385 2250 2565 2250
-6
6 -225 810 3375 990
6 -225 810 450 990
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
-225 810 450 810 450 990 -225 990
-6
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
450 900 3375 900
-6
6 5535 -180 5715 3420
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
5715 -180 5715 495 5535 495 5535 -180
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
5625 495 5625 3420
-6
6 7335 -225 7515 3375
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
7425 2700 7425 -225
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
7335 3375 7335 2700 7515 2700 7515 3375
-6
6 4725 2385 8325 2565
6 4725 2385 5400 2565
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
4725 2385 5400 2385 5400 2565 4725 2565
-6
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
5400 2475 8325 2475
-6
6 5400 810 7650 990
2 2 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 5
6075 810 6525 810 6525 990 6075 990 6075 810
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
5400 900 7650 900
-6
6 5490 765 5760 1035
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
5625 810 5625 990
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
5535 900 5715 900
-6
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
4950 0 8100 0 8100 3150 4950 3150 4950 0
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
6300 3600 6750 3600 6750 3825 6300 3825 6300 3600
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
0 0 3150 0 3150 3150 0 3150 0 0
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1350 3600 1800 3600 1800 3825 1350 3825 1350 3600
2 4 0 2 4 7 55 -1 -1 0.000 0 0 7 0 0 5
2610 1035 540 1035 540 765 2610 765 2610 1035
2 4 0 2 4 7 55 -1 -1 0.000 0 0 7 0 0 5
7560 2610 5490 2610 5490 2340 7560 2340 7560 2610
4 0 0 50 -1 18 12 0.0000 4 135 465 4950 -45 FCell\001
4 1 0 50 -1 0 12 0.0000 4 135 360 6525 3780 G3.2\001
4 0 0 50 -1 18 12 0.0000 4 135 465 0 -45 FCell\001
4 1 0 50 -1 0 12 0.0000 4 135 360 1575 3780 G3.1\001

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -0,0 +1,91 @@
#FIG 3.2
Landscape
Center
Metric
Letter
100.00
Single
-2
1200 2
6 585 -225 765 3375
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
765 -225 765 450 585 450 585 -225
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
675 450 675 3375
-6
6 -225 810 3375 990
6 -225 810 450 990
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
-225 810 450 810 450 990 -225 990
-6
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
450 900 3375 900
-6
6 5535 -180 5715 3420
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
5715 -180 5715 495 5535 495 5535 -180
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
5625 495 5625 3420
-6
6 5400 1485 7650 1665
2 2 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 5
6075 1485 6525 1485 6525 1665 6075 1665 6075 1485
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
5400 1575 7650 1575
-6
6 5490 1440 5760 1710
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
5625 1485 5625 1665
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
5535 1575 5715 1575
-6
6 4725 810 8325 990
6 4725 810 5400 990
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
4725 810 5400 810 5400 990 4725 990
-6
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
5400 900 8325 900
-6
6 4725 2385 8325 2565
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
7650 2475 4725 2475
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
8325 2565 7650 2565 7650 2385 8325 2385
-6
6 450 2385 2700 2565
2 2 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 5
1125 2385 1575 2385 1575 2565 1125 2565 1125 2385
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
450 2475 2700 2475
-6
6 540 2340 810 2610
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
675 2385 675 2565
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
585 2475 765 2475
-6
6 -225 1485 3375 1665
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
2700 1575 -225 1575
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
3375 1665 2700 1665 2700 1485 3375 1485
-6
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
4950 0 8100 0 8100 3150 4950 3150 4950 0
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
6300 3600 6750 3600 6750 3825 6300 3825 6300 3600
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
0 0 3150 0 3150 3150 0 3150 0 0
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1350 3600 1800 3600 1800 3825 1350 3825 1350 3600
2 4 0 2 4 7 55 -1 -1 0.000 0 0 7 0 0 5
5760 2565 5490 2565 5490 765 5760 765 5760 2565
2 4 0 2 4 7 55 -1 -1 0.000 0 0 7 0 0 5
765 1665 585 1665 585 810 765 810 765 1665
2 4 0 2 4 7 55 -1 -1 0.000 0 0 7 0 0 5
810 2610 540 2610 540 765 810 765 810 2610
4 0 0 50 -1 18 12 0.0000 4 135 465 4950 -45 FCell\001
4 1 0 50 -1 0 12 0.0000 4 135 360 6525 3780 G3.2\001
4 0 0 50 -1 18 12 0.0000 4 135 465 0 -45 FCell\001
4 1 0 50 -1 0 12 0.0000 4 135 360 1575 3780 G3.1\001

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -0,0 +1,124 @@
#FIG 3.2
Landscape
Center
Metric
Letter
100.00
Single
-2
1200 2
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5625 3645 5625 4050
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
6750 2565 6750 4050
2 2 0 1 0 7 30 -1 -1 0.000 0 0 -1 0 0 5
1125 0 8325 0 8325 8550 1125 8550 1125 0
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
1350 6300 1935 6300
2 2 3 1 0 7 30 -1 -1 8.000 0 0 -1 0 0 5
1575 4950 4275 4950 4275 7650 1575 7650 1575 4950
2 2 3 1 0 7 30 -1 -1 8.000 0 0 -1 0 0 5
5175 4950 7875 4950 7875 7650 5175 7650 5175 4950
2 4 0 2 18 7 50 -1 -1 0.000 0 0 7 0 0 5
3915 7290 3915 5265 1935 5265 1935 7290 3915 7290
2 2 0 2 -1 7 50 -1 45 0.000 0 0 -1 0 0 5
4950 6255 7425 6255 7425 6345 4950 6345 4950 6255
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
5535 6210 5715 6210 5715 6390 5535 6390 5535 6210
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
7335 6210 7515 6210 7515 6390 7335 6390 7335 6210
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
6300 5760 6300 4275
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 1 1.00 60.00 120.00
2925 4005 5625 4005
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 1 1.00 60.00 120.00
2925 4320 6300 4320
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 1 1.00 60.00 120.00
6975 4005 6750 4005
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 1 1.00 60.00 120.00
7650 4320 7425 4320
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5625 4005 6750 4005
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
6300 4320 7425 4320
2 2 3 1 0 7 30 -1 -1 8.000 0 0 -1 0 0 5
1575 675 4275 675 4275 3375 1575 3375 1575 675
2 2 3 1 0 7 30 -1 -1 8.000 0 0 -1 0 0 5
5175 675 7875 675 7875 3375 5175 3375 5175 675
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
1350 2025 1935 2025
2 4 0 2 18 7 50 -1 -1 0.000 0 0 7 0 0 5
3915 3015 3915 990 1935 990 1935 3015 3915 3015
2 2 0 2 -1 7 50 -1 45 0.000 0 0 -1 0 0 5
4950 1980 7425 1980 7425 2070 4950 2070 4950 1980
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
5535 1935 5715 1935 5715 2115 5535 2115 5535 1935
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
7335 1935 7515 1935 7515 2115 7335 2115 7335 1935
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
2025 3015 2025 3600
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
1935 2475 2700 2475
2 2 0 2 0 7 40 -1 45 0.000 0 0 -1 0 0 5
2700 2430 3150 2430 3150 2520 2700 2520 2700 2430
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 0 1.00 60.00 120.00
2925 2385 2925 1620
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
2025 7290 2025 7875
2 2 0 2 0 7 40 -1 45 0.000 0 0 -1 0 0 5
2700 5805 3150 5805 3150 5895 2700 5895 2700 5805
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
3150 5850 3915 5850
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
3825 4725 3825 5265
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
3825 450 3825 990
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
5580 2025 5670 2025 5670 3600 5580 3600 5580 2025
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
5625 2430 6750 2430 6750 2520 5625 2520 5625 2430
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
5535 2385 5715 2385 5715 2565 5535 2565 5535 2385
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
7470 2025 7380 2025 7380 450 7470 450 7470 2025
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
5580 6300 5670 6300 5670 7875 5580 7875 5580 6300
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
6300 5805 7425 5805 7425 5895 6300 5895 6300 5805
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
7335 5760 7515 5760 7515 5940 7335 5940 7335 5760
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
7470 6300 7380 6300 7380 4725 7470 4725 7470 6300
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
7425 4635 7425 4275
3 0 0 1 18 7 50 -1 -1 0.000 0 1 0 6
3 0 1.00 60.00 120.00
2250 5895 2250 6120 2475 6570 3375 6570 3600 6120 3600 5895
0.000 1.000 1.000 1.000 1.000 0.000
4 1 0 30 -1 14 12 0.0000 4 120 2205 2790 270 AutoContact Structure\001
4 1 0 30 -1 14 12 0.0000 4 180 1680 6390 225 Physical Mapping\001
4 1 0 40 -1 18 12 0.0000 4 135 255 1440 6255 G2\001
4 1 18 40 -1 18 12 0.0000 4 135 345 3015 5220 AC1\001
4 1 0 40 -1 18 12 0.0000 4 135 255 5040 6210 G2\001
4 0 0 50 -1 19 12 0.0000 4 180 2055 3105 3960 L1 before displacement\001
4 0 0 50 -1 19 12 0.0000 4 180 1905 3105 4500 L1 after displacement\001
4 1 0 40 -1 18 12 0.0000 4 135 255 1440 1980 G2\001
4 1 18 40 -1 18 12 0.0000 4 135 345 3015 945 AC1\001
4 1 0 40 -1 18 12 0.0000 4 135 255 5040 1935 G2\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 2205 3600 G1\001
4 1 -1 40 -1 18 12 0.0000 4 135 210 2925 2700 L1\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 2205 7875 G1\001
4 1 -1 40 -1 18 12 0.0000 4 135 210 2925 5760 L1\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 4005 4860 G3\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 4005 585 G3\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 5850 3600 G1\001
4 1 -1 40 -1 18 12 0.0000 4 135 210 6525 2385 L1\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 7650 585 G3\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 5850 7875 G1\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 7650 4860 G3\001
4 1 -1 40 -1 18 12 0.0000 4 135 210 6570 5760 L1\001

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

View File

@ -0,0 +1,146 @@
#FIG 3.2
Landscape
Center
Metric
Letter
100.00
Single
-2
1200 2
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5625 3645 5625 4050
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
6750 2565 6750 4050
2 2 0 1 0 7 30 -1 -1 0.000 0 0 -1 0 0 5
1125 0 8325 0 8325 8550 1125 8550 1125 0
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
1350 6300 1935 6300
2 2 3 1 0 7 30 -1 -1 8.000 0 0 -1 0 0 5
1575 4950 4275 4950 4275 7650 1575 7650 1575 4950
2 2 3 1 0 7 30 -1 -1 8.000 0 0 -1 0 0 5
5175 4950 7875 4950 7875 7650 5175 7650 5175 4950
2 2 0 2 -1 7 50 -1 45 0.000 0 0 -1 0 0 5
4950 6255 7425 6255 7425 6345 4950 6345 4950 6255
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
5535 6210 5715 6210 5715 6390 5535 6390 5535 6210
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
7335 6210 7515 6210 7515 6390 7335 6390 7335 6210
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 1 1.00 60.00 120.00
2925 4005 5625 4005
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 1 1.00 60.00 120.00
2925 4320 5625 4320
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 1 1.00 60.00 120.00
6975 4005 6750 4005
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 1 1.00 60.00 120.00
6975 4320 6750 4320
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5625 4005 6750 4005
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5580 4320 6750 4320
2 2 3 1 0 7 30 -1 -1 8.000 0 0 -1 0 0 5
1575 675 4275 675 4275 3375 1575 3375 1575 675
2 2 3 1 0 7 30 -1 -1 8.000 0 0 -1 0 0 5
5175 675 7875 675 7875 3375 5175 3375 5175 675
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
1350 2025 1935 2025
2 2 0 2 -1 7 50 -1 45 0.000 0 0 -1 0 0 5
4950 1980 7425 1980 7425 2070 4950 2070 4950 1980
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
5535 1935 5715 1935 5715 2115 5535 2115 5535 1935
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
7335 1935 7515 1935 7515 2115 7335 2115 7335 1935
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
2025 3015 2025 3600
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
2115 2475 2700 2475
2 2 0 2 0 7 40 -1 45 0.000 0 0 -1 0 0 5
2700 2430 3150 2430 3150 2520 2700 2520 2700 2430
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 0 1.00 60.00 120.00
2925 2385 2925 1620
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
2025 7290 2025 7875
2 2 0 2 0 7 40 -1 45 0.000 0 0 -1 0 0 5
2700 5805 3150 5805 3150 5895 2700 5895 2700 5805
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
3825 4725 3825 6255
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
3825 450 3825 1935
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
5580 2025 5670 2025 5670 3600 5580 3600 5580 2025
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
5625 2430 6750 2430 6750 2520 5625 2520 5625 2430
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
5535 2385 5715 2385 5715 2565 5535 2565 5535 2385
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
7470 2025 7380 2025 7380 450 7470 450 7470 2025
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
7470 6300 7380 6300 7380 4725 7470 4725 7470 6300
2 4 0 2 18 7 50 -1 -1 0.000 0 0 7 0 0 5
2115 3015 2115 1935 1935 1935 1935 3015 2115 3015
2 4 0 2 18 7 50 -1 -1 0.000 0 0 7 0 0 5
3915 2115 3915 1935 3735 1935 3735 2115 3915 2115
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
2115 2025 3735 2025
2 1 0 1 18 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 0 1.00 60.00 120.00
5085 2475 5535 2115
2 1 0 1 18 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 0 1.00 60.00 120.00
5085 2475 5535 2475
2 4 0 2 18 7 50 -1 -1 0.000 0 0 7 0 0 5
2115 7290 2115 5760 1935 5760 1935 7290 2115 7290
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
2115 5850 2700 5850
2 4 0 2 18 7 50 -1 -1 0.000 0 0 7 0 0 5
3915 6390 3915 6210 3735 6210 3735 6390 3915 6390
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
2115 6300 3735 6300
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
5625 5805 6750 5805 6750 5895 5625 5895 5625 5805
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
5535 5760 5715 5760 5715 5940 5535 5940 5535 5760
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
5625 5760 5625 4275
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
6750 5760 6750 4275
2 1 0 1 18 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 0 1.00 60.00 120.00
5130 5850 5535 5850
2 1 0 1 18 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 0 1.00 60.00 120.00
5130 5850 5535 6210
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
5580 5850 5670 5850 5670 7875 5580 7875 5580 5850
4 1 0 30 -1 14 12 0.0000 4 120 2205 2790 270 AutoContact Structure\001
4 1 0 30 -1 14 12 0.0000 4 180 1680 6390 225 Physical Mapping\001
4 1 0 40 -1 18 12 0.0000 4 135 255 1440 6255 G2\001
4 1 0 40 -1 18 12 0.0000 4 135 255 5040 6210 G2\001
4 0 0 50 -1 19 12 0.0000 4 180 2055 3105 3960 L1 before displacement\001
4 0 0 50 -1 19 12 0.0000 4 180 1905 3105 4500 L1 after displacement\001
4 1 0 40 -1 18 12 0.0000 4 135 255 1440 1980 G2\001
4 1 0 40 -1 18 12 0.0000 4 135 255 5040 1935 G2\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 2205 3600 G1\001
4 1 -1 40 -1 18 12 0.0000 4 135 210 2925 2700 L1\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 2205 7875 G1\001
4 1 -1 40 -1 18 12 0.0000 4 135 210 2925 5760 L1\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 4005 4860 G3\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 4005 585 G3\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 5850 3600 G1\001
4 1 -1 40 -1 18 12 0.0000 4 135 210 6525 2385 L1\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 7650 585 G3\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 5850 7875 G1\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 7650 4860 G3\001
4 1 -1 40 -1 18 12 0.0000 4 135 210 6570 5760 L1\001
4 1 18 40 -1 18 12 0.0000 4 135 600 2025 1845 AC-SW\001
4 1 18 40 -1 18 12 0.0000 4 135 570 3825 2295 AC-NE\001
4 1 18 40 -1 18 12 0.0000 4 135 570 7425 2340 AC-NE\001
4 1 18 40 -1 18 12 0.0000 4 135 570 7425 6615 AC-NE\001
4 2 18 40 -1 18 12 0.0000 4 135 600 5040 2565 AC-SW\001
4 2 18 40 -1 18 12 0.0000 4 135 600 5085 5895 AC-SW\001
4 1 18 40 -1 18 12 0.0000 4 135 600 2025 5670 AC-SW\001
4 1 18 40 -1 18 12 0.0000 4 135 570 3825 6570 AC-NE\001

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -0,0 +1,111 @@
#FIG 3.2
Landscape
Center
Metric
Letter
100.00
Single
-2
1200 2
6 -225 -225 3375 3825
6 -225 1260 3375 1440
6 -225 1260 450 1440
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
-225 1260 450 1260 450 1440 -225 1440
-6
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
450 1350 3375 1350
-6
6 -225 810 3375 990
6 2700 810 3375 990
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
3375 990 2700 990 2700 810 3375 810
-6
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
2700 900 -225 900
-6
6 585 -225 765 3375
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
765 -225 765 450 585 450 585 -225
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
675 450 675 3375
-6
6 2385 -225 2565 3375
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
2475 2700 2475 -225
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
2385 3375 2385 2700 2565 2700 2565 3375
-6
6 450 2160 2700 2340
2 2 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 5
1125 2160 1575 2160 1575 2340 1125 2340 1125 2160
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
450 2250 2700 2250
-6
6 2340 2115 2610 2385
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
2475 2160 2475 2340
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
2385 2250 2565 2250
-6
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
0 0 3150 0 3150 3150 0 3150 0 0
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1350 3600 1800 3600 1800 3825 1350 3825 1350 3600
2 4 0 2 4 7 55 -1 20 0.000 0 0 7 0 0 5
2610 1440 540 1440 540 765 2610 765 2610 1440
2 1 0 4 0 7 40 -1 -1 0.000 0 0 -1 0 0 4
675 1350 675 900 2475 900 2475 1350
4 0 0 50 -1 18 12 0.0000 4 135 465 0 -45 FCell\001
4 1 0 50 -1 0 12 0.0000 4 135 360 1575 3780 G4.1\001
-6
6 5400 2160 7650 2340
2 2 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 5
6075 2160 6525 2160 6525 2340 6075 2340 6075 2160
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
5400 2250 7650 2250
-6
6 5490 2115 5760 2385
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
5625 2160 5625 2340
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
5535 2250 5715 2250
-6
6 5535 -225 5715 3375
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
5625 2700 5625 -225
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
5535 3375 5535 2700 5715 2700 5715 3375
-6
6 7335 -225 7515 3375
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
7515 -225 7515 450 7335 450 7335 -225
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
7425 450 7425 3375
-6
6 4725 1260 8325 1440
6 7650 1260 8325 1440
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
8325 1440 7650 1440 7650 1260 8325 1260
-6
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
7650 1350 4725 1350
-6
6 4725 810 8325 990
6 4725 810 5400 990
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
4725 810 5400 810 5400 990 4725 990
-6
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
5400 900 8325 900
-6
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
4950 0 8100 0 8100 3150 4950 3150 4950 0
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
6300 3600 6750 3600 6750 3825 6300 3825 6300 3600
2 4 0 2 4 7 55 -1 -1 0.000 0 0 7 0 0 5
7560 1440 5490 1440 5490 765 7560 765 7560 1440
2 1 0 4 0 7 40 -1 -1 0.000 0 0 -1 0 0 4
5625 900 5625 1350 7425 1350 7425 900
4 0 0 50 -1 18 12 0.0000 4 135 465 4950 -45 FCell\001
4 1 0 50 -1 0 12 0.0000 4 135 360 6525 3780 G5.1\001

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -0,0 +1,109 @@
#FIG 3.2
Landscape
Center
Metric
Letter
100.00
Single
-2
1200 2
6 5535 -225 5715 3375
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
5625 2700 5625 -225
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
5535 3375 5535 2700 5715 2700 5715 3375
-6
6 7335 -225 7515 3375
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
7515 -225 7515 450 7335 450 7335 -225
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
7425 450 7425 3375
-6
6 4725 810 8325 990
6 4725 810 5400 990
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
4725 810 5400 810 5400 990 4725 990
-6
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
5400 900 8325 900
-6
6 -225 810 3375 990
6 2700 810 3375 990
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
3375 990 2700 990 2700 810 3375 810
-6
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
2700 900 -225 900
-6
6 2385 -225 2565 3375
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
2475 2700 2475 -225
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
2385 3375 2385 2700 2565 2700 2565 3375
-6
6 585 -225 765 3375
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
765 -225 765 450 585 450 585 -225
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
675 450 675 3375
-6
6 540 1215 810 1485
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
675 1260 675 1440
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
585 1350 765 1350
-6
6 450 1260 2700 1440
2 2 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 5
1125 1260 1575 1260 1575 1440 1125 1440 1125 1260
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
450 1350 2700 1350
-6
6 5490 1215 5760 1485
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
5625 1260 5625 1440
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
5535 1350 5715 1350
-6
6 5400 1260 7650 1440
2 2 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 5
6075 1260 6525 1260 6525 1440 6075 1440 6075 1260
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
5400 1350 7650 1350
-6
6 -225 1935 3375 2115
6 -225 1935 450 2115
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
-225 1935 450 1935 450 2115 -225 2115
-6
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
450 2025 3375 2025
-6
6 4725 1935 8325 2115
6 7650 1935 8325 2115
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
8325 2115 7650 2115 7650 1935 8325 1935
-6
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
7650 2025 4725 2025
-6
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
4950 0 8100 0 8100 3150 4950 3150 4950 0
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
6300 3600 6750 3600 6750 3825 6300 3825 6300 3600
2 1 0 4 0 7 40 -1 -1 0.000 0 0 -1 0 0 4
5625 900 5625 2025 7425 2025 7425 900
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
0 0 3150 0 3150 3150 0 3150 0 0
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1350 3600 1800 3600 1800 3825 1350 3825 1350 3600
2 1 0 4 0 7 40 -1 -1 0.000 0 0 -1 0 0 4
675 2025 675 900 2475 900 2475 2025
2 4 0 2 4 7 55 -1 -1 0.000 0 0 7 0 0 5
7560 2160 5490 2160 5490 765 7560 765 7560 2160
2 4 0 2 4 7 55 -1 -1 0.000 0 0 7 0 0 5
2565 2160 540 2160 540 765 2565 765 2565 2160
4 0 0 50 -1 18 12 0.0000 4 135 465 4950 -45 FCell\001
4 1 0 50 -1 0 12 0.0000 4 135 360 6525 3780 G4.4\001
4 0 0 50 -1 18 12 0.0000 4 135 465 0 -45 FCell\001
4 1 0 50 -1 0 12 0.0000 4 135 360 1575 3780 G4.3\001

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -0,0 +1,109 @@
#FIG 3.2
Landscape
Center
Metric
Letter
100.00
Single
-2
1200 2
6 5400 2160 7650 2340
2 2 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 5
6075 2160 6525 2160 6525 2340 6075 2340 6075 2160
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
5400 2250 7650 2250
-6
6 5490 2115 5760 2385
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
5625 2160 5625 2340
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
5535 2250 5715 2250
-6
6 5535 -225 5715 3375
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
5625 2700 5625 -225
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
5535 3375 5535 2700 5715 2700 5715 3375
-6
6 7335 -225 7515 3375
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
7515 -225 7515 450 7335 450 7335 -225
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
7425 450 7425 3375
-6
6 585 -225 765 3375
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
765 -225 765 450 585 450 585 -225
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
675 450 675 3375
-6
6 2385 -225 2565 3375
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
2475 2700 2475 -225
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
2385 3375 2385 2700 2565 2700 2565 3375
-6
6 450 2160 2700 2340
2 2 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 5
1125 2160 1575 2160 1575 2340 1125 2340 1125 2160
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
450 2250 2700 2250
-6
6 2340 2115 2610 2385
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
2475 2160 2475 2340
2 1 0 4 0 7 50 -1 -1 0.000 0 0 7 0 0 2
2385 2250 2565 2250
-6
6 -225 1260 3375 1440
6 2700 1260 3375 1440
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
3375 1440 2700 1440 2700 1260 3375 1260
-6
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
2700 1350 -225 1350
-6
6 -225 810 3375 990
6 -225 810 450 990
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
-225 810 450 810 450 990 -225 990
-6
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
450 900 3375 900
-6
6 4725 585 8325 765
6 7650 585 8325 765
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
8325 765 7650 765 7650 585 8325 585
-6
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
7650 675 4725 675
-6
6 4725 1035 8325 1215
6 4725 1035 5400 1215
2 1 0 1 0 7 40 -1 15 0.000 0 0 -1 0 0 4
4725 1035 5400 1035 5400 1215 4725 1215
-6
2 1 3 1 0 7 45 -1 20 10.000 0 0 -1 0 0 2
5400 1125 8325 1125
-6
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
4950 0 8100 0 8100 3150 4950 3150 4950 0
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
6300 3600 6750 3600 6750 3825 6300 3825 6300 3600
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
0 0 3150 0 3150 3150 0 3150 0 0
2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
1350 3600 1800 3600 1800 3825 1350 3825 1350 3600
2 1 0 4 0 7 40 -1 -1 0.000 0 0 -1 0 0 3
675 900 2475 900 2475 1350
2 1 0 4 0 7 40 -1 -1 0.000 0 0 -1 0 0 3
5625 1125 5625 675 7425 675
2 4 0 2 4 7 55 -1 -1 0.000 0 0 7 0 0 5
2610 1440 540 1440 540 765 2610 765 2610 1440
2 4 0 2 4 7 55 -1 -1 0.000 0 0 7 0 0 5
7560 1215 5490 1215 5490 540 7560 540 7560 1215
4 0 0 50 -1 18 12 0.0000 4 135 465 4950 -45 FCell\001
4 1 0 50 -1 0 12 0.0000 4 135 360 6525 3780 G4.6\001
4 0 0 50 -1 18 12 0.0000 4 135 465 0 -45 FCell\001
4 1 0 50 -1 0 12 0.0000 4 135 360 1575 3780 G4.5\001

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -0,0 +1,108 @@
#FIG 3.2
Landscape
Center
Metric
Letter
100.00
Single
-2
1200 2
2 2 3 1 0 7 30 -1 -1 8.000 0 0 -1 0 0 5
1575 4500 4275 4500 4275 7200 1575 7200 1575 4500
2 2 3 1 0 7 30 -1 -1 8.000 0 0 -1 0 0 5
5175 4500 7875 4500 7875 7200 5175 7200 5175 4500
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
1350 4950 1935 4950
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
3915 5850 4500 5850
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
2025 5940 2025 7425
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
5535 4860 5715 4860 5715 5040 5535 5040 5535 4860
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
5580 4950 5670 4950 5670 7425 5580 7425 5580 4950
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
3825 4275 3825 4860
2 4 0 2 18 7 50 -1 -1 0.000 0 0 7 0 0 5
3915 5940 3915 4860 1935 4860 1935 5940 3915 5940
2 1 0 1 18 7 50 -1 -1 0.000 0 0 -1 0 0 4
2025 4950 2025 5850 3825 5850 3825 4950
2 2 0 2 -1 7 50 -1 45 0.000 0 0 -1 0 0 5
4950 4905 5625 4905 5625 4995 4950 4995 4950 4905
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 0 1.00 60.00 120.00
2520 900 3780 900
2 1 0 4 18 7 50 -1 -1 0.000 0 0 -1 0 0 2
6075 4905 6075 4995
2 1 0 4 18 7 50 -1 -1 0.000 0 0 -1 0 0 2
7155 4950 7245 4950
2 2 0 1 0 7 30 -1 -1 0.000 0 0 -1 0 0 5
1125 0 8325 0 8325 7875 1125 7875 1125 0
2 2 3 1 0 7 30 -1 -1 8.000 0 0 -1 0 0 5
1575 675 4275 675 4275 3375 1575 3375 1575 675
2 2 3 1 0 7 30 -1 -1 8.000 0 0 -1 0 0 5
5175 675 7875 675 7875 3375 5175 3375 5175 675
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
1350 1125 1935 1125
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
2565 2025 4500 2025
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
2025 2115 2025 3600
2 4 0 2 18 7 50 -1 -1 0.000 0 0 7 0 0 5
2565 2115 2565 1035 1935 1035 1935 2115 2565 2115
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
2475 450 2475 1035
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
5535 1035 5715 1035 5715 1215 5535 1215 5535 1035
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
5580 1125 5670 1125 5670 3600 5580 3600 5580 1125
2 1 0 1 18 7 50 -1 -1 0.000 0 0 -1 0 0 4
2475 1125 2025 1125 2025 2025 2475 2025
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
6165 1125 6075 1125 6075 450 6165 450 6165 1125
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
6030 1035 6210 1035 6210 1215 6030 1215 6030 1035
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
5625 1980 8100 1980 8100 2070 5625 2070 5625 1980
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
5535 1935 5715 1935 5715 2115 5535 2115 5535 1935
2 2 0 2 -1 7 50 -1 45 0.000 0 0 -1 0 0 5
4950 1080 6120 1080 6120 1170 4950 1170 4950 1080
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
5625 5805 8100 5805 8100 5895 5625 5895 5625 5805
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
5535 5760 5715 5760 5715 5940 5535 5940 5535 5760
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
7335 5760 7515 5760 7515 5940 7335 5940 7335 5760
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
7470 5850 7380 5850 7380 4275 7470 4275 7470 5850
3 0 0 1 18 7 50 -1 -1 0.000 0 1 0 2
3 0 1.00 60.00 120.00
6075 4950 5715 4950
0.000 0.000
3 0 0 1 18 7 50 -1 -1 0.000 0 1 0 2
3 0 1.00 60.00 120.00
7200 4950 7200 5760
0.000 0.000
4 1 0 30 -1 14 12 0.0000 4 120 2205 2790 270 AutoContact Structure\001
4 1 0 30 -1 14 12 0.0000 4 180 1680 6390 270 Physical Mapping\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 5850 7425 G1\001
4 1 0 40 -1 18 12 0.0000 4 135 255 1395 4905 G2\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 4410 6030 G4\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 2205 7425 G1\001
4 1 0 40 -1 18 12 0.0000 4 135 255 5040 4860 G2\001
4 1 18 40 -1 18 12 0.0000 4 135 345 2250 5490 AC1\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 4005 4410 G3\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 7650 4410 G3\001
4 1 18 40 -1 18 12 0.0000 4 135 345 6525 5265 AC1\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 5850 3600 G1\001
4 1 0 40 -1 18 12 0.0000 4 135 255 1395 1080 G2\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 4410 2205 G4\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 2205 3600 G1\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 2655 585 G3\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 6525 585 G3\001
4 1 0 40 -1 18 12 0.0000 4 135 255 5040 1035 G2\001
4 1 18 40 -1 18 12 0.0000 4 135 345 5985 1530 AC1\001
4 1 18 40 -1 18 12 0.0000 4 135 345 2250 1665 AC1\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 8010 2250 G4\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 8010 6075 G4\001

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

View File

@ -0,0 +1,151 @@
#FIG 3.2
Landscape
Center
Metric
Letter
100.00
Single
-2
1200 2
6 1260 405 8145 3645
2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 0 1.00 60.00 120.00
2520 900 3780 900
2 2 3 1 0 7 30 -1 -1 8.000 0 0 -1 0 0 5
5175 675 7875 675 7875 3375 5175 3375 5175 675
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
1350 1125 1935 1125
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
2565 2025 4500 2025
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
2025 2115 2025 3600
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
2475 450 2475 1035
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
5535 1035 5715 1035 5715 1215 5535 1215 5535 1035
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
5580 1125 5670 1125 5670 3600 5580 3600 5580 1125
2 4 0 2 18 7 50 -1 -1 0.000 0 0 7 0 0 5
2115 2115 2115 1035 1935 1035 1935 2115 2115 2115
2 4 0 2 18 7 50 -1 -1 0.000 0 0 7 0 0 5
2565 2115 2565 1035 2385 1035 2385 2115 2565 2115
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
2115 1575 2385 1575
2 2 0 2 -1 7 50 -1 45 0.000 0 0 -1 0 0 5
4950 1080 5625 1080 5625 1170 4950 1170 4950 1080
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
5535 1485 5715 1485 5715 1665 5535 1665 5535 1485
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
6165 2025 6075 2025 6075 450 6165 450 6165 2025
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
6030 1485 6210 1485 6210 1665 6030 1665 6030 1485
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
6030 1935 6210 1935 6210 2115 6030 2115 6030 1935
2 2 0 2 -1 7 50 -1 45 0.000 0 0 -1 0 0 5
5625 1530 6120 1530 6120 1620 5625 1620 5625 1530
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
6120 1980 8100 1980 8100 2070 6120 2070 6120 1980
2 1 0 1 18 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 0 1.00 60.00 120.00
5085 1575 5535 1575
2 1 0 1 18 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 0 1.00 60.00 120.00
5085 1575 5535 1215
2 2 3 1 0 7 30 -1 -1 8.000 0 0 -1 0 0 5
1575 675 4275 675 4275 3375 1575 3375 1575 675
2 1 0 1 18 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 0 1.00 60.00 120.00
6750 1575 6210 1575
2 1 0 1 18 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 0 1.00 60.00 120.00
6750 1575 6210 1935
4 1 -1 40 -1 18 12 0.0000 4 135 255 5850 3600 G1\001
4 1 0 40 -1 18 12 0.0000 4 135 255 1395 1080 G2\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 4410 2205 G4\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 2205 3600 G1\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 2655 585 G3\001
4 1 0 40 -1 18 12 0.0000 4 135 255 5040 1035 G2\001
4 1 -1 40 -1 18 12 0.0000 4 135 210 2250 1755 L1\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 8010 2250 G4\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 6345 585 G3\001
4 0 18 40 -1 18 12 0.0000 4 135 570 2655 1665 AC-NE\001
4 2 18 40 -1 18 12 0.0000 4 135 600 5040 1620 AC-SW\001
4 0 18 40 -1 18 12 0.0000 4 135 570 6795 1620 AC-NE\001
-6
2 2 0 1 0 7 30 -1 -1 0.000 0 0 -1 0 0 5
1125 0 8325 0 8325 7875 1125 7875 1125 0
2 2 3 1 0 7 30 -1 -1 8.000 0 0 -1 0 0 5
5175 4500 7875 4500 7875 7200 5175 7200 5175 4500
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
1350 4950 1935 4950
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
3915 5850 4500 5850
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
2025 5940 2025 7425
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
5535 4860 5715 4860 5715 5040 5535 5040 5535 4860
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
5580 4950 5670 4950 5670 7425 5580 7425 5580 4950
2 4 0 2 18 7 50 -1 -1 0.000 0 0 7 0 0 5
2115 5940 2115 4860 1935 4860 1935 5940 2115 5940
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
2115 5400 3735 5400
2 2 0 2 -1 7 50 -1 45 0.000 0 0 -1 0 0 5
4950 4905 5625 4905 5625 4995 4950 4995 4950 4905
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
5535 5310 5715 5310 5715 5490 5535 5490 5535 5310
2 1 0 1 18 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 0 1.00 60.00 120.00
5085 5400 5535 5400
2 1 0 1 18 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 0 1.00 60.00 120.00
5085 5400 5535 5040
2 2 3 1 0 7 30 -1 -1 8.000 0 0 -1 0 0 5
1575 4500 4275 4500 4275 7200 1575 7200 1575 4500
2 1 0 2 -1 7 40 -1 -1 0.000 0 0 -1 0 0 2
3825 4275 3825 4860
2 4 0 2 18 7 50 -1 -1 0.000 0 0 7 0 0 5
3915 5940 3915 4860 3735 4860 3735 5940 3915 5940
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
7425 5850 7335 5850 7335 4275 7425 4275 7425 5850
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
7290 5310 7470 5310 7470 5490 7290 5490 7290 5310
2 2 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 5
7290 5760 7470 5760 7470 5940 7290 5940 7290 5760
2 2 0 2 0 7 50 -1 45 0.000 0 0 -1 0 0 5
7380 5805 8100 5805 8100 5895 7380 5895 7380 5805
2 2 0 2 -1 7 50 -1 45 0.000 0 0 -1 0 0 5
5625 5355 7380 5355 7380 5445 5625 5445 5625 5355
2 1 0 1 18 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 0 1.00 60.00 120.00
6975 6255 7290 5490
2 1 0 1 18 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 0 1.00 60.00 120.00
6975 6255 7290 5940
2 1 0 1 18 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 0 1.00 60.00 120.00
6075 5175 7290 5175
2 1 0 1 18 7 50 -1 -1 0.000 0 0 -1 1 0 2
3 0 1.00 60.00 120.00
6075 5850 7290 5850
2 1 0 4 18 7 50 -1 -1 0.000 0 0 -1 0 0 2
6075 5805 6075 5895
2 1 0 4 18 7 50 -1 -1 0.000 0 0 -1 0 0 2
6075 5130 6075 5220
4 1 0 30 -1 14 12 0.0000 4 120 2205 2790 270 AutoContact Structure\001
4 1 0 30 -1 14 12 0.0000 4 180 1680 6390 270 Physical Mapping\001
4 2 18 40 -1 18 12 0.0000 4 135 600 1845 1665 AC-SW\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 5850 7425 G1\001
4 1 0 40 -1 18 12 0.0000 4 135 255 1395 4905 G2\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 4410 6030 G4\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 2205 7425 G1\001
4 1 0 40 -1 18 12 0.0000 4 135 255 5040 4860 G2\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 8010 6075 G4\001
4 2 18 40 -1 18 12 0.0000 4 135 600 5040 5445 AC-SW\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 4005 4410 G3\001
4 2 18 40 -1 18 12 0.0000 4 135 570 3645 5850 AC-NE\001
4 2 18 40 -1 18 12 0.0000 4 135 600 1845 5490 AC-SW\001
4 1 -1 40 -1 18 12 0.0000 4 135 255 7605 4410 G3\001
4 2 18 40 -1 18 12 0.0000 4 135 570 6930 6345 AC-NE\001
4 1 -1 40 -1 18 12 0.0000 4 135 210 2925 5580 L1\001
4 1 -1 40 -1 18 12 0.0000 4 135 210 6525 5625 L1\001

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

View File

@ -0,0 +1,66 @@
#FIG 3.2
Landscape
Center
Metric
Letter
100.00
Single
-2
1200 2
0 32 #000000
0 33 #ddcccc
0 34 #611616
0 35 #ccccdd
6 4050 3195 7200 3690
2 2 0 0 0 35 60 -1 20 0.000 0 0 -1 0 0 5
4050 3195 7200 3195 7200 3690 4050 3690 4050 3195
4 0 0 50 -1 18 12 0.0000 4 180 1455 4950 3375 AutoInvalidate()\001
4 0 0 50 -1 18 12 0.0000 4 180 2235 4950 3600 anchor->AutoInvalidate()\001
-6
6 4050 2700 7200 3195
2 2 0 0 -1 33 60 -1 20 0.000 0 0 -1 0 0 5
4050 2700 7200 2700 7200 3195 4050 3195 4050 2700
4 0 34 50 -1 18 12 0.0000 4 135 600 4275 2925 Router\001
4 0 34 50 -1 18 12 0.0000 4 180 2535 4275 3150 autoSegment->SetAxis( ... )\001
-6
6 8325 4275 12825 7515
6 8325 4275 12825 4545
6 8325 4275 12825 4545
2 2 0 1 0 7 60 -1 -1 0.000 0 0 -1 0 0 5
8325 4275 12825 4275 12825 4545 8325 4545 8325 4275
4 0 0 50 -1 18 12 0.0000 4 180 2490 8550 4455 _autoContacts (invalidated)\001
-6
-6
2 2 0 0 0 35 60 -1 20 0.000 0 0 -1 0 0 5
8325 4725 12825 4725 12825 5490 8325 5490 8325 4725
2 1 0 2 0 7 60 -1 -1 0.000 0 0 -1 1 0 2
3 0 2.00 120.00 240.00
11205 5445 11205 6300
2 2 0 1 0 7 60 -1 -1 0.000 0 0 -1 0 0 5
8325 6300 12825 6300 12825 6615 8325 6615 8325 6300
2 2 0 0 0 35 60 -1 20 0.000 0 0 -1 0 0 5
8325 6750 12825 6750 12825 7515 8325 7515 8325 6750
4 0 0 50 -1 19 12 0.0000 4 135 750 8550 4950 For each\001
4 0 0 50 -1 18 12 0.0000 4 180 2970 9225 5175 autoContact->UpdateGeometry()\001
4 0 0 50 -1 18 12 0.0000 4 180 2820 9900 5400 autoSegment->AutoInvalidate()\001
4 0 0 50 -1 18 12 0.0000 4 135 1080 9360 4950 autoContact\001
4 0 0 50 -1 19 12 0.0000 4 135 750 8505 6975 For each\001
4 0 0 50 -1 18 12 0.0000 4 180 2745 9225 7200 autoSegment->OnRevalidate()\001
4 0 0 50 -1 18 12 0.0000 4 180 3300 9225 7425 _revalidateCallBack ( autoSegment )\001
4 0 0 50 -1 18 12 0.0000 4 180 1185 9360 6975 autoSegment\001
4 0 0 50 -1 18 12 0.0000 4 180 2595 8550 6525 _autoSegments (invalidated)\001
-6
6 4050 4725 7200 5040
2 2 0 0 -1 33 55 -1 20 0.000 0 0 -1 0 0 5
4050 4725 7200 4725 7200 5040 4050 5040 4050 4725
4 0 34 50 -1 18 12 0.0000 4 180 1950 4275 4950 Session::Revalidate()\001
-6
2 1 0 2 0 7 60 -1 -1 0.000 0 0 -1 1 0 4
3 0 2.00 120.00 240.00
5670 3645 5670 5850 9225 5850 9225 6300
2 1 0 2 0 7 60 -1 -1 0.000 0 0 -1 1 0 3
3 0 2.00 120.00 240.00
7200 3555 10530 3555 10530 4275
2 1 0 4 33 35 50 -1 -1 0.000 0 0 -1 1 0 2
1 1 2.00 120.00 240.00
7200 4905 8325 4905

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

@ -0,0 +1,87 @@
#FIG 3.2
Landscape
Center
Metric
Letter
100.00
Single
-2
1200 2
6 3420 3195 5265 4500
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
3960 3465 5040 3465
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
4050 3465 4050 3690
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
4365 3465 4365 3915
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
4950 3465 4950 4320
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
4635 3465 4635 4095
4 1 0 40 -1 14 14 0.0000 4 195 945 4500 3375 C c g t\001
4 2 0 40 -1 18 12 0.0000 4 135 840 4275 3825 Canonical\001
4 2 0 40 -1 18 12 0.0000 4 180 840 4545 4050 Collapsed\001
4 2 0 40 -1 18 12 0.0000 4 135 555 4860 4275 Global\001
4 2 0 40 -1 18 12 0.0000 4 135 765 5265 4500 Terminal\001
-6
6 3555 4680 4995 4860
2 1 0 1 12 7 40 -1 -1 0.000 0 0 -1 1 1 2
3 1 1.00 60.00 120.00
3 1 1.00 60.00 120.00
3555 4770 4005 4770
4 0 0 40 -1 18 12 0.0000 4 180 735 4230 4815 Collapse\001
-6
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 450 2700 90 90 360 2700 540 2700
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 2700 2700 90 90 2610 2700 2790 2700
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 1575 3825 90 90 1485 3825 1665 3825
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 2700 1575 90 90 2610 1575 2790 1575
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 3825 1575 90 90 3735 1575 3915 1575
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 3825 450 90 90 3735 450 3915 450
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 4950 450 90 90 4860 450 5040 450
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 1575 2700 90 90 1485 2700 1665 2700
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
0 0 5400 0 5400 4950 0 4950 0 0
2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
540 2700 1485 2700
2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
1665 2700 2610 2700
2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
1575 2790 1575 3735
2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
2700 1665 2700 2610
2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
2790 1575 3735 1575
2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
3825 540 3825 1485
2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
3915 450 4860 450
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 3
5400 3150 3150 3150 3150 4950
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
3150 4545 5400 4545
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
720 2385 1260 2385 1260 2655 720 2655 720 2385
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
1845 2385 2385 2385 2385 2655 1845 2655 1845 2385
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
1620 3150 2160 3150 2160 3420 1620 3420 1620 3150
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
2745 2025 3285 2025 3285 2295 2745 2295 2745 2025
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
2970 1260 3510 1260 3510 1530 2970 1530 2970 1260
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
3870 900 4410 900 4410 1170 3870 1170 3870 900
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
4095 135 4635 135 4635 405 4095 405 4095 135
3 2 0 1 12 7 40 -1 -1 0.000 0 1 1 4
3 1 1.00 60.00 120.00
3 1 1.00 60.00 120.00
3735 495 3600 765 3600 1215 3780 1530
0.000 -1.000 -1.000 0.000
4 1 0 40 -1 14 12 0.0000 4 165 420 990 2565 C-g-\001
4 1 0 40 -1 14 12 0.0000 4 120 420 2115 2565 C---\001
4 1 0 40 -1 14 12 0.0000 4 165 420 1890 3330 C-g-\001
4 1 0 40 -1 14 12 0.0000 4 120 420 3015 2205 C---\001
4 1 0 40 -1 14 12 0.0000 4 165 420 3240 1440 C-g-\001
4 1 0 40 -1 14 12 0.0000 4 120 420 4140 1080 C---\001
4 1 0 40 -1 14 12 0.0000 4 165 420 4365 315 C-g-\001

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -0,0 +1,87 @@
#FIG 3.2
Landscape
Center
Metric
Letter
100.00
Single
-2
1200 2
6 3420 2295 5265 3600
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
3960 2565 5040 2565
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
4050 2565 4050 2790
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
4365 2565 4365 3015
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
4950 2565 4950 3420
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
4635 2565 4635 3195
4 1 0 40 -1 14 14 0.0000 4 195 945 4500 2475 C c g t\001
4 2 0 40 -1 18 12 0.0000 4 135 840 4275 2925 Canonical\001
4 2 0 40 -1 18 12 0.0000 4 180 840 4545 3150 Collapsed\001
4 2 0 40 -1 18 12 0.0000 4 135 555 4860 3375 Global\001
4 2 0 40 -1 18 12 0.0000 4 135 765 5265 3600 Terminal\001
-6
6 3555 3780 4995 3960
2 1 0 1 12 7 40 -1 -1 0.000 0 0 -1 1 1 2
3 1 1.00 60.00 120.00
3 1 1.00 60.00 120.00
3555 3870 4005 3870
4 0 0 40 -1 18 12 0.0000 4 180 735 4230 3915 Collapse\001
-6
6 4140 360 4680 630
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
4140 360 4680 360 4680 630 4140 630 4140 360
4 1 0 40 -1 14 12 0.0000 4 135 420 4410 540 --g-\001
-6
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 450 1800 90 90 360 1800 540 1800
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 2700 1800 90 90 2610 1800 2790 1800
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 1575 2925 90 90 1485 2925 1665 2925
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 2700 675 90 90 2610 675 2790 675
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 3825 675 90 90 3735 675 3915 675
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 1575 1800 90 90 1485 1800 1665 1800
1 4 0 1 0 7 40 -1 -1 0.000 1 0.0000 3825 675 135 135 3690 675 3960 675
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 4950 675 90 90 4860 675 5040 675
2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
540 1800 1485 1800
2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
1665 1800 2610 1800
2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
1575 1890 1575 2835
2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
2700 765 2700 1710
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 3
5400 2250 3150 2250 3150 4050
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
3150 3645 5400 3645
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
720 1485 1260 1485 1260 1755 720 1755 720 1485
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
1845 1485 2385 1485 2385 1755 1845 1755 1845 1485
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
1620 2250 2160 2250 2160 2520 1620 2520 1620 2250
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
2745 1125 3285 1125 3285 1395 2745 1395 2745 1125
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
2970 360 3510 360 3510 630 2970 630 2970 360
2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
2790 675 3690 675
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
0 0 5400 0 5400 4050 0 4050 0 0
2 1 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 2
3915 675 4860 675
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
3555 855 4095 855 4095 1125 3555 1125 3555 855
3 2 0 1 12 7 40 -1 -1 0.000 0 1 1 4
3 1 1.00 60.00 120.00
3 1 1.00 60.00 120.00
1620 1710 1890 1350 2430 1350 2655 1710
0.000 -1.000 -1.000 0.000
4 1 0 40 -1 14 12 0.0000 4 165 420 990 1665 C-g-\001
4 1 0 40 -1 14 12 0.0000 4 120 420 2115 1665 C---\001
4 1 0 40 -1 14 12 0.0000 4 165 420 1890 2430 C-g-\001
4 1 0 40 -1 14 12 0.0000 4 120 420 3015 1305 C---\001
4 1 0 40 -1 14 12 0.0000 4 165 420 3240 540 C-g-\001
4 1 0 40 -1 14 12 0.0000 4 90 420 3825 1035 -c--\001

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@ -0,0 +1,85 @@
#FIG 3.2
Landscape
Center
Metric
Letter
100.00
Single
-2
1200 2
6 3420 2295 5265 3600
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
3960 2565 5040 2565
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
4050 2565 4050 2790
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
4365 2565 4365 3015
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
4950 2565 4950 3420
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
4635 2565 4635 3195
4 1 0 40 -1 14 14 0.0000 4 195 945 4500 2475 C c g t\001
4 2 0 40 -1 18 12 0.0000 4 135 840 4275 2925 Canonical\001
4 2 0 40 -1 18 12 0.0000 4 180 840 4545 3150 Collapsed\001
4 2 0 40 -1 18 12 0.0000 4 135 555 4860 3375 Global\001
4 2 0 40 -1 18 12 0.0000 4 135 765 5265 3600 Terminal\001
-6
6 3555 3780 4995 3960
2 1 0 1 12 7 40 -1 -1 0.000 0 0 -1 1 1 2
3 1 1.00 60.00 120.00
3 1 1.00 60.00 120.00
3555 3870 4005 3870
4 0 0 40 -1 18 12 0.0000 4 180 735 4230 3915 Collapse\001
-6
6 3015 360 3555 630
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
3015 360 3555 360 3555 630 3015 630 3015 360
4 1 0 40 -1 14 12 0.0000 4 135 420 3285 540 --g-\001
-6
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 450 1800 90 90 360 1800 540 1800
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 1575 2925 90 90 1485 2925 1665 2925
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 1575 675 90 90 1485 675 1665 675
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 1575 1800 90 90 1485 1800 1665 1800
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 1575 1800 135 135 1440 1800 1710 1800
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 2700 675 90 90 2610 675 2790 675
1 4 0 1 0 7 40 -1 -1 0.000 1 0.0000 2700 675 135 135 2565 675 2835 675
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 3825 675 90 90 3735 675 3915 675
2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
540 1800 1440 1800
2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
1575 1935 1575 2835
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 3
5400 2250 3150 2250 3150 4050
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
3150 3645 5400 3645
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
720 1485 1260 1485 1260 1755 720 1755 720 1485
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
1620 2250 2160 2250 2160 2520 1620 2520 1620 2250
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
0 0 5400 0 5400 4050 0 4050 0 0
2 1 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 2
1575 765 1575 1665
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
1845 360 2385 360 2385 630 1845 630 1845 360
2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
1665 675 2565 675
2 1 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 2
2790 675 3735 675
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
2430 855 2970 855 2970 1125 2430 1125 2430 855
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
1620 1125 2160 1125 2160 1395 1620 1395 1620 1125
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
1845 1665 2385 1665 2385 1935 1845 1935 1845 1665
3 2 0 1 12 7 40 -1 -1 0.000 0 1 1 4
3 1 1.00 60.00 120.00
3 1 1.00 60.00 120.00
1485 720 1215 945 1215 1395 1485 1710
0.000 -1.000 -1.000 0.000
4 1 0 40 -1 14 12 0.0000 4 165 420 990 1665 C-g-\001
4 1 0 40 -1 14 12 0.0000 4 165 420 1890 2430 C-g-\001
4 1 0 40 -1 14 12 0.0000 4 165 420 2115 540 C-g-\001
4 1 0 40 -1 14 12 0.0000 4 120 420 1890 1305 C---\001
4 1 0 40 -1 14 12 0.0000 4 90 420 2700 1035 -c--\001
4 1 0 40 -1 14 12 0.0000 4 90 420 2115 1845 -c--\001

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@ -0,0 +1,90 @@
#FIG 3.2
Landscape
Center
Metric
Letter
100.00
Single
-2
1200 2
6 3420 2295 5265 3600
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
3960 2565 5040 2565
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
4050 2565 4050 2790
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
4365 2565 4365 3015
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
4950 2565 4950 3420
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
4635 2565 4635 3195
4 1 0 40 -1 14 14 0.0000 4 195 945 4500 2475 C c g t\001
4 2 0 40 -1 18 12 0.0000 4 135 840 4275 2925 Canonical\001
4 2 0 40 -1 18 12 0.0000 4 180 840 4545 3150 Collapsed\001
4 2 0 40 -1 18 12 0.0000 4 135 555 4860 3375 Global\001
4 2 0 40 -1 18 12 0.0000 4 135 765 5265 3600 Terminal\001
-6
6 3555 3780 4995 3960
2 1 0 1 12 7 40 -1 -1 0.000 0 0 -1 1 1 2
3 1 1.00 60.00 120.00
3 1 1.00 60.00 120.00
3555 3870 4005 3870
4 0 0 40 -1 18 12 0.0000 4 180 735 4230 3915 Collapse\001
-6
6 3015 360 3555 630
6 3015 360 3555 630
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
3015 360 3555 360 3555 630 3015 630 3015 360
4 1 0 40 -1 14 12 0.0000 4 135 420 3285 540 --g-\001
-6
-6
6 1845 360 2385 630
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
1845 360 2385 360 2385 630 1845 630 1845 360
4 1 0 40 -1 14 12 0.0000 4 135 420 2115 540 --g-\001
-6
6 2430 225 2970 495
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
2430 225 2970 225 2970 495 2430 495 2430 225
4 1 0 40 -1 14 12 0.0000 4 90 420 2700 405 -c--\001
-6
6 1620 1305 2160 1575
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
1620 1305 2160 1305 2160 1575 1620 1575 1620 1305
4 1 0 40 -1 14 12 0.0000 4 165 420 1890 1485 C-g-\001
-6
6 1755 855 2295 1125
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
1755 855 2295 855 2295 1125 1755 1125 1755 855
4 1 0 40 -1 14 12 0.0000 4 90 420 2025 1035 -c--\001
-6
6 2340 855 2880 1125
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
2340 855 2880 855 2880 1125 2340 1125 2340 855
4 1 0 40 -1 14 12 0.0000 4 90 420 2610 1035 -c--\001
-6
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 2700 675 90 90 2610 675 2790 675
1 4 0 1 0 7 40 -1 -1 0.000 1 0.0000 2700 675 135 135 2565 675 2835 675
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 3825 675 90 90 3735 675 3915 675
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 450 675 90 90 360 675 540 675
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 1575 1800 90 90 1485 1800 1665 1800
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 1575 675 90 90 1485 675 1665 675
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 1575 675 135 135 1440 675 1710 675
1 4 0 2 0 7 40 -1 -1 0.000 1 0.0000 1575 675 180 180 1395 675 1755 675
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 3
5400 2250 3150 2250 3150 4050
2 1 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
3150 3645 5400 3645
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
0 0 5400 0 5400 4050 0 4050 0 0
2 1 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 2
1755 675 2565 675
2 1 0 2 18 7 40 -1 -1 0.000 0 0 -1 0 0 2
2790 675 3735 675
2 2 0 1 0 7 40 -1 -1 0.000 0 0 -1 0 0 5
720 360 1260 360 1260 630 720 630 720 360
2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
540 675 1395 675
2 1 0 2 0 7 40 -1 -1 0.000 0 0 -1 0 0 2
1575 855 1575 1710
4 1 0 40 -1 14 12 0.0000 4 165 420 990 540 C-g-\001

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Some files were not shown because too many files have changed in this diff Show More