Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016.

Similar presentations


Presentation on theme: "Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016."— Presentation transcript:

1 Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016

2 What are FPGAs? Field Programmable Gate Array Integrated circuit that can be configured by the user to emulate any digital circuit as long as there are enough resources Array of configurable logic blocks (CLBs) connected through programmable interconnects (switch boxes)

3 Time line of Programmable Devices

4 FPGA vs. ASIC (Application-Specific IC)

5 FPGA Market

6 FPGA Specifications Block RAM (~1,000-20,000 Kb) Clock speed (~100-600Mhz) I/O (100s of I/O ports) USB 2.0/3.0 Ethernet PCI-Express Resources (Configurable Logic Blocks) DSP Slices VCCIO supplies

7 Why Use FPGAs? Reprogrammable! High-Level/Behaviors Hardware Description Language! Logic/Timing Simulation! Parallel, Real-time Processing! Relatively small-size and light-weight! Interface with PC other devices/systems (i.e. Camera)! Prototyping before designing custom chip!

8 Field Programmable Gate Arrays FPGA Field Programmable Gate Array ‘Simple’ Programmable Logic Blocks Massive Fabric of Programmable Interconnects Standard CMOS Integrated Circuit fabrication process as for SRAM memory chips (Moore’s Law) Huge Density of Logic Block ‘Islands’ 1,000 … 100,000’s in a ‘Sea’ of Interconnects FPGA Architecture

9 Field Programmable Gate Arrays FPGA

10 Logic Blocks Logic Functions implemented in Look Up Table LUTs. Flip-Flops. Registers. Clocked Storage elements. Multiplexers (select 1 of N inputs) FPGA Fabric Logic Block

11 Look Up Tables LUTs LUT contains Memory Cells to implement small logic functions Each cell holds ‘0’ or ‘1’. Programmed with outputs of Truth Table Inputs select content of one of the cells as output Configured by re-programmable SRAM memory cells 3 Inputs LUT -> 8 Memory Cells Static Random Access Memory SRAM cells 3 – 6 Inputs Multiplexer MUX

12 Logic Blocks Larger Logic Functions built up by connecting many Logic Blocks together

13 Logic Blocks Larger Logic Functions built up by connecting many Logic Blocks together Determined by SRAM cells SRAM cells

14 Clocked Logic Registers on outputs. CLOCKED storage elements. Synchronous FPGA Logic Design, Pipelined Logic. FPGA Fabric Pulse from Global Clock (e.g. LHC BX frequency) FPGA Fabric Clock from Outside world (eg LHC bunch frequency) Special Routing for Clocks

15 Input Output I/O Getting data in and out Up to > 1,000 I/O “pins” (several 100 MHz)

16 Input Output I/O Getting data in and out Up to > 1,000 I/O “pins” (several 100 MHz) Special I/O SERIALISERS ~ 10 Gbps transfer rates Optical TRx

17 Designing Logic with FPGAs Design Capture. High level Description of Logic Design. Graphical descriptions Hardware Description Language (Textual)

18 Hardware Description Languages Language describing hardware (Engineers call it FIRMWARE) Doesn’t behave like “normal” programming language ‘C/C++’ Describe Logic as collection of Processes operating in Parallel Language Constructs for Synchronous Logic Compiler (Synthesis) Tools recognise certain code constructs and generates appropriate logic Not all constructs can be implemented in FPGA! 2 Popular languages are VHDL, VERILOG Easy to start learning… Hard to master!

19 VHDL ENTITY Declaration Input Output to Module (STD LOGIC) SIGNALS Declaration WIRES CONCURRENT ASSIGNMENTS CONDITIONAL ASSIGNMENTS => MULTIPLEXERS

20 VHDL COMPONENT Declaration PROCESS Declaration. CONCURRENT functions. Synchronous Logic.

21 Designing Logic with FPGAs High level Description of Logic Design Hardware Description Language (Textual) Compile (Synthesis) into NETLIST. Boolean Logic Gates. Target FPGA Device Mapping Routing Bit File for FPGA Logic Simulation Design Flow

22 Designing Logic with FPGAs High level Description of Logic Design Hardware Description Language (Textual) Compile (Synthesis) into NETLIST. Boolean Logic Gates. Target FPGA Device Mapping Routing Bit File for FPGA Logic Simulation Design Flow

23 Designing Logic with FPGAs High level Description of Logic Design Hardware Description Language (Textual) Compile (Synthesis) into NETLIST. Boolean Logic Gates. Target FPGA Device Mapping Routing Bit File for FPGA Logic Simulation Design Flow

24 Configuring an FPGA Millions of SRAM cells holding LUTs and Interconnect Routing Volatile Memory. Lose configuration when board power is turned off. Keep Bit Pattern describing the SRAM cells in non-Volatile Memory e.g. PROM or Digital Camera card Configuration takes ~ secs JTAG Testing JTAG Port Programming Bit File

25 Field Programmable Gate Arrays FPGA Large Complex Functions Re-Programmability, Flexibility. Massively Parallel Architecture Processing many channels simultaneously cf MicroProcessor Fast Turnaround Designs Standard IC Manufacturing Processes. Moore’s Law Mass produced. Inexpensive. Many variants. Sizes. Features. Power Hungry  No Analogue 

26 FPGA Trends State of Art is 40nm on 300 mm wafers Top of range >500,000 Logic Blocks >1,000 pins (Fine Pitched BGA) Logic Block cost ~ 1$ in 1990 Today < 0.1 cent Problems Power Leakage currents

27 Sequential vs. Combinational Logic

28 Sequential Circuits n Combinational Logic (Larger circuits difficult to predict) n Synchronous Logic driven by a CLOCK n Registers, Flip Flops (Memory) Inputs

29 Sequential Circuits Register CLOCK New Output every clock edge n Combinational Logic (Larger circuits difficult to predict) n Synchronous Logic driven by a CLOCK n Registers, Flip Flops (Memory) Inputs Intermediate EDGES

30 Sequential Circuits Register CLOCK New Output every clock edge Shift Registers, Pipelines, Finite State Machines … n Combinational Logic (Larger circuits difficult to predict) n Synchronous Logic driven by a CLOCK n Registers, Flip Flops (Memory) Clock Rate determines speed Comb Logic Must meet Timing => Predictable circuits Inputs Intermediate EDGES

31 FPGA Example 1: Two Wheel Balancing Robot

32 FPGA Example 2: Face Detection

33 References The Design Warrior’s Guide to FPGAs Clive Maxfield, Newnes Elsevier VHDL for Logic Synthesis Andrew Rushden, Wiley FPGA manufacturer web sites www.xilinx.com www.altera.com FPGA Online www.pldesignline.com www.fpgajournal.com www.doulos.com


Download ppt "Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016."

Similar presentations


Ads by Google