Introduction to Field Programmable Gate Arrays Lecture 1/3 CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May – 9 June 2007 Javier.

Slides:



Advertisements
Similar presentations
© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
Advertisements

PLDs ROM : Programmable OR array
Lecture 15 Finite State Machine Implementation
Spartan-3 FPGA HDL Coding Techniques
Xilinx CPLDs and FPGAs Module F2-1. CPLDs and FPGAs XC9500 CPLD XC4000 FPGA Spartan FPGA Spartan II FPGA Virtex FPGA.
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
Spartan II Features  Plentiful logic and memory resources –15K to 200K system gates (up to 5,292 logic cells) –Up to 57 Kb block RAM storage  Flexible.
Graduate Computer Architecture I Lecture 15: Intro to Reconfigurable Devices.
Implementing Logic Gates and Circuits Discussion D5.1.
Implementing Logic Gates and Circuits Discussion D5.3 Section 11-2.
CS 300 – Lecture 3 Intro to Computer Architecture / Assembly Language Sequential Circuits.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
The Spartan 3e FPGA. CS/EE 3710 The Spartan 3e FPGA  What’s inside the chip? How does it implement random logic? What other features can you use?  What.
Configurable System-on-Chip: Xilinx EDK
Evolution of implementation technologies
Programmable logic and FPGA
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
February 4, 2002 John Wawrzynek
Lecture 3 1 ECE 412: Microcomputer Laboratory Lecture 3: Introduction to FPGAs.
Implementation of DSP Algorithm on SoC. Mid-Semester Presentation Student : Einat Tevel Supervisor : Isaschar Walter Accompaning engineer : Emilia Burlak.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
Introduction to FPGA’s FPGA (Field Programmable Gate Array) –ASIC chips provide the highest performance, but can only perform the function they were designed.
© 2011 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
Dr. Konstantinos Tatas ACOE201 – Computer Architecture I – Laboratory Exercises Background and Introduction.
EET 252 Unit 5 Programmable Logic: FPGAs & HDLs  Read Floyd, Sections 11-5 to  Study Unit 5 e-Lesson.  Do Lab #5.  Lab #5a due next week. 
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Lecture 2: Field Programmable Gate Arrays September 13, 2004 ECE 697F Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays.
Lecture 7 1. Introduction  Comparison of Standard Logic Circuits and Programmable Logic Circuits  Evolution and Overview of PLC:  PROM, PLA, PAL 
Introduction to FPGA AVI SINGH. Prerequisites Digital Circuit Design - Logic Gates, FlipFlops, Counters, Mux-Demux Familiarity with a procedural programming.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
Unit 9 Multiplexers, Decoders, and Programmable Logic Devices
Ch.9 CPLD/FPGA Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Electronics in High Energy Physics Introduction to Electronics in HEP Field Programmable Gate Arrays Part 1 based on the lecture of S.Haas.
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
J. Christiansen, CERN - EP/MIC
FPGA (Field Programmable Gate Array): CLBs, Slices, and LUTs Each configurable logic block (CLB) in Spartan-6 FPGAs consists of two slices, arranged side-by-side.
Galen SasakiEE 260 University of Hawaii1 Electronic Design Automation (EDA) EE 260 University of Hawaii.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
© 2003 Xilinx, Inc. All Rights Reserved Synchronous Design Techniques.
Basic Sequential Components CT101 – Computing Systems Organization.
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
BR 1/991 Issues in FPGA Technologies Complexity of Logic Element –How many inputs/outputs for the logic element? –Does the basic logic element contain.
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE Presenter: Shu-yen Lin Advisor: Prof. An-Yeu Wu 2005/6/6.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Introduction to FPGA Tools
This material exempt per Department of Commerce license exception TSU Synchronous Design Techniques.
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
CEC 220 Digital Circuit Design Programmable Logic Devices
Survey of Reconfigurable Logic Technologies
EE121 John Wakerly Lecture #15
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
A Brief Introduction to FPGAs
Introduction to the FPGA and Labs
Issues in FPGA Technologies
Sequential Programmable Devices
Introduction to Programmable Logic
XILINX FPGAs Xilinx lunched first commercial FPGA XC2000 in 1985
ECE 4110–5110 Digital System Design
Instructor: Dr. Phillip Jones
Electronics for Physicists
Field Programmable Gate Array
Field Programmable Gate Array
Field Programmable Gate Array
Electronics for Physicists
Digital Designs – What does it take
Implementing Logic Gates and Circuits
Presentation transcript:

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 High clock rate: MHz on a Xilinx Spartan IIE. Higher clock rate: MHz on the same chip ns 6.60 ns 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 Synthesis Implementation Download HDL Implement your design using VHDL or Verilog Functional Simulation Timing Simulation In-Circuit Verification Behavioral Simulation

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

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

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.