Introduction to Field Programmable Gate Arrays

Similar documents
Field Programmable Gate Array

FPGA: What? Why? Marco D. Santambrogio

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

Field Programmable Gate Array (FPGA) Devices

Topics. Midterm Finish Chapter 7

Field Programmable Gate Array (FPGA)

Introduction to Field Programmable Gate Arrays

PINE TRAINING ACADEMY

INTRODUCTION TO FPGA ARCHITECTURE

An Introduction to Programmable Logic

Programmable Logic Devices

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

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?

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

Basic FPGA Architecture Xilinx, Inc. All Rights Reserved

Digital Integrated Circuits

Topics. Midterm Finish Chapter 7

ECE 545 Lecture 12. FPGA Resources. George Mason University

Field Program mable Gate Arrays

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

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

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

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

FPGAs in a Nutshell - Introduction to Embedded Systems-

VHDL for Synthesis. Course Description. Course Duration. Goals

FPGA architecture and design technology

Introduction to FPGAs. H. Krüger Bonn University

Digital Design with FPGAs. By Neeraj Kulkarni

EE178 Lecture Module 2. Eric Crabill SJSU / Xilinx Fall 2007

ISE Design Suite Software Manuals and Help

Programmable Logic. Any other approaches?

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

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

Lab 3 Sequential Logic for Synthesis. FPGA Design Flow.

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems

Summary. Introduction. Application Note: Virtex, Virtex-E, Spartan-IIE, Spartan-3, Virtex-II, Virtex-II Pro. XAPP152 (v2.1) September 17, 2003

EECS150 - Digital Design Lecture 16 - Memory

ECE 331 Digital System Design

Verilog for High Performance

Hardware Synthesis. References

Chapter 10: Design Options of Digital Systems

EE219A Spring 2008 Special Topics in Circuits and Signal Processing. Lecture 9. FPGA Architecture. Ranier Yap, Mohamed Ali.

FPGA Based Digital Design Using Verilog HDL

CS310 Embedded Computer Systems. Maeng

Signal Processing Algorithms into Fixed Point FPGA Hardware Dennis Silage ECE Temple University

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

Hardware Design with VHDL PLDs IV ECE 443

Experiment 3. Digital Circuit Prototyping Using FPGAs

Outline. Field Programmable Gate Arrays. Programming Technologies Architectures. Programming Interfaces. Historical perspective

EECS 150 Homework 7 Solutions Fall (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are:

FPGA for Software Engineers

EITF35: Introduction to Structured VLSI Design

EECS150 - Digital Design Lecture 16 Memory 1

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

High Capacity and High Performance 20nm FPGAs. Steve Young, Dinesh Gaitonde August Copyright 2014 Xilinx

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

FPGA Design Flow 1. All About FPGA

Chapter 9: Integration of Full ASIP and its FPGA Implementation

EE260: Digital Design, Spring 2018

Tutorial on VHDL and Verilog Applications

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

Xilinx ASMBL Architecture

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

EECS150 - Digital Design Lecture 10 Logic Synthesis

ECE 645: Lecture 1. Basic Adders and Counters. Implementation of Adders in FPGAs

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

CSE140L: Components and Design Techniques for Digital Systems Lab

Memory and Programmable Logic

Spiral 2-8. Cell Layout

Using XILINX WebPACK Software to Create CPLD Designs

Lecture #1: Introduction

INTRODUCTION TO FIELD PROGRAMMABLE GATE ARRAYS (FPGAS)

Introduction to Modern FPGAs

Product Obsolete/Under Obsolescence

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

System-on Solution from Altera and Xilinx

ispxpld TM 5000MX Family White Paper

VLSI Test Technology and Reliability (ET4076)

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences

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

VHX - Xilinx - FPGA Programming in VHDL

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

Design Progression With VHDL Helps Accelerate The Digital System Designs

FPGA Implementations

CSE140L: Components and Design

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

Code No: R Set No. 1

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

CONTENTS CHAPTER 1: NUMBER SYSTEM. Foreword...(vii) Preface... (ix) Acknowledgement... (xi) About the Author...(xxiii)

Graduate course on FPGA design

Virtex-II Architecture. Virtex II technical, Design Solutions. Active Interconnect Technology (continued)

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

Scalable and Dynamically Updatable Lookup Engine for Decision-trees on FPGA

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

structure syntax different levels of abstraction

Here is a list of lecture objectives. They are provided for you to reflect on what you are supposed to learn, rather than an introduction to this

AL8253 Core Application Note

EECS150, Fall 2004, Midterm 1, Prof. Culler. Problem 1 (15 points) 1.a. Circle the gate-level circuits that DO NOT implement a Boolean AND function.

V8-uRISC 8-bit RISC Microprocessor AllianceCORE Facts Core Specifics VAutomation, Inc. Supported Devices/Resources Remaining I/O CLBs

Transcription:

Introduction to Field Programmable Gate Arrays Lecture 1/3 CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May 9 June 2007 Javier Serrano, CERN AB-CO-HT

Outline Historical introduction. Basics of digital design. FPGA structure. Traditional (HDL) design flow. Demo.

Outline Historical introduction. Basics of digital design. FPGA structure. Traditional (HDL) design flow. Demo.

Historical Introduction In the beginning, digital design was done with the 74 series of chips. Some people would design their own chips based on Gate Arrays, which were nothing else than an array of NAND gates:

Historical Introduction The first programmable chips were PLAs (Programmable Logic Arrays): two level structures of AND and OR gates with user programmable connections. Programmable Array Logic devices were an improvement in structure and cost over PLAs. Today such devices are generically called Programmable Logic Devices (PLDs).

Historical introduction A complex PLD (CPLD) is nothing else than a collection of multiple PLDs and an interconnection structure. Compared to a CPLD, a Field Programmable Gate Array (FPGA) contains a much larger number of smaller individual blocks + large interconnection structure that dominates the entire chip.

Outline Historical introduction. Basics of digital design. FPGA structure. Traditional (HDL) design flow. Demo.

Basics of digital design Unless you really know what you are doing, stick to synchronous design: sandwiching bunches of combinational logic in between flip flops. Combinational logic: state of outputs depend on current state of inputs alone (forgetting about propagation delays for the time being). E.g. AND, OR, mux, decoder, adder... D-type Flip flops propagate D to Q upon a rising edge in the clk input. Synchronous design simplifies design analysis, which is good given today s logic densities.

Don t do this! Toggle flip-flops get triggered by glitches produced by different path lengths of counter bits.

Basics of (synchronous) Digital Design Clk DataInB DataSelect DataInA D Q databc D Q dataac D[0] Q[0] dataselectc + sum 0 D Q 1 DataOut DataOut_3 6.90 ns DataOut High clock rate: 144.9 MHz on a Xilinx Spartan IIE. DataSelect D[0] Q[0] dataselectc D[0] Q[0] dataselectcd1 Clk DataInB D Q databc D Q dataacd1 0 D Q DataOut 1 DataOut DataOut_3 DataInA D Q dataac + D Q sum_1 6.60 ns sum Higher clock rate: 151.5 MHz on the same chip. Illustrating the latency/throughput tradeoff

Outline Historical introduction. Basics of digital design. FPGA structure. Traditional (HDL) design flow. Demo.

Basic FPGA architecture

The logic block: a summary view Example: using a LUT as a full adder.

A practical example: Xilinx Virtex II Pro family (used in the lab) Overview Configurable Logic Block (CLB) Embedded PowerPC Digitally Controlled Impedance (DCI)

A practical example: Xilinx Virtex II Pro family Slice Detail of half-slice

A practical example: Xilinx Virtex II Pro family Routing resources

FPGA state of the art In addition to logic gates and routing, in a modern FPGA you can find: Embedded processors (soft or hard). Multi-Gb/s transceivers with equalization and hard IP for serial standards as PCI Express and Gbit Ethernet. Lots of embedded MAC units, with enough bits to implement single precision floating point arithmetic efficiently. Lots of dual-port RAM. Sophisticated clock management through DLLs and PLLs. System monitoring infrastructure including ADCs. On-substrate decoupling capacitors to ease PCB design. Digitally Controlled Impedance to eliminate on-board termination resistors.

Embedded processors

Why use embedded processors? Customization: take only the peripherals you need and replicate them as many times as needed. Create your own custom peripherals. Strike optimum balance in system partitioning.

Serial signaling Avoids clock/data skew by using embedded clock. Reduces EMI and power consumption. Simplifies PCB routing.

Clock management

Outline Historical introduction. Basics of digital design. FPGA structure. Traditional (HDL) design flow. Demo.

Traditional design flow 1/3 HDL Behavioral Simulation Implement your design using VHDL or Verilog Synthesis Functional Simulation Implementation Timing Simulation Download In-Circuit Verification

Traditional design flow 2/3 HDL Behavioral Simulation Synthesis Functional Simulation Synthesize the design to create an FPGA netlist Implementation Timing Simulation Download In-Circuit Verification

Traditional design flow 3/3 HDL Behavioral Simulation Synthesis Implementation Download Functional Simulation Timing Simulation In-Circuit Verification Translate, place and route, and generate a bitstream to download in the FPGA