Analog Layout
Analog Layout
CUI, Guxin
i
routed over active devices, so we need to leave enough spaces properly for routing
between the devices during the placement process. To achieve this, we explore
congestion estimation and layout expansion during the placement step in order to
produce a good and routable solution.
ii
摘要
模擬電路版圖設計是一個非常複雜和耗時的過程。通常情況下,設計一個高質量
的模擬電路版圖需要電子工程師花費幾週甚至更長的時間。模擬電路的電子特性
對於電路的細節設計非常敏感,因此,減小電路中的失配現象成為模擬電路版圖
設計中一個非常重要的課題。
在本論文中,我們提出了一系列實際的佈局技術,來降低電路的失配並提高繞線
的成功率。我們可以非常容易的將這些技術整合至一個完整的模擬佈局和佈線的
工具中,此工具可以在幾分鐘內生成一個完整的、高質量的模擬電路版圖。同時,
該版圖能夠通過設計規則驗證(DRC)和佈局與電路設計一致性檢測(LVS)。
模擬結果顯示,它的電路性能能夠與達到甚至超出手工設計的電路版圖。我們的
論文主要作出了以下兩方面貢獻。
1. 平衡佈局:對於模擬電路中的電子元器件,如電容、電阻、晶體管等進行一
維和二維的平衡佈局。電子工程師可以根據不同的設計需求,通過選擇不同
的佈局參數來改變電路的佈局排列方式。同時,在模擬退火算法中,我們著
重考慮了器件間的匹配以生成高質量的模擬電路佈局。
2. 消除阻塞的電路佈局:在模擬電路設計中,我們期望盡量避免在電子元器件
密度較高的區域進行繞線。因此,我們需要在電路佈局設計過程中在電子元
器件間留有足夠的佈線空間。為達到這個目標,我們提出了更精確的阻塞估
計方法和版圖拓展方法,使其能夠生成一個高質量、高繞線成功率的電路佈
局結果。
為了驗證生成的電路版圖的質量和匹配特性,我們利用蒙地卡羅方法來模擬電路
中的製程偏差和失配特性。實驗結果顯示,我們的工具可以在幾分鐘內自動生成
高質量的電路版圖,與人工設計通常需要花費數日至數週相比,設計時間大幅縮
短,同時電路的匹配特性得以提升。
iii
Acknowledgement
First and foremost, I offer my sincerest gratitude and heartily thankful to my su-
pervisor, Professor Evangeline Fung Yu YOUNG, who gives me most helpful sug-
gestions, comments, guidance and support during my study in CUHK and thesis
writing process. From the beginning of my research to the final level of complet-
ing thesis enabled me to develop an understanding of my research topic. She has
made available her fully support in a number of ways, motivated me for the initial
idea generation, methodologies discussion and experiment design. I attribute the
level of my MPhil degree to her encouragement and supervision. Without her in-
spirational guidance, this thesis, would not have been completed successfully. One
simply could not wish for a better or more nice supervisor.
Also, I would like to show my gratitude to my committee members Profes-
sor Johnny Qiang XU, and Professor Kong Pang PUN, for their encouragement,
insightful comments, and contributive questions. Without your knowledge and
effort, this study would not have been successful.
My sincere thanks also goes to my fellow lab-mates in CUHK, Dr. Xiao LIU,
Dr. Xiao-Qing YANG, Dr. Hai-Le YU, Mr. Feng YUAN, Mr. Rong YE, Mr.
Li JIANG, for the sleepless nights we were working and fighting together before
deadlines. I offer my regards and blessings to all of my friends who supported me
in any respect during the completion of my study, Dr. Fei FEI, Dr. Jian-Zhen LI,
Mr. Jian-Peng WANG, Mr. Xian-Shuai CHEN, Mme. Xue-Li LI and Ms. Jing-
iv
Jing LIU, do not forgetting that your best friends who always been there. Also,
please accept my apology that I could not mention all of you personally.
The Department of Computer Science and Engineering has provided the equip-
ment and environment I have needed to complete my thesis.
Last but not the least, I would like to thank my family, for supporting me
throughout all my life and studies.
v
Contents
Abstract i
Acknowledgement iv
1 Introduction 1
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Physical Design . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Analog Placement . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.1 Methodologies of Analog Placement . . . . . . . . . . . . 4
1.3.2 Symmetry Constraints of Analog Placement . . . . . . . . 5
1.4 Process Variation and Layout Mismatch . . . . . . . . . . . . . . 6
1.4.1 Process Variation . . . . . . . . . . . . . . . . . . . . . . 6
1.4.2 Random Mismatch and Systematic Mismatch . . . . . . . 7
1.5 Monte Carlo Simulation Procedure . . . . . . . . . . . . . . . . . 9
1.6 Problem Formulation of Placement . . . . . . . . . . . . . . . . . 9
1.7 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.8 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.9 Thesis Organization . . . . . . . . . . . . . . . . . . . . . . . . . 12
vi
2.1.1 Symmetry within the Sequence-Pair (SP) Representation . 14
2.1.2 Block Placement with Symmetry Constraints Based on the
O-Tree Non-Slicing Representation . . . . . . . . . . . . 16
2.1.3 Placement with Symmetry Constraints for Analog Layout
Design Using TCG-S . . . . . . . . . . . . . . . . . . . . 17
2.1.4 Modeling Non-Slicing Floorplans with Binary Trees . . . 19
2.1.5 Segment Trees Handle Symmetry Constraints . . . . . . . 20
2.1.6 Center-based Corner Block List . . . . . . . . . . . . . . 22
2.2 Other Works on Analog Placement Constraints . . . . . . . . . . 25
2.2.1 Deterministic Analog Placement with Hierarchically Bounded
Enumeration and Enhanced Shape Functions . . . . . . . 25
2.2.2 Analog Placement Based on Symmetry-Island Formulation 27
2.2.3 Heterogeneous B*-Trees for Analog Placement with Sym-
metry and Regularity Considerations . . . . . . . . . . . . 28
2.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
vii
3.5.2 Handling Devices in Symmetry Group . . . . . . . . . . . 59
3.5.3 Cost Function of Simulated Annealing . . . . . . . . . . . 61
3.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5 Conclusion 86
Bibliography 87
viii
List of Figures
2.1 HB*-Tree Example: (a) Placement with Symmetry Group bs0 . (b)
The Corresponding ASF-B*-tree of Symmetry Group. (c) Hierar-
chical B*-tree. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
ix
3.6 Common Centroid Placement of Transistors: (a) 1-D Symmet-
ric Transistor Placement. (b) Common-Centroid Transistor Place-
ment with Opposite Orientations. (c) Common-Centroid Transis-
tor Placement with Same Orientation. . . . . . . . . . . . . . . . 45
3.7 Common Centroid Placement of Transistors and Their Routing
Patterns: (a) 1-D Symmetric Placement. (b) Common Centroid
Placement with Opposite Orientations. (c) Common Centroid Place-
ment with Same Orientation. . . . . . . . . . . . . . . . . . . . . 46
3.8 Two Different Common Centroid Placement of Capacitor Pairs:
(a) Interleaving Placement; (b) Symmetric Placement ABBA. . . . 48
3.9 Four Orientation Options. . . . . . . . . . . . . . . . . . . . . . . 49
3.10 Two Different Routing Pattern: (a) Interleaving Placement; (b)
Symmetric Placement ABBA. . . . . . . . . . . . . . . . . . . . . 50
3.11 Congestion Redistribution: (a) Vertically Congestion Redistribu-
tion; (b) Horizontally Congestion Redistribution. . . . . . . . . . 53
3.12 Symmetry Group Shrinking Process. . . . . . . . . . . . . . . . . 61
4.1 Layouts with and without Symmetry Group(s), (a) Layout without
Symmetry Group, and (b) Layout with Symmetry Group . . . . . 72
4.2 Layouts with and without Self-Symmetry Group(s), (a) Layout
without Self-Symmetry Group, and (b) Layout with Self-Symmetry
Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.3 Layouts with Different Number of Symmetry Group(s), (a) Layout
with 1 Whole Symmetry Group, and (b) Layout with 3 Symmetry
Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.4 Different Placement of Capacitors Array, (a) Standard Capacitors
Array, 5 × 2, and (b) Small Capacitors Array, 5 × 4, and (c) Small
Capacitors Array, 4 × 5 . . . . . . . . . . . . . . . . . . . . . . . 78
x
4.5 Schematic and Layouts of OTA1: (a) Schematic, (b) Manual De-
sign Layout, (c) Automatic Generated Layout. . . . . . . . . . . . 80
4.6 Schematic and Layouts of OTA2: (a) Schematic, (b) Manual De-
sign Layout, (c) Automatic Generated Layout. . . . . . . . . . . . 81
4.7 Schematic and Layouts of OTA3: (a) Schematic, (b) Manual De-
sign Layout, (c) Automatic Generated Layout. . . . . . . . . . . . 82
4.8 Schematic and Layouts of AMP1: (a) Schematic, (b) Manual De-
sign Layout, (c) Automatic Generated Layout. . . . . . . . . . . . 83
xi
List of Tables
xii
Chapter 1
Introduction
1.1 Background
Accompanied with the speed-up of the technology development, Integrated Cir-
cuits (IC) are used in most of the modern electronic equipments today and have
revolutionized the world of electronics. New technology allows us to integrate a
large number of devices onto a small chip.
Nowadays, the IC technology virtually created our modern IT industry. Tran-
sistors existed in almost every electronic device, from memory sticks to smart-
phones to computers. In the early period, engineers can only placed a few number
of transistors on a chip. Now we are at the stage of ”Very Large-Scale Integration
(VLSI)” with several billion of transistors per chip, which has been developed for
more than 30 years. The design complexity has sharply increased, accompanied
with the increase in the number of devices per chip. Electronic Design Automation
(EDA) becomes more and more important in this modern layout design process
because of the high complexity of IC. A lot of new challenges appear in modern
VLSI design automation.
Chip design is a complicated and time-consuming process. It contains several
1
CHAPTER 1. INTRODUCTION
typical steps. The whole design process begins with System Specification, then Ar-
chitectural Design, Functional Design, Logic Design, Circuit Design, Physical De-
sign, Physical Verification, Fabrication, Packaging and Testing. Physical Design
includes steps such as Partitioning, Chip Planning, Placement, Clock Tree Synthe-
sis, Signal Routing and Timing Closure. Our research focus on analog placement
is an important step in the physical design process.
An overview of the chip design flow will be shown and discussed briefly in
the following sections. Detail discussion on the analog placement problem will be
discussed in this thesis.
2
CHAPTER 1. INTRODUCTION
various circuit components are considered as blocks, and each block is exactly
assigned a position. It can achieve the objective that finding a minimum circuit
area while ensuring meets the performance demands. A typical placement has two
steps, initial placement and iterative improvement. In addition, most of the place-
ment algorithm will do routing space estimation to further improve the routability.
When placement is completed, routing will connect all the pins on placed circuit
components. There are two typical phases of routing, named global routing and
detailed routing. Sometimes, rip-up and reroute will be used when some connec-
tions failed.
3
CHAPTER 1. INTRODUCTION
Finally, compaction, extraction and verification are performed to get final re-
sult.
As mentioned before, the placement stage is one of the most important stages in
VLSI physical design, and the placement result has a key effect on the quality of
the final layout solution. As a designer, one of the objectives of placement is to
achieve a well placed solution with minimum area, but in analog placement, the
analog-specific features should also be taken into account to meet the demands of
performance and electrical characteristics.
In the early days, analog placement technique began with constructive place-
ment. A constructive technique chooses modules one by one, and places them in
the most suitable available positions. A constructive placement technique is the
4
CHAPTER 1. INTRODUCTION
5
CHAPTER 1. INTRODUCTION
Figure 1.2: Types of Symmetry Devices: (1) 1-D Symmetry; (2) Common Cen-
troid Placement; (3) 1-D Symmetry with Self-symmetry device.
Process variation in analog IC design can lead to device mismatch, which can be
harmful for the performance of the layout. We denote the process variation pa-
6
CHAPTER 1. INTRODUCTION
The variables PVn , PVr and PVs denote the nominal value, random variation
value and the systematic variation value, respectively. Also, we can further classify
them into lot-to-lot, wafer-to-wafer, die-to-die and device-to-device, according to
the different effective area. The classification is illustrated in Figure 1.3:
7
CHAPTER 1. INTRODUCTION
∆P = PA − PB ; (1.2)
We can calculate a series of different values of ∆P and get the mean and stan-
dard deviation, denoted by m(∆P) and s(∆P), respectively. Then m(∆P) is called
the systematic mismatch, and s(∆P) is called the random mismatch.
Random mismatches are mainly due to process variations during the manufac-
turing process. Some other factors include: edge effects, imperfection of materials
and mobility variation. With random mismatch, a circuit might get performance
degradation and other electrical errors which may be harmful to the circuit. In
general, random mismatch follows some statistical distribution (e.g., gaussian dis-
tribution) and leads to random manufacturing inaccuracy. Different device types
have different circuit parameters to model the random mismatch. We can find a
random mismatch model of regular device as follows:
kx
s(∆P) = √ ; (1.3)
wl
where s(∆P) is the random mismatch, w and l denote the width and length of
devices’ active area, respectively. The parameter k represents the characteristics
of the particular device. Since random mismatch is introduced by imperfect man-
ufacturing process, it cannot be eliminated. According to Equation (1.3), we can
proportionally enlarge the area of a device to reduce the random mismatch, it will
increase the area usage and conflict with area minimization. It’s thus a tradeoff in
analog circuit design.
Two major reasons for systematic mismatch are: (1) circuit gradients and (2)
asymmetry circuit design. In order to reduce systematic mismatches, common-
centroid placement technique is introduced. In real circuit design, parameters such
as temperature, pressure and oxide thickness will result in systematic mismatch.
Therefore, experienced engineers often divide devices (such as resistors group,
8
CHAPTER 1. INTRODUCTION
capacitors array) into identical small pieces and place them closely and symmet-
rically. In Section 3.3, we will propose our method to generate placement with
common-centroid constraints.
• Layout Area;
• Total Wirelength;
9
CHAPTER 1. INTRODUCTION
• Routability;
We are given a set of n blocks Bi , where i ∈ [1 . . . n]. The height and width of
each block Bi are denoted by hi and wi , respectively. We are given m nets, a net Ni
shows interconnection relationship between blocks, where i ∈ [1 . . . m]. Wirelength
L is the total length of all connecting wires, estimated by Half-Perimeter Wire
Length (HPWL) model. We use A define the circuit area, which is the total area of
layout, including white space and space occupied by blocks and wires.
The placement problem is to find a solution that each block Bi is assigned
detailed height and width. In the meantime, we should ensure that there is no
overlapping between each pair of blocks.
1.7 Motivations
The advancement in mixed-signal designs has brought the need of new tools com-
patible for both the digital parts and the analog parts. However, design automation
in the analog domain is not moving as fast as its digital counterpart, and the low ac-
ceptance of CAD tools in analog design has presented a serious bottleneck to fast
automation of mixed-signal systems. Analog layout design is much more compli-
cated than digital one because of the high sensitivity of the electrical properties
in analog circuit. Variations in process and temperature can easily introduce se-
vere mismatch in devices which are designed to have identical performance, and
10
CHAPTER 1. INTRODUCTION
can cause serious degradation in circuit performance [?] [?]. Layout design of
analog circuit is usually a time-consuming and error prone process. Mismatch
in analog circuit can be alleviated by having a symmetric layout, with symmetric
and close proximity placement of some devices and symmetric routing of related
wires [?] [?]. Therefore, our research focuses on improving the quality of ana-
log layout. Common centroid placement is studied to reduce device mismatch,
and routability is handled by introducing new congestion estimation and layout
expansion technique.
1.8 Contributions
The objective of this research is to study and develop a novel and holistic analog
automation tool that can automate the whole layout process from a schematic cir-
cuit to the final layout effectively. Focuses will be on the quality of the generated
output in comparison with manual design on various aspects of performance mea-
sures and especially on mismatch reduction, which is an important issue in analog
design. The whole project is a collaboration with another PhD student [?] in the
same department. My major contributions are two important features in our design
tool:
11
CHAPTER 1. INTRODUCTION
2 End of chapter.
12
Chapter 2
Two major considerations for analog layout design are symmetry constraint and
relatively regular structure, which guarantee the performance and quality of analog
layout. Designer apply symmetry constraints during layout design, place matched
components group(s) symmetrically to reduce mismatch and other harmful elec-
trical effect (e. g.: parasitic effect, process variation). Many previous work focus
on applying topological representation to handle analog placement problem. Sym-
metry placement constraints such as 1-D symmetry, 2-D symmetry (as known as
common-centroid constraint) imposed on analog layout design, to further enhance
the quality of generated analog layout. A relatively regular structure together with
symmetry routing can increase the routability and the quality of routing, which,
also help reduce the mismatch and other unwanted electrical effects.
Some popular floorplanning representations have been extended to consider
1-D and 2-D symmetry constraints. Among these work, different types of floor-
planning representations are embedded in simulated annealing algorithms to gen-
erate floorplan while handling symmetry constraints simultaneously. Two major
13
CHAPTER 2. LITERATURE REVIEW ON ANALOG PLACEMENT
representations are well studied and applied in both academic and industry:
(1) Absolute representations [?] [?] [?] [?] are the most straightforward method-
ology, for the absolute representations, modules are represented by its coordinates,
width and height;
(2) Topological representations, use different methodologies encode the place-
ment into a series of codes, which show an one-on-one matching of placement
configuration, simulated annealing algorithm is used to find the topological repre-
sentation with lowest cost, which is controlled by cost function. There exist a lot of
popular topological representations, such as Sequence-Pair [?] [?], O-Tree [?] [?],
B-Tree [?], B*-Tree [?], Segment Tree [?], and TCG-S [?].
14
CHAPTER 2. LITERATURE REVIEW ON ANALOG PLACEMENT
hance the efficiency. Let m denote the number of modules, p denote the number of
symmetry pairs and s denote the number of self-symmetry groups. If there are no
symmetry constraints, the searching space is (m!)2 . The authors have proved that
m−2p−s
the size of the solution space with symmetry constraints is (Cm (m − 2p −
s)!)2 · (2p − s)!. We can find that the searching space with symmetry constraints
is smaller than that without symmetry constraints. The approach in the paper will
only explore the sequence-pairs which satisfy the symmetry constraints.
authors proved that there exists at least one symmetric-feasible sequence-pair for
any placement containing symmetry group(s).
The authors have also proposed techniques to generate an area optimal placement
based on a sequence-pair with symmetry constraints. Take vertical symmetry as
an example. Let xi and yi denote the x-coordinate and y-coordinate of cell i respec-
tively. Let widthi and heighti be the width and height of cell i. First, the authors
calculate the x-coordinates of all the cells according to the sequence-pair. Then,
they use a sweep to right methodology to recompute the positions of the cells on
the right side of the vertical symmetry axis. Finally, a similar step called sweep to
left is used to fix the positions of the cells on the left side of symmetry axis.
15
CHAPTER 2. LITERATURE REVIEW ON ANALOG PLACEMENT
Experimental results show that the authors can achieve better performance than
their previous works. It shows that sequence pair can handle symmetry constraints
very effectively.
In the paper [?], the authors handle symmetry constraints based on the Ordered
Tree (O-tree) representation [?]. According to the previous work, O-tree has ad-
vantages that: (1) It uses a small number of bits to encode a floorplan. Given a
floorplan containing n rectangles, only n(2 + dlgne) bits are used. (2) It uses linear
time to generate a placement. By using the O-Tree representation, the 1-D and
2-D symmetry constraints can be handled efficiently and qualified layout can be
generated in a shorter time.
In order to take symmetry constraints into account, two constraints are intro-
duced, namely Horizontal Symmetric Constraint (HSC) and Vertical Symmetric
Constraint (VSC). An O-tree that satisfies the HSC and VSC is called a X-Feasible
O-tree and a Y-Feasible O-tree, respectively.
Given a pair of symmetry device group (a, a0 ), a tree that satisfies the Horizontal
Symmetric Constraint, i. e., xa = xa0 , be named as Symmetric X-Feasible O-Trees.
A Horizontal Constraint Graph Gh is built to identify the symmetric x-feasibility
of a given O-tree. The authors proved that if there are no positive cycles in Gh ,
O-tree is symmetric x-feasible and a minimum width placement can be generated
in O(n2 ) time.
16
CHAPTER 2. LITERATURE REVIEW ON ANALOG PLACEMENT
Likewise, a Symmetric Y-Feasible O-Tree is a tree that satisfies the Vertical Sym-
metric Constraint. Suppose that ys is the y-coordinate of horizontal symmetry
axis, and h denotes the height of a device or a device group (a, a0 ). We can have
ha = ha0 and ya + ya0 + ha = 2ys , that represents the Vertical Symmetric Constraint.
The property of Symmetric Y-Feasible O-Tree is similar to that of Symmetric X-
Feasible O-Tree. When there are no positive cycles in the Vertical Constraint
Graph Gv , the O-tree is symmetric y-feasible. The time for constructing a min-
imum height placement is O(n2 ).
If an O-tree can satisfy both symmetry constraints (HSC and VSC), it is called
a Symmetric Feasible O-Tree. Given a Symmetric Feasible O-Tree, one can build
a packing of symmetry groups with minimum width and height. Experimental
result shows that the O-tree representation can handle symmetry constraints in
a relatively shorter time with similar quality and performance. Comparing with
those methodologies based on sequence-pair [?] and absolute coordinates [?].
17
CHAPTER 2. LITERATURE REVIEW ON ANALOG PLACEMENT
TCG was first presented in the paper [?], and extended to TCG-S in the paper [?].
For the TCG-S representation, two graphs Horizontal Transitive Closure Graph
Gh and Vertical Transitive Closure Graph Gv are used to represent the geometric
relations of the modules. Also, a packing sequence Γ− represents the topological
ordering of the horizontal transitive closure graph and the vertical transitive closure
graph. Each module is represented by a node in the graphs and for each pair of
nodes, there will be one and only one edge connects them. A TCG-S formed by
acyclic transitive closure graphs Gh and Gv , and a packing sequence Γ− .
The authors proved that for each TCG-S, one can always find a unique feasible
placement. Two more constraints should be satisfied if a TCG-S is symmetric
feasible, namely essence constraint and homology constraint. Essence constraint
requires the corresponding edge (nb , nb0 ) between a symmetric pair (b, b0 ) to be in
the vertical transitive closure graph Gv . To make sure that they have the same x-
coordinates, module b must below module b0 directly and the corresponding edge
(nb , nb0 ) exists in Gv . A homology constraint denotes the internal relationship of
two different symmetry pairs (a, a0 ) and (b, b0 ). That one of the following con-
ditions should be satisfied: (na , nb ) and (na0 , nb0 ) and both in Gh , or (nb , na ) and
(nb0 , na0 ) and both in Gh , or (na , nb ) and (na0 , nb0 ) and both in Gv , or or (nb , na ) and
(nb0 , na0 ) and both in Gv .
In order to pack all regular modules, the authors employ the longest path algo-
rithm on the new TCG. This method can obtain a symmetric-feasible placement.
The TCG-S representation is employed in a simulated annealing engine. The au-
thors defined five types of movements to perturb a TCG-S solution:
18
CHAPTER 2. LITERATURE REVIEW ON ANALOG PLACEMENT
• Swap: Swap two modules and update the corresponding nodes in both Gv
and Gh .
• Reverse: Reverse a reduction edge (there exists one and only one edge be-
tween na and na0 ) in Gv or Gh .
In the paper [?], Balasa shows a new topological representation based on Binary
Tree (B-Tree). Before this work, the B-Tree representation is used for slicing floor-
plan. The authors extended it to symmetric-feasible binary tree dealing with the
placement problem with symmetry constraints. Compared to the Sequence-Pair
technology and the O-Tree representation, the B-Trees representation has smaller
solution space than both Sequence-Pair and O-Tree. Experimental results show
that the running time of B-Tree is the shortest among all three representations.
19
CHAPTER 2. LITERATURE REVIEW ON ANALOG PLACEMENT
the in-order and pre-order traversal respectively. Suppose that we have a pair of
blocks (x, y) within a symmetry group, then a B-Tree is symmetric feasible if and
−1 −1
only if α−1 −1
x < αy ⇐⇒ βsym(y) < βsym(x) is satisfied.
Symmetric-feasible binary trees have two major properties that: (1) A symmetric-
feasible binary tree can represent any placement containing a symmetry group; (2)
One can obtain a minimum area placement solution from a symmetric-feasible bi-
nary tree in polynomial time. A quadratic time algorithm was proposed, and the
generated placement was proved to have the minimum area and satisfy the sym-
metry constraints.
Experimental results show that the B-tree representation has equivalent effect
when handling general placement problem, compared with sequence-pair and O-
Tree. When handling placement with symmetry constraints, symmetric-feasible
binary tree performs better than the other two topological representations (sequence-
pair and O-Tree). The authors tested the B-tree representation, compared it with
sequence-pair and O-Tree, and ran them on five test-cases (with symmetry groups).
B-Tree achieved the minimum running time in every test-case.
In the paper [?], Balasa proposed a new technique based on the segment tree data
structure. Using segment tree, symmetry constraints can be handled before the
simulated annealing process, which significantly reduce the size of the searching
space. Segment tree is one subset of B-Tree, which is widely used in computational
geometry.
A segment tree is a binary tree that can store intervals. It can be used to find the
exact interval that contains a given point. Each leaf node v represents an interval
20
CHAPTER 2. LITERATURE REVIEW ON ANALOG PLACEMENT
(or a segment). Assume that each node v contains an interval v.I, its left descendant
vl and its right descendant vr . Suppose that we have a segment from point a to point
b, denoted by v.I. Then we will have v.I = [a, b], vl = [a, a+b a+b
2 ] and vr = [ 2 + 1, b].
We consider symmetric placement along a vertical symmetry axis. The sym-
metry according to a horizontal symmetry axis is similar. Suppose that we have
cell A and B within one symmetry group. Then the symmetry constraint in the
segment tree can be described as follows. In the inorder traversal, if A precedes
B, then B’s symmetry counterpart sym(B) should precede sym(A) in the preorder
traversal. It can be described by the following equation:
Assume that there are two blocks Bi and B j , that form a symmetric pair. Sup-
pose that Bi is on the left and B j is on the right. Let yi and y j denote the y-
coordinates of these two blocks. A preorder traversal is performed. Suppose that
node Bi−1 is the closest ancestor of Bi , then the y-coordinate of Bi can be calcu-
lated as yi = max{yi , yi−1 + hi−1 }, where hi−1 is the height of Bi−1 . If Bi doesn’t
have any ancestor, then yi = max{0, yi }. Next, they will put y j = yi to make the
y-coordinates of Bi and B j equal. This calculation can be completed in linear time.
This calculation can be done in two rounds of traversals. In the first traversal,
horizontal symmetry will be satisfied by setting xi + (x j + w j ) = 2 · xsym , where w j
is the width of block B j and xsym is the x-coordinate of the vertical symmetrical
axis. Since there are other constraints such as the non-overlapping constraint, some
21
CHAPTER 2. LITERATURE REVIEW ON ANALOG PLACEMENT
symmetric blocks might be placed too far from the vertical symmetry axis on the
right side. A second traversal is required to adjust the position of the symmetric
blocks. In the second round, the position of left symmetric block of Bi will be
re-calculated and updated in the reverse order, by xi = 2 · xsym − (x j + w j ).
Experimental results show that the segment tree representation obtains the
shortest running time among sequence-pair and O-tree. It can also achieve good
performance in terms of circuit area. The authors propose segment tree based
technique that can directly handle symmetry constraints. It lead to a significant
shrinking of the solution space, which makes it better than O-tree and sequence-
pair.
In the paper [?], the authors proposed a new representation based on Corner Block
List (CBL) to handle the common-centroid constrained placement problem, called
Center-based Corner Block List (C-CBL). It is a complete and non-redundant rep-
resentation of packings with common centroid devices. Simulated annealing tech-
nique is used. Experimental results show that C-CBL can effectively handle the
common-centroid placement problem. Furthermore, for large test-cases, it can also
obtain high successful rate in shorter running time.
C-CBL Representation
Center-based Corner Block List is derived from the Corner Block List represen-
tation, which can handle mosaic packing problem very well. CBL and mosaic
packing are one-to-one mapped. Given a mosaic packing, one can obtain the CBL
representation by deleting corner blocks iteratively. For horizontal blocks, non-
crossing segment of T-shape junction is swept and deleted from left to right. For
vertical blocks (rotate T-junction by 90◦ counterclockwise), the deletion operation
22
CHAPTER 2. LITERATURE REVIEW ON ANALOG PLACEMENT
is done from bottom to the top. This process stops until only one block left. Sup-
pose the number of blocks is n, we use a set S to represent a sequence of of blocks
bi (i ∈ [1, n]), and a list L to represent orientation (defined by lower left corner T-
junction’s oriention). T = (t0 ,t1 · · ·ti , · · ·tn−1 ) is used to represent a list of informa-
tion about T-junction. When a corner block bi is deleted, the number of uncovered
T-junction is recorded in ti . The CBL is represented by a 3-tuple CBL = (S, L, T ).
Similarly, iteratively inserting corner blocks can transform a CBL representation
to a mosaic packing.
C-CBL is an extended version for CBL. It has nice properties to handle the de-
vice groups with symmetry and common-centroid constraints. C −CBL = (C, S, L, T ),
where C is the name of center block, and S, L, T remain the same meaning as CBL.
Methodology
The basic idea is to split each device di (i ∈ [1, n]) in a common centroid group
Gi = (d1 , d2 · · · di , · · · , dn ) into two pieces (ai , bi ), and pack half of Gi first then
pack another half using same common centroid packing methodology. C-CBL is
used to represent the common centroid placement.
To realize a placement from a C-CBL representation, the process is similar to
that of CBL. Since there are common-centroid constraints, additional adjustment
process will be performed. First, a Horizontal Constraints Graph (HCG) and a
Vertical Constraints Graph (VCG) will be constructed. Each block’s x- and y-
coordinates can be obtained by applying the longest path algorithm on HCG and
VCG. Assume that w and h are the width and height of block i respectively. Let
w(Gi ) and h(Gi ) be the width and height of a common centroid group Gi . The
upper right corner blocks’ positions need corresponding adjustment. Assume that
we insert block b after a. Then we have new x- and y- coordinate for upper right
corner block.
23
CHAPTER 2. LITERATURE REVIEW ON ANALOG PLACEMENT
symx (b2n−1 ) = symy (b2n−1 ) = b2n , symx (b2n ) = symy (b2n ) = b2n−1 (2.4)
The authors use simulated annealing algorithm as the searching method. They
define a series of movement operations for C-CBL. The orientation, aspect ratio
and information can be changed during the searching process, and two devices can
be randomly exchanged for the perturbation. Test cases with common-centroid
groups, with a total block number from small to large (e.g., 30 to 300), are tested
to verify the effectiveness of the new representation. An average deadspace of
8.29% is achieved, which is comparable to other previously used methodologies.
24
CHAPTER 2. LITERATURE REVIEW ON ANALOG PLACEMENT
Furthermore, they can handle mid- to large- size test cases (with more than 200
blocks), which previous methods failed to handle.
A new B*-Tree based algorithm Plantage, is introduced in this paper [?]. In this pa-
per, two key techniques, hierarchically bounded enumeration and enhanced shape
functions are presented. The hierarchically bounded enumeration technique can
divide the problem into a set of sub-problems. After solving all the sub-problems,
the combining procedure combines these solved sub-problem to obtain the final
placement result of the completed circuit. This divide-and-conquer algorithm can
avoid those time-consuming procedures for evaluating a huge number of B*-Trees.
The enhanced shape function is an extended version of shape function, which is
used to store pareto optimal results efficiently.
The major contribution of this work are: (1) This work presents the first de-
terministic algorithm that can handle many analog circuit placement constraints
(proximity constraints, symmetry constraints, common-centroid constraints, min-
imum distance constraints and variant constraints). (2) Hierarchically bounded
enumeration and enhanced shape functions are employed to enhance the perfor-
mance of the algorithm.
This work based on the B*-tree representation, since B*-tree has little redundancy
in the solution space. The authors introduced two new techniques, hierarchically
bounded enumeration and enhanced shape functions, that enables customer to
25
CHAPTER 2. LITERATURE REVIEW ON ANALOG PLACEMENT
choose the best result from a set of candidate solutions with different aspect ra-
tios, which improve the design flexibility.
Same as B*-Tree, constraint graphs are used to represent the horizontal and
vertical relationship between modules. In order to meet the requirement of sym-
metry constraints and common-centroid constraint, an arbitrary linear constraint
is employed to handle these problems. A set of constraints should be satisfied in
the vertical and horizontal direction. Two matrix Mv and Mh are defined, together
with the corresponding elements dv and dh , describing the minimum distance con-
straints. Where dv and dh denote the vertical and horizontal distance between
two individual modules’ centers. Matrix Cv and Ch represent the symmetry and
common-centroid constraints. Vectors ~x and ~y are the x- and y- coordinates of
the modules. Symmetry constraints and common-centroid constraints are encoded
in two vectors, ~kv and k~h . The vertical and horizontal symmetry and common-
centroid constraints can be formulated as follows:
~ v ·~y = ~kv , C
C ~h ·~x = k~h ; (2.5)
The authors also employ enhanced shape function and hierarchically bounded
enumeration to improve their analog placement tool. The tool Plantage can pro-
duce high quality layouts, although the running time is a bit longer than that of
sequence-pair with dummy nodes [?] and symmetry island [?].
A series of experiments are designed to show the advantages of this work. Plan-
tage with hierarchically bounded enumeration and enhanced shape functions is
compared with some popular methodologies, such as sequence-pair [?], segment
tree [?], sequence-pair and linear programming [?], sequence-pair with dummy
nodes [?], symmetry island [?], sequence-pair with Johnson’s priority queue [?].
26
CHAPTER 2. LITERATURE REVIEW ON ANALOG PLACEMENT
Results show that Plantage can generate a placement result in acceptable running
time, with comparable area usage.
In the paper [?], the authors propose a new concept named symmetry island that
place some pairs of matching devices closely and symmetrically, to handle the
marching between devices. They modify the B*-tree, and propose a new represen-
tation based on it. This new representation is automatically symmetry feasible and
is called automatically symmetry feasible B*-Tree (ASF-B*-tree). ASF-B*-tree
can be used to model a symmetry island. In order to handle symmetry islands and
non-symmetry islands simultaneously, the authors propose hierarchical B*-tree
(HB*-tree) framework. An ASF-B*-tree can be a node of HB*-tree. HB*-tree is
a novel hierarchical framework which can dynamically update the shapes of sym-
metry islands and can handle symmetry and non-symmetry devices. It’s an analog
placement algorithm with linear packing time.
The authors use ASF-B*-trees to represent symmetry groups. They first define
the representative B*-tree, constructed by representative nodes. Suppose there is a
symmetry pair (b, b0 ), where b is the left (or bottom) device and b0 is the right (or
top) device. Then the representative block br of this pair is b0 . For a self-symmetry
device b, the representative block br is the right (or top) half of b. The other part
of a symmetry pair or self-symmetry device is called non-representative block. A
placement is symmetric if the non-representative blocks of pairs or devices can be
placed symmetrically with their representative blocks. A symmetry representative
B*-tree is an ASF-B*-tree.
27
CHAPTER 2. LITERATURE REVIEW ON ANALOG PLACEMENT
Figure 2.1: HB*-Tree Example: (a) Placement with Symmetry Group bs0 . (b) The
Corresponding ASF-B*-tree of Symmetry Group. (c) Hierarchical B*-tree.
The research work done by Chou et al [?], consider symmetry constraints and regu-
larity during the whole analog placement generating process. Symmetry placement
is required to reduce harmful electrical effects. For example, parasitics effect will
28
CHAPTER 2. LITERATURE REVIEW ON ANALOG PLACEMENT
After the input information (modules information, netlist, symmetry and common-
centroid constraints) is parsed by the tool, module classification will be performed
to identify the sizes and dimensions of the modules. Modules with the same size
will be identified and form a regular structure. Empirically, regular group with
close to one aspect ratio usually has a good matching property. A score table is
computed and a score is calculated for every possible regular group. Given m
possible regular structures for a regularity hierarchical node, let wi and hi be the
width and height of the corresponding regular structure ri (i ∈ [1, m]). The score s
will be calculated by following equation:
m
min(wi , hi )
s= ∑ (2.6)
i=1 max(wi , hi )
A score of regularity node can be used to decide the probability for changing
the node when perturbation is performed. Next, new types of moves are defined
and corporate with heterogeneous B*-tree moves, e.g., merge/split and reshape. In
the final step, new cost function for regularity cost calculation is proposed to guide
the placement result.
The heterogeneous B*-trees are derived from the B*-trees representation and in-
herit the advantages, such as linear time packing and flexible movement. Com-
29
CHAPTER 2. LITERATURE REVIEW ON ANALOG PLACEMENT
pared to the original B*-tree. It contains symmetry nodes and regularity nodes.
Both nodes are hierarchical nodes of B*-Tree. Symmetry nodes are used to rep-
resent symmetry group. Symmetry constraints are observed to ensure that the de-
vices in a symmetry group will be placed on both sides and have the same distance
from the symmetry axis. Regularity nodes are nodes used to model modules that
should be placed in a regular structure, e.g., in a row-like, column-like placement
pattern or in a rectangular shape with several rows and columns. These regularity
constraints are predefined by the designer. By applying these constraints, running
time for modules packing is shorten and the wirelength is decreased because de-
tours and bends are eliminated.
The algorithm can handle symmetry constraints and regularity requirement si-
multaneously. Two cases are studied in this paper: (1) regular structures with
symmetry and non-symmetry modules, and (2) regular structures with modules in
different symmetry islands. For the first condition, the algorithm allows merging
operation between non-symmetry modules and symmetry modules. This operation
can form a regular group. It should be pointed out that merging can only be al-
lowed on the boundaries of regular structures to satisfy the symmetry requirement.
For the second case, when there are modules belonging to more than one symme-
try groups and appearing in same regular structure, the technique allows merging
these symmetry groups into a new larger one (by adding pseudo wires to connect
them). A corresponding symmetrically hierarchical node is created to represent
the new symmetry group, which will be included into automatically symmetric
feasible B*-tree.
Two sets of experiments are performed. In the first phase, three key results (area,
half-perimeter wire-length and running time) are measured, the authors compare
30
CHAPTER 2. LITERATURE REVIEW ON ANALOG PLACEMENT
their work with other representations, e.g., sequence-pair, HB*-Tree. They also
test their heterogeneous B*-Trees with and without the regularity consideration.
It turns out that the heterogeneous B*-Trees without regularity constraints obtain
+4% circuit area, +10% wirelength but the running time is decreased by 4%.
They also compare the routing results for their generated placement. Heteroge-
neous B*-Trees with regularity constraints also has the best performance in over-
flow, via cost, wire-length and running time, and the corresponding reductions are
17%, 10%, 16% and 6%, respectively.
2.3 Summary
In this chapter, some previous works are studied and reviewed. We review previous
works on topological representations handling symmetry constraints and common-
centroid constraints, such as Sequence-Pair [?] [?], O-Tree [?] [?], B-Tree [?],
B*-Tree [?], Segment Tree [?], and TCG-S [?].
Some recent works further extend based on the above representations. For
example, some researcher improve and extend on B*-Tree [?] [?]. Strasser [?]
proposed a deterministic placement algorithm based on B*-Tree using hierarchi-
cally bounded enumeration and enhanced shape functions to handle 1-D and com-
mon centroid constraints. For the common centroid constraint. Ma [?] proposed a
method based on the C-CBL representation.
2 End of chapter.
31
Chapter 3
Common-Centroid Analog
Placement
In analog circuit design, devices need to be placed symmetrically (both 1-D and
2-D symmetry) to satisfy the matching property. Besides, some electrical prop-
erties such as parasitic effects and thermal effects should be taken into account
among the analog circuit design, which significantly increases the difficulty of the
problem. Compared to the general ASIC placement problem, the analog place-
ment problem has more constraints to make sure that the placement result will sat-
isfy those complicated requirements on electrical characteristics. This is usually
a time-consuming and error prone process and takes experienced circuit designers
couples of days to complete the whole layout design process. Our research focuses
on generating qualified layout automatically by using our automatic layout design
tool.
In this chapter, we propose our placement method that is based on a simulated
annealing engine using sequence-pair as the representation. We are given a netlist
of devices and a layout library for each device. The objective is to generate a
routable placement of the devices with small area, wirelength and good matching
32
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
properties such that all the user specified constraints are satisfied. We assume that
the users will input the symmetry constraints and placement constraints. In the
input netlist, some devices are specified by the users as belonging to a symmetric
group and are thus required to be placed symmetrically with respect to a single
point (common centroid constraint) or to an axis (1-D symmetry constraint) to
reduce mismatch errors. Our proposed method can handle symmetry constraints
and common centroid placement in analog placement very well. We describe the
practical technique that places devices (transistors, resistors and capacitors) in a
more symmetrical way. A detail interleaving placement method is proposed, with
flexible options on device orientation, row (column) number, order (defined by
input and output pins’ order), etc. It can generate different symmetrical placement
by choosing different combination of those placement configuration.
During the placement process, we also need to consider the routablility issue.
In analog design, wires will often avoid going above the active area of the devices
to reduce crosstalk effect between the devices and the wires. Thus the original
compact realization of sequence pair is not practical. A layout expansion of the
originally compacted placement is needed to get enough routing resources. We
will present an expansion method based on congestion estimation with trade-off
between area and routability. We employ a routing tool to test the routability of
our placement with this layout expansion technique. Results show that we can
obtain higher routing completion rate with this technique.
• Input:
33
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
– Netlist.
– Constraints:
A list of constraints specified by the layout designer, e.g., symmetric
pairs, symmetric nets, clustering constraints and merging constraints,
etc.
• Output: A layout satisfying all the constraints and can pass the checks and
verifications.
A set of key parameters are used to measure the quality of placement result,
such as the area, HPWL (half-perimeter wire-length), overlap, timing, congestion,
etc. Among those factors, area and HPWL are commonly used in the cost function,
helping the search engine to find a placement result with the minimal cost com-
puted by a weighted sum of the area and HPWL. A qualified placement should
have the following properties:
After a circuit is designed, we will take the netlist and the layout library from
the foundry as inputs of our tool. Simulated annealing will be used to place the
34
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
devices satisfying the symmetry and other placement constraints. Congestion esti-
mation and layout expansion will be performed in each iteration of the annealing
process in order to produce a placement with good routability. Routing will then
be performed on the placement result handling both the complete and partial sym-
metrical nets. After a final layout is generated, verification including Design Rule
Check (DRC), Layout Schematic Check (LVS) and post-simulation will be per-
formed to validate the correctness and quality of the output by extracting the key
parameters of the circuits, e.g., DC gain, bandwidth, phase Margin and CMRR
values. Monte Carlo simulations will also be performed at the end to evaluate the
matching properties of the devices under different kinds of variations.
35
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
tant issue in analog design. In order to achieve this, we emphasize the following
two features of our analog placement methodology:
36
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
37
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
Some symmetric resistors pairs are needed to be placed in a common centroid way
to reduce the mismatch error. In our placement tool, we can change the placement
of resistors by modifying the following configurations:
• Row (column) number: This will affect the shape of the resistors group.
• Orientations: Each resistor has it’s own orientation. Modifying the orienta-
tions will change the wire connection pattern.
• Connection order: Connection order specify the orders of input and output
pins.
Figure 3.2 shows an example. This example shows a symmetric pair A and B of
2×6 transistors. Instead of placing them separately on the two sides of a symmetry
axis as shown in Figure 3.2(a), we will place them in a common centroid fashion
by interleaving the resistors as shown in Figure 3.2(b). Note that each group of
resistors are connected in series. Comparing with the placement in Figure 3.2(a),
this common centroid way of placement will bring extra cost for interconnection
and this occurs only when we need to connect resistors on the two sides of the
symmetry axis, e.g., connect the rightmost A on top to the rightmost A below and
connect the rightmost B on top to the rightmost B below. This will occur only
once for each group with our common centroid placement configurations and the
additional cost in interconnection will be very low in practice, comparing with the
total wirelength of the whole circuit. The experimental results have also confirmed
this.
38
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
Figure 3.2: Common Centroid Placement for Symmetric Pair with 2 × 6 Resistors
and Their Routing Patterns: (a) 1-D Symmetric Placement. (b) Common Centroid
Placement.
Further to the example shown in Figure 3.2(b), we use Figure 3.3 to illustrate
how the assignment of input and output pins affect routing. Different input and
output positions lead to different routing patterns and affect the total wire length.
In this example, we assume that the height and width of each device is 2.0µm and
0.4µm respectively, and the spacing between the upper side and the lower side is
1.0µm.
39
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
Figure 3.3: Common Centroid Placement for Symmetric Pair with 2 × 6 Resistors.
Different Routing Patterns and Wire Lengths.
Figure 3.3 lists 8 different routing patterns and the corresponding wire lengths.
Figure 3.3(a)-(d) shows conditions that pins of device A and B are all positioned on
the left side of the device group. We omit the conditions that pins are assigned on
the right side of device group, because they are similar to that of Figure 3.3(a)-(d).
Figure 3.3(e)-(h) illustrates the conditions that pins of A and B placed at differ-
ent sides of the device group. We get different wire lengths because of different
routing methodologies. In Figure 3.3(a)-(h), we can find that different placement
40
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
patterns lead to different wire lengths. It ranges between 13.42µm and 24.90µm.
Interconnections are the major reason for different wire lengths. In these 2-D sym-
metric placements, some long connections that across the symmetry axis bring
additional wire length in comparison with the 1-D symmetric placements. The
distance between the upper and the lower halves will also affect the total wire
length.
When we decide which routing pattern to be used, we should consider the wire
length globally. We also need to consider the affects of the routing pattern on the
symmetric placement and the routings of other nets. In practice, Figure 3.3(a) and
(e) are commonly used.
In general, all symmetric resistor pairs of size 2 × n can be divided into four
groups depending on the value of k = n mod 4. The common centroid placements
for the cases when n = 4, 5 and 7 are shown in Figure 3.4 and the other cases are
similarly generated. All these configurations can lead to better symmetric routing
with shorter wire length.
41
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
Figure 3.4: Common Centroid Placement of Resistor and Their Routing Patterns:
(a) 2 × 4 Resistors, (b) 2 × 5 Resistors, (c) 2 × 7 Resistors.
for the available test cases, these 2-row placement patterns are good enough for optimization.
42
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
43
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
We can also apply similar techniques to symmetric pairs of transistors. This tech-
nique is widely used in differential pair transistors. Figure 3.6 shows an example.
In this example, two symmetric transistors A and B are divided into six parallel
sub-devices respectively. Instead of placing them separately on the two sides of a
symmetry axis as shown in Figure 3.6(a), we will place them in a common cen-
troid fashion by interleaving the sub-devices as shown in Figure 3.6(b) and (c).
Since each sub-device have their input pin i and output pin o, the locations of these
pins will affect the orientation of the symmetric group. The orientations are il-
lustrated by arrows that start from i and point to o. Our tool allows designer to
select orientation options (same or opposite) and generate a corresponding lay-
out. Figure 3.6(b) shows the two halves of this group opposite orientations, while
Figure 3.6(c) shows a placement with same orientation.
44
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
Figure 3.6: Common Centroid Placement of Transistors: (a) 1-D Symmetric Tran-
sistor Placement. (b) Common-Centroid Transistor Placement with Opposite Ori-
entations. (c) Common-Centroid Transistor Placement with Same Orientation.
Figure 3.7 shows the corresponding wiring topologies of Figure 3.6. Orienta-
tions will affect routing pattern and wire length. In common centroid placements,
there are both A and B on each side of the symmetry axis. Wire length is increased
because of the additional wires needed to connect sub-devices of A (or B) on the
two sides of the symmetry axis. The length of the additional wires is related to the
distance between the lower and upper sub-groups and the height2 of the transistors.
We can see from Figure 3.7(a) that 1-D symmetry has the shortest wire length of
29.00µm, and Figure 3.7(b)(c) show 47.74µm and 45.00µm, respectively. Wires
1, 2, 3 and 4 marked in Figure 3.7(c) are the additional wires in comparison of
the 1-D symmetric placement shown in Figure 3.7(a). In real design, we usually
use the placement pattern shown in Figure 3.6(c) because it’s easier for symmetric
2 It’s related to the device width when the symmetry axis is vertical.
45
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
routing. This placement pattern also reduces the wire density in the area between
the two symmetric halves. Note that transistors belonging to the same group will
be connected in parallel. The wiring topology is the same no matter what the value
of m is in a symmetric pair of size 2 × m.
Figure 3.7: Common Centroid Placement of Transistors and Their Routing Pat-
terns: (a) 1-D Symmetric Placement. (b) Common Centroid Placement with Op-
posite Orientations. (c) Common Centroid Placement with Same Orientation.
In Figure 3.7, we assume that each device’s height and width is 2.5µm and
0.5µm, respectively. The spacing between the upper side and lower side is 1.2µm.
The percentage of increase on wire length becomes smaller when m becomes
larger. That’s because it’s only need to add four additional wires (see wires 1, 2,
3 and 4 in Figure 3.7(c)) no matter which number m is. Comparing Figure 3.7(a)
and Figure 3.7(c), the wire length increases from 29.00µm to 45.00µm. If we have
more sub-devices, the percentage of increase will further drop.
46
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
Rule 5: Cross couple arrayed capacitors to minimize the effects of oxide gradi-
ents.
47
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
candidate sizes, there are two choices for the relative placement between A and B
and there are four choices for the placement orientation. To illustrate this better,
we use the size of (row, column) = (4, 6) as an example in the following figures.
Figure 3.8 shows the two different configurations with different relative placement
between A and B.
Figure 3.8: Two Different Common Centroid Placement of Capacitor Pairs: (a)
Interleaving Placement; (b) Symmetric Placement ABBA.
For each of these possible configurations, there are four possible choices for the
placement orientation as shown in Figure 3.9. Note that different orientations will
lead to different pin positions and the routing will be affected. In our methodology,
we choose to have the same orientation for capacitors in the same row and we allow
the rows on one side of the symmetry axis to either have the same orientation or
have alternating orientations. Therefore, for this example of symmetric capacitor
pair, there will be a set of 5 × 2 × 4 possible candidate placement configurations to
choose from.
48
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
Figure 3.10 shows two examples of different routing patterns. Figure 3.10(a)
corresponds to the placement with orientation choice shown in Figure 3.9(b). Fig-
ure 3.10(b) shows the routing pattern of a symmetric placement. Although Fig-
ure 3.10(b) has a shorter wire length, the matching property might not be as good
as that of Figure 3.10(a). We give designer plenty of flexibilities to generate differ-
ent layouts by selecting different combinations of placement configurations. They
49
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
can choose suitable placement according to design requirements and circuit per-
formance.
Figure 3.10: Two Different Routing Pattern: (a) Interleaving Placement; (b) Sym-
metric Placement ABBA.
50
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
approach in [?]. Additional steps will be taken to distribute the congestion mea-
sures over the blockages (which are active devices in our case) to the surrounding
in order to obtain an accurate estimation. After that, each room in the n × n grid
will be expanded proportionally according to the congestion estimations while the
devices in the room will be moved correspondingly. Details of these two steps will
be described below.
• Calculate the vertical (cv ) and horizontal (ch ) wire capacities: cv = h/z and
ch = w/z, where h and v are the width and height of a room, and z denotes
the sum of the minimum wire width and the minimum wire spacing.
• For each room (i, j), use the method proposed in [?] to calculate the conges-
tion value. Then we can get vertical congestion and horizontal congestion
denoted by congv and congh respectively.
• Expand the room to different size according to the routable space pencentage
of each room.
• Calculate and update the new positions of the devices by computing longest
paths in the horizontal and the vertical constraints graphs.
There are many methods to calculate the congestion values. Jiang et al [?] pro-
posed a method to estimate congestion by calculating the percentage of congested
bins in the bounding box of a net. Sham [?] also proposed a method to do esti-
mation of congestion. A 3-steps congestion estimation methodology is used in [?]
starting with a preliminary estimation, detailed estimation and congestion redistri-
bution are performed repetitively.
51
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
• Boundary grid: the grid that lies on the left or right (top or bottom) boundary
of a blockage.
• Inside grid: the grid that lies inside the boundary of a blockage.
For each grid covered by blockages, the vertical congestion distribution and the
horizontal congestion distribution will be performed respectively. Assume that the
x-coordinates of the left and right boundaries of a blockage B are L and R. Denote
by B and T the y-coordinates of the bottom and the top boundaries of blockage
B. We will distribute the horizontal congestions to the bottom and top neighboring
grids according to the distances between the grid and G(i, j) . The percentage of
52
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
distribution is inversely proportional to the distance. That is, the vertical conges-
tion of G(i, j) will be distributed to left and right side. Suppose that G(i, j) ’s vertical
R−i
congestion value is congv [i][ j], we will distribute ( R−L )congv [i][ j] to the left neigh-
i−L
boring grid. The remaining ( R−L )congv [i][ j] will be distributed to right neighbor-
ing grid of right boundary. Similarly, we will distribute the horizontal congestion
congh [i][ j] to the bottom and top neighboring grids. The top neighbor grid will get
T−j
( Tj−B
−B )congh [i][ j], and the bottom neighbor grid will get ( T −B )congh [i][ j]. After
all these distributions, the horizontal and vertical congestions of G(i, j) is 0. Fig-
ure 3.11 illustrates how the congestion measures in the middle part of a blockage
can be distributed to the sides.
Figure 3.11 shows a blockage that covers 4 × 5 grids. Take one grid G(i, j) as
example, Figure 3.11(a) and Figure 3.11(b) show how to redistribute congestion
vertically and horizontally. In Figure 3.11(a), we distribute horizontal congestion
congh [i][ j] to the bottom and top. Let the distance between G(i, j) and the top
neighboring grid be 3, and the distance to the bottom neighboring grid be 2. Then
53
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
2
5 congh [i][ j] will be distributed to the top neighbor grid, and 53 congh [i][ j] goes to
the bottom. Similarly, vertical congestion congv [i][ j] is distributed to the left and
right neighbors using the same method.
The methodology can be described by the following pseudo code of Algorithm.
54
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
56
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
over-sized layout on the other hand. Besides, since this congestion estimation and
layout expansion step will be performed in every iteration of the annealing process,
a fast approach is needed.
Similar to the congestion estimation step, the originally compacted packing
will be divided into a n × n grid and the routable space percentage X[i][ j] will be
calculated for each room (i, j). The routable space percentage is the white space
percentage in a room that is not occupied by any blockages. We then compute the
overflow value for each room. For each room (i, j), we have already obtain con-
gestion information from the congestion estimation step. A variable δ is defined as
the difference between the horizontal (vertical) congestion and horizontal (verti-
cal) wire capacity. We use following equations to calculate the horizontal overflow
δh and vertical overflow δv , respectively:
If the horizontal (vertical) overflow δh (δv ) is smaller than 0, it means that the
grid has enough space for routing wires. Then the room does not need to be further
expanded in the horizontal (vertical) direction. If δh (δv ) is positive, it indicates
that there still need at least additional δh of height (δv of width) for successful
routing. Furthermore, we should update the horizontal (vertical) constraint graph,
according to the expansion in the horizontal (vertical) direction. Details of this
layout expansion step are given by the following pseudo code.
57
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
9: end for
10: for each device D do
11: Let the x-coordinates of the left and right boundaries of D be L and R. Let
the y-coordinates of the bottom and top boundaries of D be B and T .
12: Find the horizontal displacement expandx by accumulating the expandh val-
ues: expandx = maxTj=B ( ∑Ri=L expandh [i][ j])
13: Add an edge from source to D in the horizontal constraint graph with weight
expandx .
14: Find the vertical displacement expandy by accumulating the expandv val-
ues: expandy = maxRi=L ( ∑Tj=B expandv [i][ j])
15: Add an edge from source to D in the vertical constraint graph with weight
expandy .
58
16: end for
17: Update the coordinates of all the devices by computing the longest paths in
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
• Move 5: Change the row and column numbers. This move affects the shape
of the device group and the detail routing pattern for those devices.
• Move 7: Change the orientation. This move will affect the I/O pin positions
and thus the routing pattern.
In order to reduce the placement area and parasitic effect, we introduce a technique
that can change devices’ position in symmetry group to shrink the size of symmetry
59
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
60
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
The quality of a placement result is highly related to the cost function used. In or-
der to further reduce the deadspace introduced by symmetry group(s), we employ
a new cost function in the simulated annealing approach.
61
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
where Area(F) is the area of the placement, Wire(F) is the HPWL wire length, and
∑i∈[1...n] Areai (sym group) is the total area of symmetry groups. The parameter α
is set by running a random walk for 1000 iterations before the simulate annealing
process to find a value that balances the average area and wire-length costs. The
parameter β is the weight of symmetry group. Empirically, β ranges from 0.5 to 5
and it can be chosen by the users according to different requirements of different
testcases. If the users are very sensitive to deadspace then they can choose a high
β, and vice versa. We use the third term β ∑i∈[1...n] Areai (sym group) to control
the quality of the placement result. In most cases, setting β = 1 can decrease the
deadspace by 5% to 20%. In our experiments, we set the value of β is equal to one.
According to the previous experimental results, a lot of deadspace was related
to those self-symmetry devices in a symmetry group. Our new cost function takes
all of these factors into account. In our approach, the areas of the symmetry group
are considered and our simulated annealing search engine can find a placement
with smaller deadspace.
3.6 Summary
In this chapter, a complete and high quality layout methodology for analog circuits
is presented. Our proposed common centroid placement is integrated into the tool
to reduce the mismatch errors. It offers higher flexibility and to change the place-
ment of devices (transistors, resistors and capacitors), especially for those within
symmetry group. An accurate congestion estimation model and a layout expansion
technique are applied during the simulate annealing process to further improve the
routability.
62
CHAPTER 3. COMMON-CENTROID ANALOG PLACEMENT
2 End of chapter.
63
Chapter 4
64
CHAPTER 4. EXPERIMENTAL RESULTS AND MONTE-CARLO
SIMULATIONS
Table 4.1: Testcase Information for OTA1, OTA2, OTA3 and AMP1
Data Device Number Device Net Sym Group
Set Capacitor Resistor PMOS NMOS Total Area (µm2 ) Number Number
OTA1 20 17 12 16 65 17057.8 32 42
OTA2 16 19 12 16 63 15094.7 34 44
65
CHAPTER 4. EXPERIMENTAL RESULTS AND MONTE-CARLO
SIMULATIONS
Table 4.2 shows the results of our new congestion estimation and layout ex-
pansion technique make improvement for the testcase OTA 1. We can reduce the
deadspace percentage, minimize the wirelength and decrease the number of vias
using our technique. We obtain a result of 0.91%, 0.97% and 0.92% for deadspace,
wire length and via respectively, compare with our previous work. Similar to OTA
1, the experiments on OTA 2 also get all factors decrease. It leads to the biggest
improvement of deadspace, which is 17% better than before. Improvement also
occurs on the wirelength (2%) and vias (5%), respectively. OTA 3 has the largest
number of devices and circuit size. Experimental results show that our approach
can make all required factors decreased, see Table 4.4.
Besides considering the circuit area and wire length, routability is also a very
important issue. The quality of placement will affect the routing process signifi-
cantly. We test on 3 test cases (OTA 1, OTA 2 and OTA 3) to verify the routability
of our placement. Compare the routabiligy of the placements generated from our
tool (with congestion estimation and layout expansion technique1 ) and those from
the previous work [?]. In the experiments, we use a variable seed to generate
different initial placement. Then we use our router to perform routing on those
placements to obtain the number of successful routing out of 100. We also show
the running time, area, wire length and via information for reference.
Table 4.5 shows that our new approach can improve the routability property for
all 3 test cases. The routability of OTA1, OTA2 and OTA3 are improved by 7%,
8% and 4%, respectively.
1 Detail about these techniques is described in Section 3.4
66
CHAPTER 4. EXPERIMENTAL RESULTS AND MONTE-CARLO
SIMULATIONS
Average 21.31% 4915 468 18.65% 0.91 4755 0.97 431 0.92
67
CHAPTER 4. EXPERIMENTAL RESULTS AND MONTE-CARLO
SIMULATIONS
Average 31.09% 3741 414 26.03% 0.83 3597 0.98 390 0.95
68
CHAPTER 4. EXPERIMENTAL RESULTS AND MONTE-CARLO
SIMULATIONS
Average 22.14% 3960 423 19.91% 0.91 3845 0.98 406 0.97
Dead Space Wire (µm) Via Time (s) Routability Dead Space Wire Via Time Routability
OTA1 21.82% 5344 460 131 74% 18.63% 4648 425 117 81%
OTA2 32.91% 3812 420 143 71% 28.17% 3629 407 185 79%
OTA3 23.75% 4530 437 476 67% 20.97% 3907 421 507 71%
69
CHAPTER 4. EXPERIMENTAL RESULTS AND MONTE-CARLO
SIMULATIONS
• Study of layout with symmetry group as (1) one whole group. (2) being
divided into several sub-groups.
• Study of layout with (1) large size capacitor arrays and (2) small size capac-
itor arrays.
Spectre Monte Carlo Simulation is employed to model different devices that need
matching with each other in an analog circuit. We use the modeling method de-
scribed in the guide book [?]. In order to run Monte Carlo simulation, we should
also specify the process parameter during the manufacturing process and the statis-
tical variation parameters. We also need to specify the correlation coefficients for
the matching pairs. Matching can be classified into two major categories, common
matching and well matching. In our designs, the devices that interleavely placed in
a close distance with their matching pair can be modeled as well matching devices.
The correlation coefficient of those devices is equal to 1. Devices in a symmetry
group that are placed in 1-D symmetry can be treated as common matching de-
70
CHAPTER 4. EXPERIMENTAL RESULTS AND MONTE-CARLO
SIMULATIONS
XRSP Mismatch parameter, 0 10 for perfect match and 0 00 for not match
vices. The correlation coefficient for common matching devices is related to the
center-to-center distance d between two matching device.
Common-Mode Rejection Ratio (CMRR) is the key parameter to measure the
mismatch property of a layout. Generally speaking, a value of 70dB is adequate for
amplifier output. Some high-end devices may requires higher CMRR of 120dB or
even more. In our test cases, OTA1, 2 and 3 require a CMRR of 70dB, and AMP1
requires a CMRR value larger than 90dB.
In analog layout design, designers may place devices closely to reduce circuit
area and wirelength. However, asymmetric and may result in downgrading of the
matching property. Placing devices in symmetry is a common method to achieve
better matching property. A symmetry group may contain several symmetry pairs.
We can specify symmetry group information in the specification file of our place-
ment tool.
71
CHAPTER 4. EXPERIMENTAL RESULTS AND MONTE-CARLO
SIMULATIONS
Figure 4.1: Layouts with and without Symmetry Group(s), (a) Layout without
Symmetry Group, and (b) Layout with Symmetry Group
72
CHAPTER 4. EXPERIMENTAL RESULTS AND MONTE-CARLO
SIMULATIONS
Table 4.7: Monte Carlo Simulation Result for Layouts with/without Symmetry
Group.
Layout without Symmetry Group
OTA1 55.50 1.20 69.40 0.30 64.30 0.80 -20.80 1.20 76.30 1.00
OTA2 66.10 0.66 65.25 0.09 57.24 1.48 -23.60 10.00 89.70 1.00
OTA3 62.49 1.07 65.71 0.57 65.59 1.80 -20.34 5.16 82.83 1.00
AMP1 82.00 0.60 26.50 0.48 58.20 1.10 -22.50 2.40 104.50 1.00
OTA1 57.39 1.51 68.26 0.34 65.07 1.12 -22.01 1.20 79.40 1.04
OTA2 69.99 0.92 65.70 0.18 56.93 1.97 -23.47 8.98 93.46 1.04
OTA3 61.73 1.98 67.04 0.74 60.90 1.07 -21.40 5.16 83.13 1.00
AMP1 85.18 0.92 27.13 0.70 56.84 1.21 -25.73 2.59 110.91 1.06
Self-symmetry devices are part of a symmetry group. We can specify some par-
ticular devices as self-symmetry devices in a symmetry group. Figure 4.2 shows
layouts that with and without self-symmetry device. Device group 1 and device
group 2 (in red color) are placed independently in Figure 4.2(a). They have con-
nections with the upper and lower half of a symmetry group. In order to study the
effect of having self-symmetry devices, we form them as a self-symmetry devices
in the symmetry group (red rectangle in Figure 4.2(b)). For our four test cases,
we select transistors and form them in a self-symmetry group because they have
connections with resistor and capacitor symmetry pairs.
Table 4.8 compare the Monte Carlo simulation results of layouts with and with-
73
CHAPTER 4. EXPERIMENTAL RESULTS AND MONTE-CARLO
SIMULATIONS
Figure 4.2: Layouts with and without Self-Symmetry Group(s), (a) Layout without
Self-Symmetry Group, and (b) Layout with Self-Symmetry Group
In this section, we want to study the effect of having different number of symmetry
groups. Having small symmetry groups will allow higher flexibility in placement
and deadspace might be reduced.
We test our test cases with 2, 3 and 4 small symmetry groups. For the layout
with 2 symmetry groups, resistors are formed in a symmetry group, transistors
and capacitors are formed in another symmetry group since the connection type
of these two devices are both parallel. For the layout with 3 symmetry groups,
resistors, transistors and capacitors are grouped separately. For the layout with 4
symmetry groups, we apply similar strategy with 3 symmetry groups, choose the
group with the largest number of devices and divide it into two smaller ones. Fig-
74
CHAPTER 4. EXPERIMENTAL RESULTS AND MONTE-CARLO
SIMULATIONS
Table 4.8: Monte Carlo Simulation Result for Layouts with/without Self-
Symmetry Group.
Layout without Self-Symmetry Group
OTA1 56.30 1.45 68.92 0.54 67.31 0.75 -23.79 2.16 80.09 1.00
OTA2 66.41 0.76 66.49 1.21 59.31 1.69 -23.82 9.78 90.23 1.00
OTA3 61.39 1.92 64.95 0.83 66.94 1.39 -19.59 7.98 80.98 1.00
AMP1 79.40 0.78 28.69 0.59 59.78 2.09 -22.31 3.01 101.71 1.00
OTA1 57.90 2.98 68.47 1.09 66.30 1.32 -24.09 1.97 81.99 1.02
OTA2 66.21 0.83 67.32 1.22 68.04 1.09 -20.91 9.97 87.12 0.97
OTA3 61.73 1.03 65.42 1.04 68.35 1.24 -20.02 6.17 81.75 1.01
AMP1 87.22 1.27 28.49 1.37 57.42 1.97 -25.30 3.90 112.52 1.11
ure 4.3 shows layouts with different numbers of symmetry groups. Figure 4.3(b)
shows a layout in which the big symmetry group is divided and placed in three
smaller symmetry groups (in three different colors).
Figure 4.3: Layouts with Different Number of Symmetry Group(s), (a) Layout
with 1 Whole Symmetry Group, and (b) Layout with 3 Symmetry Groups
75
CHAPTER 4. EXPERIMENTAL RESULTS AND MONTE-CARLO
SIMULATIONS
Table 4.9 shows the simulation results of layouts with one symmetry group,
and layouts with smaller symmetry groups. The number in the brackets after the
name of test case is the number of symmetry groups, e.g.: OTA2(3) means OTA2’s
with 3 sub-groups. Simulation results show that when we divide a symmetry group
into smaller ones, the CMRR will be reduced.
As mentioned in Section 3.3.3, we divide capacitors into smaller pieces and place
them in different orientations and relative positions. We split each capacitor into
m (m is an even number) small ones. Here, we want to study whether a big m or a
small m is better. An example is shown in Figure 4.4. Figure 4.4(b) and (c) show
two other choices of implementing the capacitors.
76
CHAPTER 4. EXPERIMENTAL RESULTS AND MONTE-CARLO
SIMULATIONS
Table 4.9: Monte Carlo Simulation Result for Layouts with Different Number of
Symmetry Group(s).
Layout with One Whole Symmetry Group
OTA1 57.39 1.51 68.26 0.34 65.07 1.12 -22.01 1.20 79.40 1.00
OTA2 69.99 0.92 65.70 0.18 56.93 1.97 -23.47 8.98 93.46 1.00
OTA3 61.73 1.98 67.04 0.74 60.90 1.07 -21.40 5.16 83.13 1.00
AMP1 85.18 0.92 27.13 0.70 56.84 1.21 -25.73 2.59 110.9 1.00
OTA1(2) 56.48 1.09 69.77 0.50 66.02 1.36 -21.87 2.09 78.35 0.99
OTA1(3) 53.82 1.24 69.21 0.42 65.38 1.44 -21.20 2.69 75.02 0.94
OTA1(4) 52.75 2.00 70.31 0.10 66.50 2.65 -20.66 2.43 73.41 0.92
OTA2(2) 69.41 2.36 66.86 1.30 58.41 2.74 -21.49 6.34 90.90 0.97
OTA2(3) 68.24 1.23 64.80 0.94 57.92 2.00 -20.38 8.98 88.62 0.95
OTA2(4) 66.79 1.48 67.25 1.37 57.28 3.59 -20.67 7.77 87.64 0.94
OTA3(2) 61.09 1.37 65.63 2.03 64.55 0.67 -20.82 7.29 81.91 0.99
OTA3(3) 62.27 1.09 65.84 1.23 61.27 0.78 -19.96 5.16 82.23 0.99
OTA3(4) 59.05 1.20 63.58 1.97 66.09 1.24 -17.42 10.3 76.47 0.92
AMP1(2) 84.47 1.61 26.32 2.81 57.00 1.93 -19.48 1.39 103.9 0.94
AMP1(3) 79.28 1.92 30.17 1.60 54.39 0.92 -21.30 2.77 100.6 0.91
AMP1(4) 76.09 1.47 28.98 1.05 56.08 1.44 -20.07 2.59 96.16 0.87
77
CHAPTER 4. EXPERIMENTAL RESULTS AND MONTE-CARLO
SIMULATIONS
Figure 4.4: Different Placement of Capacitors Array, (a) Standard Capacitors Ar-
ray, 5 × 2, and (b) Small Capacitors Array, 5 × 4, and (c) Small Capacitors Array,
4×5
Table 4.10 shows the simulation results comparing with different capacitors
arrays. Experimental results show that a bigger value of m results in higher CMRR
78
CHAPTER 4. EXPERIMENTAL RESULTS AND MONTE-CARLO
SIMULATIONS
Table 4.10: Monte Carlo Simulation Result for Layouts with Different Capacitors
Arrays.
Standard Capacitors Array
OTA1 57.39 1.51 68.26 0.34 65.07 1.12 -22.01 1.20 79.40 1.00
OTA2 69.99 0.92 65.70 0.18 56.93 1.97 -23.47 8.98 93.46 1.00
OTA3 61.73 1.98 67.04 0.74 60.90 1.07 -21.40 5.16 83.13 1.00
AMP1 85.18 0.92 27.13 0.70 56.84 1.21 -25.73 2.59 110.91 1.00
OTA1 60.21 1.39 66.94 0.58 64.79 1.49 -25.48 0.89 85.69 1.08
OTA2 70.13 1.59 66.34 0.43 59.86 2.41 -24.48 10.40 94.61 1.01
OTA3 65.06 1.24 68.37 0.77 58.43 1.30 -23.94 4.78 89.00 1.07
AMP1 84.20 0.71 28.50 0.83 51.02 1.58 -26.82 3.95 111.02 1.00
on average 4.0%.
79
CHAPTER 4. EXPERIMENTAL RESULTS AND MONTE-CARLO
SIMULATIONS
80
CHAPTER 4. EXPERIMENTAL RESULTS AND MONTE-CARLO
SIMULATIONS
81
CHAPTER 4. EXPERIMENTAL RESULTS AND MONTE-CARLO
SIMULATIONS
82
Figure 4.7: Schematic and Layouts of OTA3: (a) Schematic, (b) Manual Design
CHAPTER 4. EXPERIMENTAL RESULTS AND MONTE-CARLO
SIMULATIONS
Figure 4.8: Schematic and Layouts of AMP1: (a) Schematic, (b) Manual Design
Layout, (c) Automatic Generated Layout.
Our tool uses different placement strategies on four test cases. For OTA1 (Fig-
ure 4.5), we divide the capacitors into smaller pieces and have interleaving place-
ment for the capacitors.
For OTA2, the CMOS/PMOS and resistors form a symmetry group in our gen-
83
CHAPTER 4. EXPERIMENTAL RESULTS AND MONTE-CARLO
SIMULATIONS
erated layout, while the manual layout does not have them symmetrically placed
to save circuit space. In order to achieve a comparable circuit area, self-symmetry
devices are taken out of the symmetry group to achieve a smaller deadspace. A ca-
pacitors group containing 2 × 5 capacitors in irregular shape is interleavely placed
at both sides of symmetry axis to get a better matching property. In the manual
designs, the 5 capacitors are placed in ’2 + 3’ format, that may cause mismatch
and lead to performance degradation.
OTA3 (Figure 4.7) also has divided capacitors, but the capacitors are placed in
symmetric way. Both OTA1 and OTA3, have self-symmetry devices, in the middle
of the symmetry group.
For AMP1, the manual layout has symmetric placement. In our generated
layout, the area of the symmetry group is further shrink with the technique in
Section 3.5.2 while keeping good symmetry.
We can see that the quality of our automated layouts is comparable to the man-
ual ones in terms of gain, unity gain bandwidth (UGB), phase margin and CMRR.
Our automatic generating tool can handle symmetry constraints, common-centroid
constraints and devices matching requirement while minimize the area and wire-
length. However, our tool takes just a few minutes, while manual design will takes
a couple of weeks to get a qualified layout.
2 End of chapter.
84
Table 4.11: Comparison of Simulation Results of Schematic, Manual Layout and Our Automated Layout
Data Method Standard Simulation Monte Carlo Simulation (100 times)
DC Gain UGB Phase Dead CMRR DC Gain (dB) UGB (MHz) Phase Margin CM Gain CMRR
OTA1 Schematic 55.90 66.80 62.40◦ - 119.0 60.50 1.20 72.30 0.70 66.70 1.30 -39.70 2.10 100.2
Manual 52.10 64.60 65.90◦ 38.4 83.80 50.90 1.20 70.50 0.90 68.30 1.00 -31.10 7.50 82.00
Previous 55.60 65.90 63.10◦ 38.30 90.90 50.90 0.90 77.00 0.80 66.10 1.00 -37.20 5.50 88.10
Ours 55.70 75.00 61.20◦ 39.90 93.40 59.20 1.50 69.90 1.00 64.40 0.80 -39.20 8.30 98.40
OTA2 Schematic 65.10 66.00 61.90◦ - 114.7 65.90 1.20 68.50 0.90 55.30 1.20 -30.30 10.0 96.20
85
Manual 59.30 61.90 65.20◦ 35.80 101.2 64.40 1.00 67.20 0.90 58.41 1.20 -24.90 9.40 89.30
Previous 54.60 62.60 59.90◦ 40.90 69.00 59.90 0.70 60.40 0.80 60.70 0.90 -18.00 8.10 77.90
Ours 61.72 65.00 68.90◦ 43.50 68.20 70.70 0.50 60.70 0.50 61.90 0.60 -20.90 2.00 91.60
OTA3 Schematic 60.20 67.90 67.50◦ - 91.20 70.40 0.80 69.88 0.11 66.76 1.79 -20.90 5.92 91.30
Manual 58.90 65.80 65.70◦ 35.80 84.70 67.90 0.89 68.26 0.14 67.74 1.22 -20.61 8.70 88.51
Ours 57.20 65.70 67.20◦ 48.00 83.50 70.30 1.29 68.31 0.21 68.02 0.86 -20.32 7.09 90.62
AMP1 Schematic 59.75 26.40 79.50◦ - 123.8 79.90 0.60 26.52 0.58 59.91 0.97 -41.93 10.1 121.83
Manual 58.82 26.10 75.50◦ 58.70 108.3 82.09 0.60 26.59 0.48 58.27 1.12 -22.56 2.47 104.65
Ours 59.11 25.70 81.50◦ 46.30 80.81 58.41 1.00 26.90 0.51 75.83 0.75 -44.01 8.09 102.42
SIMULATIONS
CHAPTER 4. EXPERIMENTAL RESULTS AND MONTE-CARLO
Chapter 5
Conclusion
86
CHAPTER 5. CONCLUSION
2 End of chapter.
87