Introduction to Field Programmable Gate Arrays

Similar documents
9/14/ :38

Digital Systems Design! Lecture 1 - Introduction!!

Chapter 7 Memory and Programmable Logic

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: ext: Sequential Circuit

Introduction. Jim Duckworth ECE Department, WPI. VHDL Short Course - Module 1

7a. System-on-chip design and prototyping platforms

Open Flow Controller and Switch Datasheet

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

To design digital counter circuits using JK-Flip-Flop. To implement counter using 74LS193 IC.

Digital Logic Design. Basics Combinational Circuits Sequential Circuits. Pu-Jen Cheng

Modeling Latches and Flip-flops

Let s put together a Manual Processor

Hardware and Software

Introduction to Programmable Logic Devices. John Coughlan RAL Technology Department Detector & Electronics Division

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor

LAB #4 Sequential Logic, Latches, Flip-Flops, Shift Registers, and Counters

Chapter 9 Latches, Flip-Flops, and Timers

GETTING STARTED WITH PROGRAMMABLE LOGIC DEVICES, THE 16V8 AND 20V8

System on Chip Platform Based on OpenCores for Telecommunication Applications

AC : PRACTICAL DESIGN PROJECTS UTILIZING COMPLEX PROGRAMMABLE LOGIC DEVICES (CPLD)

High-Level Synthesis for FPGA Designs

Quartus II Software Design Series : Foundation. Digitale Signalverarbeitung mit FPGA. Digitale Signalverarbeitung mit FPGA (DSF) Quartus II 1

SDLC Controller. Documentation. Design File Formats. Verification

ECE410 Design Project Spring 2008 Design and Characterization of a CMOS 8-bit Microprocessor Data Path

Getting Started with Embedded System Development using MicroBlaze processor & Spartan-3A FPGAs. MicroBlaze

Architectures and Platforms

ON SUITABILITY OF FPGA BASED EVOLVABLE HARDWARE SYSTEMS TO INTEGRATE RECONFIGURABLE CIRCUITS WITH HOST PROCESSING UNIT

Introduction to Digital System Design

Introduction to Digital Design Using Digilent FPGA Boards Block Diagram / Verilog Examples

NIOS II Based Embedded Web Server Development for Networking Applications

EXPERIMENT 8. Flip-Flops and Sequential Circuits

All Programmable Logic. Hans-Joachim Gelke Institute of Embedded Systems. Zürcher Fachhochschule

Modeling Registers and Counters

VHDL GUIDELINES FOR SYNTHESIS

Aims and Objectives. E 3.05 Digital System Design. Course Syllabus. Course Syllabus (1) Programmable Logic

Rapid System Prototyping with FPGAs

EEM870 Embedded System and Experiment Lecture 1: SoC Design Overview

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Eli Levi Eli Levi holds B.Sc.EE from the Technion.Working as field application engineer for Systematics, Specializing in HDL design with MATLAB and

Life Cycle of a Memory Request. Ring Example: 2 requests for lock 17

Prototyping ARM Cortex -A Processors using FPGA platforms

A Verilog HDL Test Bench Primer Application Note

Memory Elements. Combinational logic cannot remember

Introduction to Xilinx System Generator Part II. Evan Everett and Michael Wu ELEC Spring 2013

Hardware Implementation of Improved Adaptive NoC Router with Flit Flow History based Load Balancing Selection Strategy

FPGA Music Project. Matthew R. Guthaus. Department of Computer Engineering, University of California Santa Cruz

University of St. Thomas ENGR Digital Design 4 Credit Course Monday, Wednesday, Friday from 1:35 p.m. to 2:40 p.m. Lecture: Room OWS LL54

Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview

Chapter 7. Registers & Register Transfers. J.J. Shann. J. J. Shann

Optimising the resource utilisation in high-speed network intrusion detection systems.

Design of a High Speed Communications Link Using Field Programmable Gate Arrays

Figure 1 FPGA Growth and Usage Trends

DDS. 16-bit Direct Digital Synthesizer / Periodic waveform generator Rev Key Design Features. Block Diagram. Generic Parameters.

Counters and Decoders

Qsys and IP Core Integration

What is a System on a Chip?

7 Series FPGA Overview

Example-driven Interconnect Synthesis for Heterogeneous Coarse-Grain Reconfigurable Logic

RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition

Fault Modeling. Why model faults? Some real defects in VLSI and PCB Common fault models Stuck-at faults. Transistor faults Summary

Hardware Implementations of RSA Using Fast Montgomery Multiplications. ECE 645 Prof. Gaj Mike Koontz and Ryon Sumner

A First Course in Digital Design Using VHDL and Programmable Logic

Seeking Opportunities for Hardware Acceleration in Big Data Analytics

ETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies

VHDL Test Bench Tutorial

DEVELOPMENT OF DEVICES AND METHODS FOR PHASE AND AC LINEARITY MEASUREMENTS IN DIGITIZERS

Chapter 13: Verification

SYSTEM-ON-PROGRAMMABLE-CHIP DESIGN USING A UNIFIED DEVELOPMENT ENVIRONMENT. Nicholas Wieder

Am186ER/Am188ER AMD Continues 16-bit Innovation

Using Xilinx ISE for VHDL Based Design

Digital Circuit Design Using Xilinx ISE Tools

Lecture 8: Synchronous Digital Systems

Master/Slave Flip Flops

Finite State Machine Design and VHDL Coding Techniques

40G MACsec Encryption in an FPGA

ASYNCHRONOUS COUNTERS

How To Fix A 3 Bit Error In Data From A Data Point To A Bit Code (Data Point) With A Power Source (Data Source) And A Power Cell (Power Source)

路 論 Chapter 15 System-Level Physical Design

Lesson 7: SYSTEM-ON. SoC) AND USE OF VLSI CIRCUIT DESIGN TECHNOLOGY. Chapter-1L07: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

AES (Rijndael) IP-Cores

COMBINATIONAL and SEQUENTIAL LOGIC CIRCUITS Hardware implementation and software design

A New Paradigm for Synchronous State Machine Design in Verilog

The new frontier of the DATA acquisition using 1 and 10 Gb/s Ethernet links. Filippo Costa on behalf of the ALICE DAQ group

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B Lab 7: MISP Processor Design Spring 1995

Set-Reset (SR) Latch

Introduction to CMOS VLSI Design (E158) Lecture 8: Clocking of VLSI Systems

NORTHEASTERN UNIVERSITY Graduate School of Engineering

Model-based system-on-chip design on Altera and Xilinx platforms

CHAPTER 11: Flip Flops

The components. E3: Digital electronics. Goals:

White Paper Increase Bandwidth in Medical & Industrial Applications With FPGA Co-Processors

International Journal of Advancements in Research & Technology, Volume 2, Issue3, March ISSN

Arquitectura Virtex. Delay-Locked Loop (DLL)

Design and FPGA Implementation of a Novel Square Root Evaluator based on Vedic Mathematics

USB - FPGA MODULE (PRELIMINARY)

Fourth Edition ISE 5.1i Programmable Logic Design Quick Start Hand Book

Module 3: Floyd, Digital Fundamental

Reconfigurable System-on-Chip Design

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)

VHDL DESIGN OF EDUCATIONAL, MODERN AND OPEN- ARCHITECTURE CPU

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

VHDL 101 Both VHDL code segments produce exactly the same hardware.

VHDL 101: hierarchy

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

Demo Now, let s see how you go from design idea to hardware, using the traditional flow. Many thanks to Jeff Weintraub (Xilinx University Program), Bob Stewart (University of Strathclyde) and Silica for some of the slides.