SlideShare a Scribd company logo
1 of 60
Download to read offline
Automated Layout Synthesis Tool for Op-Amp 
1 
Nueraimaiti Aimaier (Nurahmad Omar) GS 34530 mknurahmat@gmail.com Electrical & Electronic Department 
Lecturer: A.P. DR. ROSLINA MOHD SIDEK 
DR. FAKHRUL ZAMAN ROKHANI
Op-amp Physical Design Background 
2
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
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
Stack Design and Interconnections 5 
Source: F.Maloberti – Layout of Analog CMOS IC
Layout Template of Op- Amp 
6 
Load (Pmos) 
Differential Pair (Nmos) 
Bias (Nmos)
Differential Pair 
7 
A 
A 
A 
A 
B 
B 
B 
B 
M1 M2 A 
A 
B 
B 
M1 M2
Bias 
8 
C 
C 
A 
A 
B 
B 
C 
C 
Current Mirror 
M5 M8 C 
A 
A 
B 
B 
C
Load 
9 C 
C 
A 
A 
B 
B 
C 
C C 
C 
C 
C 
Current Mirror 
M3 M4
Design Flow Chart 
10 
schematic netlist 
Partitioning 
matching generator 
(Common-centroid) 
auto routing 
Placement & 
Floorplanning 
OK? END 
constraints NO 
YES
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.
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.
Process algorithm 
13 
Algorithm Begin 1 import schematic; 2 while not (stopProcess); 
3generate netlist; 
4get 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;
14
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
Constraints 16 Matching constraints: 
M1, M2 ----- Differential pair 
M3, M4 ----- Current mirrors 
M5, M8 ----- Current mirrors 
Given by the user
Partitioning 
17 
Pmos 
Nmos 
Nmos
File format 
Output: 
Array 
V1= (M6, M9, M4, M3) # Pmos 
V2=(M1,M2) # Nmos 
V3=(M7, M8, M5) # Nmos 
18
19 
Partitioning 
INPUT 
Netlist 
consraints 
Vertex V1 
load (pmos) 
Vertex V2 differential Pair(nmos) 
Vertex V3 
Bias (nmos) 
OUTPUT Input Output Process
Partitioning process algorithm 
20 
Algorithm Begin 
1get 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
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)
Partitioning snapshot 
22 
Vertex V1 
pmos 
Vertex V2 nmos 
Vertex V3 
nmos
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.
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
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;
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
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…)
Matching generator snapshot 
28 Load Differential Pair Bias
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
Placement & Floorplanning 
30 
Placement & Floorplanning INPUT 1. Netlist 2. DRC file
Placement&Floorplanning process algorithm 
31 Algorithm Begin 
1get 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
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
Placement Snapshot 33
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
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
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] 
Track_line_x[$i]
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.
Channel routing 
FZR Rev 1.0 38 
Can be implemented between each blocks and each row inside the block.
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.
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
Routing snapshot 41
Condition/Range 
42 
 Channel routing have enough space 
 Limited metal layer ( two layer)
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
Running the program 44
Load (Block1) 
45
Differential pair (Block2) 
46
Bias (Block3) 
47
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
FZR Rev 1.0 49 
Netlist 1 corresponding layout
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
FZR Rev 1.0 
51 
Layout works correctly, but the VDD and VSS metal layer did not change location correspondly, waste area.
Block1(Pmos) error 
FZR Rev 1.0 
52 
The poly disconnected below 2nd row get
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
54 
Layout works correctly, but the VDD and VSS metal layer did not change location correspondly, waste area.
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
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
DRC Check 
57
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.
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.
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

More Related Content

What's hot

crosstalk minimisation using vlsi
crosstalk minimisation using vlsicrosstalk minimisation using vlsi
crosstalk minimisation using vlsisubhradeep mitra
 
Mosfet short channel effects
Mosfet short channel effectsMosfet short channel effects
Mosfet short channel effectskesana Bala Gopi
 
ASIC DESIGN : PLACEMENT
ASIC DESIGN : PLACEMENTASIC DESIGN : PLACEMENT
ASIC DESIGN : PLACEMENThelloactiva
 
Mos transistor
Mos transistorMos transistor
Mos transistorMurali Rai
 
Short channel effects
Short channel effectsShort channel effects
Short channel effectsashish bait
 
Device isolation
Device isolationDevice isolation
Device isolationneha sharma
 
Power Penalty in Optical Communication
Power Penalty in Optical CommunicationPower Penalty in Optical Communication
Power Penalty in Optical CommunicationSanket Thakare
 
IR Drop Analysis and Its Reduction Techniques in Deep Submicron Technology
IR Drop Analysis and Its Reduction Techniques in Deep Submicron TechnologyIR Drop Analysis and Its Reduction Techniques in Deep Submicron Technology
IR Drop Analysis and Its Reduction Techniques in Deep Submicron TechnologyIJERA Editor
 
MOSFET Discription Presentation
MOSFET Discription PresentationMOSFET Discription Presentation
MOSFET Discription PresentationPrashant Soni
 
System partitioning in VLSI and its considerations
System partitioning in VLSI and its considerationsSystem partitioning in VLSI and its considerations
System partitioning in VLSI and its considerationsSubash John
 
Short channel effect on FET
Short channel effect on FETShort channel effect on FET
Short channel effect on FETMahsa Farqarazi
 
GaN and SiC for power electronics applications 2015 Report by Yole Developpement
GaN and SiC for power electronics applications 2015 Report by Yole DeveloppementGaN and SiC for power electronics applications 2015 Report by Yole Developpement
GaN and SiC for power electronics applications 2015 Report by Yole DeveloppementYole Developpement
 

What's hot (20)

crosstalk minimisation using vlsi
crosstalk minimisation using vlsicrosstalk minimisation using vlsi
crosstalk minimisation using vlsi
 
Double patterning for 32nm and beyond
Double patterning for 32nm and beyondDouble patterning for 32nm and beyond
Double patterning for 32nm and beyond
 
Mosfet short channel effects
Mosfet short channel effectsMosfet short channel effects
Mosfet short channel effects
 
ASIC DESIGN : PLACEMENT
ASIC DESIGN : PLACEMENTASIC DESIGN : PLACEMENT
ASIC DESIGN : PLACEMENT
 
Short Channel Effect In MOSFET
Short Channel Effect In MOSFETShort Channel Effect In MOSFET
Short Channel Effect In MOSFET
 
Mos transistor
Mos transistorMos transistor
Mos transistor
 
Crosstalk
CrosstalkCrosstalk
Crosstalk
 
VLSI- Unit I
VLSI- Unit IVLSI- Unit I
VLSI- Unit I
 
Short channel effects
Short channel effectsShort channel effects
Short channel effects
 
Second order effects
Second order effectsSecond order effects
Second order effects
 
Vlsi design
Vlsi designVlsi design
Vlsi design
 
Device isolation
Device isolationDevice isolation
Device isolation
 
Power Penalty in Optical Communication
Power Penalty in Optical CommunicationPower Penalty in Optical Communication
Power Penalty in Optical Communication
 
IR Drop Analysis and Its Reduction Techniques in Deep Submicron Technology
IR Drop Analysis and Its Reduction Techniques in Deep Submicron TechnologyIR Drop Analysis and Its Reduction Techniques in Deep Submicron Technology
IR Drop Analysis and Its Reduction Techniques in Deep Submicron Technology
 
MOSFET Discription Presentation
MOSFET Discription PresentationMOSFET Discription Presentation
MOSFET Discription Presentation
 
System partitioning in VLSI and its considerations
System partitioning in VLSI and its considerationsSystem partitioning in VLSI and its considerations
System partitioning in VLSI and its considerations
 
Mosfet unit 2
Mosfet unit 2Mosfet unit 2
Mosfet unit 2
 
vlsi annealing and masking
vlsi annealing and maskingvlsi annealing and masking
vlsi annealing and masking
 
Short channel effect on FET
Short channel effect on FETShort channel effect on FET
Short channel effect on FET
 
GaN and SiC for power electronics applications 2015 Report by Yole Developpement
GaN and SiC for power electronics applications 2015 Report by Yole DeveloppementGaN and SiC for power electronics applications 2015 Report by Yole Developpement
GaN and SiC for power electronics applications 2015 Report by Yole Developpement
 

Similar to Automated layout synthesis tool for op amp

BER ENHANCEMENT OF MIMO-CDMA BASED ON SPACE-TIME BLOCK CODES
BER ENHANCEMENT OF MIMO-CDMA BASED ON SPACE-TIME BLOCK CODESBER ENHANCEMENT OF MIMO-CDMA BASED ON SPACE-TIME BLOCK CODES
BER ENHANCEMENT OF MIMO-CDMA BASED ON SPACE-TIME BLOCK CODEScscpconf
 
Design of Quaternary Logical Circuit Using Voltage and Current Mode Logic
Design of Quaternary Logical Circuit Using Voltage and Current Mode LogicDesign of Quaternary Logical Circuit Using Voltage and Current Mode Logic
Design of Quaternary Logical Circuit Using Voltage and Current Mode LogicVLSICS Design
 
Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...Usatyuk Vasiliy
 
Final vlsi projectreport
Final vlsi projectreportFinal vlsi projectreport
Final vlsi projectreportphilipsinter
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)ijceronline
 
Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...Usatyuk Vasiliy
 
Design and Implementation of Area Optimized, Low Complexity CMOS 32nm Technol...
Design and Implementation of Area Optimized, Low Complexity CMOS 32nm Technol...Design and Implementation of Area Optimized, Low Complexity CMOS 32nm Technol...
Design and Implementation of Area Optimized, Low Complexity CMOS 32nm Technol...IJERA Editor
 
3D METALLIC PLATE LENS ANTENNA BASED BEAMSPACE CHANNEL ESTIMATION TECHNIQUE F...
3D METALLIC PLATE LENS ANTENNA BASED BEAMSPACE CHANNEL ESTIMATION TECHNIQUE F...3D METALLIC PLATE LENS ANTENNA BASED BEAMSPACE CHANNEL ESTIMATION TECHNIQUE F...
3D METALLIC PLATE LENS ANTENNA BASED BEAMSPACE CHANNEL ESTIMATION TECHNIQUE F...ijwmn
 
3D METALLIC PLATE LENS ANTENNA BASED BEAMSPACE CHANNEL ESTIMATION TECHNIQUE F...
3D METALLIC PLATE LENS ANTENNA BASED BEAMSPACE CHANNEL ESTIMATION TECHNIQUE F...3D METALLIC PLATE LENS ANTENNA BASED BEAMSPACE CHANNEL ESTIMATION TECHNIQUE F...
3D METALLIC PLATE LENS ANTENNA BASED BEAMSPACE CHANNEL ESTIMATION TECHNIQUE F...ijwmn
 
Lcdf4 chap 03_p2
Lcdf4 chap 03_p2Lcdf4 chap 03_p2
Lcdf4 chap 03_p2ozgur_can
 
Performance of spatial multiplexing,
Performance of spatial multiplexing,Performance of spatial multiplexing,
Performance of spatial multiplexing,ijmnct
 
Performance of spatial multiplexing,
Performance of spatial multiplexing,Performance of spatial multiplexing,
Performance of spatial multiplexing,ijmnct
 
An Adaptive Algorithm for MU-MIMO using Spatial Channel Model
An Adaptive Algorithm for MU-MIMO using Spatial Channel ModelAn Adaptive Algorithm for MU-MIMO using Spatial Channel Model
An Adaptive Algorithm for MU-MIMO using Spatial Channel ModelCSCJournals
 

Similar to Automated layout synthesis tool for op amp (20)

BER ENHANCEMENT OF MIMO-CDMA BASED ON SPACE-TIME BLOCK CODES
BER ENHANCEMENT OF MIMO-CDMA BASED ON SPACE-TIME BLOCK CODESBER ENHANCEMENT OF MIMO-CDMA BASED ON SPACE-TIME BLOCK CODES
BER ENHANCEMENT OF MIMO-CDMA BASED ON SPACE-TIME BLOCK CODES
 
Design of Quaternary Logical Circuit Using Voltage and Current Mode Logic
Design of Quaternary Logical Circuit Using Voltage and Current Mode LogicDesign of Quaternary Logical Circuit Using Voltage and Current Mode Logic
Design of Quaternary Logical Circuit Using Voltage and Current Mode Logic
 
Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...
 
Final vlsi projectreport
Final vlsi projectreportFinal vlsi projectreport
Final vlsi projectreport
 
International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
REALISATION OF STATIC RANDOM ACCESS MEMORY USING QUATERNARY DLATCH
REALISATION OF STATIC RANDOM ACCESS MEMORY USING QUATERNARY DLATCHREALISATION OF STATIC RANDOM ACCESS MEMORY USING QUATERNARY DLATCH
REALISATION OF STATIC RANDOM ACCESS MEMORY USING QUATERNARY DLATCH
 
G364246
G364246G364246
G364246
 
MC-cdma
MC-cdmaMC-cdma
MC-cdma
 
Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...Cycle’s topological optimizations and the iterative decoding problem on gener...
Cycle’s topological optimizations and the iterative decoding problem on gener...
 
Design and Implementation of Area Optimized, Low Complexity CMOS 32nm Technol...
Design and Implementation of Area Optimized, Low Complexity CMOS 32nm Technol...Design and Implementation of Area Optimized, Low Complexity CMOS 32nm Technol...
Design and Implementation of Area Optimized, Low Complexity CMOS 32nm Technol...
 
Ijetr042170
Ijetr042170Ijetr042170
Ijetr042170
 
3D METALLIC PLATE LENS ANTENNA BASED BEAMSPACE CHANNEL ESTIMATION TECHNIQUE F...
3D METALLIC PLATE LENS ANTENNA BASED BEAMSPACE CHANNEL ESTIMATION TECHNIQUE F...3D METALLIC PLATE LENS ANTENNA BASED BEAMSPACE CHANNEL ESTIMATION TECHNIQUE F...
3D METALLIC PLATE LENS ANTENNA BASED BEAMSPACE CHANNEL ESTIMATION TECHNIQUE F...
 
3D METALLIC PLATE LENS ANTENNA BASED BEAMSPACE CHANNEL ESTIMATION TECHNIQUE F...
3D METALLIC PLATE LENS ANTENNA BASED BEAMSPACE CHANNEL ESTIMATION TECHNIQUE F...3D METALLIC PLATE LENS ANTENNA BASED BEAMSPACE CHANNEL ESTIMATION TECHNIQUE F...
3D METALLIC PLATE LENS ANTENNA BASED BEAMSPACE CHANNEL ESTIMATION TECHNIQUE F...
 
Lcdf4 chap 03_p2
Lcdf4 chap 03_p2Lcdf4 chap 03_p2
Lcdf4 chap 03_p2
 
Performance of spatial multiplexing,
Performance of spatial multiplexing,Performance of spatial multiplexing,
Performance of spatial multiplexing,
 
Performance of spatial multiplexing,
Performance of spatial multiplexing,Performance of spatial multiplexing,
Performance of spatial multiplexing,
 
An Adaptive Algorithm for MU-MIMO using Spatial Channel Model
An Adaptive Algorithm for MU-MIMO using Spatial Channel ModelAn Adaptive Algorithm for MU-MIMO using Spatial Channel Model
An Adaptive Algorithm for MU-MIMO using Spatial Channel Model
 
PRESTO POWER
PRESTO POWERPRESTO POWER
PRESTO POWER
 
PRESTO POWER
PRESTO POWERPRESTO POWER
PRESTO POWER
 
6th EC CBCS Model question papers
6th EC CBCS Model question papers6th EC CBCS Model question papers
6th EC CBCS Model question papers
 

Recently uploaded

Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...ranjana rawat
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 

Recently uploaded (20)

Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 

Automated layout synthesis tool for op amp

  • 1. Automated Layout Synthesis Tool for Op-Amp 1 Nueraimaiti Aimaier (Nurahmad Omar) GS 34530 mknurahmat@gmail.com Electrical & Electronic Department Lecturer: A.P. DR. ROSLINA MOHD SIDEK DR. FAKHRUL ZAMAN ROKHANI
  • 2. Op-amp Physical Design Background 2
  • 3. 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
  • 4. 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
  • 5. Stack Design and Interconnections 5 Source: F.Maloberti – Layout of Analog CMOS IC
  • 6. Layout Template of Op- Amp 6 Load (Pmos) Differential Pair (Nmos) Bias (Nmos)
  • 7. Differential Pair 7 A A A A B B B B M1 M2 A A B B M1 M2
  • 8. Bias 8 C C A A B B C C Current Mirror M5 M8 C A A B B C
  • 9. Load 9 C C A A B B C C C C C C Current Mirror M3 M4
  • 10. Design Flow Chart 10 schematic netlist Partitioning matching generator (Common-centroid) auto routing Placement & Floorplanning OK? END constraints NO YES
  • 11. 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.
  • 12. 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.
  • 13. Process algorithm 13 Algorithm Begin 1 import schematic; 2 while not (stopProcess); 3generate netlist; 4get 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;
  • 14. 14
  • 15. 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
  • 16. Constraints 16 Matching constraints: M1, M2 ----- Differential pair M3, M4 ----- Current mirrors M5, M8 ----- Current mirrors Given by the user
  • 17. Partitioning 17 Pmos Nmos Nmos
  • 18. File format Output: Array V1= (M6, M9, M4, M3) # Pmos V2=(M1,M2) # Nmos V3=(M7, M8, M5) # Nmos 18
  • 19. 19 Partitioning INPUT Netlist consraints Vertex V1 load (pmos) Vertex V2 differential Pair(nmos) Vertex V3 Bias (nmos) OUTPUT Input Output Process
  • 20. Partitioning process algorithm 20 Algorithm Begin 1get 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
  • 21. 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)
  • 22. Partitioning snapshot 22 Vertex V1 pmos Vertex V2 nmos Vertex V3 nmos
  • 23. 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.
  • 24. 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
  • 25. 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;
  • 26. 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
  • 27. 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…)
  • 28. Matching generator snapshot 28 Load Differential Pair Bias
  • 29. 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
  • 30. Placement & Floorplanning 30 Placement & Floorplanning INPUT 1. Netlist 2. DRC file
  • 31. Placement&Floorplanning process algorithm 31 Algorithm Begin 1get 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
  • 32. 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
  • 34. 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
  • 35. 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
  • 36. 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] Track_line_x[$i]
  • 37. 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.
  • 38. Channel routing FZR Rev 1.0 38 Can be implemented between each blocks and each row inside the block.
  • 39. 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.
  • 40. 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
  • 42. Condition/Range 42  Channel routing have enough space  Limited metal layer ( two layer)
  • 43. 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
  • 48. 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
  • 49. FZR Rev 1.0 49 Netlist 1 corresponding layout
  • 50. 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
  • 51. FZR Rev 1.0 51 Layout works correctly, but the VDD and VSS metal layer did not change location correspondly, waste area.
  • 52. Block1(Pmos) error FZR Rev 1.0 52 The poly disconnected below 2nd row get
  • 53. 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
  • 54. 54 Layout works correctly, but the VDD and VSS metal layer did not change location correspondly, waste area.
  • 55. 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
  • 56. 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
  • 58. 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.
  • 59. 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.
  • 60. 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