FPGA for Software Engineers

Similar documents
VHDL Essentials Simulation & Synthesis

VHDL for Synthesis. Course Description. Course Duration. Goals

Verilog for High Performance

ALTERA FPGA Design Using Verilog

ALTERA FPGAs Architecture & Design

Verilog Essentials Simulation & Synthesis

קורס VHDL for High Performance. VHDL

VHX - Xilinx - FPGA Programming in VHDL

Designing with Nios II Processor for Hardware Engineers

Quartus II Prime Foundation

Advanced ALTERA FPGA Design

Introduction to the Qsys System Integration Tool

PINE TRAINING ACADEMY

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

Designing with ALTERA SoC Hardware

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

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

Lecture #1: Introduction

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad ELECTRONICS AND COMMUNICATIONS ENGINEERING

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

MLR Institute of Technology

St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad

EMBEDDED SOPC DESIGN WITH NIOS II PROCESSOR AND VHDL EXAMPLES

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

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

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

Synthesis Options FPGA and ASIC Technology Comparison - 1

Method We follow- How to Get Entry Pass in SEMICODUCTOR Industries for 3rd year engineering. Winter/Summer Training

VHDL: RTL Synthesis Basics. 1 of 59

World Class Verilog & SystemVerilog Training

Cover TBD. intel Quartus prime Design software

Cover TBD. intel Quartus prime Design software

FPGAs: Instant Access

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

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

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

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK NAME OF THE SUBJECT: EE 2255 DIGITAL LOGIC CIRCUITS

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

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

R07. IV B.Tech. II Semester Supplementary Examinations, July, 2011

Note: Closed book no notes or other material allowed, no calculators or other electronic devices.

Embedded Soc using High Performance Arm Core Processor D.sridhar raja Assistant professor, Dept. of E&I, Bharath university, Chennai

Digital System Design with SystemVerilog

Laboratory Finite State Machines and Serial Communication

Lecture 3. Behavioral Modeling Sequential Circuits. Registers Counters Finite State Machines

Laboratory Exercise 7

Qsys and IP Core Integration

Best Practices for Incremental Compilation Partitions and Floorplan Assignments

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

(ii) Simplify and implement the following SOP function using NOR gates:

COPYRIGHTED MATERIAL INDEX

XST User Guide

Lecture 12 VHDL Synthesis

CHAPTER - 2 : DESIGN OF ARITHMETIC CIRCUITS

Park Sung Chul. AE MentorGraphics Korea

EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited

VHDL for Logic Synthesis

FPGA Based Digital Design Using Verilog HDL

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

QUARTUS II Altera Corporation

Altera FLEX 8000 Block Diagram

VHDL for Logic Synthesis

Topics. Midterm Finish Chapter 7

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

ECE 545 Lecture 12. Datapath vs. Controller. Structure of a Typical Digital System Data Inputs. Required reading. Design of Controllers

FSM-based Digital Design using Veriiog HDL

Homework deadline extended to next friday

CSE140L: Components and Design Techniques for Digital Systems Lab

Don t expect to be able to write and debug your code during the lab session.

Introduction to Field Programmable Gate Arrays

TSEA44 - Design for FPGAs

Finite State Machines

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

Programable Logic Devices

Xilinx ASMBL Architecture

Synthesizable FPGA Fabrics Targetable by the VTR CAD Tool

CprE 583 Reconfigurable Computing

CSE140L: Components and Design

Luleå University of Technology Kurskod SMD152 Datum Skrivtid

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now?

Building Gigabit Interfaces in Altera Transceiver Devices

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis

FPGA design with National Instuments

The University of Reduced Instruction Set Computer (MARC)

EEL 4783: HDL in Digital System Design

Digital Design with FPGAs. By Neeraj Kulkarni

Designing Safe Verilog State Machines with Synplify

Laboratory Exercise 3 Davide Rossi DEI University of Bologna AA

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

Latch Based Design (1A) Young Won Lim 2/18/15

2. Design Planning with the Quartus II Software

ECE 551: Digital System *

EECS150 - Digital Design Lecture 10 Logic Synthesis

CMPE 415 Programmable Logic Devices Introduction

Introduction to Design Vision. Instructor: Prof. Shantanu Dutt. TA: Soumya Banerjee

APEX Devices APEX 20KC. High-Density Embedded Programmable Logic Devices for System-Level Integration. Featuring. All-Layer Copper.

LeonardoSpectrum & Quartus II Design Methodology

Design Guidelines for Optimal Results in High-Density FPGAs

Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks

Topics. Midterm Finish Chapter 7

Transcription:

FPGA for Software Engineers Course Description This course closes the gap between hardware and software engineers by providing the software engineer all the necessary FPGA concepts and terms. The course provides deep overview about the FPGA market, development tools, design languages, and digital design considerations. The course integrates also practical labs where software engineers can get experience with the FPGA design process. The course starts with an overview of the programmable devices and their capabilities, continues with a short study of the VHDL language, writing simple test-bench and using simulation tool. The course also describes the synthesis and Place & Route processes, FPGA programming on board, and the verification process. The course covers the new trends today like embedded soft and hard processors in FPGA (including ARM), DSP process in Simulink and Matlab, IP integration, multiple clock domain and synchronization circuits design issues, embedded logic analyzer and timing constraints. Course Duration 5 days

Goals 1. Become familiar with programmable logic devices and their features 2. Understand the design process from specification up to FPGA programming and final verification on board 3. Implement combinational and sequential logic 4. Write test-benches 5. Become familiar with the synthesis and Place & Route processes 6. Understand digital design considerations 7. Become familiar with embedded processors design flow in FPGA 8. Become familiar with DSP design flow in FPGA with Matlab 9. Become familiar with debug/verification process and tools for FPGA 10. Integrate IP in FPGA design Intended Users Software and system engineers who develop projects that use FPGAs/CPLDs, without previous FPGA background Previous Knowledge None Course Material 1. Simulator: Modelsim 2. Synthesizer and Place & Route: Quartus II 3. Demonstration on ALTERA Evaluation board 4. Course book (including labs)

Table of Contents Day #1 Introduction to Programmable Logic Devices o CPLD architecture and design consideration o FPGA architecture LUT FF PLL DSP Block Embedded RAM Embedded Processor FPGA Programming o Examples of the newest FPGAs in the market Hard & Soft Processors Embedded FPGA o Introduction to soft processor o SignalTap II logic analyzer o SOPC builder and Qsys flow o Introduction to SoC (FPGA + ARM) o Introduction to DSP design flow Synchronous Vs Asynchronous Design o Definition of synchronous and asynchronous systems o Skew, races and hazards in digital system o Power consumption considerations o Metastability Logic Elements Review o Combinational logic LUT

Mux Encoder Decoder Logical and arithmetic operators ALU o Sequential logic Flip-Flop Setup & hold time Register Counter Shift register LFSR PWM FIFO SDR and DPR o 3-state buffer Finite State Machine o FSM concept & block diagram o Mealy & Moore Models o State encoding Sequential Johnson One Hot Two Hot Defined by user Defined by synthesis o Handling the unused states o Reset & Fail Safe Behavior o Interactive State Machines Unidirectional Bi-Directional

Day #2 Introduction to VHDL Language o VHDL history o Digital design o FPGA design review Simulation Synthesis Place & Route Programming Verification o Advantages of VHDL o Simulation & Synthesis o Demonstration the whole process on board VHDL Basic Structures Overview o Entity o Component o Architecture o Process o Functions & Procedures o Package & Package Body o Library o Configuration o Top down design VHDL Design Units Building a Hierarchy o Building MUX from its primitives o Port map o Test bench and simulation Sequential Processing o Process structure o Concurrent signal assignment versus process o Examples of combinational and sequential processes

Introduction to Synthesis o The synthesis process o Inference from simple CSA o RTL and technology views o Inference from conditional statements o Inference from relational and arithmetic operators o Inference from loop statements o Creating Flip-Flops, counters, RAM, state machines Practical labs Day #3 Digital Design Considerations o Clock skew o Multiplexed clocks o Maximum clock rate o Introduction to pipeline o Jitter o PLL/DLL purpose and functionality o Misuse of gated clocks o Misuse of generated clocks o Misuse of asynchronous signals o Multi-clock domain systems o Metastability and MTBF analysis o Synchronization circuits o FIFO design o Synchronous and asynchronous reset o Reset synchronization circuits IP o What is IP? o Configuring your IP o Buy versus design IP o Soft and hard IP

o Integrating IP to the design o Synthesizing IP and constraints o Verifying IP functionality through simulation Static & Dynamic Timing Analysis o Introduction to static timing analysis methodology o Writing constraints with SDC file o Generating reports o Analyzing results o Performing timing simulation Day #4 Debug Techniques o SignalTap embedded logic analyzer o In system content memory editor o Signal probe o Logic analyzer interface (LAI) FPGA Design Optimizations o Incremental compilation o LogicLock o Synthesis optimizations o Place & Route optimizations o Coding style optimizations o Multiple place and route o Design space explorer o Power consumption optimizations

Day #5 Embedded Processors o Embedded processor design flow with NIOS II and SOPC builder o Embedded processor design flow with SoC and Qsys o Developing software for FPGA embedded processors o Embedded system design considerations o Migrating tasks between FPGA and processor o Debugging the system (HW&SW)