510 likes | 631 Views
A Timing-Driven Soft-Macro Resynthesis Method in Interaction with Chip Floorplanning. Hsiao-Pin Su 1 2 Allen C.-H. Wu 1 Youn-Long Lin 1 1 Department of Computer Science Tsing Hua University Hsinchu, Taiwan, R.O.C 2 Taiwan Semiconductor Manufacturing Co., Ltd.
E N D
A Timing-Driven Soft-MacroResynthesis Method in Interaction with ChipFloorplanning Hsiao-Pin Su12 Allen C.-H. Wu1 Youn-Long Lin1 1Department of Computer Science Tsing Hua University Hsinchu, Taiwan, R.O.C 2Taiwan Semiconductor Manufacturing Co., Ltd. {Email: robin@nthucad.cs.nthu.edu.tw}
Outline • Introduction • Motivation • The Proposed Method • Experiments • Conclusions
Yes A Typical HDL-based Design Flow RC-Extraction Delay Calculation RC-Extraction Delay Calculation HDL Description HDL Description Timing Analysis Timing Analysis HDL Synthesis HDL Synthesis No No Floorplanning Floorplanning OK? OK? Yes P & R P & R Chip Layout Chip Layout
Motivation • Develop a complete chip design method which incorporates a soft-macro placement and resynthesis method in interaction with chip floorplanning for area and timing improvement.
HM1 HM2 SM1 SM2 SM3 SM4 Motivation (cont’) Top HM1 HM2 SM2 SM3 SM1 SM4
The critical path delay Slack > 0 SM2 HM1 SM1 SM3 SM3 SM3 SM3 SM3 HM2 SM4 ( b ) Saved area Resynthesize SM3 by relaxing its timing constraints. Motivation (cont’) SM2 HM1 SM1 SM3 HM2 SM4 ( a )
Timing violation HM1 SM1 SM2 SM2 SM2 SM2 SM3 HM2 SM4 ( d ) Resynthesize SM2 by tightening its timing constraints. Motivation(cont’) SM2 HM1 SM1 SM3 HM2 SM4 ( c )
Considerations • How to decide HDL design hierarchy? • How to guide soft-macro placement by utilizing hierarchy information? • How to integrate design tasks and point tools at different design level to form a complete chip design methodology? • How to exploit the interaction between different design tasks?
The Proposed Method HDL Description P&R Routed database RTL netlist RC Extraction & Delay Calculation HDL Synthesis Timingconstraint SDF file Soft-Macro Formation Soft-Macro Formation Post-layout Timing Analysis Soft-Macro group Block Placement Timing Ok & no more area improvement Hard macro location Yes Yes No Soft-Macro Placement Soft-Macro Placement Module Resynthesis Module Resynthesis Chip Layout Soft-Macro location
The Proposed Method HDL Description P&R Routed database RTL netlist RC Extraction & Delay Calculation HDL Synthesis HDL Synthesis Timingconstraint SDF file Soft-Macro Formation Post-layout Timing Analysis Soft-Macro group Block Placement Timing Ok & no more area improvement Hard macro location Yes Yes No Soft-Macro Placement Module Resynthesis Chip Layout Soft-Macro location
The Proposed Method HDL Description P&R Routed database RTL netlist RC Extraction & Delay Calculation HDL Synthesis Timingconstraint SDF file Soft-Macro Formation Soft-Macro Formation Post-layout Timing Analysis Soft-Macro group Block Placement Timing Ok & no more area improvement Hard macro location Yes Yes No Soft-Macro Placement Module Resynthesis Chip Layout Soft-Macro location
Top HM1 HM2 SM2 SM3 SM1 SM4 Hierarchy-tree Construction • The main objective is to preserve the design hierarchy information from HDL design description during soft macro formation.
Soft-Macro Formation • Clock-based clustering • Group the macros connected to the same clock source into the same cluster. • Decomposition of large soft-macros. • A large macro is too rigid for macro Placement. • Clustering of small soft-macros. • Many small macros increase the computational complexity.
HM1 HM2 SM4 Clock-based Clustering • Partition circuit based on the clock connection. • Localize the distribution of clock signal. • If clock signal is distributed to many modules then it may have difficulty to balance the clock skew or cause area penalty when balance the clock skew on top module.
Large-Macro Decomposition • Split cluster if cluster size is larger than the size threshold by using FM partitioning method. • Big size threshold:
Small-Macros Clustering • Merge clusters if cluster size is smaller than the size threshold. • Small size threshold:
Clustering Cost Function • Cost Function: • Connectivity Consideration: • Criticality Consideration:
The Proposed Method HDL Description P&R Routed database RTL netlist RC Extraction & Delay Calculation HDL Synthesis Timingconstraint SDF file Soft-Macro Formation Soft-Macro Formation Post-layout Timing Analysis Soft-Macro group Block Placement Timing Ok & no more area improvement Hard macro location Yes Yes No Soft-Macro Placement Module Resynthesis Chip Layout Soft-Macro location
The Proposed Method HDL Description P&R Routed database RTL netlist RC Extraction & Delay Calculation HDL Synthesis Timingconstraint SDF file Soft-Macro Formation Soft-Macro Formation Post-layout Timing Analysis Soft-Macro group Block Placement Timing Ok & no more area improvement Hard macro location Yes Yes No Soft-Macro Placement Module Resynthesis Chip Layout Soft-Macro location
HM HM Block Placement IO IO IO IO
The Proposed Method HDL Description P&R Routed database RTL netlist RC Extraction & Delay Calculation HDL Synthesis Timingconstraint SDF file Soft-Macro Formation Soft-Macro Formation Post-layout Timing Analysis Soft-Macro group Block Placement Timing Ok & no more area improvement Hard macro location Yes Yes No Soft-Macro Placement Module Resynthesis Chip Layout Soft-Macro location
The Proposed Method HDL Description P&R Routed database RTL netlist RC Extraction & Delay Calculation HDL Synthesis Timingconstraint SDF file Soft-Macro Formation Soft-Macro Formation Post-layout Timing Analysis Soft-Macro group Block Placement Timing Ok & no more area improvement Hard macro location Yes Yes No Soft-Macro Placement Module Resynthesis Chip Layout Soft-Macro location
Soft-Macro Placement • Inputs: a set of soft-macros and the available area for soft macros. • Outputs: the locations of all soft macros. • Algorithm: • 1st step: force-directed-based placement. • 2nd step: line-sweep-based soft-macro assignment.
IO HM IO IO HM IO Force-directed-based Placement
HM HM IO IO IO IO SM4 SM2 SM3 HM HM HM HM SM1 IO IO IO IO HM HM Force-directed-based Placement
SM area Soft-Macro Area Extraction IO HM IO IO HM IO
SM2 & SM4 SM area Sweeping-based Soft-Macro Assignment ( Y direction ) Y SM1 SM1 HM SM area SM2 X SM4 HM SM3 SM3
Sweeping-based Soft-Macro Assignment Sweeping-based Soft-Macro Assignment X direction Y SM1 HM SM1 SM4 SM2 SM area SM2 X SM4 HM SM3 SM3
The Proposed Flow HDL Description P&R Routed database RTL netlist RC Extraction & Delay Calculation HDL Synthesis Timingconstraint SDF file Soft-Macro Formation Soft-Macro Formation Post-layout Timing Analysis Soft-Macro group Block Placement Timing Ok & no more area improvement Hard macro location Yes Yes No Soft-Macro Placement Module Resynthesis Chip Layout Soft-Macro location
The Proposed Flow HDL Description P&R Routed database RTL netlist RC Extraction & Delay Calculation HDL Synthesis Timingconstraint SDF file Soft-Macro Formation Soft-Macro Formation Post-layout Timing Analysis Soft-Macro group Block Placement Timing Ok & no more area improvement Hard macro location Yes Yes No Soft-Macro Placement Module Resynthesis Chip Layout Soft-Macro location
The Proposed Flow HDL Description P&R Routed database RTL netlist RC Extraction & Delay Calculation HDL Synthesis Timingconstraint SDF file Soft-Macro Formation Soft-Macro Formation Post-layout Timing Analysis Soft-Macro group Block Placement Timing Ok & no more area improvement Hard macro location Yes Yes No Soft-Macro Placement Module Resynthesis Chip Layout Soft-Macro location
The Proposed Flow HDL Description P&R Routed database RTL netlist RC Extraction & Delay Calculation HDL Synthesis Timingconstraint SDF file Soft-Macro Formation Soft-Macro Formation Post-layout Timing Analysis Soft-Macro group Block Placement Timing Ok & no more area improvement Hard macro location Yes Yes No Soft-Macro Placement Module Resynthesis Chip Layout Soft-Macro location
The Proposed Flow HDL Description P&R Routed database RTL netlist RC Extraction & Delay Calculation HDL Synthesis Timingconstraint SDF file Soft-Macro Formation Soft-Macro Formation Post-layout Timing Analysis Soft-Macro group Block Placement Timing Ok & no more area improvement Hard macro location Yes Yes No Soft-Macro Placement Module Resynthesis Chip Layout Soft-Macro location
The Proposed Flow HDL Description P&R Routed database RTL netlist RC Extraction & Delay Calculation HDL Synthesis Timingconstraint SDF file Soft-Macro Formation Soft-Macro Formation Post-layout Timing Analysis Soft-Macro group Block Placement Timing Ok & no more area improvement Hard macro location Yes Yes No Soft-Macro Placement Module Resynthesis Chip Layout Soft-Macro location
Module Resynthesis • Slack Computation: • Calculate the slack value for each inter-macro signal path • Soft-Macro Resynthesis Candidate Selection: • If there exists a negative slack value of any soft-macro then pick the one with highest negative slack as the candidate to resynthesize using tightened timing constraint • If all timing satisfies the timing constraint then pick the one with highest positive slack value as the candidate to resynthesize using relaxed timing constraint
The Proposed Flow HDL Description P&R Routed database RTL netlist RC Extraction & Delay Calculation HDL Synthesis Timingconstraint SDF file Soft-Macro Formation Soft-Macro Formation Post-layout Timing Analysis Soft-Macro group Block Placement Timing Ok & no more area improvement Hard macro location Yes Yes No Soft-Macro Placement Module Resynthesis Chip Layout Soft-Macro location
The Proposed Flow HDL Description P&R Routed database RTL netlist RC Extraction & Delay Calculation HDL Synthesis Timingconstraint SDF file Soft-Macro Formation Soft-Macro Formation Post-layout Timing Analysis Soft-Macro group Block Placement Timing Ok & no more area improvement Hard macro location Yes Yes No Soft-Macro Placement Soft-Macro Placement Module Resynthesis Chip Layout Soft-Macro location
The Proposed Flow HDL Description P&R P&R Routed database RTL netlist RC Extraction & Delay Calculation HDL Synthesis Timingconstraint SDF file Soft-Macro Formation Soft-Macro Formation Post-layout Timing Analysis Soft-Macro group Block Placement Timing Ok & no more area improvement Hard macro location Yes Yes No Soft-Macro Placement Module Resynthesis Chip Layout Soft-Macro location
The Proposed Flow HDL Description P&R Routed database RTL netlist RC Extraction & Delay Calculation RC Extraction & Delay Calculation HDL Synthesis Timingconstraint SDF file Soft-Macro Formation Soft-Macro Formation Post-layout Timing Analysis Soft-Macro group Block Placement Timing Ok & no more area improvement Hard macro location Yes Yes No Soft-Macro Placement Module Resynthesis Chip Layout Soft-Macro location
The Proposed Flow HDL Description P&R Routed database RTL netlist RC Extraction & Delay Calculation HDL Synthesis Timingconstraint SDF file Soft-Macro Formation Soft-Macro Formation Post-layout Timing Analysis Post-layout Timing Analysis Soft-Macro group Block Placement Timing Ok & no more area improvement Hard macro location Yes Yes No Soft-Macro Placement Module Resynthesis Chip Layout Soft-Macro location
The Proposed Flow HDL Description P&R Routed database RTL netlist RC Extraction & Delay Calculation HDL Synthesis Timingconstraint SDF file Soft-Macro Formation Soft-Macro Formation Post-layout Timing Analysis Soft-Macro group Block Placement Timing Ok & no more area improvement Timing Ok & no more area improvement Hard macro location Yes Yes No Soft-Macro Placement Module Resynthesis Chip Layout Soft-Macro location
Yes The Proposed Flow HDL Description P&R Routed database RTL netlist RC Extraction & Delay Calculation HDL Synthesis Timingconstraint SDF file Soft-Macro Formation Soft-Macro Formation Post-layout Timing Analysis Soft-Macro group Block Placement Timing Ok & no more area improvement Hard macro location Yes Yes No Soft-Macro Placement Module Resynthesis Chip Layout Soft-Macro location
The Proposed Flow HDL Description P&R Routed database RTL netlist RC Extraction & Delay Calculation HDL Synthesis Timingconstraint SDF file Soft-Macro Formation Soft-Macro Formation Post-layout Timing Analysis Soft-Macro group Block Placement Timing Ok & no more area improvement Hard macro location Yes Yes No Soft-Macro Placement Module Resynthesis Chip Layout Chip Layout Soft-Macro location
The Experiment Environment Setup HDL Description Avant!(P&R) P&R Routed database RTL netlist Avant!(STAR-RC) Avant!(STAR-DC) RC Extraction & Delay Calculation Synopsys HDL Synthesis Timingconstraint SDF file Soft-Macro Formation Synopsys (Design Time) Post-layout Timing Analysis Soft-Macro group Cadence (Block Placement) Block Placement Timing Ok & no more area improvement Hard macro location Yes Yes No Soft-Macro Placement Module Resynthesis Chip Layout Soft-Macro location
Results (Ind2 @ 0.5um) The original critical path and new critical path of Ind2 using the 0.5um library after two resynthesis iterations