650 likes | 787 Views
HDL-Based Layout Synthesis Methodologies. Allen C.-H. Wu Department of Computer Science Tsing Hua University Hsinchu, Taiwan, R.O.C {Email: chunghaw@cs.nthu.edu.tw}. Outline. Introduction Timing analysis Design planning RTL timing budgeting
E N D
HDL-Based Layout Synthesis Methodologies Allen C.-H. Wu Department of Computer Science Tsing Hua University Hsinchu, Taiwan, R.O.C {Email: chunghaw@cs.nthu.edu.tw}
Outline • Introduction • Timing analysis • Design planning • RTL timing budgeting • A timing-driven soft-macro placement and resynthesis method • Discussion
Why Needs HDL-based Design Methodologies? Design complexity Then Now Schematic capture HDL design specification Component mapping & may be some logic optimization Synthesis Place & route Place & route Layouts Layouts SW : assembly language => high-level language
An HDL-based Design Flow HDL design specification HDL coding styles Applications RTL synthesis Logic synthesis Cell libraries Layout architectures Layout synthesis Layouts
Top-Down Design Methodology HDL design specification Preserving design hierarchy RTL synthesis Bridging the gap between RTL, logic, and layout synthesis Logic synthesis Layout synthesis Layouts
Applications and Layout Architectures • Datapath dominated designs : DSPs and processors. • Control dominated designs: controllers and communication chips. • Mixed type of designs. • Bit-sliced stacks. • Standard cells. • Macro-cell-based. • FPGAs.
Layout-driven Design methodology HDL design specification RTL synthesis Multi-level estimation engine Logic synthesis Back annotation Layout synthesis Layouts
Design Estimation • Timing • Area • Power • Statistic VS. quick-synthesis methods • Analytical VS. constructive methods
Outline • Introduction • =>Timing analysis • Design planning • RTL timing budgeting • A timing-driven soft-macro placement and resynthesis method • Summary
Minimum Cycle Time Critical path delay Clock skew
Timing Analysis • Critical path delay analysis • Clock skew analysis • Timing analysis at different design levels • Delay calculation • Parasitic extraction • Accuracy VS. fidelity
Timing Analysis HDL design spec. HDL specification RTL synthesis Logic equations Logic synthesis Accuracy Complexity Cell-based netlists (Tech. dependent or independent) Layout synthesis Floorplanning and P & R Layouts
RTL and Logic-level Timing Analysis HDL Spec. Macro Macro Macro based Logic equations Outputs Inputs Macro Cell-based netlist Unit and zero delay models for cells and wires
RTL Timing Analysis A Aspect ratio A Aspect ratio HDL design spec. Macro Macro T T Floorplanning Re-synthesis & re-floorplanning Back annotation 3 3 1 1 4 4 2 2
Chip-level Timing Analysis Macro cells • Taken into account inter-macro wiring delays. • Chip-level path enumeration. • Estimation vs. back annotation. Floorplanning Layout extraction Wiring delay
Macro-level Timing Analysis Netlists • Taken into account intra-macro wiring delays. • Path delay enumeration. • Estimation vs. back annotation. P & R Layout extraction Wiring delay information
Accuracy of Timing Analysis Design Stages Accuracy RTL 100+/-50%??? Floorplanning 100+/-25% Placement 100+/-15% Global routing 100+/-7% Detailed routing 100+/-0% Source: DAC’97 Tutorial by Blaauw_Cong_Tsay
Outline • Introduction • Timing analysis • => Design planning • RTL timing budgeting • A timing-driven soft-macro placement and resynthesis method • Summary
Design Planning • Macro definitions • Soft macro generation • Macro placement • Pin assignment
Chip Planning I Soft macros Hard macros
Chip Planning II Soft macros Hard macros
Design Planning Considerations • How much timing, area, and power budgets should be assigned to each macro? • How to generate soft macros? - top-down - bottom-up • How to layout clock and power/ground network?
Delay, area, power constraints ?????????????? Design Budgeting Driving resistance Load capacitance Macro Arrival time Required arrival time RTL Spec. RTL & Logic synthesis Netlists
Design SM SM Soft Macro Generation Partitioning SM SM SM Clustering Based on design hierarchical information
Soft Macro Generation (Cont.) Perform clustering techniques on a flattened netlist Clustering criteria: . Timing . Interconnect
Design Hierarchy Preservation HDLs Verilog design spec. Mod1 Mod2 Mod3 HDL synthesis Macro formation Macro placement Macro to cell placement Initial placement
Clock Network Styles • Mesh: robust, large area and power • Trunk: simple • Tree: min area, many supporting design algorithms
Clock Issues at RTL Critical path is determined from clock skew and skew cannot be determined until placement is completed! How to incorporate clock skew issues into early design planning???? Still an open problem!
RTL Timing Analysis A Aspect ratio A Aspect ratio HDL design spec. Macro Macro T T Floorplanning Re-synthesis & re-floorplanning Back annotation 3 3 1 1 4 4 2 2
Timing-critical Macro Detection HDL Spec. HDL spec. Macro Macro HDL synthesis Critical macro Floorplanning Chip-level timing analysis Back annotation
RTL Design Planning Floorplanning HDL Spec. Macro Macro Back-annotation Delay & area estimations Cell library RTL timing analysis Constructive or analytical method Back-annotation
Outline • Introduction • Timing analysis • Design planning • => RTL timing budgeting • A timing-driven soft-macro placement and resynthesis method • Summary
RTL sign-off Physical-level Synthesis RTL Spec. RTL/logic Synthesis HM SM1 SM2 Chip Layout SM3 Netlists HM RTL Design Budgeting Loop Area Delay Power Budget? Loop Loop
Timing Budgeting Cross-macro timing paths!!! 1 Cycle
Timing Budgeting Issues • How to estimate delay and area from RTL specification??? • After floorplanning? After RTL/logic synthesis? After placement? After routing? • Run time VS. accuracy? • How to distribute timing budget among macros? • No much work has been done in this area!!!
A A A x x x T T T M2 M1 M3 Timing Budgeting for Design Optimization Minimize total area subject to satisfying the timing constraints.
Outline • Introduction • Timing analysis • Design planning • RTL timing budgeting • => A timing-driven soft-macro placement and resynthesis method • Summary
HDL Description Chip Layout A Typical Design Flow for Macro-based Design Back-annotation HDL Synthesis Timing Analysis No OK? Floorplanning Yes P & R
Design Hierarchy Preservation Preserving HDL design hierarchy for soft-macro placement? HDL Description HM M1 HM M_11 M2 SM M_12 HM A complete chip design methodology?
Considerations • How to utilize HDL design-hierarchy information to guide soft-macro placement procedure? • 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.
Floorplanning & Area Extraction HDL Description Back-annotation SM Placement HDL Synthesis Pre-layout Timing Analysis Structural-tree Construction P & R Post-layout Timing Analysis Chip Layout SM Formation Design Flow for Design Hierarchy Preservation
Structural-tree Construction • The main objective is to preserve the design structural information from an HDL design description for macro formation. Top SM4,5 SM1,2 HM1 SM1 SM2 HM2 SM3 SM4 SM5
Soft macro Formation • 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.
Soft Macro Placement • Inputs: a set of software macros and the available area for soft macros. • Outputs: the relative location of each soft macro on the layout plane. • 1st step: force-directed-based placement. • 2nd step: Sweeping-based soft-macro assignment.
HM SM Floorplanning and Soft-Macro Area Extraction HM HM
Force-directed-based Placement HM SM4 HM SM2 SM3 HM SM1 HM
Soft-macro Placement Y SM1 SM1 SM2 SM4 SM2 X SM4 SM3 SM3
HDL Description Synopsys (Design Compiler) The Experimental procedure: Design Synthesis Structural-tree Construction SM Formation Netlist
Netlist SM Placement Cadence (Silicon Ensemble) Cadence (Silicon Ensemble) Cadence (HLDS) Chip Layout The Experimental Procedure: Floorplanning and P&R
Cadence (HyperExtract) Timing AVANT! (STAR-DC) Synopsys (Design Time) Chip Layout The Experimental Procedure: Timing Analysis