FPGA Based Digital Design Using Verilog HDL

Similar documents
EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

Digital Integrated Circuits

DESIGN STRATEGIES & TOOLS UTILIZED

FPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011

A VARIETY OF ICS ARE POSSIBLE DESIGNING FPGAS & ASICS. APPLICATIONS MAY USE STANDARD ICs or FPGAs/ASICs FAB FOUNDRIES COST BILLIONS

INTRODUCTION TO FPGA ARCHITECTURE

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES

FPGA How do they work?

Early Models in Silicon with SystemC synthesis

ISE Design Suite Software Manuals and Help

Design Methodologies. Full-Custom Design

Design Methodologies and Tools. Full-Custom Design

PINE TRAINING ACADEMY

LSN 6 Programmable Logic Devices

Chapter 5: ASICs Vs. PLDs

Evolution of CAD Tools & Verilog HDL Definition

An Introduction to Programmable Logic

CMPE 415 Programmable Logic Devices Introduction

Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE

Lab 3 Verilog Simulation Mapping

VHDL. Chapter 1 Introduction to VHDL. Course Objectives Affected. Outline

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

COE 561 Digital System Design & Synthesis Introduction

Hardware Description Languages. Introduction to VHDL

RTL Coding General Concepts

PLAs & PALs. Programmable Logic Devices (PLDs) PLAs and PALs

101-1 Under-Graduate Project Digital IC Design Flow

ECEN 449 Microprocessor System Design. FPGAs and Reconfigurable Computing

Workspace for '4-FPGA' Page 1 (row 1, column 1)

Field Programmable Gate Array

TLL5000 Electronic System Design Base Module. Getting Started Guide, Ver 3.4

VHX - Xilinx - FPGA Programming in VHDL

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

FPGA for Software Engineers

Programmable Logic Devices HDL-Based Design Flows CMPE 415

Design of DMA Controller Using VHDL

More Course Information

Synthesis of VHDL Code for FPGA Design Flow Using Xilinx PlanAhead Tool

Experiment 3. Digital Circuit Prototyping Using FPGAs

FPGA for Dummies. Introduc)on to Programmable Logic

Programmable Logic Devices

Chapter 1 Overview of Digital Systems Design

Introduction to Field Programmable Gate Arrays

Programmable Logic Devices Introduction CMPE 415. Programmable Logic Devices

Programmable Logic Devices FPGA Architectures II CMPE 415. Overview This set of notes introduces many of the features available in the FPGAs of today.

EITF35: Introduction to Structured VLSI Design

Universal VLSI Protoboard

Programmable Logic Devices UNIT II DIGITAL SYSTEM DESIGN

LSN 1 Digital Design Flow for PLDs

Embedded Controller Design. CompE 270 Digital Systems - 5. Objective. Application Specific Chips. User Programmable Logic. Copyright 1998 Ken Arnold 1

VHDL Essentials Simulation & Synthesis

L2: FPGA HARDWARE : ADVANCED DIGITAL DESIGN PROJECT FALL 2015 BRANDON LUCIA

Intro to System Generator. Objectives. After completing this module, you will be able to:

ECE 353 Lab 4. MIDI Receiver in Verilog. Professor Daniel Holcomb UMass Amherst Fall 2016

Elettronica T moduli I e II

What is Xilinx Design Language?

Digital System Design Lecture 2: Design. Amir Masoud Gharehbaghi

Introduction to FPGAs. H. Krüger Bonn University

Spartan-3E FPGA Design Guide for prototyping and production environment

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

TLL5000 Electronic System Design Base Module

INTRODUCTION TO FIELD PROGRAMMABLE GATE ARRAYS (FPGAS)

EITF35: Introduction to Structured VLSI Design

EE 466/586 VLSI Design. Partha Pande School of EECS Washington State University

EEL 4783: Hardware/Software Co-design with FPGAs

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL)

01 1 Electronic Design Automation (EDA) the correctness, testability, and compliance of a design is checked by software

Hardware describing languages, high level tools and Synthesis

Chapter 2. FPGA and Dynamic Reconfiguration ...

FPGA Design Flow 1. All About FPGA

CPE/EE 422/522. Introduction to Xilinx Virtex Field-Programmable Gate Arrays Devices. Dr. Rhonda Kay Gaede UAH. Outline

Advanced FPGA Design Methodologies with Xilinx Vivado

Hardware Modeling using Verilog Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

FPGA Implementation and Validation of the Asynchronous Array of simple Processors

Graduate course on FPGA design

Designing with VHDL and FPGA

01-1 Electronic Design Automation (EDA) The use of software to automate electronic (digital and analog) design.

475 Electronics for physicists Introduction to FPGA programming

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

ECE 448 FPGA and ASIC Design with VHDL. Spring 2018

Hardware Synthesis. References

VLSI Design Automation

Basic FPGA Architectures. Actel FPGAs. PLD Technologies: Antifuse. 3 Digital Systems Implementation Programmable Logic Devices

ECE 3220 Digital Design with VHDL. Course Information. Lecture 1

ECE 111 ECE 111. Advanced Digital Design. Advanced Digital Design Winter, Sujit Dey. Sujit Dey. ECE Department UC San Diego

The Xilinx XC6200 chip, the software tools and the board development tools

CS310 Embedded Computer Systems. Maeng

Field Program mable Gate Arrays

New Logic Module for secured FPGA based system

Computer Structure. Unit 2: Memory and programmable devices

Lecture 1: Introduction Course arrangements Recap of basic digital design concepts EDA tool demonstration

ELEC 204 Digital System Design LABORATORY MANUAL

Field Programmable Gate Arrays (FPGAs)

Design Methodologies

Digital Circuit Design Using Xilinx ISE Tools

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

Overview of Digital Design with Verilog HDL 1

Hardware Software Codesign of Embedded Systems

Design of Digital Circuits

Transcription:

FPGA Based Digital Design Using Course Designed by: IRFAN FAISAL MIR ( Verilog / FPGA Designer ) irfanfaisalmir@yahoo.com * Organized by Electronics Division Integrated Circuits Uses for digital IC technology today: Standard Microprocessors Used in desktop PC and embedded applications Memory Chips (RAMs) Application Specific ICs (ASICs) Custom design to match particular applications Can be optimized for low power, low cost, high performance

Field Programmable Logic Devices (FPGAs, CPLDs) Customized to particular applications Reconfigure device Short time to market Xilinx FPGA FPGA Basics FPGA Basics FPGA stands for Field Programmable Gate Array. FPGA can be categorized as: Anti-fuse based (ex: Actel) SRAM Based (ex: Xilinx, Altera) SRAM Based FPGAs are most popular due to its reconfigurable feature

World Popular Xilinx FPGA is typically an SRAM-based device Number of System Gates, Speed Grade, Frequency, No of I/Os and Build in features etc are basic identity of any FPGA FPGA is a Programmable Integrated Circuit consisting of: An internal array of Configurable Logic Blocks (CLBs). A ring of programmable input/output blocks. Connected together via programmable interconnection. Basic FPGA Internal Architecture

Some Popular Xilinx FPGAs: Spartan II/IIE/III, Virtex TM, Virtex-E and Virtex TM -II devices. Range of Xilinx FPGAs from Few 10K Gates to Multi-Million Gates with Embedded Cores. Basics Basics is a Hardware Description Language. It describes the hardware. It is not a programming & procedural language. is a concurrent language It enables specification of a digital system at a range of levels of abstraction: Switches, Gates, RTL, and higher Open Verilog International (OVI) IEEE 1364

Why use an HDL? Describe complex designs (millions of gates) Input to synthesis tools (synthesizable subset) Design exploration with simulation Why not use a general purpose language Support for structure and instantiation Support for describing bit-level behavior Support for timing Support for concurrency Verilog vs. VHDL Verilog is relatively simple and close to C VHDL is complex Verilog has 60% of the world digital design market (larger share in US)

Why do we choose FPGA based solutions? We choose FPGA based solution due to two main reason : Prefer FPGA design flow over ASIC design flow Traditional ASIC Design Flow Layout Entry Layout Extraction Layout Verification Specifications Circuit Entry Implementation ASICs Design Cycle Concept to RTL RTL to Netlist Netlist to GDS II ASICs Manufacturing Cycle GDS II to a Mask Course Organized Mask to a wafer By: Electronics Division, Wafer to a Packaged part RTL Code +Synthesis Circuit Validation Why do we prefer FPGA over ASIC? Customized to particular applications Reconfigure hardware Short time to market When product has hundreds or thousands components, FPGA is preferred. Mostly in Pakistan, FPGA based solution is preferred Setup cost of ASIC is too High. On the other hand min cost of FPGA is about $10 There are FPGA based training boards for rapid prototyping

FPGA Vs ASIC FPGA Vs ASIC Design Optimization and Specific Chip Dependency Removal In latest FPGAs, there are multi-million system gates FPGA has great resources having RAM Blocks, Arithmetic Operations, Signaling Compatibility and many more FPGAs are introduced as an alternative to custom ICs for implementing glue logic: improved density relative to discrete SSI/MSI components (within around 100x of custom ICs)

System Integration FPGA FPGA Technology Moore s Law: In 1965, Gordon Moore noted that the number of transistors on a chip doubled every 18 to 24 months. He made a prediction that semiconductor technology will double its effectiveness every 18 months. System Gates 50M 10M 4M 2M 1M 500K FPGAs with 2 million system gates were available in 1998 and...... FPGAs with 50 million system gates will be available in 2004 1998 1999 2000 2001 2002 2003 2004

FPGA Based Design Steps Design Steps: is used for Hardware Designing Synthesis tools typically accept only a subset of the full Verilog language constructs Synthesis tools convert the actual design (Verilog code) to gate level netlist Finally design is implemented into your target technology (Xilinx FPGAs) Design Methodology 3 1 Simulator Simulation Output 2 Description Verilog Test Drivers Compare Outputs 7 6 4 Synthesis Verilog Design FPGA Implementation Simulator Simulation Output 5

Design Example Example of 4x1 MUX Design Flow First make a design of system on paper and study its all aspects Write a Behavioral Model in of design for check its functionality Write RTL in of design Synthesis tools convert the RTL design (Verilog code) to gate level netlist Finally design is implemented into your target technology (Xilinx FPGAs) Introductory Create Class a bit file of design that download in FPGA Software Required ModelSim PE/SE/XE Xilinx Foundation Series 3.1i/Xilinx ISE Series 4.1i or Above Hardware Required FPGA Boards (Xilinx Spartan/Virtex) Xilinx Parallel Cable

in_0 in_1 in_2 in_3 MUX 4X1 out_data First we define its input and outputs ports (in size, numbers ) and assign a unique name of each port. Here inputs: in_0, in_1, in_2, in_3 and sel_0, sel_1 output: out_data sel_1 sel_0 Block Diagram of 1-bit 4x1 MUX (*These are all single bit) Design 1-bit 4x1 MUX in

Test Bench for Design ModelSim main Window

ModelSim main Window Waveform Viewer of ModelSim

Synthesis and Implement Design using XILINX tool FPGA Based Design Flow

FPGA in Real World How to use in Real Environment Xilinx FPGAs are volatile because they are based on SRAM technology. That is, the device loses its configuration if the power to the device is turned off. FPGAs typically utilize an external memory device, such as a PROM for production type environment to prevent the loss of configuration data in a power outage. Xilinx PROM are available in two different type One Time Programmable (OTP) [XC17x] In System Programmable [XC18x] Xilinx XC4000 FPGA in Slave Serial Mode

Xilinx FPGA use with PROM PCB P R O M FPGA JTAG Header Select Mode External Source FPGA Development kit Xilinx Virtex-E Development Kit

Motivation System On Chip (SoC) SoC means you put the entire system on a single chip Your Analog and Digital Design on a single chip Example of any complex design that have Micro controller, Memories, Analog portion, DSP processor and algorithm on FPGA Concept is that put all above in a single chip New market of business in electronics For SoC you need the Core of every component i-e IP (Intellectual Property) of these core You can build your own IP A group of two or three engineers

Course Strategy Information Instructor Irfan Faisal Mir (M.Sc Electronics) irfanfaisalmir@yahoo.com Prerequisite Digital Logic Design Computer Architecture Concept Programming Basics Course Duration: Two Weeks Total Lectures: Twenty (20) Total LABS: Twenty (20) (Five days per week) (Time: 1.5 hrs per lecture) (Time: 1.5 hrs per lab)

Course Summary: Digital Design Methodology Language with Designing Issues Behavioral and RTL Design Optimized State Machine based Design Testing and Verification Methodology Xilinx FPGA/CPLD architecture FPGA Design Flow Digital Circuits Designed for specific FPGA Course Outlines Constraint Editor, Core Generator, Floorplanner, FPGA Editor, impact Constraint Definitions, Timing Analysis Synthesis and implementation using Xilinx ISE 6.1i tools System On Chip (SoC) Xilinx FPGA on PCB in real systems Hardware Testing of FPGA Based Design on Xilinx Development board