ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Combinational Logic.
ECE Synthesis & Verification - Lecture 2 1 ECE 667 Spring 2011 ECE 667 Spring 2011 Synthesis and Verification of Digital Circuits High-Level (Architectural)
Give qualifications of instructors: DAP
Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
The Design Process Outline Goal Reading Design Domain Design Flow
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
Chapter 7 Design Implementation (II)
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
CSET 4650 Field Programmable Logic Devices
Verilog Digital System Design Z. Navabi, McGraw-Hill, 2005
1 VERILOG Fundamentals Workshop סמסטר א ' תשע " ה מרצה : משה דורון הפקולטה להנדסה Workshop Objectives: Gain basic understanding of the essential concepts.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Synthesis Presented by: Ms. Sangeeta L. Mahaddalkar ME(Microelectronics) Sem II Subject: Subject:ASIC Design and FPGA.
1 H ardware D escription L anguages Modeling Digital Systems.
Approaches to design entry Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago, IL (USA)
Chapter 0 deSiGn conCepTs EKT 221 / 4 DIGITAL ELECTRONICS II.
Module 1.2 Introduction to Verilog
TOPIC : SYNTHESIS INTRODUCTION Module 4.3 : Synthesis.
Introduction to VLSI Design – Lec01. Chapter 1 Introduction to VLSI Design Lecture # 11 High Desecration Language- Based Design.
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Modeling with hardware description languages (HDLs).
ECE-C662 Lecture 2 Prawat Nagvajara
Modern VLSI Design 3e: Chapter 8 Copyright  1998, 2002 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
Digital System Design Verilog ® HDL Introduction to Synthesis: Concepts and Flow Maziar Goudarzi.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
Introduction to ASIC flow and Verilog HDL
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
VHDL and Hardware Tools CS 184, Spring 4/6/5. Hardware Design for Architecture What goes into the hardware level of architecture design? Evaluate design.
FPGA-Based System Design Copyright  2004 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
EECE 320 L8: Combinational Logic design Principles 1Chehab, AUB, 2003 EECE 320 Digital Systems Design Lecture 8: Combinational Logic Design Principles.
1 A hardware description language is a computer language that is used to describe hardware. Two HDLs are widely used Verilog HDL VHDL (Very High Speed.
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
IAY 0600 Digital Systems Design
Adapted from Krste Asanovic
ASIC Design Methodology
Combinational Logic Design
EEE2135 Digital Logic Design Chapter 1. Introduction
Verilog-HDL-1 by Dr. Amin Danial Asham.
Topics Modeling with hardware description languages (HDLs).
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
KARTHIK.S Lecturer/ECE S.N.G.C.E
课程名 编译原理 Compiling Techniques
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Topics Modeling with hardware description languages (HDLs).
Hardware Descriptive Languages these notes are taken from Mano’s book
Introduction to cosynthesis Rabi Mahapatra CSCE617
Reconfigurable Computing
Topics HDL coding for synthesis. Verilog. VHDL..
IAY 0800 Digitaalsüsteemide disain
ECE 551: Digital System Design & Synthesis
Lesson 4 Synchronous Design Architectures: Data Path and High-level Synthesis (part two) Sept EE37E Adv. Digital Electronics.
Modeling Languages and Abstract Models
VHDL Introduction.
HIGH LEVEL SYNTHESIS.
THE ECE 554 XILINX DESIGN PROCESS
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
Logic Synthesis Tutorial
Design Methodology & HDL
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL code ECE 448 – FPGA and ASIC Design.
Digital Designs – What does it take
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
THE ECE 554 XILINX DESIGN PROCESS
EEL4712 Digital Design (VHDL Tutorial).
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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