Simulated Annealing for Placement Problem to minimise the wire length

Similar documents
Introduction to Design Optimization: Search Methods

Hardware-Software Codesign

Term Paper for EE 680 Computer Aided Design of Digital Systems I Timber Wolf Algorithm for Placement. Imran M. Rizvi John Antony K.

Algorithms & Complexity

Simulated Annealing. Slides based on lecture by Van Larhoven

Parallel Simulated Annealing for VLSI Cell Placement Problem

CAD Algorithms. Placement and Floorplanning

Lecture 4. Convexity Robust cost functions Optimizing non-convex functions. 3B1B Optimization Michaelmas 2017 A. Zisserman

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Animation of VLSI CAD Algorithms A Case Study

Parallel Implementation of VLSI Gate Placement in CUDA

Non-deterministic Search techniques. Emma Hart

Simple mechanisms for escaping from local optima:

Evolutionary Computation Algorithms for Cryptanalysis: A Study

Three-Dimensional Cylindrical Model for Single-Row Dynamic Routing

Simulated Annealing. G5BAIM: Artificial Intelligence Methods. Graham Kendall. 15 Feb 09 1

COMPARATIVE STUDY OF CIRCUIT PARTITIONING ALGORITHMS

Lecture: Iterative Search Methods

Lecture 8: Synthesis, Implementation Constraints and High-Level Planning

SIMULATED ANNEALING TECHNIQUES AND OVERVIEW. Daniel Kitchener Young Scholars Program Florida State University Tallahassee, Florida, USA

Electronic Design Automation Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Introduction to CMOS VLSI Design (E158) Lecture 7: Synthesis and Floorplanning

Local Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )

Local Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )

Von Neumann Architecture

Hardware/Software Partitioning of Digital Systems

Placement Algorithm for FPGA Circuits

Local Search and Optimization Chapter 4. Mausam (Based on slides of Padhraic Smyth, Stuart Russell, Rao Kambhampati, Raj Rao, Dan Weld )

Spiral 2-8. Cell Layout

FEKO Mesh Optimization Study of the EDGES Antenna Panels with Side Lips using a Wire Port and an Infinite Ground Plane

Lab. Course Goals. Topics. What is VLSI design? What is an integrated circuit? VLSI Design Cycle. VLSI Design Automation

Volume 3, No. 6, June 2012 Journal of Global Research in Computer Science REVIEW ARTICLE Available Online at

Outline. Informed Search. Recall: Uninformed Search. An Idea. Heuristics Informed search techniques More on heuristics Iterative improvement

Chapter 16 Heuristic Search

Automated Extraction of Physical Hierarchies for Performance Improvement on Programmable Logic Devices

Place and Route for FPGAs

Introduction to Optimization Using Metaheuristics. Thomas J. K. Stidsen

Digital VLSI Design. Lecture 7: Placement

Beyond Classical Search

CS 331: Artificial Intelligence Local Search 1. Tough real-world problems

An Overview of Search Algorithms With a Focus in Simulated Annealing

Artificial Intelligence

Cluster-based approach eases clock tree synthesis

4 INFORMED SEARCH AND EXPLORATION. 4.1 Heuristic Search Strategies

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering

Engin 100 (section 250), Winter 2015, Technical Lecture 3 Page 1 of 5. Use pencil!

Kapitel 5: Local Search

Simplex of Nelder & Mead Algorithm

Optimization Techniques for Design Space Exploration

Graphics: Alexandra Nolte, Gesine Marwedel, Universität Dortmund. RTL Synthesis

CS/COE0447: Computer Organization

SORTING AND SEARCHING

Machine Learning for Software Engineering

Introduction VLSI PHYSICAL DESIGN AUTOMATION

Spiral 1 / Unit 4 Verilog HDL. Digital Circuit Design Steps. Digital Circuit Design OVERVIEW. Mark Redekopp. Description. Verification.

Estimation of Wirelength

CHAPTER 5 MAINTENANCE OPTIMIZATION OF WATER DISTRIBUTION SYSTEM: SIMULATED ANNEALING APPROACH

Introduction to Optimization Using Metaheuristics. The Lecturer: Thomas Stidsen. Outline. Name: Thomas Stidsen: Nationality: Danish.

ECE 4514 Digital Design II. Spring Lecture 2: Hierarchical Design

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 2, 2016

Algorithm Design (4) Metaheuristics

Available Optimization Methods

The Plan: Basic statistics: Random and pseudorandom numbers and their generation: Chapter 16.

Detailed Router for 3D FPGA using Sequential and Simultaneous Approach

Advanced FPGA Design Methodologies with Xilinx Vivado

CpE 442. Memory System

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay

Dr. Stephan Steigele Vorlesung im SS 2008

Outline. Informed Search. Recall: Uninformed Search. An Idea. Heuristics Informed search techniques More on heuristics Iterative improvement

CMOS VLSI Design. MIPS Processor Example. Outline

Single Candidate Methods

A new Optimization Algorithm for the Design of Integrated Circuits

Introduction to Artificial Intelligence 2 nd semester 2016/2017. Chapter 4: Beyond Classical Search

Components of a Computer System

Artificial Intelligence

CHAPTER 1 INTRODUCTION

Global Optimization. for practical engineering applications. Harry Lee 4/9/2018 CEE 696

Welcome to Part 3: Memory Systems and I/O

CAD for VLSI Design - I. Lecture 21 V. Kamakoti and Shankar Balachandran

Beyond Classical Search

EN2911X: Reconfigurable Computing Lecture 13: Design Flow: Physical Synthesis (5)

Unit 5A: Circuit Partitioning

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 3, 2015

Copyright 2000, Kevin Wayne 1

Global Optimization Simulated Annealing and Tabu Search. Doron Pearl

PROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

SYNTHESIS FOR ADVANCED NODES

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design

An Introduction to FPGA Placement. Yonghong Xu Supervisor: Dr. Khalid

GENETIC ALGORITHM BASED FPGA PLACEMENT ON GPU SUNDAR SRINIVASAN SENTHILKUMAR T. R.

ESE 570 Cadence Lab Assignment 2: Introduction to Spectre, Manual Layout Drawing and Post Layout Simulation (PLS)

Artificial Intelligence

Chapter 6. CMOS Functional Cells

Scientific Computing with Case Studies SIAM Press, Lecture Notes for Unit IV Monte Carlo

CS152 Computer Architecture and Engineering Lecture 16: Memory System

VERILOG HDL. 1 ENGN3213: Digital Systems and Microprocessors L#5-6

Reference Sheet for C112 Hardware

Transcription:

Simulated Annealing for Placement Problem to minimise the wire length Ajay Sharma 2nd May 05

Contents 1 Algorithm 3 1.1 Definition of Algorithm...................... 3 1.1.1 Algorithm......................... 3 2 Simulated Annealing 4 2.1 Randomized Algorithm...................... 4 2.2 Simulated Annealing....................... 4 2.2.1 Basic Iteration...................... 6 2.2.2 Neighbours of the state.................. 6 2.2.3 Transition Probability.................. 6 2.2.4 Annealing schedule.................... 6 2.2.5 PSEUDO CODE..................... 6 2.2.6 Parameters........................ 7 2.2.7 State Neighbours..................... 7 2.2.8 Transition Probability.................. 8 2.2.9 Classical Formula..................... 8 2.2.10 Annealing Schedule.................... 8 3 C++ Based Implementation 9 3.1 BDNET File............................ 10 4 Circuit: Sample1 13 4.1 Specification............................ 13 4.2 Initial Placement......................... 14 4.3 Final Placement.......................... 15 4.4 Cost Function Plot........................ 16 4.5 VERILOG CODE......................... 16 4.6 BDNET NETLIST........................ 16 1

5 Sample Circuit 2: 8 bit Full Adder with Register 20 5.1 Specification............................ 20 5.2 Final Placement.......................... 21 5.3 Cost Function Plot........................ 21 5.4 VERILOG CODE......................... 21 6 Sample Circuit 3 22 6.1 Specification............................ 22 6.2 Final Placement.......................... 23 6.3 Cost Function Plot........................ 23 6.4 VERILOG CODE......................... 23 7 Sample Circuit 4: ALU 24 7.1 Specification............................ 24 7.2 Final Placement.......................... 24 7.3 Cost Function Plot........................ 25 7.4 VERILOG CODE......................... 25 7.5 BDNET File............................ 25 8 Sample Circuit 5: 8x8 Bit Multiplier 26 8.1 Specification............................ 26 8.2 Final Placement.......................... 26 8.3 Cost Function Plot........................ 27 8.4 VERILOG CODE......................... 27 8.5 BDNET File............................ 27 9 Final Analysis 28 9.1 Cost Gain............................. 28 9.2 Speed............................... 29 2

Chapter 1 Algorithm 1.1 Definition of Algorithm A step by step procedure to solve any problem is called as Algorithm 1.1.1 Algorithm An example of such an algorithm is Adding members of an array. The algorithm for such an example would be: start integer i; integer result; array S[n]; result = 0; for (i=1;i<=n;i++) result=result+ S[i]; return result; end We will talk about Simulated Annealing in detail and use it for solving VLSI CAD problems. 3

Chapter 2 Simulated Annealing Before we understand the Algorithm lets try to understand the Randomized algorithm. 2.1 Randomized Algorithm A Randomized Algorithm is an algorithm uses random bits as an auxillary input to guide its behaviour, in the hope of achieving a good performance in the average case. An Example of this would be finding a in an array of n elements given that half of them are a s and half are b s. The obvious approach is to look for all elements of array but that will take n/2 operations. But at random we can find a at a much higher probability than other method. Lets now begin with Simulated annealing. 2.2 Simulated Annealing In Short,Simulated Annealing(SA) is a generic probabilistic meta-algorithm for the global optimization problem namely locating a good approximation to the global optimum of a given function in a large search space. By global optimum i mean selection from a domain that yeilds a highest value when a specific function is given. For example the function : f(x)=-x 2 + 2, is defined over the real number axis and has the highest value when x=0, ie: f(x)=2. 4

The search space is the set of all posible solutions to the problems. The Simulated Annealing algorithm is written by S. Kirkpatrick, C.D.Gelatt and M.P.Vecchi in 1983, and by V.Cerry in 1985. The inspiration comes from mettalurgy where we do a lot of annealing. In annealing we heat a solid and do controlled cooling to increase the size of the crystals and reduce their defects. The heat causes the atoms to become unstuck from their initial positions and wander randomly through states of higher energy; slow cooling gives them chance to come to a state of lower energy than the initial one. 5

2.2.1 Basic Iteration We decide between moving the system to the neighbouring state s from the state s based on the probability that the system ultimately reaches the lowest possible energy state. We do it till we get the best possible solution or when the time bound is over or reources exausted. 2.2.2 Neighbours of the state The neighbours of the state are specified by the user. 2.2.3 Transition Probability Probability of making a transition is decided based on the function P( E,T) where E=E(S )-E(S)... T :- Temperature. Sometimes we swap the system state from S to S evenif the next state is not having lower energy level which means we donot stay at a false minimum. Where the neihbours are at high energy level but we still swap in the hope that eventually we may reach a lower energy state. We see that as: Temp - 0 P( E,T) - 0 if E = +ve ie: Increasing of the Temperature. P( E,T) - 1 if E = -ve ie: Decreasing Temperature. For small values of T the system prefers to go downhill than uphill. When Time=0, the system is gready algorithm, ie: moves to the next state iff the next state is of lower energy level. At higher Temperature coarse energy variation cause system change and at lower temperature finer energy variation cause system change. 2.2.4 Annealing schedule Initially the system assumes the highest possible energy level and then it is gradually decreased. 2.2.5 PSEUDO CODE 1. S=S0 Initial state S = S0 (state 0) 6

2. e=e(s) Energy is equal to energy of the state 3. k=0 step = 0 ie. initial step. 4. while k(less than)kmax & e:- emax Repeat the loop till max steps and lowest possible energy. 5. sn:= neighbours(s) this should generate randomly generated nighbour. Sn :- neighbour s state. 6. en=e(sn) Energy is the nighbours energy. E(sn) is the energy of the neighbour state.. 7. if random() (lessthan) P(en -e,temp(k/kmax) then means random calls generates random values between [0,1] so check for change in energy over the over the chahge in temperature. 8. s=sn; e=en ; state is the next state, energy is the next state. 9. k=k+1 ; step increase. 10. return S; return the current state as output of the algorithm 2.2.6 Parameters 1. 1. State Space: The State machine or the perhaps the state. 2. 2. Neighbour selection method: Enumerating the next state candidate. 3. 3. Probability Transition Function: The probability of Transition. 4. 4. Annealing Schedule: Temperature decrease schedule. Its more of an Art than Science. 2.2.7 State Neighbours Choosing the neighbours is very critical, always swap adjacent neighbours state not any arbitrary state. Chances are more likely that energy increases when we swap any arbitrary state, rather than adjacent swap. More than that at Higher temperature coarser moves allowed and at lower temperature narrower moves allowed. 7

2.2.8 Transition Probability It is not as critical as the neighbourhood graph provided follows the requirement of SA. 2.2.9 Classical Formula If E = -ve (energy is reduced) then the probability of P( E,T) is accepted is 1 the move is accepted. Otherwise the Probability is = e deltae T. from metropolis-hastings theorom used to generate samples from Maxwell s Boltzman distribution. 2.2.10 Annealing Schedule The initial temperature should be large enough so that probability of accepting uphill/downhill moves are same. At any random state, deltae should be estimated. The temperature should be finally decreased to 0 or nearly zero. Popular choice is the Exponential schedule ie. temperature decrease by a fixed factor. Alpha 1. 8

Chapter 3 C++ Based Implementation The following is the program that i am working on. It has the following : 1. Input (a) BDNET file (b) No of iterations at each temperature (c) No of Temperature points to try 2. Output (a) Placement of the optimized Cells (b) Plot of the Cost function 9

3.1 BDNET File Netlist files are listed in this form. This is the sample BDNET ckt and the BDNET file is given below. 10

MODEL sample:unplaced; TECHNOLOGY scmos; VIEWTYPE SYMBOLIC; EDITWTYLE SYMBOLIC; INPUT clk,a1; OUTPUT z<1:0>; SUPPLY Vdd; GROUND GND; INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/nanf251": physical NAME: "u1" "Vdd!" : UNCONNECTED; "O" : "n0"; "A1" : "a1"; INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/anf251": physical NAME: "u2" 11

"Vdd!" : UNCONNECTED; "O" : "z0"; "A1" : "clk"; "B!" : "n0"; INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/anf251": physical NAME: "u3" "Vdd!" : UNCONNECTED; "O" : "z1"; "A1" : "n0"; "B!" : "clk"; 12

Chapter 4 Circuit: Sample1 We start with testing the circuits and finding the cost reduction and CPU time required. The first circuit is the smallest and the last is the biggest. These Tests are performed on the Test Computer with Linux OS/intel 1.7GHZ Celeron/128 MB RAM/845 Chipset Motherboard. 4.1 Specification 1. Total Size : 14 Cells. 2. Total Nets : 17 3. Initial Cost : 29 4. Final Cost : 23,22,23 5. Initial temperature: 10000 6. Percent Reduction in Cost = 26 percent 7. Iteration = 150 8. Temperature Steps : 100 13

4.2 Initial Placement This is the initial plot and the wire length is marked on the nets. Length is 29 initially. Total 14

4.3 Final Placement This is the Final plot and the wire length is reduced from 29 to 23. 15

4.4 Cost Function Plot 4.5 VERILOG CODE module sample2(a,b,c,f,g); input A,B,C; output F,G; wire n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12; not u1(n1,a); not u2(n2,b); or u3(n3,n1,n2); and u4(n4,a,n3); and u5(n5,n3,b); or u6(n6,n4,n5); not u7(n7,n6); not u8(n8,c); or u9(n9,n7,n8); and u10(n10,n6,n9); and u11(n11,n9,c); and u12(n12,n9,n3); or u13(f,n10,n11); not u14(g,n12); endmodule 4.6 BDNET NETLIST MODEL "sample":unplaced; 16

TECHNOLOGY scmos; VIEWTYPE SYMBOLIC; EDITSTYLE SYMBOLIC; OUTPUT "F" : "F"; OUTPUT "G" : "G"; INPUT "A" : "A"; INPUT "B" : "B"; INPUT "C" : "C"; INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/invf101":physical NAME = "U1" "Vdd!" : UNCONNECTED; "O" : "n1"; "A1" : "A"; INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/invf101":physical NAME = "U2" "Vdd!" : UNCONNECTED; "O" : "n2"; "A1" : "B"; INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/norf201":physical NAME = "U3" "Vdd!" : UNCONNECTED; "O" : "n3"; "A1" : "n1"; "B1" : "n2"; INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/blf00001":physical NAME = "U4" "Vdd!" : UNCONNECTED; "O" : "n4"; "A1" : "A"; "B1" : "n3"; INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/blf00001":physical NAME = "U5" 17

"Vdd!" : UNCONNECTED; "O" : "n5"; "A1" : "n3"; "B1" : "B"; INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/norf201":physical NAME = "U6" "Vdd!" : UNCONNECTED; "O" : "n6"; "A1" : "n4"; "B1" : "n5"; INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/invf101":physical NAME = "U7" "Vdd!" : UNCONNECTED; "O" : "n7"; "A1" : "n6"; INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/invf101":physical NAME = "U8" "Vdd!" : UNCONNECTED; "O" : "n8"; "A1" : "C"; INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/norf201":physical NAME = "U9" "Vdd!" : UNCONNECTED; "O" : "n9"; "A1" : "n7"; "B1" : "n8"; INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/blf00001":physical NAME = "U10" "Vdd!" : UNCONNECTED; "O" : "n10"; "A1" : "n6"; "B1" : "n9"; 18

INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/blf00001":physical NAME = "U11" "Vdd!" : UNCONNECTED; "O" : "n11"; "A1" : "n9"; "B1" : "C"; INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/blf00001":physical NAME = "U12" "Vdd!" : UNCONNECTED; "O" : "n12"; "A1" : "n9"; "B1" : "n3"; INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/norf201":physical NAME = "U13" "Vdd!" : UNCONNECTED; "O" : "nf"; "A1" : "n10"; "B1" : "n11"; INSTANCE "$OCTTOOLS/tech/scmos/msu/stdcell2_2/invf101":physical NAME = "U14" "Vdd!" : UNCONNECTED; "O" : "G"; "A1" : "n12"; ENDMODEL; 19

Chapter 5 Sample Circuit 2: 8 bit Full Adder with Register 5.1 Specification 1. Total Size : 73 Cells. 2. Total Nets : 91 3. Initial Cost : 505 4. Final Cost : 154,158,153 5. Initial temperature: 10000 6. Percent Reduction in Cost = 226 percent 7. Iteration = 150 8. Temperature Steps : 100 20

5.2 Final Placement x reg1 reg2 u32 u51 u25 u15 x u34 u14 u35 u10 u52 u48 u47 x u20 u27 u36 u50 u53 u7 u30 reg3 x u5 u49 u41 u40 u55 u23 u54 u19 u57 u38 u13 u39 u56 u45 u16 u26 u58 u37 u21 u28 reg0 u46 x u33 reg6 reg7 u4 reg5 u62 reg4 u59 u8 u12 u24 u31 u63 u44 u29 u66 u67 u68 u18 u65 u9 u17 u22 u65 u11 u61 x u60 u64 u43 u42 x 5.3 Cost Function Plot 5.4 VERILOG CODE The verilog Code can be found at the website : www.csun.edu/ ags55111. Its too bog to be included in the project report. 21

Chapter 6 Sample Circuit 3 6.1 Specification 1. Total Size : 93 Cells. 2. Total Nets : 114 3. Initial Cost : 405 4. Final Cost : 138,144,140 5. Initial temperature: 10000 6. Percent Reduction in Cost = 189 percent 7. Iteration = 150 8. Temperature Steps : 100 22

6.2 Final Placement u8 u6 u15 u5 u11 u18 u12 u2 u13 u16 u7 u21 u4 x u24 u38 u40 u1 u22 u20 u25 u14 u3 u37 u47 u48 u39 x u26 u28 u56 u27 u60 u71 u61 u39 u19 u33 x u57 u23 u82 u76 u70 u58 u34 u45 u55 u69 u17 u88 u83 u62 u59 u31 u54 u68 u75 u9 u91 x u63 u36 u44 u32 u80 u81 u10 u89 u84 u72 u46 u30 u29 u43 u87 u90 u92 u85 u77 u41 u52 u51 u50 u78 u86 x u42 u49 u41 u53 u67 u66 u74 u79 x u65 u73 u64 6.3 Cost Function Plot 6.4 VERILOG CODE The verilog Code can be found at the website : www.csun.edu/ ags55111. Its too bog to be included in the project report. 23

Chapter 7 Sample Circuit 4: ALU 7.1 Specification 1. Total Size : 439 Cells. 2. Total Nets : 400 3. Initial Cost : 7499 4. Final Cost : 1633,1624,1688 5. Initial temperature: 10000 6. Percent Reduction in Cost = 355 percent 7. Iteration = 150 8. Temperature Steps : 100 7.2 Final Placement The final placement file is the alu.dat and can be found at www.csun.edu/ ags55111 It again is too big to be included in the project report. 24

7.3 Cost Function Plot 7.4 VERILOG CODE The verilog Code can be found at the website : www.csun.edu/ ags55111. Its too big to be included in the project report. 7.5 BDNET File Can be found at www.csun.edu/ ags55111 25

Chapter 8 Sample Circuit 5: 8x8 Bit Multiplier 8.1 Specification 1. Total Size : 441 Cells. 2. Total Nets : 457 3. Initial Cost : 7105 4. Final Cost : 1366,1409,1324 5. Initial temperature: 10000 6. Percent Reduction in Cost = 420 percent 7. Iteration = 150 8. Temperature Steps : 100 8.2 Final Placement The final placement file is the alu.dat and can be found at www.csun.edu/ ags55111 It again is too big to be included in the project report. 26

8.3 Cost Function Plot 8.4 VERILOG CODE The verilog Code can be found at the website : www.csun.edu/ ags55111. Its too big to be included in the project report. 8.5 BDNET File Can be found at www.csun.edu/ ags55111 27

Chapter 9 Final Analysis I have used the Pentium Celeron 1.7GHz/Linux/128 RAM/845 chipset computer for all the test simulation. The summary of results is as follows: Ckt 1 2 3 4 5 Cells 14 74 93 439 441 Nets 17 91 114 480 441 Time 1 2 2 20 21 Gain 26 225 189 355 420 9.1 Cost Gain I have tried to analyse the algorithm with various sizes of ckt. I observe that as the no:of cells increase the cost gain also increase. 28

9.2 Speed The Speed required is calculated by taking smaller ckts first and then bigger ckts. The time required for the algorithm increases as the size of the ckt increases. Lets assume the Pentium 4 processor has 55 million transistors and each transistor takes 1 cell then in that case my algorithm took 21 seconds for 441 cells. So for 55x10 6 cells it will take 30 days. Consider this: 55000000 = 441 so x 21 x = 55000000 21 441 x = 2619047.6 seconds x = 727 hours x = 30 days 29

30