VLSI Physical Design Automation.pdf

29
10/20/2011 Rajesh Bathija, Mewar University 1 Lecture 3 VLSI Physical Design Automation

Transcript of VLSI Physical Design Automation.pdf

Page 1: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 1/29

10/20/2011 Rajesh Bathija, Mewar University 1

Lecture 3

VLSI Physical Design Automation

Page 2: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 2/29

10/20/2011 Rajesh Bathija, Mewar University 2

Physical Design Cycle

Partitioning

Floorplanning

Placement Global & Detail Routing

Layout Compaction

Layout verification

Page 3: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 3/29

10/20/2011 Rajesh Bathija, Mewar University 3

Partitioning

Partitioning is the task of dividing a circuit into

smaller parts . The objective is to partition the

circuit into parts, so that the size of each

component is within prescribed ranges and thenumber of connections between the

components is minimized .

Different ways to partition correspond to

different circuit implementations . Therefore, agood partitioning can significantly improve

circuit performance and reduce layout costs .

Page 4: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 4/29

10/20/2011 Rajesh Bathija, Mewar University 4

Floorplanning

Floorplanning is the determination of the approximate location of each module in a rectangular chip area, given a circuitrepresented by a hypergraph the shape of each module and thelocation of the pins on the boundary of each module may also bedetermined in this phase . The floorplanning problem in chiplayout is analogous to floorplanning in building design, where we

have a set of rooms (modules) and wish to decide theapproximate location of each room based on some proximitycriteria . An important step in floorplanning is to decide therelative location of each module . A good floorplanning algorithmshould achieve many goals, such as making the subsequentrouting phase easy, minimizing the total chip area, and reducingsignal delays .

Each module has a set of implementations, each of which has adifferent area, aspect ratio, delay, and power consumption, andthe best implementation for each module should be obtained .

Page 5: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 5/29

10/20/2011 Rajesh Bathija, Mewar University 5

Placement

Placement, when each module is fixed,that is, has fixed shape and fixedterminals, is the determination of the

best position for each module . Usually,some modules have fixed positions (e .g., 1/O pads) . Although area is the major concern, it is hard to control it . Thus,

alternative cost functions are employed .There are two prevalent cost functions :wire-length-based and cut-based.

Page 6: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 6/29

10/20/2011 Rajesh Bathija, Mewar University 6

Global routing

Global routing decomposes a large routing

problem into small, manageable problems for 

detailed routing . The method first partitions

the routing region into a collection of disjointrectilinear subregions . This decomposition is

carried out by finding a "rough" path (i .e.,

sequence of "subregions" it passes) for each

net in order to reduce the chip size, shortenthe wire length, and evenly distribute the

congestion over the routing area .

Page 7: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 7/29

10/20/2011 Rajesh Bathija, Mewar University 7

Detailed routing

Detailed routing follows the global routing to effectivelyrealize interconnections in VLSI circuits. Thetraditional model of detailed routing is the two-layer Manhattan model with reserved layers, where

horizontal wires are routed on one layer and verticalwires are routed in the other layer. For integratedcircuits, the horizontal segments are typically realizedin metal while the vertical segments are realized inpolysilicon . In order to interconnect a horizontal and

vertical segment, a contact (via) must be placed at theintersection points . More recently, the unpreservedlayer model has also been discussed, where verticaland horizontal wires can run in both layers .

Page 8: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 8/29

10/20/2011 Rajesh Bathija, Mewar University 8

Layout optimization & verification

Layout optimization is a post-processing

step . In this stage the layout is

optimized, for example, by compacting

the area .

Layout verification is the testing of a

layout to determine if it satisfies design

and layout rules .

Page 9: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 9/29

10/20/2011 Rajesh Bathija, Mewar University 9

placement & routing problem

We shall refer to the problems related to

location of modules (i .e ., partitioning,

floorplanning, and placement) as the

placement problem, and the problemsrelated to interconnection of terminals (i

.e ., global and detailed routing) as the

routing problem . In addition, there areother post- processing problems, such

as via and bend minimization,

Page 10: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 10/29

10/20/2011 Rajesh Bathija, Mewar University 10

Types of partitioning

The partitioning of a system into a group of 

PCBs is called the system level partitioning.

The partitioning of a PCB into chips is called

the board level partitioning while thepartitioning of a chip into smaller subcircuits is

called the chip level partitioning.

 At each level, the constraints and objectives of 

the partitioning process are different asdiscussed below

Page 11: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 11/29

10/20/2011 Rajesh Bathija, Mewar University 11

System Level Partitioning

The circuit assigned to a PCB must satisfy certainconstraints. Each PCB usually has a fixed area, and afixed number of terminals to connect with other boards. The number of terminals available in one

board (component) to connect to other boards(components) is called the terminal count of the board(component). For example, a typical board hasdimensions 32 cm×15 cm and its terminal count is 64.Therefore, the subcircuit allocated to a board must be

manufacturable within the dimensions of the board. Inaddition, the number of nets used to connect thisboard to the other boards must be within the terminalcount of the board.

Page 12: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 12/29

10/20/2011 Rajesh Bathija, Mewar University 12

System Level Partitioning

The reliability of the system is inversely proportional to thenumber of boards in the system. Hence, one of the objectives of partitioning is to minimize the number of boards. Another important objective is the optimization of the system performance.Partitioning must minimize any degradation of the performancecaused by the delay due to the connections between components

on different boards. The signal carried by a net that is cut bypartitioning at this level has to travel from one board to another board through the system bus. The system bus is very slow asthe bus has to adhere to some strict specifications so that avariety of different boards can share the same bus. The delaycaused by signals traveling between PCBs (off-board delay) playsa major role in determining the system performance as this delayis much larger than the on-board or the on-chip delay.

Page 13: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 13/29

10/20/2011 Rajesh Bathija, Mewar University 13

Board Level Partitioning

The board level partitioning faces a different set of constraints and fulfills a different set of objectives asopposed to system level partitioning. Unlike boards,chips can have different sizes and can accommodatedifferent number of terminals. Typically the dimensions

of a chip range from 2 mm×2 mm to 25 mm×25 mm.The terminal count of a chip depends on the packageof the chip. A Dual In-line Package (DIP) allows only64 pins while a Pin Grid Array (PGA) package mayallow as many as 300 pins. While system level

partitioning is geared towards satisfying the area andthe terminal constraints of each partition, board levelpartitioning ventures to minimize the area of each chip.

Page 14: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 14/29

10/20/2011 Rajesh Bathija, Mewar University 14

Board Level Partitioning

The shift of emphasis is attributable to the cost of manufacturing a chip that is proportional to its area. Inaddition, it is expedient that the number of chips usedfor each board be minimized for enhanced boardreliability. Minimization of the number of chips is

another important determinant of performancebecause the off-chip delay is much larger than the on-chip delay. This differential in delay arises because thedistance between two adjacent transistors on a chip isa few while the distance between two adjacent chips is

in mm. In addition to traversing a longer distance, thesignal has to travel between chips, and through theconnector. The connector used to attach the chip tothe board typically has a high resistance andcontributes significantly to the signal delay.

Page 15: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 15/29

10/20/2011 Rajesh Bathija, Mewar University 15

Chip Level Partitioning

The circuit assigned to a chip can be fabricated as a single unit,therefore, partitioning at this level is necessary. A chip can accommodateas many as three million or more transistors. The fundamental objectiveof chip level partitioning is to facilitate efficient design of the chip. After partitioning, each subcircuit, which is also called a block, can bedesigned independently using either full custom or standard cell designstyle. Since partitioning is not constrained by physical dimensions, there

is no area constraint for any partition. However, the partitions may berestrained by user specified area constraints for optimization of thedesign process. The terminal count for a partition is given by the ratio of the perimeter of the partition to the terminal pitch. The minimum spacingbetween two adjacent terminals is called terminal pitch and is determinedby the design rules. The number of nets which connect a partition toother partitions cannot be greater than the terminal count of the partition.

In addition, the number of nets cut by partitioning should be minimized tosimplify the routing task.

Page 16: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 16/29

10/20/2011 Rajesh Bathija, Mewar University 16

Chip Level Partitioning

The minimization of the number of nets cut by partitioning is oneof the most important objectives in partitioning. A disadvantage of the partitioning process is that it may degrade the performance of the final design. Thus, during partitioning, these criticalcomponents should be assigned to the same partition. If such anassignment is not possible, then appropriate timing constraints

must be generated to keep the two critical components closetogether. Chip performance is determined by several componentsforming a critical path. Assignment of these components todifferent partitions extends the length of the critical path. Thus, amajor challenge for improvement of system performance isminimization of the length of critical path. After a chip has beenpartitioned, each of the subcircuits has to be placed on a fixedplane and the nets between all the partitions have to beinterconnected. The placement of the subcircuits is done by theplacement algorithms and the nets are routed by using routingalgorithms.

Page 17: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 17/29

10/20/2011 Rajesh Bathija, Mewar University 17

Objectives of Partition problem

 At any level of partitioning, the input to the partitioning algorithmis a set of components and a netlist. The output is a set of subcircuits which when connected, function as the original circuitand terminals required for each subcircuit to connect it to theother subcircuits. In addition to maintaining the originalfunctionality, partitioning process optimizes certain parameters

subject to certain constraints. The constraints for the partitioningproblem include area constraints and terminal constraints. Theobjective functions for a partitioning problem include theminimization of the number of nets that cross the partitionboundaries, and the minimization of the maximum number of times a path crosses the partition boundaries. The constraintsand the objective functions used in the partitioning problem varydepending upon the partitioning level and the design style used.The actual objective function and constraints chosen for thepartitioning problem may also depend on the specific problem.

Page 18: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 18/29

10/20/2011 Rajesh Bathija, Mewar University 18

Parameter concern in partitioning

Interconnections between partitions: The number of interconnections at any level of partitioning have to be minimized.Reducing the interconnections not only reduces the delay butalso reduces the interface between the partitions making it easier for independent design and fabrication. A large number of interconnections increase the design area as well as complicate

the task of the placement and routing algorithms. Minimization of the number of interconnections between partitions is called themincut problem. The minimization of the cut is a very importantobjective function for partitioning algorithms for any level or anystyle of design.

Delay due to partitioning: The partitioning of a circuit might

cause a critical path to go in between partitions a number of times. As the delay between partitions is significantly larger thanthe delay within a partition, this is an important factor which has tobe considered while partitioning high performance circuits. This isan objective function for partitioning algorithms for all levels of design.

Page 19: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 19/29

10/20/2011 Rajesh Bathija, Mewar University 19

Parameter concern in partitioning

Number of terminals: Partitioning algorithms at any level mustpartition the circuit so that the number of nets required to connecta subcircuit to other subcircuits does not exceed the terminalcount of the subcircuit. In case of system level partitioning, thislimit is decided by the maximum number of terminals available ona PCB connector which connects the PCB to the system bus. In

case of board level partitioning, this limit is decided by the pincount of the package used for the chips. In case of chip levelpartitioning, the number of terminals of a subcircuit is determinedby the perimeter of the area used by the subcircuit.

Page 20: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 20/29

10/20/2011 Rajesh Bathija, Mewar University 20

Parameter concern in partitioning

Area of each partition: In case of system level partitioning, thearea of each partition (board) is fixed and hence this factor appears as a constraint for the system level partitioning problem.In case of board level partitioning, although it is important toreduce the area of each partition (chip) to a minimum to reducethe cost of fabrication, there is also an upper bound on the area

of a chip, Hence, in this case also, the area appears as aconstraint for the partitioning problem. At chip level, the size of each partition is not so important as long as the partitions arebalanced.

Page 21: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 21/29

10/20/2011 Rajesh Bathija, Mewar University 21

Parameter concern in partitioning

Number of partitions: The number of partitions appears as a constraintin the partitioning problem at system level and board level partitioning.This prevents a system from having too many PCBs and a PCB fromhaving too many chips. A large number of partitions may ease the designof individual partitions but they may also increase the cost of fabricationand the number of interconnections between the partitions. At the sametime, if the number of partitions is small, the design of these partitions

might still be too complex to be handled efficiently. At chip level, thenumber of partitions is determined, in part, by the capability of theplacement algorithm. The constraint on the number of partitions can bestated as, Multiway partitioning is normally reduced to a series of two-way or bipartitioning problem. Each component is hierarchicallybipartitioned until the desired number of components is achieved. In thischapter, we will restrict ourselves to bipartitioning. When the two

partitions have the same size, the partitioning process is calledbisectioning and the partitions are called bisections.

Page 22: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 22/29

10/20/2011 Rajesh Bathija, Mewar University 22

Partition for different design style

Full custom design style: In a full custom design style, partitions canbe of different sizes and hence there are no area constraints for thepartitioning algorithms. Thus, the partitioning in full custom design stylehas the most flexibility. During chip level partitioning, the number of terminals allowed for each partition is determined by the perimeter of theblock corresponding to a partition. Since, the cost of manufacturing acircuit is directly proportional to the layout size, it is essential to keep the

area of the layout to a minimum. The area of circuit layout is the sum of the areas occupied by components, areas used for routing the nets, andthe unused areas. Since the areas occupied by the components arefixed, it is only possible to minimize the routing areas and unused areas.The routing area will be largely used by the nets that go across theboundaries of the blocks. The amount of unused areas will bedetermined by the placement. Therefore in addition to the terminal

constraints, partitioning algorithms have to minimize the total number of nets that cross the partition boundaries.

Page 23: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 23/29

10/20/2011 Rajesh Bathija, Mewar University 23

Standard cell design style

The primary objective of the partitioning algorithms in standardcell design style is to partition the circuit into a set of disjointsubcircuits such that each subcircuit corresponds to a cell in astandard cell library. In addition, the partitioning procedure isnonhierarchical. The complexity of partitioning depends on thetype of the standard cells available in the standard cell library. If 

the library has only a few simple cell types available, there arefew options for the partitioning procedure and the partitioningproblem has to satisfy constraints and However, if there are manycell types available, some of which are complex, then thepartitioning problem is rather complicated. The objective functionto be optimized by the partitioning algorithms for standard celldesign is For high performance circuits, and are used ascombined objective functions.

Page 24: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 24/29

10/20/2011 Rajesh Bathija, Mewar University 24

Gate array design style

The circuit is bipartitioned recursively

until each resulting partition corresponds

to a gate on the gate array. The objective

for each bipartitioning is to minimize thenumber of nets that cross the partition

boundaries.

Page 25: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 25/29

10/20/2011 Rajesh Bathija, Mewar University 25

Classification of Partitioning

Algorithms

The mincut problem is NP-complete, it follows that general partitioningproblem is also NP-complete [GJ79]. Partitioning algorithms can beclassified in three ways. The first method of classification depends onavailability of initial partitioning. There are two classes of partitioningalgorithms under this classification scheme:

Constructive algorithms and

Iterative algorithms. The input to a constructive algorithms is the circuit components and

thenetlist. The output is a set of partitions and the new netlist.Constructive algorithms are typically used to form some initial partitionswhich can be improved by using other algorithms. In that sense,constructive algorithms are used as preprocessing algorithms for partitioning. They are usually fast, but the partitions generated by these

algorithms may be far from optimal. Iterative algorithms, on the other hand, accept a set of partitions and the

netlist as input and generate an improved set of partitions with themodified netlist. These algorithms iterate continuously until the partitionscannot be improved further.

Page 26: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 26/29

10/20/2011 Rajesh Bathija, Mewar University 26

Classification of Partitioning

Algorithms

The partitioning algorithms can also be classified based on thenature of the algorithms. There are two types of algorithms:

Deterministic algorithms and

Probabilistic algorithms.

Deterministic algorithms produce repeatable or deterministic

solutions. For example, an algorithm which makes use of deterministic functions, will always generate the same solution for a given problem.

On the other hand, the probabilistic algorithms are capable of producing a different solution for the same problem each timethey are used, as they make use of some random functions.

Page 27: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 27/29

10/20/2011 Rajesh Bathija, Mewar University 27

Classification of Partitioning

Algorithms

The partitioning algorithms can also be

classified on the basis of the process

used for partitioning. Thus we have the

following categories:

Group Migration algorithms,

Simulated Annealing and Evolution

based algorithms and

Other partitioning algorithms.

Page 28: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 28/29

10/20/2011 Rajesh Bathija, Mewar University 28

Process Used For Partitioning

 Algorithm

The group migration algorithms [FM82, KL70] start with some partitions, usuallygenerated randomly, and then move components between partitions to improvethe partitioning. The group migration algorithms are quite efficient. However, thenumber of partitions has to be specified which is usually not known when thepartitioning process starts. In addition, the partitioning of an entire system is amulti-level operation and the evaluation of the partitions obtained by thepartitioning depends on the final integration of partitions at all levels, from thebasic subcircuits to the whole system. An algorithm used to find a minimum cut at

one level may sacrifice the quality of cuts for the following levels. The groupmigration method is a deterministic method which is often trapped at a localoptimum and can not proceed further.

The simulated annealing/evolution algorithms carry out the partitioning processby using a cost function, which classifies any feasible solution, and a set of moves, which allows movement from solution to solution. Unlike deterministicalgorithms, these algorithms accept moves which may adversely effect thesolution. The algorithm starts with a random solution and as it progresses, the

proportion of adverse moves decreases.These degenerate moves act as asafeguard against entrapment in local minima. These algorithms arecomputationally intensive as compared to group migration and other methods.

 Among all the partitioning algorithms, the group migration and simulatedannealing or evolution have been the most successful heuristics for partitioningproblems. The use of both these types of algorithms is ubiquitous and extensiveresearch has been carried out on them.

Page 29: VLSI Physical Design Automation.pdf

7/28/2019 VLSI Physical Design Automation.pdf

http://slidepdf.com/reader/full/vlsi-physical-design-automationpdf 29/29

10/20/2011 Rajesh Bathija, Mewar University 29

Thanks