Automated layout synthesis tool for op amp
-
Upload
nurahmad-omar -
Category
Engineering
-
view
346 -
download
18
description
Transcript of Automated layout synthesis tool for op amp
![Page 1: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/1.jpg)
Automated Layout Synthesis
Tool for Op-Amp
1
Nueraimaiti Aimaier (Nurahmad Omar)
GS 34530
Electrical & Electronic Department
Lecturer: A.P. DR. ROSLINA MOHD SIDEK
DR. FAKHRUL ZAMAN ROKHANI
![Page 2: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/2.jpg)
Op-amp Physical Design
Background
2
![Page 3: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/3.jpg)
Stick Representation
3
d d d s s
1 2 3 4
1 2 1 2 3 2 3 4 3 4
M1 M2 M3
Same width
Source: F.Maloberti – Layout of Analog CMOS IC
![Page 4: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/4.jpg)
Layout Oriented Design
4
Possible stacks:
1 p-channel, 2 n-channel
M3, M4, M6
M1, M2
M5, M7
Source: F.Maloberti – Layout of Analog CMOS IC
![Page 5: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/5.jpg)
Stack Design and
Interconnections
5
Source: F.Maloberti – Layout of Analog CMOS IC
![Page 6: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/6.jpg)
Layout Template of Op-
Amp
6
Load
(Pmos)
Differential Pair
(Nmos)
Bias
(Nmos)
![Page 7: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/7.jpg)
Differential Pair
7
A A
A A
B B
B B
M1 M2
A
A
B
B
M1 M2
![Page 8: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/8.jpg)
Bias
8
C C A
A B
B
C C
Current Mirror
M5 M8
C A
A B
B
C
![Page 9: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/9.jpg)
Load
9
C C A
A B
B
C C
C
C
C
C
Current Mirror
M3 M4
![Page 10: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/10.jpg)
Design Flow Chart
10
schematic
netlist
Partitioning
matching generator
(Common-centroid)
auto routing
Placement &
Floorplanning
OK?
END
constraints
NO
YES
![Page 11: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/11.jpg)
11
The whole process of the design flow consists of four main components,
which are Partitioning, Matching generator, Placement and Floorplanning, and
Auto routing. These components translate an analog circuit netlist to a fully
routed layout.
Partitioning: In this design flow, partitioning algorithm read the netlist to
select which transistors are belong which sub-block, like differential pair, circuit load
and bias part of the operational amplifier. Generate three sub-blocks.
Matching generator: In analog design, transistor matching deals with identical
used transistors. This step is capable of generating a matched common-centroid
Layout.
![Page 12: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/12.jpg)
12
Placement & Floorplanning: After partioning and matching generator, this step locate
each transistor according to common-centroid pattern and sub-blocks according to the
layout template.
Auto routing: Using channel routing method, which composed of horizontal track
lines and vertical track lines to generate interconnections.
![Page 13: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/13.jpg)
Process algorithm
13
Algorithm
Begin
1 import schematic;
2 while not (stopProcess);
3 generate netlist;
4 get netlist info;
5 while (partitioning)
6 choose type for each sub-block;
7 endwhile;
8 while (genMatch)
9 foreach (sub-block)
10 choose matching;
11 generate Match;
12 generate common-centroid;
13 endfor;
14 endwhile;
![Page 14: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/14.jpg)
14
![Page 15: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/15.jpg)
Detail in each process
Netlist MAIN CELL: Component pathname : /home/nurahmad/soc/opamp/schem/opamp1
*
X_M6 OUT N$39 VDD VDD pm_hp L=0.13u W=8u M=8
X_M9 N$42 N$42 VDD VDD pm_hp L=0.13u W=2u M=1
X_M4 N$39 N$14 VDD VDD pm_hp L=0.13u W=8u M=2
X_M3 N$14 N$14 VDD VDD pm_hp L=0.13u W=8u M=2
X_M7 OUT N$42 VSS VSS nm_hp L=0.13u W=8u M=4
X_M8 N$42 N$42 VSS VSS nm_hp L=0.13u W=8u M=2
X_M5 N$10 N$42 VSS VSS nm_hp L=0.13u W=8u M=2
X_M2 N$39 IN+ N$10 VSS nm_hp L=0.13u W=12u M=4
X_M1 N$14 IN- N$10 VSS nm_hp L=0.13u W=12u M=4
*
1 2 3 4 5 6 7 8 9
Label Drain Gate Source Bulk type length width finger
e.g.
X_M1 N$14 IN- N$10 VSS nm_hp L=0.13u W=12u M=4
15
![Page 16: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/16.jpg)
Constraints
16
Matching constraints:
M1, M2 ----- Differential pair
M3, M4 ----- Current mirrors
M5, M8 ----- Current mirrors
Given by the user
![Page 17: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/17.jpg)
Partitioning
17
Pmos
Nmos
Nmos
![Page 18: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/18.jpg)
File format
Output:
Array
V1= (M6, M9, M4, M3) # Pmos
V2=(M1,M2) # Nmos
V3=(M7, M8, M5) # Nmos
18
![Page 19: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/19.jpg)
19
Partitioning
INPUT
Netlist
consraints
Vertex V1
load (pmos)
Vertex V2
differential Pair(nmos)
Vertex V3
Bias (nmos)
OUTPUT
Input Output Process
![Page 20: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/20.jpg)
Partitioning process algorithm
20
Algorithm
Begin
1 get netlist info;
2 while (partitioning)
3 foreach (transistor)
4 choose pmos stored into V1;
5 choose differential pair (nmos) stored into V2; #constraints
6 choose remaining nmos stored into V3;
7 endfor;
8 endwhile;
End
![Page 21: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/21.jpg)
Algorithm Workout
21
differential pair
(Constraint)
Vertex V2
pmos
Vertex V1
nmos
Vertex V3
E.g. V1= (M6, M9, M4, M3) V2=(M1,M2) V3=(M7, M8, M5)
![Page 22: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/22.jpg)
Partitioning snapshot
22
Vertex V1
pmos
Vertex V2
nmos
Vertex V3
nmos
![Page 23: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/23.jpg)
Condition/range
23
The op-amp should be conventional two-stage amplifier OTA ( Operational
Transconductance Amplifier), which composed of 3 subblocks like differential pair,
Load and bias blocks
The op-amp inputs are nmos, if the inputs are pmos, the algorithm should be change
accordingly.
In each sub-block it can work any number of transistors. E.g. in the load and bias
block it may contains not only 3 or 4 transistors but the number can reach to 5 or 6
transistors, this is depend on design specification.
![Page 24: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/24.jpg)
Matching generator
Matching
generator
INPUT
1. Netlist
(finger-numbers)
2. Constraints
M3 M4… M6 M6 M6 … (V1A)
M4 M3… M6 M6 M6 … (V1B)
M1 M2
M2 M1 OR
M1 M2 M2 M1… (V2A)
M2 M1 M1 M2… (V2B)
M5 M8… M7 M7 M7 … (V3A)
M8 M5… M7 M7 M7 … (V3B)
OUTPUT
![Page 25: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/25.jpg)
Matching process algorithm
25
Algorithm
Begin
1 get netlist info; # multi-finger info e.g. M=8 means 8 multifinger
2 while (matching)
3 foreach (transistor)
4 choose differential pair; # V2=(M1,M2)
5 get multi finger number M; # The finger numbers should be same
6 if (M=2)
7 copy V2 to V2A; #V2A=(M1,M2)
8 inverse V2 and copy to V2B; #V2B=(M2,M1)
9 endif;
10 if (M=4);
11 copy V2 1st element to 2nd, 0 element to 3rd element and give it V2A;
12 inverse V2 repeat step 11; #V2A=(M1,M2,M2,M1)
13 endif;
![Page 26: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/26.jpg)
26
14 choose pmos V1;
15 choose current mirror;
16 repeat step 5 to 13 to get V1A and V1B;
17 add M/2 numbers of remaining pmos to the end of V1A;
18 repeat 17 to get V1B;
19 choose remaing nmos V3;
20 repeat 15 to 19 to to get V3A and V3B;
22 endforeach;
23 endwhile;
End
![Page 27: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/27.jpg)
File format
27
Matching generator
Array
V1A= (M3,M4…M6,M6,M6…) OR V1A= (M3,M4,M4,M3…M6,M6,M6…)
V1B= (M4,M3…M6,M6,M6…) OR V1B= (M4,M3,M3,M4…M6,M6,M6…)
V2A= (M1,M2,M2,M1…) OR V2A= (M1,M2)
V2B=(M2,M1,M1,M2…) OR V2B= (M2,M1)
V3A= (M8,M5…M7,M7…) OR V3A= (M8,M5,M5,M8…M7,M7…)
V3B= (M5,M8…M7,M7…) OR V3B= (M8,M5,M5,M8…M7,M7…)
![Page 28: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/28.jpg)
Matching generator
snapshot
28
Load Differential Pair Bias
![Page 29: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/29.jpg)
Condition/Range
29
The differential pair and common-centroid transistors are given by the user
The numbers of multi-finger should be even number in order to generate the
common-centroid layout
![Page 30: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/30.jpg)
Placement & Floorplanning
30
Placement &
Floorplanning
INPUT
1. Netlist
2. DRC file
![Page 31: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/31.jpg)
Placement&Floorplanning
process algorithm
31
Algorithm
Begin
1 get netlist info;
2 get DRC info;
3 while (placement)
4 foreach (sub-Vertex) #V1A,V1B,V2A…
5 put current mirror (diff pair) in the middle of sub-vertex;
6 put other transistor on 2 sides of sub-vertex;
6 endforeach; # get common centroid arranged vertex
7 generate diff layout;
8 get Track size and number of tracks from the user;
9 generate load layout ;
10 get distance between diff and load layout;
11 generate bias layout, distance same as step 10;
12 endwhile;
13 End
![Page 32: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/32.jpg)
32
A A
A A
B B
B B
C A C B
C C
A
A B
B C C
C C
C A C B C C
Track Size *
Number Of Tracks
Distance(block1,block2)=Distance(block2,block3)
Inside each sub-block, the distance between 1st
row and 2nd row same as distance between blocks,
for the purpose of routing capacity
block1
block2
block3
![Page 33: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/33.jpg)
Placement
Snapshot
33
![Page 34: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/34.jpg)
34
Placement file format ( for each sub-block)
Array
V1A= (…M6,M6,M3,M4,M6,M6…)
V1B= (…M6,M6,M4,M3,M6,M6…)
V2A= (…M1,M2,M2,M1…)
V2B= (…M2,M1,M1,M2…)
V3A= (…M7,M5,M8,M7…)
V3B= (…M7,M8,M5,M7…)
Common centroid arranged vertex
![Page 35: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/35.jpg)
Routing
35
Placement &
Floorplanning
INPUT
1. Netlist
2. DRC file
OUTPUT
1.Transisors D,G,S coordinate locations
2.Horizontal track lines between each row
and block
3.Vertical track lines two besides of layout
![Page 36: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/36.jpg)
36
A A
A A
B B
B B
A C B
C C
A
A B
B C C
C C
A C B C C
Routing channel
Routing channel
Routing channel
C
C
Routing channel
Routing channel
Track_line_y[$i]
Tra
ck
_lin
e_
x[$
i]
![Page 37: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/37.jpg)
File format
37
Matrix
X_M6
X_M9
X_M4
X_M3
X_M7
X_M8
X_M5
X_M2
X_M1
Drain Gate Source
1 2 3
4 4 3
2 5 3
5 5 3
1 4 6
4 4 6
7 4 6
2 8 7
5 9 7
Same number in the matrix belongs to same net, should be connect together.
![Page 38: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/38.jpg)
Channel routing
FZR Rev 1.0 38
Can be implemented between each blocks and each row inside the block.
![Page 39: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/39.jpg)
Routing algorithm process
39
Horizontal Constraints: This exist when the set of columns spanned by two nets
Intersect, since their trunks cannot be both assigned to the same track on the same
layer.
Vertical Constraints: These are present when terminals for two different nets a
and b, exist at the same column i. If the terminal for net a lies on the top side of the
channel, then we say that net a is above net b, or equivalently net b is below net a.
Algorithm
Begin
1. Let d be the channel density as given by the Horizontal Constraints Graph(HCG);
Let t1,…..td denote the routing tracks.
2. Sort the set of intervals, computed in the construction of the HCG in the ascending
order of abscissas of their left ends.
Let i1, i2, ….in denote the sorted set.
3. Assign i1 to track t1.
![Page 40: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/40.jpg)
3a. For j=2 to n do
Assign net ij to an arbitrary available track tj.
4. Once, the horizontal tracks are assigned, the vertical branches are simply
assigned to either to TOP or BOT layer depending on whether they are upward
or downward directed.
End
FZR Rev 1.0 40
![Page 41: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/41.jpg)
Routing snapshot
41
![Page 42: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/42.jpg)
Condition/Range
42
Channel routing have enough space
Limited metal layer ( two layer)
![Page 43: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/43.jpg)
Result
43
Detail of the software tool:
Reading DRC file
Reading netlist
Partitioning algorithm
Matching algorithm
Placement & Floorplanning algorithm
Routing algorithm
Layout generation
Input value range:
From the screen input:
Track size and number of tracks
From the netlist:
Numbers of muliti-fingers
Transistor width and length
![Page 44: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/44.jpg)
Running the program
44
![Page 45: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/45.jpg)
Load (Block1)
45
![Page 46: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/46.jpg)
Differential pair (Block2)
46
![Page 47: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/47.jpg)
Bias (Block3)
47
![Page 48: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/48.jpg)
Netlist 1 Layout
48
* MAIN CELL: Component pathname : /home/nurahmad/soc/opamp/schem/opamp1
*
CC N$39 OUT 3P
X_M6 OUT N$39 VDD VDD pm_hp L=0.13u W=8u M=8
X_M9 N$42 N$42 VDD VDD pm_hp L=0.13u W=2u M=1
X_M4 N$39 N$14 VDD VDD pm_hp L=0.13u W=8u M=2
X_M3 N$14 N$14 VDD VDD pm_hp L=0.13u W=8u M=2
X_M7 OUT N$42 VSS VSS nm_hp L=0.13u W=8u M=4
X_M8 N$42 N$42 VSS VSS nm_hp L=0.13u W=8u M=2
X_M5 N$10 N$42 VSS VSS nm_hp L=0.13u W=8u M=2
X_M2 N$39 IN+ N$10 VSS nm_hp L=0.13u W=12u M=4
X_M1 N$14 IN- N$10 VSS nm_hp L=0.13u W=12u M=4
*
.end
![Page 49: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/49.jpg)
FZR Rev 1.0 49
Netlist 1 corresponding layout
![Page 50: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/50.jpg)
Netlist 2 Layout
* MAIN CELL: Component pathname : /home/nurahmad/soc/opamp/schem/opamp1
*
CC N$39 OUT 3P
X_M6 OUT N$39 VDD VDD pm_hp L=0.13u W=4u M=8
X_M9 N$42 N$42 VDD VDD pm_hp L=0.13u W=2u M=1
X_M4 N$39 N$14 VDD VDD pm_hp L=0.13u W=4u M=2
X_M3 N$14 N$14 VDD VDD pm_hp L=0.13u W=4u M=2
X_M7 OUT N$42 VSS VSS nm_hp L=0.13u W=4u M=4
X_M8 N$42 N$42 VSS VSS nm_hp L=0.13u W=4u M=2
X_M5 N$10 N$42 VSS VSS nm_hp L=0.13u W=4u M=2
X_M2 N$39 IN+ N$10 VSS nm_hp L=0.13u W=8u M=4
X_M1 N$14 IN- N$10 VSS nm_hp L=0.13u W=8u M=4
*
.end
FZR Rev 1.0 50
![Page 51: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/51.jpg)
FZR Rev 1.0 51
Layout works correctly, but the VDD and
VSS metal layer did not change location
correspondly, waste area.
![Page 52: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/52.jpg)
Block1(Pmos) error
FZR Rev 1.0 52
The poly disconnected below 2nd row get
![Page 53: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/53.jpg)
Netlist 3 Layout
* MAIN CELL: Component pathname : /home/nurahmad/soc/opamp/schem/opamp1
*
CC N$39 OUT 3P
X_M6 OUT N$39 VDD VDD pm_hp L=0.13u W=8u M=8
X_M9 N$42 N$42 VDD VDD pm_hp L=0.13u W=2u M=1
X_M4 N$39 N$14 VDD VDD pm_hp L=0.13u W=8u M=2
X_M3 N$14 N$14 VDD VDD pm_hp L=0.13u W=8u M=2
X_M7 OUT N$42 VSS VSS nm_hp L=0.13u W=4u M=4
X_M8 N$42 N$42 VSS VSS nm_hp L=0.13u W=4u M=2
X_M5 N$10 N$42 VSS VSS nm_hp L=0.13u W=4u M=2
X_M2 N$39 IN+ N$10 VSS nm_hp L=0.13u W=8u M=4
X_M1 N$14 IN- N$10 VSS nm_hp L=0.13u W=8u M=4
*
.end
FZR Rev 1.0 53
![Page 54: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/54.jpg)
54
Layout works correctly, but the VDD and
VSS metal layer did not change location
correspondly, waste area.
![Page 55: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/55.jpg)
Netlist 4 layout
FZR Rev 1.0 55
* MAIN CELL: Component pathname : /home/nurahmad/soc/opamp/schem/opamp1
*
CC N$39 OUT 3P
X_M6 OUT N$39 VDD VDD pm_hp L=0.13u W=8u M=10
X_M9 N$42 N$42 VDD VDD pm_hp L=0.13u W=2u M=1
X_M4 N$39 N$14 VDD VDD pm_hp L=0.13u W=8u M=2
X_M3 N$14 N$14 VDD VDD pm_hp L=0.13u W=8u M=2
X_M7 OUT N$42 VSS VSS nm_hp L=0.13u W=8u M=6
X_M8 N$42 N$42 VSS VSS nm_hp L=0.13u W=8u M=2
X_M5 N$10 N$42 VSS VSS nm_hp L=0.13u W=8u M=2
X_M2 N$39 IN+ N$10 VSS nm_hp L=0.13u W=12u M=4
X_M1 N$14 IN- N$10 VSS nm_hp L=0.13u W=12u M=4
*
.end
![Page 56: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/56.jpg)
FZR Rev 1.0 56
Multi-finger numbers change, placement
works correctly with symmetry layout, but routing
does not work correctly, routing program still need
to improve
![Page 57: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/57.jpg)
DRC Check
57
![Page 58: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/58.jpg)
Assumption & Design issue
58
i. Condition/range of the tool:
Two-stage OTA (Operational Transconductance Amplifier)
The Multi-finger numbers in netlist should be even number for the purpose of
common-centroid layout.
![Page 59: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/59.jpg)
Conclusion & Future work
59
• In this project, we presented a layout method for operational amplifier.
Our analog placer considers symmetry constraint, common centroid constraint
and device clustering in placement. Furthermore we point out that some methods
used in digital block layout like track size and channel routing are also applicable for
analog layout. Experimental results show that we can generate the analog layout
within minutes.
• Since there are lots of common-centroid layout patterns, possible future works
would be created a multi row ( more than 2 row) common centroid layout, at the
same time the routing become more complex, so reliable “analog” router still
remains to be seen.
![Page 60: Automated layout synthesis tool for op amp](https://reader034.fdocuments.us/reader034/viewer/2022052201/558ca9e5d8b42a34388b468b/html5/thumbnails/60.jpg)
Milestone
60
Week Topic
1 Unix
2 Unix & Shell Programming
3 Perl
4 SoC design automation review
5 SoC design automation review
6 Literature review on analog layout generation
7 Algorithms for layout generation
8 Programming for Reading DRC file
9 Programming for Reading netlist
10 Partitioning & Matching generator
11 Placement & Floorplanning
12 Auto routing
13 Layout generation
14 Final Project Presentation