400 likes | 659 Views
High-Level Synthesis of VLSIs. 林永隆 (Youn-Long Lin) Department of Computer Science National Tsing Hua University. THEDA T sing H ua E lectronic D esign A utomation. VLSI Design Tools. Design Capturing/Entry Analysis and Characterization Synthesis/Optimization
E N D
High-Level Synthesis of VLSIs 林永隆(Youn-Long Lin) Department of Computer Science National Tsing Hua University THEDATsing Hua Electronic Design Automation
VLSI Design Tools • Design Capturing/Entry • Analysis and Characterization • Synthesis/Optimization • Physical (Floor planning, Placement, Routing) • Logic (FSM, Retiming, Sizing, DFT) • High Level(RTL, Behavioral) • Management
Specify and ??? Describe and Synthesis Design Methodology Progress Capture and Simulate
Why not Synthesis? Why Synthesis? Productivity Performance Loss Correctness Unsynthesizability Re-Targetability Inertial
Structural Behavioral Block Algorithm FSM RTL Boolean Gate X’tor GDSII Placement Y-Chart Dan D Gajski Floorplan Physical
Structural Behavioral Block Algorithm FSM RTL Boolean Gate X’tor GDSII Placement Layout Synthesis Floorplan Physical
Structural Behavioral Block Algorithm FSM RTL Boolean Gate X’tor GDSII Placement Logic Synthesis Floorplan Physical
Structural Behavioral Block Algorithm FSM RTL Boolean Gate X’tor GDSII Placement High-Level Synthesis Floorplan Physical
Parsing CDFG Structural RTL Synthesis Transformation High Level Synthesis Behavioral Description
What Went Wrong? • Too much emphasis on incremental work on algorithms and point tools • Unrealistic assumption on component capability, architectures, timing, etc • Lack of quality-measurement from the low level • Too much promising on fully automation (silicon compiler??)
Essential Issues • Behavioral Specification Languages • Target Architectures • Intermediate Representation • Operation Scheduling • Allocation/Binding • Control Generation
Behavioral Specification Languages • Add hardware-specific constructs to existing languages • HardwareC • Popular HDL • Verilog, VHDL • Synthesis-oriented HDL • UDL/I
Target Architectures • Bus-based • Multiplexer-based • Register file • Pipelined • RISC, VLIW • Interface Protocol
Design Space Exploration Delay Arch I Arch II Arch III Area
Interactive FSMDs FSM FSM FSM Data Path Data Path Data Path FSM with Data Path (FSMD)
Intermediate Representation * * + Data Flow Graph Control Flow Graph
Scheduling (Temporal Binding) • Time & Resource Tradeoff • Time-Constrained • Integer Linear Programming (ILP) • Force-Directed • Resource-Constrained • List Scheduling • Other Heuristics • Simulated Annealing, Tabu Search, ...
Operations Functional Units Storage Variables Signals Bus/Wire/Mux Data Transfers Allocation/Binding
Variables/Signals RF RF Data Transfer FU FU Operations
Micro-Operations for Every Control Step Controller Specification Generation Scheduled CDFG Allocated Datapath
HLS Quality Measures • Performance • Area Cost • Power Consumption • Testability • Reusability
Hardware Variations • Functional Units • Pipelined, Multi-Cycle, Chained, Multi-Function • Storage • Register, RF, Multi-Ported, RAM, ROM, FIFO, Distributed • Interconnect • Bus, Segmented Bus, Mux, Protocol-Based
Functional Unit Variations + + * Step 1 * + + * + Step 2 * - Step 3 Step 4
RF RF Segmented Buses Multi-Port Mux Distributed FIFO FU FU Chaining Storage/Interconnect Variations
Architectural Pipelining FSM Data Path
THEDA’s Work on HLS • ILP-based Scheduling • Bipartite Weighted Matching for Datapath Allocation • Performance-Driven Interconnect Synthesis • Loop Folding & Retiming • Integrating Synthesis and Layout • DSP Core Generation • Book on HLS
Integer Linear Programming for Scheduling • Given # Control Steps • ASAP + ALAP ==> Possible Steps for each Operations • Tight Constraints on • Dependency • One Scheduled Step per Op • Resource Usage per Step • Many Extensions
Advanced Scheduling for Loop Folding 1 1 2 2 3 3 1 iteration per 3 cycles 1 iteration per 2 cycles
Prologue Folded Body Epilogue Loop Folding(cont.) 1 2 3
1 1 2 2 3 3 Retiming and Loop Folding A B C D E F A B C D E F E E C A A B F D C F D B
Integrating Layout and Synthesis HDL Description P&R RC Extraction & Delay Calculation HDL Synthesis Soft-Macro Formation Soft-Macro Formation Post-Layout Timing Analysis Block Placement Timing Ok & no more area improvement No Soft-Macro Placement Soft-Macro Placement Module Resynthesis Module Resynthesis Chip Layout
HLS Techniques for DSP Code Generation Memory Allocation Address Generation Scheduling
Applications of HLS Technology • Code generation for embedded processors • Retargetable compilers for application-specific instruction-set processors (ASIP) • Reconfigurable computing • Advanced features in logic synthesizer
System-on-a-Chip Processor Memory Wireless Bridge External Memory Interface USB Bus Master IP UART
SOC with PLDs Processor Memory Wireless Bridge External Memory Interface USB Bus Master FPGA FPGA
System Houses/ IC Vendors (Fabless) Wafer Foundry Library/ IP Vendors (Chipless) Integrators EDA Vendors Paradigm Shift
IP and Synthesis • Authoring IP for Synthesis • Synthesis utilizing IP • Synthesizing IPs Executable Data Sheets
Executable Data Sheets More than just the Port Interface IP Wrapper IP
Future Directions • Realistic Methodology • Evolutional Transition from Current Practice • Domain Specific • IP-Centric • As both Authoring Aid and Integrator • Software • Co-design and Code Generation
IC Value IP EDA Time