Presentation is loading. Please wait.

Presentation is loading. Please wait.

ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch

Similar presentations


Presentation on theme: "ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch"— Presentation transcript:

1 ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch. 1-2 Prawat Nagvajara Design flow Simulation and verification RTL and behavioral design Behavioral compiler Representation Allocation Netlisting Control FSM Compiler outputs

2 Design flow Control Dataflow synthesis synthesis Behavioral synthesis
RTL synthesis Logic synthesis

3 Domain-Specific Synthesis
Dataflow oriented synthesis Input data are streams of samples Operations on data are stream oriented Signal flow diagrams, e.g., x = axz-1 + bu or x[k] = ax[k-1] + bu[k] Signal processing applications, e.g., filtering, modulations, etc. Languages and schematic capture editors available Outputs are HDL description to behavioral or RTL synthesis tool

4 Control flow oriented synthesis
Finite state machines States and their transitions Input data are conditions Hierarchical descriptions Languages and schematic capture editors available Outputs are HDL description to behavioral or RTL synthesis tool

5 Behavioral Synthesis Back end for control flow and dataflow synthesis with HDL interchange format Language-based general purpose tool Languages: Verilog, VHDL, C, APL, ISP Scheduling is the core activity Create states and assign operations to states Allocation Operations assign to hardware and data to storage elements Trade off latency for area and register area for combinational and interconnect area Optimized design advantages over RTL synthesis

6 RTL Synthesis Logic synthesis
State graph; states and transitions are tightly bound to resources Serve as a back end for other synthesis (but it can be a front-end tool in its own right) Cumbersome, verbose and error prone Logic synthesis Propagation delay and area optimization Back end for higher abstraction

7 Simulation and Verification
Simulation tests the response for particular inputs Formal verification mathematically proves equivalence between the design and a ‘golden’ model described by math properties E.g., a design is deadlock free, against Boolean expressions and specific functions Design verification checks properties Implementation verification checks, e.g., an optimized version against un-optimized version They work well with combinational logic but the problem is very difficult for design with states, e.g., under process statements

8 RTL and Behavioral Design
Behavioral synthesis tools glue the domain-specific and RTL synthesis tools, e.g., C description to the dataflow oriented tool x=0; while (!reset) { u = read(input); x = a*x + b*u; write(output); } Initial questions on data widths, operation ordering, rounding methods, timing, states and queue sizes are abstracts in terms of C or C++ This abstract model is translated to HDL model where interfaces and timing between modules are corrected using simulation

9 RTL and Behavioral Design continued
Synthesizable description Processes are synthesized into separate FSMs or logic blocks. They may be connected by logic blocks. The number of states in behavioral synthesis can be optimized and operations assigned to states can also changes post optimization In RTL synthesis, the design decide on the FSM design

10 Schedule example: x[k] = ax[k-1] + bu[k]
* := b u * + x <= Schedule example: x[k] = ax[k-1] + bu[k]

11 Allocation: x[k] = ax[k-1] + bu[k]
mux * u b * R * + + x Allocation: x[k] = ax[k-1] + bu[k]

12 Behavioral Compiler Flow
HDL input: simulate 1. HDL analysis (parsing and semantic analysis) and elaboration for scheduling 2. User constraints Timing model of the dataflow portion Explicit user constraints, e.g., number of clock cycles Dataflow -> gate-level netlist -> target technology Early timing analysis (technology-specific scheduling) 3. Schedule Assignment of operations to states

13 Behavioral Compiler Flow Continued
4. Allocate Modules and registers are constructed Mapping from the logical operations and data to netlist modules and registers Outputs a logical description of the datapath-abstract resources and data transfer 5. Build netlist and control FSM Simulation 6. Logic-level optimization; constraints and report Timing-accurate timing simulation, testability assertion, test generation and layout EDIF or others output


Download ppt "ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch"

Similar presentations


Ads by Google