porosity aware buffered steiner tree construction

23
Porosity Aware Buffered Steiner Tree Construction C. Alpert G. Gandham S. Quay IBM Corp M. Hrkic Univ Illinois Chicago J. Hu Texas A&M Univ

Upload: sage-richard

Post on 30-Dec-2015

24 views

Category:

Documents


0 download

DESCRIPTION

Porosity Aware Buffered Steiner Tree Construction. C. Alpert G. Gandham S. Quay IBM Corp. M. Hrkic Univ Illinois Chicago. J. Hu Texas A&M Univ. Outline. Introduction and Previous work Problem formulation Algorithm Experimental results Conclusion. 73. 24. -23. 33. - PowerPoint PPT Presentation

TRANSCRIPT

Porosity Aware Buffered Steiner Tree Construction

C. Alpert

G. Gandham

S. Quay

IBM Corp

M. Hrkic

Univ Illinois ChicagoJ. Hu

Texas A&M Univ

Outline

• Introduction and Previous work

• Problem formulation

• Algorithm

• Experimental results

• Conclusion

Buffer Insertion• Improve timing

– Drive long wire– Shield load from critical

path

• Van Ginneken’s Algorithm– Given tree topology

fixed– Find optimal solution at

fast speed

Slack

Slack

73

-23

24

33

If There Are Big Blockages

Previous Works

• Simultaneous tree construction and buffer insertion– Buffer blockage driven

• Recursively Merging and Embedding [Cong and Yuan, DAC 00]• Graph-based[Tang, et al., ICCAD 01]

– General purpose• SP-Tree [Hrkic and Lillis, ISPD 02]

– Excellent solution quality– High complexity

• Sequential tree construction + buffer insertion– Adaptive blockage avoidance [Hu, et al., ISPD 02]– Very good solution quality– Practical computation speed

If There Are Many Small Blockages

Porosity Has to Be Considered

• Handling small blockages will slow down computation

• Buffers in dense region may be spiraled away

• No previous work handles porosity directly

Express Porosity through Tile Graph

• For a tile g• A(g): tile area• a(g): usage area• d(g) = a(g)/A(g)• Porosity cost is

d2(g), if a buffer is placed in g

Problem Formulation

Porosity-aware Buffered Steiner Tree Problem: • Given

– A net N = {v0, v1, …, vn} – Load capacitance c(vi) and required arrival time q(vi) – Tile graph G(VG, EG)

• Construct a Steiner tree T(V,E), such that– Required arrival time q(vi) are satisfied– Total porosity cost is minimized

Observation• Easy to deal with node-to-node path

– Congestion can be avoided by rerouting without affecting timing

• Hard to deal with Steiner nodes– Moving Steiner nodes may degrade timing

Basic Strategy

• Construct a timing driven Steiner tree regardless porosity

• Adjust Steiner nodes simultaneously with length-based buffer insertion– Adjustment range need to be restrained– A Steiner node is moved only when buffer

is needed there

Length-based Buffer Insertion

• Simple buffering following rule of thumb– Capacitance load of driver/buffer ≤ bound L

• Dynamic programming based• Candidate solutions are propagated bottom-

up• Solution is characterized by load capacitance

and porosity cost• A solution with greater load and cost will be

pruned

L=2

Plate: Adjustment Range

Plate-based Adjustment

• Integrate Steiner node adjustment with length-based buffer insertion

• Solutions are propagated to and merged at each tile of plate

• Merged solutions at each tile are further propagated toward root

• Alternative topologies are generated • A candidate topology is selected only when it

is a part of min cost solution at the root

Example of Plate-based Adjustment

Methodology Flow

1. Timing-driven Steiner tree ( C-Tree )

2. Plate-based adjustment

3. Local blockage avoidance• If a wire overlaps with blockage, it is

rerouted within its local tiles

4. Van Ginneken style buffer insertion

Experiment Setup

• Integrated into industrial physical synthesis tool

• Three testcases – 155K, 334K and 293K cells– 209, 848 and 18 blockages

• FOM(Figure of Merit): cumulative negative slacks

Experimental Result on FOM

-30000

-25000

-20000

-15000

-10000

-5000

0

test1 test2 test3

baseline

porosity

Resource Consumption

• Wirelength increase is negligible

• CPU time is increased significantly– Plate-based adjustment– More candidate buffer locations enabled

Result Regardless Porosity

Result Considering Porosity

Conclusion

• Porosity need to be considered in buffered Steiner tree construction

• A plate-based adjustment in a four-stage flow is proposed as a solution

• Experiments with industrial physical synthesis system show encouraging results

Thank you !Thank you !