FPGA architecture and design technology

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

INTRODUCTION TO FPGA ARCHITECTURE

! Program logic functions, interconnect using SRAM. ! Advantages: ! Re-programmable; ! dynamically reconfigurable; ! uses standard processes.

Topics. Midterm Finish Chapter 7

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

Basic FPGA Architecture Xilinx, Inc. All Rights Reserved

Field Programmable Gate Array (FPGA)

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

Xilinx ASMBL Architecture

ECE 636. Reconfigurable Computing. Lecture 2. Field Programmable Gate Arrays I

FPGA: What? Why? Marco D. Santambrogio

Virtex-II Architecture

Topics. Midterm Finish Chapter 7

The DSP Primer 8. FPGA Technology. DSPprimer Home. DSPprimer Notes. August 2005, University of Strathclyde, Scotland, UK

FPGAs: Instant Access

FPGA Architecture Overview. Generic FPGA Architecture (1) FPGA Architecture

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

Programmable Logic. Any other approaches?

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

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

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

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

Altera FLEX 8000 Block Diagram

PINE TRAINING ACADEMY

PROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES

EN2911X: Reconfigurable Computing Topic 01: Programmable Logic

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

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

VHX - Xilinx - FPGA Programming in VHDL

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

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

RUN-TIME RECONFIGURABLE IMPLEMENTATION OF DSP ALGORITHMS USING DISTRIBUTED ARITHMETIC. Zoltan Baruch

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

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

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

FPGA Implementations

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

ADVANCED FPGA BASED SYSTEM DESIGN. Dr. Tayab Din Memon Lecture 3 & 4

Course Overview Revisited

EITF35: Introduction to Structured VLSI Design

ECE 545 Lecture 12. FPGA Resources. George Mason University

Introduction to Field Programmable Gate Arrays

Introduction to Modern FPGAs

Parallel FIR Filters. Chapter 5

RECONFIGURABLE COMPUTING THE THEORY AND PRACTICE

Organic Computing. Dr. rer. nat. Christophe Bobda Prof. Dr. Rolf Wanka Department of Computer Science 12 Hardware-Software-Co-Design

Memory and Programmable Logic

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

INTRODUCTION TO FIELD PROGRAMMABLE GATE ARRAYS (FPGAS)

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

ECE 331 Digital System Design

DSP Resources. Main features: 1 adder-subtractor, 1 multiplier, 1 add/sub/logic ALU, 1 comparator, several pipeline stages

A Time-Multiplexed FPGA

Spiral 2-8. Cell Layout

Field Programmable Gate Array

TSEA44 - Design for FPGAs

CS310 Embedded Computer Systems. Maeng

Outline of Presentation Field Programmable Gate Arrays (FPGAs(

UNIT - V MEMORY P.VIDYA SAGAR ( ASSOCIATE PROFESSOR) Department of Electronics and Communication Engineering, VBIT

Digital Integrated Circuits

FIELD PROGRAMMABLE GATE ARRAYS (FPGAS)

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

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

CHAPTER 4. DIGITAL DOWNCONVERTER FOR WiMAX SYSTEM

Review. EECS Components and Design Techniques for Digital Systems. Lec 03 Field Programmable Gate Arrays

Graduate course on FPGA design

ESE532: System-on-a-Chip Architecture. Today. Message. Graph Cycles. Preclass 1. Reminder

EECS Components and Design Techniques for Digital Systems. Lec 20 RTL Design Optimization 11/6/2007

Design Methodologies. Full-Custom Design

discrete logic do not

Digital Design with FPGAs. By Neeraj Kulkarni

ECEN 449 Microprocessor System Design. FPGAs and Reconfigurable Computing

EE577A FINAL PROJECT REPORT Design of a General Purpose CPU

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

Leso Martin, Musil Tomáš

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

Design Methodologies and Tools. Full-Custom Design

A Low Power Asynchronous FPGA with Autonomous Fine Grain Power Gating and LEDR Encoding

ECE 5775 (Fall 17) High-Level Digital Design Automation. Specialized Computing

FPGAs & Multi-FPGA Systems. FPGA Abstract Model. Logic cells imbedded in a general routing structure. Logic cells usually contain:

Pipelining & Verilog. Sequential Divider. Verilog divider.v. Math Functions in Coregen. Lab #3 due tonight, LPSet 8 Thurs 10/11

ΔΙΑΛΕΞΗ 2: FPGA Architectures

The Virtex FPGA and Introduction to design techniques

More Course Information

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

Very Large Scale Integration (VLSI)

HDL Coding Style Xilinx, Inc. All Rights Reserved

Lecture 41: Introduction to Reconfigurable Computing

CSE140L: Components and Design Techniques for Digital Systems Lab

4DM4 Lab. #1 A: Introduction to VHDL and FPGAs B: An Unbuffered Crossbar Switch (posted Thursday, Sept 19, 2013)

EECS150 - Digital Design Lecture 10 Logic Synthesis

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

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

FPGA Implementation and Validation of the Asynchronous Array of simple Processors

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

EECS150 - Digital Design Lecture 10 Logic Synthesis

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis

CSE140L: Components and Design

ECE 448 Lecture 5. FPGA Devices

CS 31: Intro to Systems Digital Logic. Kevin Webb Swarthmore College February 3, 2015

Transcription:

CE 435 Embedded Systems Spring 2017 FPGA architecture and design technology Nikos Bellas Computer and Communications Engineering Department University of Thessaly 1

FPGA fabric A generic island-style FPGA fabric Configurable Logic Blocks (CLB) and Programmable Switch Matrices (PSM) Bitstream configures functionality of each CLB and interconnection between logic blocks 2

CLB (Combinational Logic Block) Xilinx case 3

Xilinx slice features LUTs MUXF5, MUXF6, MUXF7, MUXF8 (only the F5 and F6 MUX are shown in this diagram) Carry Logic MULT_ANDs Sequential Elements The Xilinx Slice Detailed Structure CE435 Basic - Embedded Architecture Systems 4

Slice Logic Look-Up Tables An N-input LUT to implement any combinational boolean function with N inputs Coarser-grained than logic gates Less area efficient than fixed logic gates (e.g. 4-input AND gate) Very powerful concept for implementation of bit-level random digital logic. Typical values (N=4,5, or 6) 5

Example 2-input LUT Lookup table: a b out 0 0 0 1 a b 0 0 0 1 LUT 1 0 0 1 out 0 1 1 0 0 0 0 0 configuration input 1 1 1 1 6

Example 4-input LUT 7

D Flip Flops Slice Logic A D-Flip Flop at the output of the LUT can be used to latch the output data It can also be used to carry state in FSM designs OR as a pipeline stage etc. 8

Carry Logic Carry Logic is used to speed up carry-based computations. Additions (CLA, Ripple Carry Adders), parity functions, etc. Cin/Cout routing is separate from general purpose routing (fewer logic stages and faster) Slice Logic 9

Carry Chains Dedicated carry chains speeds up arithmetic operations Simple, fast, and complete arithmetic Logic Dedicated XOR gate for single-level sum completion Uses dedicated routing resources All synthesis tools can infer carry logic S= A xor B xor C in C out = AB + (Cin(A xor B )) CIN COUT To S0 of the next CLB First Carry Chain COUT SLICE S1 SLICE S0 CIN COUT To CIN of S2 of the next CLB COUT Second Carry Chain CIN CIN CLB SLICE S3 SLICE S2 Basic Architecture 10

Multiplexer Logic Dedicated MUXes provided to connect slices and LUTs CLB Slice S3 Slice S2 F5 F8 F5 F6 MUXF8 combines the two MUXF7 outputs (from the CLB above or below) MUXF6 combines slices S2 and S3 Slice S1 F5 F7 MUXF7 combines the two MUXF6 outputs Slice S0 F5 F6 MUXF6 combines slices S0 and S1 MUXF5 combines LUTs in each slice CE435 Basic - Embedded Architecture Systems 11

Programmable wiring Organized into channels. Many wires per channel. Connections between wires made at programmable interconnection points. Must choose: Channels from source to destination. Wires within the channels. Routing area typically much larger than logic area 12

Programmable interconnect MOS switch controlled by configuration bit: D Q 13

Programmable wiring paths 14

channel channel Switchbox channel channel 15

Choosing a path LE LE 16

Interconnection architectures Segmented interconnects consists of shorter wires that connect to emulate longer wires Hierarchical interconnects assume that most connections are local 17

Routing problems Global routing: Which combination of channels? Local routing: Which wire in each channel? Routing metrics: Net length. Delay. 18

I/O Fundamental selection: input, output, threestate? Additional features: Register. Voltage levels. Slew rate. 19

Configuration Must set control bits for: LE. Interconnect. I/O blocks. Usually configured off-line. Separate burn-in step (antifuse). At power-up (SRAM). 20

Configuration vs. programming FPGA configuration: Bits stay at the device they program. A configuration bit controls a switch or a logic bit. CPU programming: Instructions are fetched from a memory. Instructions select complex operations. add r1, r2 memory add IR r1, r2 CPU 21

Reconfiguration Some FPGAs are designed for fast configuration. A few clock cycles, not thousands of clock cycles. Allows hardware to be changed on-the-fly. 22

FPGA fabric architecture questions Given limited area budget: How many logic elements? How much interconnect? How many I/O blocks? 23

Logic element questions How many inputs? How many functions? All functions of n inputs or eliminate some combinations? What inputs go to what pieces of the function? Any specialized logic? Adder, etc. What register features? 24

Interconnect questions How many wires in each channel? Uniform distribution of wiring? How should wires be segmented? How rich is interconnect between channels? How long is the average wire? How much buffering do we add to wires? 25

I/O block questions How many pins? Maximum number of pins determined by package type. Are pins programmed individually or in groups? Can all pins perform all functions? How many logic families do we support? 26

The Design Cycle for FPGAs (I) 27

The Design Cycle for FPGAs (II) 28

Mapping 29

Placement 30

Routing 31

Modern FPGA architecture Xilinx Virtex family Columns of on-chips SRAMs, hard IP cores (PPC 405), and DSP slices (Multiply-Accumulate) units 32

DSP slices Large number of hard multipliers allow for DSP applications 33

Example Aplication: FIR filtering 34

Device Complexity and Performance Architectural Evolution Reconfigurable FPGAs Domainoptimized System Logic Programmable System in a Package Glue Logic FPGA Fabric Block Logic FPGA Fabric Block RAM Platform Logic FPGA Fabric Block RAM Embedded Registers and Multipliers Clock Management Multi-standard Programmable IO System Logic FPGA Fabric Block RAM Embedded Registers and Multipliers Clock Management Multi-standard Programmable IO Embedded Microprocessor Multigigabit Transceivers 1985 1992 2000 2002 2004 FPGA Fabric Block RAM Embedded Registers and Multipliers Clock Management Multi-standard Programmable IO Embedded Microprocessor Multigigabit Transceivers Embedded DSPoptimized Multiplers Embedded Ethernet MACs 2005 35