VHDL for Synthesis. Course Description. Course Duration. Goals

Similar documents
Verilog for High Performance

קורס VHDL for High Performance. VHDL

VHDL Essentials Simulation & Synthesis

FPGA for Software Engineers

Verilog Essentials Simulation & Synthesis

ALTERA FPGA Design Using Verilog

FSM Components. FSM Description. HDL Coding Methods. Chapter 7: HDL Coding Techniques

Lecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language)

SystemVerilog Essentials Simulation & Synthesis

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language

ALTERA FPGAs Architecture & Design

VHDL: RTL Synthesis Basics. 1 of 59

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad ELECTRONICS AND COMMUNICATIONS ENGINEERING

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

Sunburst Design - Comprehensive SystemVerilog Design & Synthesis by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.

MLR Institute of Technology

RTL HARDWARE DESIGN USING VHDL. Coding for Efficiency, Portability, and Scalability. PONG P. CHU Cleveland State University

Lecture 12 VHDL Synthesis

The University of Alabama in Huntsville ECE Department CPE Midterm Exam February 26, 2003

EECS150 - Digital Design Lecture 10 Logic Synthesis

World Class Verilog & SystemVerilog Training

Synthesis vs. Compilation Descriptions mapped to hardware Verilog design patterns for best synthesis. Spring 2007 Lec #8 -- HW Synthesis 1

CSE140L: Components and Design Techniques for Digital Systems Lab

Synthesis of Combinational and Sequential Circuits with Verilog

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis

VHDL simulation and synthesis

CSE140L: Components and Design

EECS150 - Digital Design Lecture 10 Logic Synthesis

St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad

Lecture #1: Introduction

EEL 4783: HDL in Digital System Design

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto

V1 - VHDL Language. FPGA Programming with VHDL and Simulation (through the training Xilinx, Lattice or Actel FPGA are targeted) Objectives

VHDL And Synthesis Review

VHDL Modeling Behavior from Synthesis Perspective -Part B - EL 310 Erkay Savaş Sabancı University

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

University of California, Davis Department of Electrical and Computer Engineering. EEC180B DIGITAL SYSTEMS Spring Quarter 2018

XST User Guide

Synthesis of Language Constructs. 5/10/04 & 5/13/04 Hardware Description Languages and Synthesis

EEL 4783: HDL in Digital System Design

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Verilog Sequential Logic. Verilog for Synthesis Rev C (module 3 and 4)

: : (91-44) (Office) (91-44) (Residence)

Speaker: Kayting Adviser: Prof. An-Yeu Wu Date: 2009/11/23

Digital System Design with SystemVerilog

EEL 4783: HDL in Digital System Design

LAB 1: Combinational Logic: Designing and Simulation of Arithmetic Logic Unit ALU using VHDL

Luleå University of Technology Kurskod SMD152 Datum Skrivtid

ECE 4514 Digital Design II. Spring Lecture 15: FSM-based Control

Sunburst Design - Verilog-2001 Design & Best Coding Practices by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.

Hardware Description Language VHDL (1) Introduction

Synthesis from VHDL. Krzysztof Kuchcinski Department of Computer Science Lund Institute of Technology Sweden

Control and Datapath 8

Lab 3. Advanced VHDL

Finite State Machines (FSM) Description in VHDL. Review and Synthesis

Writing Circuit Descriptions 8

ENGN1640: Design of Computing Systems Topic 02: Design/Lab Foundations

Synthesizable Verilog

Used to perform operations many times. See previous Parallel to Serial Example

COPYRIGHTED MATERIAL INDEX

Verilog introduction. Embedded and Ambient Systems Lab

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS

FPGA BASED SYSTEM DESIGN. Dr. Tayab Din Memon Lecture 9 & 10 : Combinational and Sequential Logic

Quartus II Prime Foundation

Advanced ALTERA FPGA Design

Unit 2: High-Level Synthesis

Lecture 9. VHDL, part IV. Hierarchical and parameterized design. Section 1 HIERARCHICAL DESIGN

Register Transfer Level in Verilog: Part I

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems

Modeling of Finite State Machines. Debdeep Mukhopadhyay

Outline. CPE/EE 422/522 Advanced Logic Design L05. Review: General Model of Moore Sequential Machine. Review: Mealy Sequential Networks.

Advanced Synthesis Techniques

Best Practices for Incremental Compilation Partitions and Floorplan Assignments

Topics. Midterm Finish Chapter 7

Verilog for Synthesis Ing. Pullini Antonio

Abi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University

DESCRIPTION OF DIGITAL CIRCUITS USING VHDL

ECE Digital Design Laboratory. Lecture 3 Finite State Machines!

Creating Safe State Machines

Topics. Midterm Finish Chapter 7

Sequential Circuit Design: Principle

Chapter 2 Basic Logic Circuits and VHDL Description

Lecture 32: SystemVerilog

Verilog. What is Verilog? VHDL vs. Verilog. Hardware description language: Two major languages. Many EDA tools support HDL-based design

EITF35: Introduction to Structured VLSI Design

TSEA44 - Design for FPGAs

VHX - Xilinx - FPGA Programming in VHDL

HDLs and SystemVerilog. Digital Computer Design

EITF35: Introduction to Structured VLSI Design

Advanced FPGA Design. Jan Pospíšil, CERN BE-BI-BP ISOTDAQ 2018, Vienna

LeonardoSpectrum & Quartus II Design Methodology

Laboratory Exercise 3 Davide Rossi DEI University of Bologna AA

CprE 583 Reconfigurable Computing

HDL Coding Style Xilinx, Inc. All Rights Reserved

1 ST SUMMER SCHOOL: VHDL BOOTCAMP PISA, JULY 2013

PINE TRAINING ACADEMY

EECS 270 Verilog Reference: Sequential Logic

Intel Quartus Prime Pro Edition User Guide

Logic Optimization Techniques for Multiplexers

Transcription:

VHDL for Synthesis Course Description This course provides all necessary theoretical and practical know how to write an efficient synthesizable HDL code through VHDL standard language. The course goes into great depth and teaches efficient methods for writing VHDL code in a way that produces the precise digital circuit for various constraints like high frequency, low power, and minimal area. The course covers the full synthesis process flow starting from reviewing methodologies, using development tools, adding constraints, implementing every VHDL structure in an optimal way, understanding the problems with bad coding style, learning the differences between simulation pre and post synthesis, analyzing critical paths, and reading and analyzing synthesis reports. In addition, the course focuses on writing efficient code to save area, increasing frequency, designing for low power consumption, dealing with skew problems, working with external IPs, using attributes in VHDL code, implementing reliable, and high speed finite state machines, solving design problems like high fanout and more. The course combines 50% theory with 50% practical work in every meeting. The practical labs cover all the theory and also include practical digital design. Course Duration 5 days Goals 1. Understand the synthesis process flow and the difference between different tools 2. Learn precise coding style for combinational and sequential circuits 3. Understand synthesis of multi files projects 4. Become familiar with the various constraints and adding them to project 5. Become familiar with design problems resulting from bad coding style 6. Design efficient circuits for minimal area or high frequency 7. Work with IPs and combining them in the synthesis flow 8. Produce reports, detect and correct timing problems

Intended Users Hardware engineers who develop FPGAs and would like to enhance their skills, in order to understand synthesis limitations, to acquire better expertise on avoiding digital problems and to be to write efficient coding style for synthesis Previous Knowledge FPGA design, VHDL Course Material 1. Simulator: Modelsim 2. Synthesizer and Place & Route: Quartus Prime 3. Course book (including labs)

Table of Contents Introduction to Synthesis Day #1 o The synthesis process Technology library Constraint HDL files Compiler Mapping Generated Netlist o Hardware inference versus hardware instantiation o Simulation versus Synthesis Concurrent Signal Assignment Synthesis o General guidelines Data types Initialization of signals Operand length o Inference from declarations Integer State machine std_logic_vector Other data types o Inference from Z value tri state buffer Bi Directional I/O tri state MUX tri state buffer bus o Inference from simple concurrent signal assignment Logical operator RTL and Technology view analysis Using synthesizer attributes Closed feedback loop problem o Inference from conditional signal assignments WHEN ELSE synthesis LUT equation analysis UNAFFECTED key word

LATCH problem Don t care in synthesis std_match function WITH SELECT synthesis o Inference from arithmetic and relational operators Integer versus REAL Arithmetic operators: +,, *, /, abs, ** Relational operators: >, <, =, /=, >=, <= Constants in arithmetic and relational operators o Simulation versus synthesis behavior and synthesis guidelines Operator Sharing o Derivation of efficient HDL description o Reducing circuit size o Operator sharing using VHDL description o Operator sharing using synthesizer GUI options o Analyzing area and frequency o Tradeoff analysis o Complex operator sharing and synthesis tools limitations Day #2 Sequential Statements Synthesis o Inference from within processes introduction o General guidelines Using variables Case versus IF ELSE Combinational sensitivity list Sequential sensitivity list o Inference from simple assignment statements Signals versus Variables synthesis o Inference from IF THEN ELSE and IF THEN ELSIF statements Priority Latch problem Full versus partial sensitivity list Combinational versus sequential If statements

Variables versus Signals synthesis Operator sharing within process Nested IF statements synthesis Analyzing results on different synthesizers o Inference from Case statements When Others statement synthesis Combinational versus sequential sensitivity list Null key word Latch problem Don t care in Case statements o Inference from loop statements Serial loop versus parallel loop synthesis Loop index FOR loop versus while and simple loop synthesis Variables versus Signals in loop synthesis o Combinational circuit design examples Gray code incrementor Programmable priority encoder Signed addition with status Combinational adder based multiplier Hamming distance circuit Day #3 Sequential Statements Synthesis (continue) o Incomplete Sensitivity List Bad versus good coding style, simulation pre and post synthesis o Inference using Variables Versus Signals variables and signals in combinational processes, variables and signals in sequential processes, when variable becomes register, analyzing synthesis warnings, debugging variables in post synthesis simulation o Synchronous Circuits Inference latch versus flip flop inference Synchronous and asynchronous reset Load and enable signals

o Inference from WAIT Statements Combinational WAIT processes Sequential WAIT processes Non synthesizable WAIT statements Variables versus signals in WAIT statements Synchronous reset in WAIT statements Finite State Machine Synthesis o State machine structure (Mealy and Moore block diagram) o State encoding (Auto, one hot, binary, Johnson, two hot, Gray, User specific) o State machine implementation in VHDL (one, two or three processes) o Bad coding style for state machine o Specifying encoding style in VHDL and in synthesizer tool o Analyzing encoding style area and performance o High reliability safe state machines using attributes, handling illegal states Day #4 Timing Analysis of a Synchronous Sequential Circuits o Introduction to timing constraints and synchronous design techniques o Synchronized versus unsynchronized I/O o Setup time violation and maximal clock rate o Synthesis static analysis formula o Hold time violation o Output related timing considerations o Input related timing considerations o Poor design practices and their remedies Misuse of asynchronous signals Misuse of gated clock Misuse of derived clocks Global clock Clock skew o Analyzing critical paths in details o Synthesis static timing analysis versus Place & Route static timing analysis

o Fanout and long combinational chain timing problems o Using PLL in the system o Physical Synthesis versus logical synthesis Day #5 Synthesis of Large Projects o Synthesis of Package & Package Body o Synthesis of functions & procedures o Reuse methodology o Synthesis of IEEE packages Integrating IP Core o IP core generation and integration into VHDL code o IP black box constraints Maximize Clock Rate o Introduction to pipeline o Latency and throughput o Pipelined combinational circuits o Pipelining considerations o Pipeline balancing o Effectiveness of pipeline o Adding a pipeline in VHDL o Analyze clock rate in pipelined design o Complex pipeline circuits o Retiming