FPGAs: Instant Access

Similar documents
Digital System Design with SystemVerilog

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

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

Philip Andrew Simpson. FPGA Design. Best Practices for Team-based Reuse. Second Edition

FPGA architecture and design technology

MSP430 Microcontroller Basics

Design Methodologies. Full-Custom Design

Computers as Components Principles of Embedded Computing System Design

Programming 8-bit PIC Microcontrollers in С

Embedded Systems Architecture

PINE TRAINING ACADEMY

FPGA for Software Engineers

EITF35: Introduction to Structured VLSI Design

VHDL for Synthesis. Course Description. Course Duration. Goals

Field Programmable Gate Array (FPGA)

Design Methodologies and Tools. Full-Custom Design

Verilog for High Performance

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?

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

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

VHX - Xilinx - FPGA Programming in VHDL

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

INTRODUCTION TO FPGA ARCHITECTURE

VHDL. Douglas L. Perry. Third Edition

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

CHAPTER - 2 : DESIGN OF ARITHMETIC CIRCUITS

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

Design Guidelines for Optimal Results in High-Density FPGAs

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

FPGAs: High Assurance through Model Based Design

ARCHITECTURE DESIGN FOR SOFT ERRORS

The Designer's Guide to VHDL Second Edition

INTRODUCTION TO FIELD PROGRAMMABLE GATE ARRAYS (FPGAS)

Hardware Design with VHDL PLDs IV ECE 443

EE577A FINAL PROJECT REPORT Design of a General Purpose CPU

M (~ Computer Organization and Design ELSEVIER. David A. Patterson. John L. Hennessy. University of California, Berkeley. Stanford University

FPGA Based Digital Design Using Verilog HDL

PROGRAMMABLE MODULES SPECIFICATION OF PROGRAMMABLE COMBINATIONAL AND SEQUENTIAL MODULES

VHDL Essentials Simulation & Synthesis

FPGA: What? Why? Marco D. Santambrogio

Topics. Midterm Finish Chapter 7

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

Lecture #1: Introduction

DIGITAL DESIGN TECHNOLOGY & TECHNIQUES

Programmable Logic. Any other approaches?

BASICS. Design. Field-programmable gate arrays. Tradeoffs Abound. FPGAs offer all of the features needed to implement. in FPGA Design.

Introduction to Field Programmable Gate Arrays

ALTERA FPGAs Architecture & Design

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

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

FPGA How do they work?

קורס VHDL for High Performance. VHDL

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

Introduction. Sungho Kang. Yonsei University

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

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

BASICS. Design. Field-programmable gate arrays. Tradeoffs Abound. FPGAs offer all of the features needed to implement. in FPGA Design.

SP3Q.3. What makes it a good idea to put CRC computation and error-correcting code computation into custom hardware?

TSEA44 - Design for FPGAs

Altera FLEX 8000 Block Diagram

Digital Signal Processing System Design: LabVIEW-Based Hybrid Programming Nasser Kehtarnavaz

St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad

Lab 1 Modular Design and Testbench Simulation ENGIN 341 Advanced Digital Design University of Massachusetts Boston

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

CMPE 415 Programmable Logic Devices Introduction

Open-Source Robotics and Process Control Cookbook

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

Programmable Logic Devices HDL-Based Design Flows CMPE 415

More Course Information

FPGA Implementations

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

All MSEE students are required to take the following two core courses: Linear systems Probability and Random Processes

Spiral 2-8. Cell Layout

Chapter 5 Embedded Soft Core Processors

EEL 4783: HDL in Digital System Design

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

LOW POWER DESIGN IMPLEMENTATION OF A SIGNAL ACQUISITION MODULE RAVI BHUSHAN THAKUR. B.Tech, Jawaharlal Nehru Technological University, INDIA 2007

CSE140L: Components and Design Techniques for Digital Systems Lab

EECS150 - Digital Design Lecture 10 Logic Synthesis

Qsys and IP Core Integration

Digital Design Methodology (Revisited) Design Methodology: Big Picture

Rapidly Developing Embedded Systems Using Configurable Processors

Lab #1: Introduction to Design Methodology with FPGAs part 1 (80 pts)

Digital Design Methodology

World Class Verilog & SystemVerilog Training

Graphics: Alexandra Nolte, Gesine Marwedel, Universität Dortmund. RTL Synthesis

CSE140L: Components and Design

The Definitive Guide to the ARM Cortex-M3

Early Models in Silicon with SystemC synthesis

Complete PCB Design Using OrCad Capture and Layout

An Introduction to Programming with IDL

Field Program mable Gate Arrays

Design of DMA Controller Using VHDL

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad ELECTRONICS AND COMMUNICATIONS ENGINEERING

Intel Quartus Prime Pro Edition User Guide

FPGA Programming Technology

FIELD PROGRAMMABLE GATE ARRAYS (FPGAS)

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

Transcription:

FPGAs: Instant Access Clive"Max"Maxfield AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO % ELSEVIER Newnes is an imprint of Elsevier Newnes

Contents About the Author xi 1. The Fundamentals Why Use FPCAs? 1 Applications 3 Some Technology Background 4 Fusible-link Technology 4 FPGA Programming Technologies 7 Instant Summary 12 2. FPGA Architectures More on Programming Technologies 14 SRAM-based Devices 14 Antifuse-based Devices 16 E 2 PROM/FLASH-based Devices 1 7 Hybrid FLASH-SRAM Devices 18 Fine-, Medium-, and Coarse-grained Architectures 18 Logic Blocks 19 MUX-based 19 LUT-based 20 LUT versus Distributed RAM versus SR 22 CLBs versus LABs versus Slices 23 Logic Cells/Logic Elements 24 Slicing and Dicing 24 CLBsand LABs 25 Distributed RAMs and Shift Registers 26 Embedded RAMs 27 Embedded Multipliers, Adders, etc. 27 Embedded Processor Cores 29 Hard Microprocessor Cores 30 Soft Microprocessor Cores 31 Clock Managers 32 Clock Trees 32 Clock Managers 33

vi General-purpose I/O 36 Configurable I/O Standards 36 Configurable I/O Impedances 37 Core versus I/O Supply Voltages 37 Gigabit Transceivers 38 Multiple Standards 39 Intellectual Property (IP) 40 Handcrafted IP 41 IP Core Generators 43 System Gates versus Real Gates 44 Instant Summary 47 3. Programming (Configuring) an FPGA Configuration Cells 50 Antifuse-based FPGAs 51 SRAM-based FPGAs 51 Programming Embedded (Block) RAMs, Distributed RAMs, etc. 52 Multiple Programming Chains 53 Quickly Reinitializing the Device 53 Using the Configuration Port 53 Serial Load with FPGA as Master 54 Parallel Load with FPGA as Master 55 Parallel Load with FPGA as Slave 56 Serial Load with FPGA as Slave 57 Using the JTAG Port 58 Using an Embedded Processor 59 Instant Summary 60 4. FPGA vs. ASIC Designs When You Switch from ASIC to FPGA Design, or Vice Versa 62 Coding Styles 62 Pipelining and Levels of Logic 62 Levels of Logic 64 Asynchronous Design Practices 65 Asynchronous Structures 65 Combinational Loops 65 Delay Chains 65 Clock Considerations 65 Clock Domains 65 Clock Balancing 65 Clock Gating versus Clock Enabling 66

Contents vii PLLs and Clock Conditioning Circuitry 66 Reliable Data Transfer across Multiclock Domains 66 Register and Latch Considerations 67 Latches 67 Flip-flops with both "Set" and "Reset" Inputs 67 Global Resets and Initial Conditions 67 Resource Sharing (Time-Division Multiplexing) 67 Use It or Lose It! 67 But Wait, There's More 68 State Machine Encoding 68 Test Methodologies 69 Migrating ASIC Designs to FPCAs and Vice Versa 69 Alternative Design Scenarios 69 Instant Summary 73 5. "Traditional" Design Flows Schematic-based Design Flows 76 Back-end Tools like Layout 81 CAE + CAD = EDA 81 A Simple (early) Schematic-driven ASIC Flow 81 A Simple (early) Schematic-driven FPGA Flow 83 Flat versus Hierarchical Schematics 86 Schematic-driven FPGA Design Flows Today 88 HDL-based Design Flows 89 Advent of HDL-based Flows 89 A Plethora of HDLs 96 Points to Ponder 103 Instant Summary 106 6. Other Design Flows C/C++-based Design Flows 108 С versus C++ and Concurrent versus Sequential 110 SystemC-based Flows 112 Augmented C/C++-based Flows 117 Pure C/C++-based Flows 120 Different Levels of Synthesis Abstraction 123 Mixed-language Design and Verification Environments 124 DSP-Based Design Flows 125 Alternative DSP Implementations 126 FPGA-centric Design Flows for DSPs 131 Mixed DSP and VHDLA/erilog etc. Environments 139

viii Contents Embedded Processor-based Design Flows 140 Hard versus Soft Cores 142 Partitioning a Design into Its Hardware and Software Components 145 Using an FPGA as Its Own Development Environment 147 Improving Visibility in the Design 147 A Few Coverification Alternatives 148 Instant Summary 153 7. Using Design Tools Simulation Tools 156 Event-driven Logic Simulators 156 Logic Values and Different Logic Value Systems 158 Mixed-language Simulation 159 Alternative Delay Formats 160 Cycle-based Simulators 163 Choosing a Logic Simulator 165 Synthesis (Logic/HDL versus Physically Aware) 166 Logic/HDL Synthesis Technology 166 Physically Aware Synthesis Technology 167 Retiming, Replication, and Resynthesis 168 Timing Analysis 169 Static Timing Analysis 169 Statistical Static Timing Analysis 170 Verification in General 171 Verification IP 171 Verification Environments and Creating Testbenches 173 Analyzing Simulation Results 174 Formal Verification 174 Different Flavors of Formal Verification 174 Terminology and Definitions 176 Alternative Assertion/Property Specification Techniques 178 Static Formal versus Dynamic Formal 179 Miscellaneous 182 HDL to С Conversion 182 Code Coverage 182 Performance Analysis 183 Instant Summary 184 8. Choosing the Right Device Choosing 185 Technology 187

Contents IX Basic Resources and Packaging General-purpose I/O Interfaces Embedded Multipliers, RAMs, etc. Embedded Processor Cores Gigabit I/O Capabilities IP Availability Speed Grades Future FPGA Developments Instant Summary 187 188 188 189 189 189 190 191 196 Index 197