SlideShare a Scribd company logo
1 of 10
ECE 6133 - Project
MINCUT WITH TERMINAL PROPAGATION

By:
Kshitij Divekar (GT ID: 902982088)
Anandhavel Nagendrakumar
(GT ID: 902959179)
Introduction:Mincut placement is an algorithm which targets wire length reduction. Mincut involves partitioning
the nodes present in a cell. The cell is cut either horizontally or vertically. This project involves breadth first
recursive bi-partitioning. This means that the similar orientation of cuts occur together on similarly sized
partitions. The partitioning algorithm used in our project is Fiduccia-Mattheyses algorithm. Terminal
Propagation is a type of bias that is taken into consideration while partitioning. It helps keep connected nodes
in different partitions, as close as possible. When a cut is performed, a window is created that specifies that
nodes in other partitions that lie in this window cannot terminally propagate. The size of the window is the
breadth of the window. This project has taken a constant window size of 30%.

Problem Formulation:The recursive bisection partitioning method was chosen as terminal propagation can only be used in
such a method. The main reason for choosing FM algorithm for partitioning was to improve the runtime as
we have large nets. The window size was fixed at 30% after finding that it is a good size as experimented in
previous year’s projects. Where ever possible, the complexity of the program has been reduced. Most of the
parameters required for mincut are stored in vectors. The recursively bi-sectioned partitions is pushed into
queues along with the orientation of the cut it will experience when it is popped out. Another queue
maintains the x and y coordinates of the partition. These are explained in detail in the next section.

Algorithm Discussion:The netlist is read as it is and an array of vectors called net is created. Each vector stores the nodes
connected to it. Then, another array called “node” stores the structures that hold valuable information about
each node. The information present in the structure includes node number, which partition it belongs to, the
index of the net number, degree, gain and the (x,y) coordinates. A bucket is maintained for each block that
will result from the partition. It is an array of vector of nodes. A separate vector called “unlocked_A” or
“unlocked_B” maintains the nodes in each partition that are to be moved from each partition. A vector of
gain maintains the gain resulting from each move in FM. After each node is moved, if the new cutsize is less
than the previous cutsize, the gain is stored. Once all nodes are moved, partition method that had lowest
cutsize is restored. Then the next pass of FM is called. The passes continue as long as the previous pass’s
cutsize is larger than the new cutsize. To calculate gain, a node in a partition is found. The nets which he node
belongs to identified. If there are any nodes from that net are present in the opposite partition, the gain
increases by one. If all the nodes in that net are in the same partition as the current node, the gain decreases
by one. Once FM is done, the newly obtained partitions are pushed into a queue. The queue is a segmented
queue. It also stores the orientation of the next cut to be performed. Suppose the present cut is the first
vertical (represented as 0) cut. The new partitions in the queue will have “horizontal” (represented as 1) entry
in the neighboring segmented area of the queue. This denotes that, when the partition is popped out to cut,
it will have the orientation of the cut along with it. There another queue which runs in parallel to the present
one. This new queue stores a vector of the x and y coordinates of the origin and the extreme vertices of the
partition.
Now, the window size is fixed at 30%. But depending on the area constraint, the location of the cut
maybe skewed such that it occurs marginally outside the window. But, when the window size was fixed at
35% such that the cut fell within the window, there was no change in the partitioning or wire length. For
terminal propagation, all the nodes that are connected to a given node in the partition to be cut but,
1) lie outside both partitions that are to be cut
2) lie outside the window
are temporarily moved into the partition of the current node. After the cut, the temporary nodes were
removed. Wire length is calculated by Half Perimeter Bounding Box (HPBB). The final x and y coordinates of
each node is dumped into a text file. MATLAB is used to open the text file and plot the nodes and their
connections. The program ends when there are 2 nodes in each partition. This number can and has been
varied during the experimentation. The area constraint is a ratio of nodes allowed in each partition. It is
expressed in a range of 0 to 0.5. Where 0.5 means 50/50 ratio of nodes in each partition while 0 means one
partition can have all the nodes.

Implementation Issues:This code was first created entirely in MATLAB. Even after reducing complexity as much as possible,
the runtime was found to be extremely high for a single pass of FM. For fract.hgr benchmark circuit, the
runtime was approximately 30 seconds. This was around 1000 times slower than previous year’s results for
runtime. Also, the results for variation in area constraint was arbitrary. So, the entire code was re-written in
C++. The runtime for fract.hgr in C++ for multiple passes was found to be a few hundred milliseconds.

Limitations:For circuits with 5000 or more nets (from biomed.hgr), the program runs into a memory segmentation
error. We were unable to find a solution to this fault, which restricted us from trying large circuits. The
minimum number of nodes per partition is 2.

Experimental Results:FM Standalone Results:Benchmark
Number of
Initial Cutsize
Final Cutsize
Gain
Circuit
Passes
Fract
4
87
11
76
P1
5
122
77
45
StructP
3
189
46
143
P2
5
411
206
205
The initial partition is kept constant by selecting the first half of the nodes and putting it in the first
partition and putting the rest of the nodes in the second partition.
For mincut, the four benchmark circuits were experimented for wirelength and runtime by changing
the area constraint and the number of nodes per partition. The observed results are given in the table below,

Circuit name

Area
constraint

Number of
nodes per
partiton

0.45
0.35
0.45
0.35
0.45
0.35
0.45
0.35
0.45
0.35
0.45
0.35
0.45
0.35
0.45
0.35

P2

StructP

P1

Fract

2
2
16
16
2
2
16
16
2
2
16
16
2
2
16
16

Without TP
Runtime
Wirelength
in
seconds
42998.9
364.468
43708.2
521.062
39647.8
360.109
39655.5
513.703
13244
70.328
13447.6
55.172
10150
70.422
10268.2
54.938
7716.89
11.906
7588.93
8.954
6476.37
11.766
6062.98
8.422
812.058
0.266
860.311
0.204
509.69
0.203
541.524
0.234

With TP
Runtime
Wirelength
in
seconds
31874.3
390.226
33683.6
547.359
29019.5
386.296
30690.5
527.859
9484.64
81.078
9134.9
58.86
7232.86
79.781
6864.18
58.657
5151.78
14.766
5386.89
10.125
4105.9
14.703
4421.55
10.156
580.475
0.343
609.846
0.265
417.062
0.297
421.523
0.297

Drawing graphs for better interpretation,

Wirelength for 2 nodes per
partition

Without TP
P2

StructP

With TP
P1

Fract

Fract

7232.86
4105.9
417.062

6864.18
4421.55
421.523

30690.5

P1
29019.5

StructP

10268.2
6062.98
541.524

10150
6476.37
509.69

Area
Area
Area
Area
constraint = constraint = constraint = constraint =
0.45
0.35
0.45
0.35

39655.5

P2

39647.8

50000
40000
30000
20000
10000
0

WIRE LENGTH FOR 16
NODES PER PARTITION

AREA
AREA
AREA
AREA
CONSTRAINT CONSTRAINT CONSTRAINT CONSTRAINT
= 0.45
= 0.35
= 0.45
= 0.35
WITHOUT TP

WITH TP
Runtime in seconds for 2 nodes
per partition
600
500
400
300
200
100
0

RUNTIME FOR 16
NODES PER PARTITION
P2

Area
constraint =
0.35

Area
constraint =
0.45

Area
constraint =
0.35

Without TP
P2

Area
constraint =
0.45

With TP
StructP

P1

StructP

P1

Fract

600
500
400
300
200
100
0
Area
constraint =
0.35

Fract

Area
constraint =
0.45

Without TP

Area
constraint =
0.35

Area
constraint =
0.45

With TP

Gain in wirelength through Terminal
Propagation
40
30
20
10
0
P2

StructP

P1

Fract

2 Nodes per partition Area Constraint = 0.45
2 Nodes per partition Area Constraint = 0.35
16 Nodes per partition Area Constraint = 0.45
16 Nodes per partition Area Constraint = 0.35

It can be seen from the graphs that the implemented mincut placement with and without terminal
propagation is pretty fast. Using terminal propagation also results in significant gains in wire length. We were
able to obtain an average gain of 27.8% in wire length with the help of terminal propagation.
Final Cells for benchmark circuits:Circuit

Area
Const
-raint

Fract

0.35

Nodes Without Terminal Propagation
per
Partiti
-on
2

0.35

16

0.45

2

With Terminal Propagation
0.45

P1

16

0.35

2

0.35

16

0.45

2
0.45

StructP 0.35

16

2

0.35

16

0.45

2
0.45

P2

16

0.35

2

0.35

16
0.45

2

0.45

16

*For full size images, please check the “output files” folder.

Conclusion and Extension:The implementation of mincut placement algorithm is quite fast and with the help of terminal
propagation, wire length can be significantly improved. There has been an average gain of 27.8% in wire
length with the help of terminal propagation. There are many extensions/improvements that can be done.
The following were thought of but not implemented due to lack of time.
1) Implement weighted FM where nodes from neighboring partitions add more weightage during
partitioning than nodes multiple partitions away.
2) Compare KL algorithm and weighted FM algorithm in terms of wirelength for different sizes of circuits.
3) Observe the variation in wirelength and runtime for changing the number of nodes per partition.
4) Randomize the initial partitions for FM.
5) Observe the effect of change in window size.

More Related Content

What's hot

Auto encoders in Deep Learning
Auto encoders in Deep LearningAuto encoders in Deep Learning
Auto encoders in Deep LearningShajun Nisha
 
Nural network ER.Abhishek k. upadhyay
Nural network  ER.Abhishek k. upadhyayNural network  ER.Abhishek k. upadhyay
Nural network ER.Abhishek k. upadhyayabhishek upadhyay
 
Artificial Neural Networks Lect8: Neural networks for constrained optimization
Artificial Neural Networks Lect8: Neural networks for constrained optimizationArtificial Neural Networks Lect8: Neural networks for constrained optimization
Artificial Neural Networks Lect8: Neural networks for constrained optimizationMohammed Bennamoun
 
Review on cs231 part-2
Review on cs231 part-2Review on cs231 part-2
Review on cs231 part-2Jeong Choi
 
15 Machine Learning Multilayer Perceptron
15 Machine Learning Multilayer Perceptron15 Machine Learning Multilayer Perceptron
15 Machine Learning Multilayer PerceptronAndres Mendez-Vazquez
 
A New Classifier Based onRecurrent Neural Network Using Multiple Binary-Outpu...
A New Classifier Based onRecurrent Neural Network Using Multiple Binary-Outpu...A New Classifier Based onRecurrent Neural Network Using Multiple Binary-Outpu...
A New Classifier Based onRecurrent Neural Network Using Multiple Binary-Outpu...iosrjce
 
convolutional neural network (CNN, or ConvNet)
convolutional neural network (CNN, or ConvNet)convolutional neural network (CNN, or ConvNet)
convolutional neural network (CNN, or ConvNet)RakeshSaran5
 
Distributed Beamforming in Sensor Networks
Distributed Beamforming in Sensor NetworksDistributed Beamforming in Sensor Networks
Distributed Beamforming in Sensor NetworksDaniel Tai
 
Convolutional neural networks deepa
Convolutional neural networks deepaConvolutional neural networks deepa
Convolutional neural networks deepadeepa4466
 
Restricted Boltzmann Machine - A comprehensive study with a focus on Deep Bel...
Restricted Boltzmann Machine - A comprehensive study with a focus on Deep Bel...Restricted Boltzmann Machine - A comprehensive study with a focus on Deep Bel...
Restricted Boltzmann Machine - A comprehensive study with a focus on Deep Bel...Indraneel Pole
 
PR-108: MobileNetV2: Inverted Residuals and Linear Bottlenecks
PR-108: MobileNetV2: Inverted Residuals and Linear BottlenecksPR-108: MobileNetV2: Inverted Residuals and Linear Bottlenecks
PR-108: MobileNetV2: Inverted Residuals and Linear BottlenecksJinwon Lee
 
Adaptive Channel Equalization using Multilayer Perceptron Neural Networks wit...
Adaptive Channel Equalization using Multilayer Perceptron Neural Networks wit...Adaptive Channel Equalization using Multilayer Perceptron Neural Networks wit...
Adaptive Channel Equalization using Multilayer Perceptron Neural Networks wit...IOSRJVSP
 
NIPS2007: deep belief nets
NIPS2007: deep belief netsNIPS2007: deep belief nets
NIPS2007: deep belief netszukun
 
Secured transmission through multi layer perceptron in wireless communication...
Secured transmission through multi layer perceptron in wireless communication...Secured transmission through multi layer perceptron in wireless communication...
Secured transmission through multi layer perceptron in wireless communication...ijmnct
 
CONVOLUTIONAL NEURAL NETWORK
CONVOLUTIONAL NEURAL NETWORKCONVOLUTIONAL NEURAL NETWORK
CONVOLUTIONAL NEURAL NETWORKMd Rajib Bhuiyan
 
Secured wireless communication through simulated annealing guided traingulari...
Secured wireless communication through simulated annealing guided traingulari...Secured wireless communication through simulated annealing guided traingulari...
Secured wireless communication through simulated annealing guided traingulari...csandit
 

What's hot (20)

Auto encoders in Deep Learning
Auto encoders in Deep LearningAuto encoders in Deep Learning
Auto encoders in Deep Learning
 
Nural network ER.Abhishek k. upadhyay
Nural network  ER.Abhishek k. upadhyayNural network  ER.Abhishek k. upadhyay
Nural network ER.Abhishek k. upadhyay
 
Artificial Neural Networks Lect8: Neural networks for constrained optimization
Artificial Neural Networks Lect8: Neural networks for constrained optimizationArtificial Neural Networks Lect8: Neural networks for constrained optimization
Artificial Neural Networks Lect8: Neural networks for constrained optimization
 
Review on cs231 part-2
Review on cs231 part-2Review on cs231 part-2
Review on cs231 part-2
 
15 Machine Learning Multilayer Perceptron
15 Machine Learning Multilayer Perceptron15 Machine Learning Multilayer Perceptron
15 Machine Learning Multilayer Perceptron
 
deep CNN vs conventional ML
deep CNN vs conventional MLdeep CNN vs conventional ML
deep CNN vs conventional ML
 
D1103023339
D1103023339D1103023339
D1103023339
 
A New Classifier Based onRecurrent Neural Network Using Multiple Binary-Outpu...
A New Classifier Based onRecurrent Neural Network Using Multiple Binary-Outpu...A New Classifier Based onRecurrent Neural Network Using Multiple Binary-Outpu...
A New Classifier Based onRecurrent Neural Network Using Multiple Binary-Outpu...
 
convolutional neural network (CNN, or ConvNet)
convolutional neural network (CNN, or ConvNet)convolutional neural network (CNN, or ConvNet)
convolutional neural network (CNN, or ConvNet)
 
Distributed Beamforming in Sensor Networks
Distributed Beamforming in Sensor NetworksDistributed Beamforming in Sensor Networks
Distributed Beamforming in Sensor Networks
 
MobileNet V3
MobileNet V3MobileNet V3
MobileNet V3
 
Convolutional neural networks deepa
Convolutional neural networks deepaConvolutional neural networks deepa
Convolutional neural networks deepa
 
Restricted Boltzmann Machine - A comprehensive study with a focus on Deep Bel...
Restricted Boltzmann Machine - A comprehensive study with a focus on Deep Bel...Restricted Boltzmann Machine - A comprehensive study with a focus on Deep Bel...
Restricted Boltzmann Machine - A comprehensive study with a focus on Deep Bel...
 
PR-108: MobileNetV2: Inverted Residuals and Linear Bottlenecks
PR-108: MobileNetV2: Inverted Residuals and Linear BottlenecksPR-108: MobileNetV2: Inverted Residuals and Linear Bottlenecks
PR-108: MobileNetV2: Inverted Residuals and Linear Bottlenecks
 
Adaptive Channel Equalization using Multilayer Perceptron Neural Networks wit...
Adaptive Channel Equalization using Multilayer Perceptron Neural Networks wit...Adaptive Channel Equalization using Multilayer Perceptron Neural Networks wit...
Adaptive Channel Equalization using Multilayer Perceptron Neural Networks wit...
 
NIPS2007: deep belief nets
NIPS2007: deep belief netsNIPS2007: deep belief nets
NIPS2007: deep belief nets
 
Hm3513111314
Hm3513111314Hm3513111314
Hm3513111314
 
Secured transmission through multi layer perceptron in wireless communication...
Secured transmission through multi layer perceptron in wireless communication...Secured transmission through multi layer perceptron in wireless communication...
Secured transmission through multi layer perceptron in wireless communication...
 
CONVOLUTIONAL NEURAL NETWORK
CONVOLUTIONAL NEURAL NETWORKCONVOLUTIONAL NEURAL NETWORK
CONVOLUTIONAL NEURAL NETWORK
 
Secured wireless communication through simulated annealing guided traingulari...
Secured wireless communication through simulated annealing guided traingulari...Secured wireless communication through simulated annealing guided traingulari...
Secured wireless communication through simulated annealing guided traingulari...
 

Similar to ECE 6133 - Project MINCUT WITH TERMINAL PROPAGATION

Types Of Window Being Used For The Selected Granule
Types Of Window Being Used For The Selected GranuleTypes Of Window Being Used For The Selected Granule
Types Of Window Being Used For The Selected GranuleLeslie Lee
 
DSP IEEE paper
DSP IEEE paperDSP IEEE paper
DSP IEEE paperprreiya
 
A FAST FAULT TOLERANT PARTITIONING ALGORITHM FOR WIRELESS SENSOR NETWORKS
A FAST FAULT TOLERANT PARTITIONING ALGORITHM FOR WIRELESS SENSOR NETWORKS A FAST FAULT TOLERANT PARTITIONING ALGORITHM FOR WIRELESS SENSOR NETWORKS
A FAST FAULT TOLERANT PARTITIONING ALGORITHM FOR WIRELESS SENSOR NETWORKS cscpconf
 
A FAST FAULT TOLERANT PARTITIONING ALGORITHM FOR WIRELESS SENSOR NETWORKS
A FAST FAULT TOLERANT PARTITIONING ALGORITHM FOR WIRELESS SENSOR NETWORKSA FAST FAULT TOLERANT PARTITIONING ALGORITHM FOR WIRELESS SENSOR NETWORKS
A FAST FAULT TOLERANT PARTITIONING ALGORITHM FOR WIRELESS SENSOR NETWORKScsandit
 
Design of Power Efficient 4x4 Multiplier Based On Various Power Optimizing Te...
Design of Power Efficient 4x4 Multiplier Based On Various Power Optimizing Te...Design of Power Efficient 4x4 Multiplier Based On Various Power Optimizing Te...
Design of Power Efficient 4x4 Multiplier Based On Various Power Optimizing Te...Associate Professor in VSB Coimbatore
 
Pcb carolina scg_2010
Pcb carolina scg_2010Pcb carolina scg_2010
Pcb carolina scg_2010tcoyle72
 
Fixed-Point Code Synthesis for Neural Networks
Fixed-Point Code Synthesis for Neural NetworksFixed-Point Code Synthesis for Neural Networks
Fixed-Point Code Synthesis for Neural NetworksIJITE
 
Fixed-Point Code Synthesis for Neural Networks
Fixed-Point Code Synthesis for Neural NetworksFixed-Point Code Synthesis for Neural Networks
Fixed-Point Code Synthesis for Neural Networksgerogepatton
 
Gsm rf interview questions
Gsm rf interview questionsGsm rf interview questions
Gsm rf interview questionsradira03
 
FramelessALOHA_2014.pptx
FramelessALOHA_2014.pptxFramelessALOHA_2014.pptx
FramelessALOHA_2014.pptxYAAKOVSOLOMON1
 
Design and Optimization a Circular Shape Network Antenna Micro Strip for Some...
Design and Optimization a Circular Shape Network Antenna Micro Strip for Some...Design and Optimization a Circular Shape Network Antenna Micro Strip for Some...
Design and Optimization a Circular Shape Network Antenna Micro Strip for Some...AIRCC Publishing Corporation
 
A study of localized algorithm for self organized wireless sensor network and...
A study of localized algorithm for self organized wireless sensor network and...A study of localized algorithm for self organized wireless sensor network and...
A study of localized algorithm for self organized wireless sensor network and...eSAT Publishing House
 
A study of localized algorithm for self organized wireless sensor network and...
A study of localized algorithm for self organized wireless sensor network and...A study of localized algorithm for self organized wireless sensor network and...
A study of localized algorithm for self organized wireless sensor network and...eSAT Journals
 
Design and Optimization a Circular Shape Network Antenna Micro Strip for Some...
Design and Optimization a Circular Shape Network Antenna Micro Strip for Some...Design and Optimization a Circular Shape Network Antenna Micro Strip for Some...
Design and Optimization a Circular Shape Network Antenna Micro Strip for Some...AIRCC Publishing Corporation
 
DESIGN AND OPTIMIZATION A CIRCULAR SHAPE NETWORK ANTENNA MICRO STRIP FOR SOME...
DESIGN AND OPTIMIZATION A CIRCULAR SHAPE NETWORK ANTENNA MICRO STRIP FOR SOME...DESIGN AND OPTIMIZATION A CIRCULAR SHAPE NETWORK ANTENNA MICRO STRIP FOR SOME...
DESIGN AND OPTIMIZATION A CIRCULAR SHAPE NETWORK ANTENNA MICRO STRIP FOR SOME...ijcseit
 
Energy-Efficient Target Coverage in Wireless Sensor Networks Based on Modifie...
Energy-Efficient Target Coverage in Wireless Sensor Networks Based on Modifie...Energy-Efficient Target Coverage in Wireless Sensor Networks Based on Modifie...
Energy-Efficient Target Coverage in Wireless Sensor Networks Based on Modifie...ijasuc
 
Energy-Efficient Target Coverage in Wireless Sensor Networks Based on Modifie...
Energy-Efficient Target Coverage in Wireless Sensor Networks Based on Modifie...Energy-Efficient Target Coverage in Wireless Sensor Networks Based on Modifie...
Energy-Efficient Target Coverage in Wireless Sensor Networks Based on Modifie...ijasuc
 

Similar to ECE 6133 - Project MINCUT WITH TERMINAL PROPAGATION (20)

Types Of Window Being Used For The Selected Granule
Types Of Window Being Used For The Selected GranuleTypes Of Window Being Used For The Selected Granule
Types Of Window Being Used For The Selected Granule
 
DSP IEEE paper
DSP IEEE paperDSP IEEE paper
DSP IEEE paper
 
A FAST FAULT TOLERANT PARTITIONING ALGORITHM FOR WIRELESS SENSOR NETWORKS
A FAST FAULT TOLERANT PARTITIONING ALGORITHM FOR WIRELESS SENSOR NETWORKS A FAST FAULT TOLERANT PARTITIONING ALGORITHM FOR WIRELESS SENSOR NETWORKS
A FAST FAULT TOLERANT PARTITIONING ALGORITHM FOR WIRELESS SENSOR NETWORKS
 
A FAST FAULT TOLERANT PARTITIONING ALGORITHM FOR WIRELESS SENSOR NETWORKS
A FAST FAULT TOLERANT PARTITIONING ALGORITHM FOR WIRELESS SENSOR NETWORKSA FAST FAULT TOLERANT PARTITIONING ALGORITHM FOR WIRELESS SENSOR NETWORKS
A FAST FAULT TOLERANT PARTITIONING ALGORITHM FOR WIRELESS SENSOR NETWORKS
 
Design of Power Efficient 4x4 Multiplier Based On Various Power Optimizing Te...
Design of Power Efficient 4x4 Multiplier Based On Various Power Optimizing Te...Design of Power Efficient 4x4 Multiplier Based On Various Power Optimizing Te...
Design of Power Efficient 4x4 Multiplier Based On Various Power Optimizing Te...
 
Pcb carolina scg_2010
Pcb carolina scg_2010Pcb carolina scg_2010
Pcb carolina scg_2010
 
Fixed-Point Code Synthesis for Neural Networks
Fixed-Point Code Synthesis for Neural NetworksFixed-Point Code Synthesis for Neural Networks
Fixed-Point Code Synthesis for Neural Networks
 
Fixed-Point Code Synthesis for Neural Networks
Fixed-Point Code Synthesis for Neural NetworksFixed-Point Code Synthesis for Neural Networks
Fixed-Point Code Synthesis for Neural Networks
 
Gsm rf interview questions
Gsm rf interview questionsGsm rf interview questions
Gsm rf interview questions
 
FramelessALOHA_2014.pptx
FramelessALOHA_2014.pptxFramelessALOHA_2014.pptx
FramelessALOHA_2014.pptx
 
Recurrent Instance Segmentation (UPC Reading Group)
Recurrent Instance Segmentation (UPC Reading Group)Recurrent Instance Segmentation (UPC Reading Group)
Recurrent Instance Segmentation (UPC Reading Group)
 
Design and Optimization a Circular Shape Network Antenna Micro Strip for Some...
Design and Optimization a Circular Shape Network Antenna Micro Strip for Some...Design and Optimization a Circular Shape Network Antenna Micro Strip for Some...
Design and Optimization a Circular Shape Network Antenna Micro Strip for Some...
 
A study of localized algorithm for self organized wireless sensor network and...
A study of localized algorithm for self organized wireless sensor network and...A study of localized algorithm for self organized wireless sensor network and...
A study of localized algorithm for self organized wireless sensor network and...
 
A study of localized algorithm for self organized wireless sensor network and...
A study of localized algorithm for self organized wireless sensor network and...A study of localized algorithm for self organized wireless sensor network and...
A study of localized algorithm for self organized wireless sensor network and...
 
Design and Optimization a Circular Shape Network Antenna Micro Strip for Some...
Design and Optimization a Circular Shape Network Antenna Micro Strip for Some...Design and Optimization a Circular Shape Network Antenna Micro Strip for Some...
Design and Optimization a Circular Shape Network Antenna Micro Strip for Some...
 
DESIGN AND OPTIMIZATION A CIRCULAR SHAPE NETWORK ANTENNA MICRO STRIP FOR SOME...
DESIGN AND OPTIMIZATION A CIRCULAR SHAPE NETWORK ANTENNA MICRO STRIP FOR SOME...DESIGN AND OPTIMIZATION A CIRCULAR SHAPE NETWORK ANTENNA MICRO STRIP FOR SOME...
DESIGN AND OPTIMIZATION A CIRCULAR SHAPE NETWORK ANTENNA MICRO STRIP FOR SOME...
 
G010513644
G010513644G010513644
G010513644
 
maaaasss
maaaasssmaaaasss
maaaasss
 
Energy-Efficient Target Coverage in Wireless Sensor Networks Based on Modifie...
Energy-Efficient Target Coverage in Wireless Sensor Networks Based on Modifie...Energy-Efficient Target Coverage in Wireless Sensor Networks Based on Modifie...
Energy-Efficient Target Coverage in Wireless Sensor Networks Based on Modifie...
 
Energy-Efficient Target Coverage in Wireless Sensor Networks Based on Modifie...
Energy-Efficient Target Coverage in Wireless Sensor Networks Based on Modifie...Energy-Efficient Target Coverage in Wireless Sensor Networks Based on Modifie...
Energy-Efficient Target Coverage in Wireless Sensor Networks Based on Modifie...
 

Recently uploaded

fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024Janet Corral
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 

Recently uploaded (20)

fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 

ECE 6133 - Project MINCUT WITH TERMINAL PROPAGATION

  • 1. ECE 6133 - Project MINCUT WITH TERMINAL PROPAGATION By: Kshitij Divekar (GT ID: 902982088) Anandhavel Nagendrakumar (GT ID: 902959179)
  • 2. Introduction:Mincut placement is an algorithm which targets wire length reduction. Mincut involves partitioning the nodes present in a cell. The cell is cut either horizontally or vertically. This project involves breadth first recursive bi-partitioning. This means that the similar orientation of cuts occur together on similarly sized partitions. The partitioning algorithm used in our project is Fiduccia-Mattheyses algorithm. Terminal Propagation is a type of bias that is taken into consideration while partitioning. It helps keep connected nodes in different partitions, as close as possible. When a cut is performed, a window is created that specifies that nodes in other partitions that lie in this window cannot terminally propagate. The size of the window is the breadth of the window. This project has taken a constant window size of 30%. Problem Formulation:The recursive bisection partitioning method was chosen as terminal propagation can only be used in such a method. The main reason for choosing FM algorithm for partitioning was to improve the runtime as we have large nets. The window size was fixed at 30% after finding that it is a good size as experimented in previous year’s projects. Where ever possible, the complexity of the program has been reduced. Most of the parameters required for mincut are stored in vectors. The recursively bi-sectioned partitions is pushed into queues along with the orientation of the cut it will experience when it is popped out. Another queue maintains the x and y coordinates of the partition. These are explained in detail in the next section. Algorithm Discussion:The netlist is read as it is and an array of vectors called net is created. Each vector stores the nodes connected to it. Then, another array called “node” stores the structures that hold valuable information about each node. The information present in the structure includes node number, which partition it belongs to, the index of the net number, degree, gain and the (x,y) coordinates. A bucket is maintained for each block that will result from the partition. It is an array of vector of nodes. A separate vector called “unlocked_A” or “unlocked_B” maintains the nodes in each partition that are to be moved from each partition. A vector of gain maintains the gain resulting from each move in FM. After each node is moved, if the new cutsize is less than the previous cutsize, the gain is stored. Once all nodes are moved, partition method that had lowest cutsize is restored. Then the next pass of FM is called. The passes continue as long as the previous pass’s cutsize is larger than the new cutsize. To calculate gain, a node in a partition is found. The nets which he node belongs to identified. If there are any nodes from that net are present in the opposite partition, the gain increases by one. If all the nodes in that net are in the same partition as the current node, the gain decreases by one. Once FM is done, the newly obtained partitions are pushed into a queue. The queue is a segmented queue. It also stores the orientation of the next cut to be performed. Suppose the present cut is the first vertical (represented as 0) cut. The new partitions in the queue will have “horizontal” (represented as 1) entry in the neighboring segmented area of the queue. This denotes that, when the partition is popped out to cut, it will have the orientation of the cut along with it. There another queue which runs in parallel to the present one. This new queue stores a vector of the x and y coordinates of the origin and the extreme vertices of the partition.
  • 3. Now, the window size is fixed at 30%. But depending on the area constraint, the location of the cut maybe skewed such that it occurs marginally outside the window. But, when the window size was fixed at 35% such that the cut fell within the window, there was no change in the partitioning or wire length. For terminal propagation, all the nodes that are connected to a given node in the partition to be cut but, 1) lie outside both partitions that are to be cut 2) lie outside the window are temporarily moved into the partition of the current node. After the cut, the temporary nodes were removed. Wire length is calculated by Half Perimeter Bounding Box (HPBB). The final x and y coordinates of each node is dumped into a text file. MATLAB is used to open the text file and plot the nodes and their connections. The program ends when there are 2 nodes in each partition. This number can and has been varied during the experimentation. The area constraint is a ratio of nodes allowed in each partition. It is expressed in a range of 0 to 0.5. Where 0.5 means 50/50 ratio of nodes in each partition while 0 means one partition can have all the nodes. Implementation Issues:This code was first created entirely in MATLAB. Even after reducing complexity as much as possible, the runtime was found to be extremely high for a single pass of FM. For fract.hgr benchmark circuit, the runtime was approximately 30 seconds. This was around 1000 times slower than previous year’s results for runtime. Also, the results for variation in area constraint was arbitrary. So, the entire code was re-written in C++. The runtime for fract.hgr in C++ for multiple passes was found to be a few hundred milliseconds. Limitations:For circuits with 5000 or more nets (from biomed.hgr), the program runs into a memory segmentation error. We were unable to find a solution to this fault, which restricted us from trying large circuits. The minimum number of nodes per partition is 2. Experimental Results:FM Standalone Results:Benchmark Number of Initial Cutsize Final Cutsize Gain Circuit Passes Fract 4 87 11 76 P1 5 122 77 45 StructP 3 189 46 143 P2 5 411 206 205 The initial partition is kept constant by selecting the first half of the nodes and putting it in the first partition and putting the rest of the nodes in the second partition.
  • 4. For mincut, the four benchmark circuits were experimented for wirelength and runtime by changing the area constraint and the number of nodes per partition. The observed results are given in the table below, Circuit name Area constraint Number of nodes per partiton 0.45 0.35 0.45 0.35 0.45 0.35 0.45 0.35 0.45 0.35 0.45 0.35 0.45 0.35 0.45 0.35 P2 StructP P1 Fract 2 2 16 16 2 2 16 16 2 2 16 16 2 2 16 16 Without TP Runtime Wirelength in seconds 42998.9 364.468 43708.2 521.062 39647.8 360.109 39655.5 513.703 13244 70.328 13447.6 55.172 10150 70.422 10268.2 54.938 7716.89 11.906 7588.93 8.954 6476.37 11.766 6062.98 8.422 812.058 0.266 860.311 0.204 509.69 0.203 541.524 0.234 With TP Runtime Wirelength in seconds 31874.3 390.226 33683.6 547.359 29019.5 386.296 30690.5 527.859 9484.64 81.078 9134.9 58.86 7232.86 79.781 6864.18 58.657 5151.78 14.766 5386.89 10.125 4105.9 14.703 4421.55 10.156 580.475 0.343 609.846 0.265 417.062 0.297 421.523 0.297 Drawing graphs for better interpretation, Wirelength for 2 nodes per partition Without TP P2 StructP With TP P1 Fract Fract 7232.86 4105.9 417.062 6864.18 4421.55 421.523 30690.5 P1 29019.5 StructP 10268.2 6062.98 541.524 10150 6476.37 509.69 Area Area Area Area constraint = constraint = constraint = constraint = 0.45 0.35 0.45 0.35 39655.5 P2 39647.8 50000 40000 30000 20000 10000 0 WIRE LENGTH FOR 16 NODES PER PARTITION AREA AREA AREA AREA CONSTRAINT CONSTRAINT CONSTRAINT CONSTRAINT = 0.45 = 0.35 = 0.45 = 0.35 WITHOUT TP WITH TP
  • 5. Runtime in seconds for 2 nodes per partition 600 500 400 300 200 100 0 RUNTIME FOR 16 NODES PER PARTITION P2 Area constraint = 0.35 Area constraint = 0.45 Area constraint = 0.35 Without TP P2 Area constraint = 0.45 With TP StructP P1 StructP P1 Fract 600 500 400 300 200 100 0 Area constraint = 0.35 Fract Area constraint = 0.45 Without TP Area constraint = 0.35 Area constraint = 0.45 With TP Gain in wirelength through Terminal Propagation 40 30 20 10 0 P2 StructP P1 Fract 2 Nodes per partition Area Constraint = 0.45 2 Nodes per partition Area Constraint = 0.35 16 Nodes per partition Area Constraint = 0.45 16 Nodes per partition Area Constraint = 0.35 It can be seen from the graphs that the implemented mincut placement with and without terminal propagation is pretty fast. Using terminal propagation also results in significant gains in wire length. We were able to obtain an average gain of 27.8% in wire length with the help of terminal propagation.
  • 6. Final Cells for benchmark circuits:Circuit Area Const -raint Fract 0.35 Nodes Without Terminal Propagation per Partiti -on 2 0.35 16 0.45 2 With Terminal Propagation
  • 10. 0.45 2 0.45 16 *For full size images, please check the “output files” folder. Conclusion and Extension:The implementation of mincut placement algorithm is quite fast and with the help of terminal propagation, wire length can be significantly improved. There has been an average gain of 27.8% in wire length with the help of terminal propagation. There are many extensions/improvements that can be done. The following were thought of but not implemented due to lack of time. 1) Implement weighted FM where nodes from neighboring partitions add more weightage during partitioning than nodes multiple partitions away. 2) Compare KL algorithm and weighted FM algorithm in terms of wirelength for different sizes of circuits. 3) Observe the variation in wirelength and runtime for changing the number of nodes per partition. 4) Randomize the initial partitions for FM. 5) Observe the effect of change in window size.