Math4Chip_Design_Physical_Routing_Detailed

advertisement
1.
INTRODUCTION ......................................................................................................................... 3
1.1.
1.2.
1.3.
THE AIM OF THESIS ...................................................................................................................... 3
THE SCOPE OF THESIS ................................................................................................................... 3
RESEARCH HIERARCHICAL DIAGRAM ................................................................................................ 3
2.
RELATED MATH BRANCHES OR SUB-DISCIPLES .......................................................................... 4
3.
PRESENTATION STYLES .............................................................................................................. 4
4.
STRUCTURE OF WRITING ........................................................................................................... 8
5.
STYLES ..................................................................................................................................... 13
6.
DEFINITIONS. TERMINOLOGY, SIGNS AND SYMBOLS ............................................................... 13
6.1.
ALPHABETS AND SIGNS ............................................................................................................... 14
6.1.1.
Latin .............................................................................................................................. 14
6.1.2.
Greek ............................................................................................................................ 14
6.1.3.
Hebrew ......................................................................................................................... 14
6.1.4.
Russian ......................................................................................................................... 15
6.2.
NOMENCLATURE........................................................................................................................ 15
6.3.
NOTATION ................................................................................................................................ 16
6.4.
DEFINITIONS ............................................................................................................................. 17
6.5.
LIST OF THEOREMS, FORMULARS AND EQUATIONS ............................................................................ 17
6.6.
LIST OF ABBREVIATIONS ............................................................................................................... 18
6.7.
LIST OF PEOPLE MENTIONED IN THE BOOK ....................................................................................... 18
6.8.
INDEX ...................................................................................................................................... 18
6.9.
EXPLANATIONS .......................................................................................................................... 18
6.10. FONTS ..................................................................................................................................... 18
6.11. LIST OF SYMBOLS........................................................................................................................ 19
6.12. SUB AND SUPER SCRIPTS .............................................................................................................. 19
6.13. MARKS .................................................................................................................................... 19
6.14.
6.15.
6.16.
6.17.
词冠??? ................................................................................................................................. 20
UNITS .................................................................................................................................... 20
UNITS DESIGNATION ................................................................................................................... 20
CONSTANTS .............................................................................................................................. 20
7.
PRESENTATION STYLES ............................................................................................................ 22
8.
STRUCTURES, MODE OR SYSTEM OF THEOREMS ..................................................................... 24
9.
DEFINITIONS. TERMINOLOGY, SIGNS AND SYMBOLS ............................................................... 30
9.1.
ALPHABETS AND SIGNS ............................................................................................................... 30
9.1.1.
Latin .............................................................................................................................. 31
9.1.2.
Greek ............................................................................................................................ 31
9.1.3.
Hebrew ......................................................................................................................... 31
9.1.4.
Russian ......................................................................................................................... 31
9.2.
NOMENCLATURE........................................................................................................................ 32
9.3.
NOTATION ................................................................................................................................ 32
9.4.
DEFINITIONS ............................................................................................................................. 33
9.5.
LIST OF THEOREMS, FORMULARS AND EQUATIONS ............................................................................ 34
9.6.
LIST OF ABBREVIATIONS ............................................................................................................... 34
9.7.
LIST OF PEOPLE MENTIONED IN THE BOOK ....................................................................................... 34
9.8.
INDEX ...................................................................................................................................... 34
9.9.
9.10.
9.11.
9.12.
9.13.
EXPLANATIONS .......................................................................................................................... 35
FONTS ..................................................................................................................................... 35
LIST OF SYMBOLS........................................................................................................................ 35
SUB AND SUPER SCRIPTS .............................................................................................................. 36
MARKS .................................................................................................................................... 36
9.14.
9.15.
9.16.
9.17.
词冠??? ................................................................................................................................. 36
UNITS .................................................................................................................................... 37
UNITS DESIGNATION ................................................................................................................... 37
CONSTANTS .............................................................................................................................. 37
10.
DETAILED ROUTING ............................................................................................................. 37
11.
MAZE ROUTING ................................................................................................................... 42
12.
LINE PROBE ROUTING .......................................................................................................... 44
13.
LEFT-EDGE ROUTING ........................................................................................................... 45
14.
GREEDY CHANNEL SCANNING ............................................................................................. 46
15.
OVER-THE-BLOCK DETAILED ROUTER .................................................................................. 47
16.
OVER-THE-CELL CHANNEL ROUTING .................................................................................... 48
16.1.
THE EVOLUTIONARY ALGORITHM ......................................................................................... 48
1. Introduction
1.1. The Aim of Thesis
1.2. The Scope of Thesis
1.3. Research Hierarchical Diagram
2. Related Math Branches or Sub-Disciples
3. Presentation Styles
用各种 IT 技术
Interactive
Short texts
Electronically available only
Electronic formats
Strictly local yet
Easy to read even for laymen and like lovestory
Use as much as drawings, pictures.animations as possible to accompany or replace
texts
Pictures
Drawings 图 三维图标
表
Graphs
Charts
Pies
SLIDES
PPT
Flash SWF Slides
OTHER FORMS OF SLIDES
EBOOKS IN CHM, HLP, EXE OR OTHERS
Movies and Animations
3D
VRML
FLASH MOVIES
web audio and video
streaming
QUICKTIME
REALMEDIA
WINDOWSMEDIA
WEB PORTAL
web incl web2.0
html
php
java
SOFTWARE
DATABASE
MOBILE AND HANDHELD DEVICES
DVD/VCDS
USB
网络多媒体
multimedia)
4. Structure of Writing
Newton or Euclid styles
Give every definiyion, axiom, proposition, theorem, corrolary etc a serial number and
a name
conventions or notations
Common Notions
Πρώτοι Αριθμοί
Definitions
Terms
Terminology
Etymology
Encyclopedia
Glossary
Lexicon
Nomenclature
Abbreviations
List of Symbols
Index
Axiom
Principles
Assertion
Assumptions
Hypothesis
Conjecture
Suggestion
Common Notions
Fact
Proposition
If we can prove a statement true, then that statement is called a proposition.
a proposition is a less important or less fundamental assertion,
Predicates
Theory
Laws
Lemma
If a theorem is not particularly interesting, but is useful in proving an interesting
statement,
then it’s often called a lemma. This one is found in Euclid’s Elements.
Sometimes instead of proving a theorem or proposition all at once, we break the
proof down into modules; that is, we prove several supporting propositions, which
are called lemmas, and use the results of these propositions to prove the main result.
a lemma is something that we will use later in this book to prove a proposition or
theorem,
Statement
Rules
Porism
Theorem
A proposition of major importance is called a theorem.
a theorem is a deeper culmination of ideas,
A theorem is a valid implication of sufficient interest to warrant special attention.
If we can prove a proposition or a theorem, we will often, with very little effort, be
able to derive other related propositions called corollaries.
a corollary is an easy consequence of a proposition, theorem, or lemma.
Collonary
A corollary is a theorem that logically follows very simply from a theorem. A corollary
is a theorem that logically follows very simply from a theorem. Sometimes it follows
from part of the proof of a theorem rather than from the statement of the theorem.
In any case, it should be easy to
see why it’s true.
Collonary
A corollary is a theorem that logically follows very simply from a theorem. A corollary
is a theorem that logically follows very simply from a theorem. Sometimes it follows
from part of the proof of a theorem rather than from the statement of the theorem.
In any case, it should be easy to
see why it’s true.
Postulations
Scholium
Conclusions
Consequence
Comment
Remark
Observation
Claim
Proof
Equations
Formulas
Note
Caveat
Thesis
Conics
Literature Reference / Bibliography









Books
Databases
Multimedia
Websites
Theses
Proceedings
Papers
Presentations/Slides
5. Styles
Use as much as drawings, pictures.animations as possible to accompany or replace
texts
Every definition shall be expressed in bold letters
6. Definitions. Terminology, Signs and
Symbols
燃烧界和燃烧污染控制领域存在许多混乱的说法,应该避免
任何科学都从概念开始。
术语名辞定语 Nomenclature 或 List of symbols
Definitions
Assertion
Hypothesis
Terms
Terminology
6.1. Alphabets and Signs
详细规划和说明下列字母的意义和用途:拉丁字母,希腊字母,俄文字母和希伯来字
母。
同时要符合国内外学术界的惯例和习惯,又要强调概念清晰,唯一,统一,易于理解
和明确。
花体字母
空心体字母
重体字母
斜体字母
6.1.1.
Latin
6.1.2.
Greek
6.1.3.
Hebrew
6.1.4.
Russian
6.2. Nomenclature
Nomenclature is a term that applies to either a list of names or terms, or to the
system of principles, procedures and terms related to naming—which is the assigning
of a word or phrase to a particular object, event, or property. The principles of
naming vary from the relatively informal conventions of everyday speech to the
internationally-agreed principles, rules and recommendations that govern the
formation and use of the specialist terms used in scientific and other disciplines. ...
nomenclature concerns itself more with the rules and conventions that are used for
the formation of names (wikipedia)
6.3. Notation
We will use log 𝑛 to denote the base 2 logarithm instead of log 2 𝑛 or lgn. Base 10
logarithms and natural logarithms will be denoted as log10 𝑛 n and ln 𝑛 respectively.
The notation ord r (a) represents the order of a modulo r, which is the smallest
positive integer k, such that 𝑎𝑘
1(modr).
The notation  (r) will be used to represent Euler’s totient function, which is
defined as the number of positive integers less than or equal to r that are relatively
prime to r.
The notation f(x) ≡g(x)mod(h(x),p) is used throughout to mean that f(x)=g(x) in the
ring Zp[x]/(h(x)). In some cases, p will be prime and will have degree d and be
irreducible in Zp(x), so that Zp[x]/(h(x)).will be a finite field of order 𝑝𝑑 .
Notation: p(x) ≡ q(x) mod (h(x), n) means that h(x)|p(x) − q(x) all
coefficients are taken modulo n
Time complexity functions will be written in “big-O” notation. A function f(x) is
considered to be O (g(x))(pronounced “big-oh of g”) if given some function g(x)
there exists a constant c such that |f(x)|≤c|g (x)|⋅ for all values of x 0, where x is
defined to be the binary input length of n.
The function M(n) will be used to represent the time complexity function for
multiplication.
6.4. Definitions
Diophantine equation
Euclidean Algorithm Extended Euclid Algorithm
The greatest common divisor GCD (or greatest common factor GCF)
6.5. List of theorems, formulars and equations
6.6. List of abbreviations
6.7. List of people mentioned in the book
6.8. Index
6.9. Explanations
6.10. Fonts
italic: for scalers;
Bold italic: for vectors in D-dimensional vector space, D = 1, 2, 3;
Boldface: for vectors in Rb ;
Sans serif: for operators or second rank tensors (matrices);
Bold sans serif: for matrices with vector/tensor elements;
BLA C K B O A RD BO LD : for vector space.
6.11. List of symbols
6.12. Sub and super scripts
6.13. Marks
@↑ ↓
≈≠≡⌂∩ ∑∏ ≈∵∴⊥∥≌∽∈
6.14. 词冠???
10 12 Τ Τερα 核 10 9 Giga 京 10 -9 Nano 钎 10 -12 Pico
6.15. UNITS
6.16. Units designation
Atm BYU bar etc
6.17. Constants
7. Presentation Styles
用各种 IT 技术
Interactive
Short texts
Electronically available only
Electronic formats
Strictly local yet
Easy to read even for laymen and like lovestory
Use as much as drawings, pictures.animations as possible to accompany or replace
texts
Pictures
Drawings 图 三维图标
表
Graphs
Charts
Pies
SLIDES
PPT
Flash SWF Slides
OTHER FORMS OF SLIDES
EBOOKS IN CHM, HLP, EXE OR OTHERS
Movies and Animations
3D
VRML
FLASH MOVIES
web audio and video
streaming
QUICKTIME
REALMEDIA
WINDOWSMEDIA
WEB PORTAL
web incl web2.0
html
php
java
SOFTWARE
DATABASE
MOBILE AND HANDHELD DEVICES
DVD/VCDS
USB
网络多媒体
multimedia)
8. Structures, Mode or System of Theorems
Newton or Euclid styles
Give every definiyion, axiom, proposition, theorem, corrolary etc a serial number and
a name
conventions or notations
Common Notions
Definitions
Определение
Ορισμός
Terms
Terminology
Etymology
Encyclopedia
Glossary
Lexicon
Nomenclature
Abbreviations
List of Symbols
Index
If we can prove a statement true, then that statement is called a proposition.
a proposition is a less important or less fundamental assertion,
A proposition of major importance is called a theorem.
a theorem is a deeper culmination of ideas,
Sometimes instead of proving a theorem or proposition all at once, we break the
proof down into modules; that is, we prove several supporting propositions, which
are called lemmas, and use the results of these propositions to prove the main result.
a lemma is something that we will use later in this book to prove a proposition or
theorem,
If we can prove a proposition or a theorem, we will often, with very little effort, be
able to derive other related propositions called corollaries.
a corollary is an easy consequence of a proposition, theorem, or lemma.
Axiom
аксиома
Principles
Assertion
Assumptions
Hypothesis
Hypothese
Vermutung
Annahme
Conjecture
Suggestion
Theory
Theorem
Théorème
Теорема
ΘΕΩΡΗΜΑ
Θεώρημα
Rules
Laws
Satz
Hauptsatz
Grundsatz
Gesetz
Zusatz
Statement
Caveat
Следствие
Замечание
Proposition
Porism
Lemma
If a theorem is not particularly interesting, but is useful in proving an interesting
statement,
then it’s often called a lemma. This one is found in Euclid’s Elements.
Hilfssatz
Zusatz
Lemme
Замечание
Παρατήρηση
Лемма
Scholium
Thesis
Claim
Fact
Conics
Postulations
ΠΟΡΙΣΜΑ
Collonary
A corollary is a theorem that logically follows very simply from a theorem. A corollary
is a theorem that logically follows very simply from a theorem. Sometimes it follows
from part of the proof of a theorem rather than from the statement of the theorem.
In any case, it should be easy to
see why it’s true.
Korollar
Corollaire
Πρόταση
Folgerung
Conclusions
Behauptung
Consequence
Утверждение
Proof
Beweis
Comment
Observation
Note
Remark
Bemerkung
Remarque
Equations
Formulas
Literature Reference / Bibliography









Books
Databases
Multimedia
Websites
Theses
Proceedings
Papers
Presentations/Slides
9. Definitions. Terminology, Signs and
Symbols
燃烧界和燃烧污染控制领域存在许多混乱的说法,应该避免
任何科学都从概念开始。
术语名辞定语 Nomenclature 或 List of symbols
Definitions
Assertion
Hypothesis
Terms
Terminology
9.1. Alphabets and Signs
详细规划和说明下列字母的意义和用途:拉丁字母,希腊字母,俄文字母和希伯来字
母。
同时要符合国内外学术界的惯例和习惯,又要强调概念清晰,唯一,统一,易于理解
和明确。
花体字母
空心体字母
重体字母
斜体字母
9.1.1.
Latin
9.1.2.
Greek
9.1.3.
Hebrew
9.1.4.
Russian
9.2. Nomenclature
Nomenclature is a term that applies to either a list of names or terms, or to the
system of principles, procedures and terms related to naming—which is the assigning
of a word or phrase to a particular object, event, or property. The principles of
naming vary from the relatively informal conventions of everyday speech to the
internationally-agreed principles, rules and recommendations that govern the
formation and use of the specialist terms used in scientific and other disciplines. ...
nomenclature concerns itself more with the rules and conventions that are used for
the formation of names (wikipedia)
9.3. Notation
We will use log 𝑛 to denote the base 2 logarithm instead of log 2 𝑛 or lgn. Base 10
logarithms and natural logarithms will be denoted as log10 𝑛 n and ln 𝑛 respectively.
The notation ord r (a) represents the order of a modulo r, which is the smallest
positive integer k, such that 𝑎𝑘 ≡ 1(modr).
The notation  (r) will be used to represent Euler’s totient function, which is
defined as the number of positive integers less than or equal to r that are relatively
prime to r.
The notation f(x) ≡g(x)mod(h(x),p) is used throughout to mean that f(x)=g(x) in the
ring Zp[x]/(h(x)). In some cases, p will be prime and will have degree d and be
irreducible in Zp(x), so that Zp[x]/(h(x)).will be a finite field of order 𝑝𝑑 .
Notation: p(x) ≡ q(x) mod (h(x), n) means that h(x)|p(x) − q(x) all
coefficients are taken modulo n
Time complexity functions will be written in “big-O” notation. A function f(x) is
considered to be O (g(x))(pronounced “big-oh of g”) if given some function g(x)
there exists a constant c such that |f(x)|≤c|g (x)|⋅ for all values of x≥0, where x is
defined to be the binary input length of n.
The function M(n) will be used to represent the time complexity function for
multiplication.
9.4. Definitions
Diophantine equation
Euclidean Algorithm Extended Euclid Algorithm
The greatest common divisor GCD (or greatest common factor GCF)
9.5. List of theorems, formulars and equations
9.6. List of abbreviations
9.7. List of people mentioned in the book
9.8. Index
9.9. Explanations
9.10. Fonts
italic: for scalers;
Bold italic: for vectors in D-dimensional vector space, D = 1, 2, 3;
Boldface: for vectors in Rb ;
Sans serif: for operators or second rank tensors (matrices);
Bold sans serif: for matrices with vector/tensor elements;
BLA C K B O A RD BO LD : for vector space.
9.11. List of symbols
9.12. Sub and super scripts
9.13. Marks
@↑ ↓
≈≠≡⌂∩ ∑∏ ≈∵∴⊥∥≌∽∈
9.14. 词冠???
10 12 Τ Τερα 核 10 9 Giga 京 10 -9 Nano 钎 10 -12 Pico
9.15. UNITS
9.16. Units designation
Atm BYU bar etc
9.17. Constants
10. Detailed Routing
detailed routing
http://nptel.ac.in/courses/IITMADRAS/CAD_for_VLSI_Design_II/magma_tutorial/magma_tutorial3.html
http://www.actionpacked.com/products/Routing
http://forums.arcgis.com/threads/93646-Detailed-Routing-Information
http://www.baanboard.com/baanboard/showthread.php?t=5492
http://www.computer.org/csdl/proceedings/vlsid/2012/4638/00/4638a233-abs.html
http://www.edaboard.com/thread126141.html
http://www10.edacafe.com/book/ASIC/CH17/CH17.php?interstitial_displayed=Yes
http://www.scai.fraunhofer.de/en/business-research-areas/optimization/projectarchives/vlsi-routing.html
http://adsabs.harvard.edu/abs/2011SPIE.7974E..20M
http://www.mentor.com/products/ic-manufacturing/resources/overview/self-aligneddouble-patterning-sadp-friendly-detailed-routing-3b4256ab-aafb-42ca-9f9f015d9c499c6c
http://wiki.mikrotik.com/wiki/Manual:Multicast_detailed_example
http://www.moralfiber.org/eylon/berkeley/cs270/
http://www.necdsx.com/dsx_software_manual_out/features/direct_inward_dialing_fe
ature/direct_inward_dialing_intercept_and_overflow.html
http://opencircuitdesign.com/qrouter/
http://www.routerforums.com/project-plans-how/44637-homemade-router-tablefence.html
http://iroi.seu.edu.cn/books/asics/Book2/CH17/CH17.2.htm
http://www.ece.ubc.ca/~stevew/routing.html
https://kfs.ucdavis.edu/kfshelp/default.htm?turl=WordDocuments%2Fviewingroutingdetails.htm
http://vlsicad.ucsd.edu/Presentations/talk/supporting.html
http://www.informatik.uni-osnabrueck.de/papers_html/galesia_95/node4.html
http://vlsi.pro/physical-design-flow-iv-routing/
In the physical design process for very large scale integrated (VLSI) circuits the
logical structure of a circuit is transformed into its physical layout.
Detailed routing is one of the tasks in this process.
A detailed router connects pins of signal nets in a rectangular region in accordance
with a set of routing constraints, such as the number of layers, the minimal space
between wires, minimum wire width, number of vias, crosstalk and the net length.
The results of this detailed routing has a strong influence on the fabrication yield and
production costs of the circuit.
Detailed routing has generally evolved out of four basic approaches: maze routing,
line probe routing, left-edge routing, and greedy channel scanning. The problem is
formulated as a routing area containing connection points or pins on a rectilinear
(usually rectangular) region or channel. Pins can be located on any of the four sides
of the region or within the region. The connection points are generally constrained to
reside in certain layers to make them easier to connect to.
Even single-layer routing problems are NP-complete, which means that an optimal
solution cannot be achieved in a reasonable time.
For this reason, detailed routing solutions are heuristic in nature. The factors in
determining a solution’s usability are the number of terminals, net width, via
restrictions, boundary shape, number of layers, and net types such as power, ground,
and clock wires.
In the detailed routing problem our task is to interconnect certain given subsets (or
nets) of the pins (or terminals) of these devices by wires.
To sum it up from a graph-theoretical viewpoint, the detailed routing problem
consists of finding vertex-disjoint Steiner-trees (trees with a given terminal vertex set)
in a 3-dimensional rectangular grid.
Three types of detailed routings:



Channel Routing
2-D Switchbox Routing
3-D Switchbox Routing
Sequential routing
integer programming formulation called Integer Programming Based Approach
parallel routing
parallel multi-threaded collision-aware global router based on Maze Routing
Algorithm using a heuristic collision-prevention approach.
Parallel VLSI Detailed Routing
Parallelization of VLSI routing algorithms
prim’s algorithm
Channel routing
Full-chip routing
Multilevel Full-Chip Routing
switchbox routing in the Manhattan model
single active layer routing problem
maze routing
VLSI Maze routing using GPGPU
General-Purpose computing on Graphics Processing Units (GPGPU)
line probe routing
left-edge routing
greedy channel scanning multilayer router called NEMO
Hierarchical Routing
Dogleg Channel Router
Over-the-Cell Routing
Maze searching
Line searching
Routing Grid Models
Grid-based model:




A grid is super-imposed on the routing region
Wires follow paths along the grid lines
Pitch: distance between two gridded lines
Most commonly used
Gridlessmodel:

Any model that does not follow this “gridded” approach
Routing Layer Models
Unreserved layer model
Any net segment is allowed to be placed in any layer
Reserved layer model
Certain type of segments are restricted to particular layer(s)
11. Maze routing
Maze routers abstract the channel routing problem with a grid-based model. Wires
are restricted to follow paths along the grid lines. Routing is accomplished by laying
down wires on the grid one at a time. Obstacles are modeled as disallowed portions
of the grid. Therefore, maze routing can handle arbitrary obstacles.
Given:
A planar rectangular grid graph.
Two points S and T on the graph.
Obstacles modeled as blocked vertices.
Objective:
Find the shortest path connecting S and T.
This technique can be used in global or detailed routing (switchbox) problems.
Lee’s Algorithm
“An Algorithm for Path Connection and its Application”, C.Y. Lee, IRE Transactions on
Electronic Computers, 1961.
A Breadth-First Search (BFS) of the grid graph.
Always find the shortest path possible.
Consists of two phases:
Wave Propagation
Retrace
12. line probe routing
Line probe routers scan in the x and y directions searching for line segments from
either the source or the destination. Scan lines do not project beyond obstacles, so
obstacles are avoided by a subsequent probe of the line segments orthogonal to the
ones from the previous pass.
13. left-edge routing
Left-edge routers sort wires by the boundary formed by the leftmost and rightmost
pins. It orders wires one at a time using a greedy method that places segments into
tracks. It fills tracks one at a time, packing segments to minimize unused space in a
track. The route is complete when all wires have been assigned to a track.
14. greedy channel scanning
Greedy channel routers divide the channel into horizontal tracks and vertical columns.
This approach works on one vertical column at a time, scanning from left to right.
The approach is termed “greedy” because each column is optimized individually,
although the entire channel is not guaranteed to be optimal. The greedy router
sweeps from column to column, trying to join segments of nets assigned to multiple
tracks. The greedy channel scan is capable of providing fast solutions but cannot be
easily extended to handle arbitrary obstacles.
15. over-the-block detailed router
The over-the-block detailed router used in PA_Route uses a completely different
approach based on a graph. The graph represents horizontal and vertical constraints
of the wires.
16. over-the-cell channel routing
Traditional channel routing algorithms have proved very successfull in reducing
channel height. Any further reductions are only possible if some nets are routed
“outside” the channel. Based on this observation, some researchers have proposed
utilisation of over-the-cell area to obtain further reduction in the channel height. This
style of routing is called over-the-cell channel routing. As more metal layers are
becoming available for routing in the standard cell design style, routing over the cells
becomes both practical and important.
The inclusion of both over-the-cell and channel optimisation in a single channel
routing domain will provide an effective framework for area/energy optimisation.
However, this will increase the burden on the routing algorithm due to the significant
increase in search space. To cope with this multiobjective search problem,
evolutionary algorithms, such as Genetic Algorithms (GAs) have been employed.
we study the effect of an evolutionary over-the cell router, developed by the authors,
on energy loss and area reduction in all channel areas and compare this with a
traditional over-the-cell router. We show that significant reductions in energy loss are
achieved by the evolutionary over-the-cell router in all the channel areas.
16.1. THE EVOLUTIONARY ALGORITHM
General properties: A traditional GA-based algorithm was used for this work. The
developed algorithm is based on a model developed by Goldberg [17]. Our
investigations revealed that with a population of 500 chromosomes, the following GA
characteristics are necessary for a performance which provides a ‘good’ trade off in
speed and quality of solutions:
· Two point crossover and random mutation at rates of 0.6 and 0.001.
· Chromosome selection procedure using Baker’s Stochastic Universal Sampling
algorithm [18, 19].
· Employment of an elitist selection strategy [19].
The chromosome structure for a single net X is presented as [top,int,bot,id]. Where,
top = top track on which net X is placed; int = internal track on which net X is placed;
bot = bottom track on which net X is placed; id = the net number.
Fitness function: A key component of the GA is the fitness evaluation stage, where
the quality of the different routing solutions are assessed. Beginning with a given
netlist (see Figure 1), and after initialisation, the fitness function starts by identifying
all multi-terminal net circuit segments for over-the cell routing, and places them on
tracks over-the-cell according to horizontal constraints. Further, it proceeds to route
the remaining net circuits inside the channel subject to horizontal and vertical
constraints. For a given structure Y, the fitness function F(Y) can be specified as:
F(Y) = OTC(Y) + HV(Y) + VV(Y).
Where OTC, HV and VV are routing procedures and are described as follows:
Over-the-cell routing (OTC): Performs the routing of multiterminal net circuits in
the over-the-cell areas, and returns their number. After this procedure only net
circuits with single pin connections at both the top and bottom will remain inside the
channel area.
Horizontal violation elimination (HV): Carries out the elimination of horizontal
violations [20], by returning the number of net circuits without such violations. It is
applied to both the over-the-cell and channel areas.
Vertical violation elimination (VV): Performs the elimination of vertical violations
[20], by returning the number of two pin (terminal) net circuits connected to the top
and bottom pins inside the channel area without such violations. As there are no
vertical violations in the regions over-the-cell, this procedure is not applied.
Two or more net circuits are placed on the same track if they are without horizontal
and vertical violations in the channel area. For the over-the-cell areas only the
elimination of horizontal violations need to be satisfied before net circuits are routed
on the same track. This is illustrated using the Yoshimura-Kuh channel circuit in [2],
the algorithm starts by first identifying top and bottom multi-terminal net circuits and
routes them over-the-cell (nets 1,2,3,4,5,8,9 and 10) as shown in Figure 2. It then
carries out routing for those net circuit segments that must remain fully or partially
within the channel area, (nets 5,6,7 and 9). In the process it identifies those nets
that can be placed on the same track (nets 5,6, and 9) resulting in track savings. It
is evident that our algorithm requires only two rows (tracks) to route this channel
circuit, compared to five in [2]. The four net circuits left in the channel are all two
terminal nets. Vertical and horizontal segments of nets are placed on the first and
second layers respectively in the channel area (VH model).
Download