Highlevel Synthesis and System Synthesis SOURCESMark Manwaring Kia
- Slides: 68
High-level Synthesis and System Synthesis SOURCESMark Manwaring Kia Bazargan Giovanni De Micheli Gupta Youn-Long Lin 99/09/13 Camposano, J. Hofstede, Knapp, Mac. Millen Lin High-level Synthesis
Why the level of automation must go up and up?
What Went Wrong with early approaches to design automation ? 1. Too much emphasis on incremental work on algorithms and point tools 2. Unrealistic assumption on component capability, architectures, timing, etc 3. Lack of quality-measurement from the low level 4. Too many promises on fully automated system (silicon compiler? ? )
Example of a Silicon Compiler System Initial specification
Benchmarks for a silicon compiler
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
Design Methodology Progress Specify and ? ? ? Describe and Synthesize Capture and Simulate
Why Synthesis? Why not Synthesis? Productivity Performance Loss Correctness Unsynthesizability Re-Targetability Inertial
Structural Behavioral Block Algorithm FSM RTL Boolean Gate X’tor GDSII Y-Chart Dan D Gajski Placement Floorplan Physical
Structural Behavioral Block Algorithm FSM RTL Boolean Gate X’tor GDSII Layout Synthesis Placement Floorplan Physical
Structural Behavioral Block Algorithm FSM RTL Boolean Gate X’tor GDSII Logic Synthesis Placement Floorplan Physical
Structural Behavioral Block Algorithm FSM RTL Boolean Gate X’tor GDSII High-Level Synthesis Placement Floorplan Physical
Target Architectures • Bus-based • Multiplexer-based • Register file • Pipelined • RISC, VLIW • Interface Protocol
Goal of synthesis for future systems From Behavioral specification at ‘System Level’ (Algorithms) To Structural implementation at ‘Register Transfer Level’ of Data path (ALU’s, REG’s, MUX’s) and Controller • Generally restricted to a single process • Generally data path is optimized; controller is by-product
Levels of Abstraction In Camposano • Behavioral • Register-Transfer (RTL) • Logic Our Abstraction levels • System • Register • Logic
Abstraction levels Synthesis step System High-level Logic Physical Level Behavior Structure
Intermediate Representation * * + Data Flow Graph Control Flow Graph
What are possible levels of synthesis? What are possible styles? How to automate big tasks?
Layout Synthesis
Compass Placement & Routing ( 0. 6µm gate array)
Layout Level
Logic Synthesis
Reminder about blocks and connections in data path
Variants of simple FSMD architectures control Controlling /activation pulses Data Path Controlling /activation pulses Status signals Data Path
Variants of simple FSMD architectures control Controlling /activation pulses Instructions Status signals Data Path
FSM with Data Path (FSMD) FSM Data Path Interactive FSMDs FSM Data Path
Details of control signals Register; a) RTL level b) with control signal details controls: Reg_EO Enable Output Reg_EI Enable Input Reg. File_EI Reg. File_SI <p>
Control of register files control signals: Reg. File_EO 1 Reg. File_SO 1 <p> Reg. File_EO 2 Reg. File_SO 2 <p> Reg. File_EI Reg. File_SI <p> Register; a) RTL level b) with control signal details
The role of tri-state signals Scheduling and allocation problems are similar Tri-state signals in buses instead of multiplexing
Multiplexing
Communication with a memory External address-bus External data-bus Internal bus
Pipeline Design Issues • Pipelined processor design • Pipeline is an implementation issue. • A behavioral representation should not specify the pipeline. • Most processor instruction sets are conceived with an implementation in mind. • The behavior is defined to fit an implementation model.
Semantics of variables • Variables are implemented in hardware by: • Registers. • Wires. • The hardware can store information or not. • Cases: • Combinational circuits. • Sequential circuits.
Semantics of variables • Combinational circuits. • Multiple-assignment to a variable. • Conflict resolution. • Oring. • Last assignment.
Semantics of variables • • Sequential circuits. Multiple-assignment to a variable. Variable retains its value until reassigned. Problem: • Variable propagation and observability.
Semantics of variables Example • Multiple reassignments: • x= 0 ; x = 1 ; x = 0 ; • Interpretations: • Each assignment takes a cycle. --> pulse. • x assumes value 0 after a short glitch.
Semantics of variables Timing semantics • Most procedural HDLs specify a partial order among operations. • What is the timing of an operation? • A posteriori model: • Delay annotation. • A priori model: • Timing constraints. • Synthesis policies.
Timing semantics (event-driven semantics) • Digital synchronous implementation. • An operation is triggered by some event: • If the inputs to an operation change --> the operation is re-evaluated. • Used by simulators for efficiency reasons.
Synthesis policy for VHDL and Verilog • Operations are synchronized to a clock by using a wait (or @) command. • Wait and @ statements delimit clock boundaries. • Clock is a parameter of the model: • model is updated at each clock cycle.
Verilog example behavior of sequential logic circuit module DIFFEQ (x, y, u , dx, a, clock, start); input [7: 0] a, dx; inout [7: 0] x, y, u; input clock, start; reg [7: 0] xl, ul, yl; always begin wait ( start); while ( x < a ) begin xl = x + dx; ul = u - (3 * x * u * dx) - (3 * y * dx); yl = y + (u * dx); @(posedge clock); x = xl; u = ul ; y = yl; endmodule
Abstract models • Models based on graphs. • Useful for: • Machine-level processing. • Reasoning about properties. • Derived from language models by compilation.
Abstract models Examples • Netlists: • Structural views. • Logic networks • Mixed structural/behavioral views. • State diagrams • Behavioral views of sequential logic models. • Dataflow and sequencing graphs. • Abstraction of behavioral models.
Data flow graphs • Behavioral views of architectural models. • Useful to represent data-paths. • Graph: • Vertices = operations. • Edges = dependencies.
Dataflow graph Example xl = x + dx ul = u - (3 * x * u * dx) - (3 * y * dx) yl = y + u * dx c = xl < a
Example of Data Flow Graph continued xl = x + dx ul = u - (3 * x * u * dx) - (3 * y * dx) yl = y + u * dx c = xl < a
Sequencing graphs • Behavioral views of architectural models. • Useful to represent data-path and control. • Extended data flow graphs: • Operation serialization. • Hierarchy. • Control- flow commands: • branching and iteration. • Polar: source and sink.
Example of sequencing graph
Example of Hierarchy
Example of branching
Example of iteration diffeq { read (x; y; u; dx; a); repeat { xl = x +dx; ul = u - (3 * x * u* dx) - (3 * y * dx); yl = y +u dx; c = x < a; x = xl; u = ul; y = yl; } until ( c ) ; write (y); }
Example of iteration
Semantics of sequencing graphs • Marking of vertices: • Waiting for execution. • Executing. • Have completed execution. • Execution semantics: • An operation can be fired as soon as all its immediate predecessors have completed execution
Vertex attributes • Area cost. • Delay cost: • Propagation delay. • Execution delay. • Data-dependent execution delays: • Bounded (e. g. branching). • Unbounded (e. g. iteration, synchronization).
Properties of sequencing graphs • Computed by visiting hierarchy bottom-up. • Area estimate: estimate • Sum of the area attributes of all vertices. • Worst-case - no sharing. • Delay estimate (latency): • Bounded-latency graphs. • Length of longest path.
Summary on specification models • Hardware synthesis requires specialized language support. • VHDL and Verilog HDL are mainly used today: • Similar features. • Simulation-oriented. • Synthesis from programming languages is also possible. • Hardware and software models of computation are different. • Appropriate hardware semantics need to be associated with programming languages. • Abstract models: • Capture essential information. • Derivable from HDL models. • Useful to prove properties.
Control Design
Control design Control 1 Control of • Registers • Functional units • Multiplexers and 3 -state drivers • Memory
Simple micro-programmed controller Control signals from ROM or data path MUX INCR Program counter Microcode ROM Control lines Jump address Mode registers Control lines
Control 2 Control design issues 1. To avoid false combinational cycles, either the inputs or the outputs of the controller are registered. 2. Note the one cycle delay between a condition and the resulting reaction in the controller. 3. Controller can even be pipelined, • • which can remove the controller from the critical path, but increases the delay for the conditions.
Overview of Hardware Synthesis converts the program text file into strings of tokens. Tokens can be specified by regular expressions. In the UNIX world, the “lex” tools are popular for this. • The syntax of a programming language is specified by a grammar. (A grammar defines the order and types of tokens. ) This analysis organized streams of tokens into an abstract syntax tree.
Overview of Hardware Synthesis analyze the semantics, or meanings, of the program. Generate a symbol table. Check for uniqueness of symbols and information about them. determine the order and organization of operations
- Closing karakia
- Karakia whakamutunga kia tau
- Kìa nhìn xem trên kia có cái con chi to ghê
- Short opening karakia for meeting
- Highlevel language
- Highlevel programming language
- Highlevel language
- Highlevel language
- Pengertian kesehatan ibu dan anak menurut who
- What is this?
- Kia ora education
- Kia ora katoa
- Cvnh
- Kia ora training
- Kia karakia
- Sosialisasi buku kia 2020 ppt
- Kia bazargan
- Simundu
- Oravision
- Kia ora training
- Kia tang
- Module
- Kia
- 3nop
- Is earth open or closed system
- Digestive system circulatory system and respiratory system
- It is an integrated analysis and synthesis
- Section 12-3 rna and protein synthesis answer key
- Apa yang dimaksud dengan ringkasan
- 1-methoxypent-2-yne
- Synthesis and combustion reaction
- Application comprehension
- Hydrolysis and dehydration synthesis
- Iupac of chlorobutanol
- Missense mutation in sickle cell anemia
- Image quilting for texture synthesis and transfer
- Protein synthesis and mutations
- Protein synthesis and mutations
- Verilog hdl: a guide to digital design and synthesis pdf
- Gravitation and newton's synthesis
- Integration and synthesis
- Synthesis and sidedness of membranes
- Dna protein synthesis study guide answers
- Verilog hdl: a guide to digital design and synthesis
- Diol formation from alkene
- Madhukar mittal
- Chemical properties of aspirin
- Hydrolysis reaction
- Newton's most celebrated synthesis was and is of
- Rna transfer
- Endocrine system and reproductive system
- Nervous system and digestive system
- Information system analysis
- Circulatory system and respiratory system work together
- 2 pipe system drainage
- System security in system analysis and design
- Installment
- Endocrine system and nervous system
- System proposal in system analysis and design
- Endocrine system vs nervous system
- Aligned system dimensioning
- System analysis and design project proposal example
- Compare embedded system and real time system
- Progressive dimensioning
- Tilt frame container system
- Ai dss
- Problem definition in system analysis and design
- Decision categories
- Layout of distribution system