System Arch 2008 (Fire Tom Wada) 1 2015/10/9 Field Programmable Gate Array.

Slides:



Advertisements
Similar presentations
Introduction to Programmable Logic John Coughlan RAL Technology Department Electronics Division.
Advertisements

Lecture 15 Finite State Machine Implementation
Xilinx CPLDs and FPGAs Module F2-1. CPLDs and FPGAs XC9500 CPLD XC4000 FPGA Spartan FPGA Spartan II FPGA Virtex FPGA.
28/10/2007DSD,USIT,GGSIPU1 Latch & Register Inference.
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.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR SRAM-based FPGA n SRAM-based LE –Registers in logic elements –LUT-based logic element.
History TTL-logic PAL (Programmable Array Logic)
Implementing Logic Gates and Circuits Discussion D5.1.
6/12/20151 Sequence Detectors Lecture Notes – Lab 4 Sequence detection is the act of recognizing a predefined series of inputs A sequence detector is a.
Implementing Logic Gates and Circuits Discussion D5.3 Section 11-2.
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
FPGAs and VHDL Lecture L12.1. FPGAs and VHDL Field Programmable Gate Arrays (FPGAs) VHDL –2 x 1 MUX –4 x 1 MUX –An Adder –Binary-to-BCD Converter –A Register.
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
FPGAs and VHDL Lecture L13.1 Sections 13.1 – 13.3.
Fundamentals of Digital Logic B. Furman 25NOV2014.
Programmable Array Logic (PAL) Fixed OR array programmable AND array Fixed OR array programmable AND array Easy to program Easy to program Poor flexibility.
ALTERA UP2 Tutorial 1: The 15 Minute Design. Figure 1.1 The Altera UP 1 CPLD development board. ALTERA UP2 Tutorial 1: The 15 Minute Design.
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)
EE4OI4 Engineering Design Programmable Logic Technology.
Introduction to FPGA AVI SINGH. Prerequisites Digital Circuit Design - Logic Gates, FlipFlops, Counters, Mux-Demux Familiarity with a procedural programming.
Designing with FPGAs ELEC 418 Advanced Digital Systems Dr. Ron Hayne Images Courtesy of Thomson Engineering.
Unit 9 Multiplexers, Decoders, and Programmable Logic Devices
Introduction to Programmable Logic Devices John Coughlan RAL Technology Department Electronics Division.
© 2009 Pearson Education, Upper Saddle River, NJ All Rights ReservedFloyd, Digital Fundamentals, 10 th ed Digital Fundamentals Tenth Edition Floyd.
Introduction Verilog is a HARDWARE DESCRIPTION LANGUAGE (HDL) A hardware description language is a language or means used to describe or model a digital.
Introduction to Programmable Logic Devices Edward Freeman STFC Technology Department Detector & Electronics Division.
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.
VHDL Introduction. V- VHSIC Very High Speed Integrated Circuit H- Hardware D- Description L- Language.
Galen SasakiEE 260 University of Hawaii1 Electronic Design Automation (EDA) EE 260 University of Hawaii.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
Programmable Logic Devices
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Basic Sequential Components CT101 – Computing Systems Organization.
ENG241 Digital Design Week #8 Registers and Counters.
1 ASIC 120: Digital Systems and Standard-Cell ASIC Design Tutorial 1: Introduction to Digital Circuits January 25, 2006.
Introducing the Nexys 2 Board CS 332 – Operating Systems 12/04/2011 by Otto Castell-R.
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.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Introduction to FPGA Tools
Hardware languages "Programming"-language for modelling of (digital) hardware 1 Two main languages: VHDL (Very High Speed Integrated Circuit Hardware Description.
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
Introduction to ASIC flow and Verilog HDL
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
July 2, 2001Systems Architecture I1 Systems Architecture II (CS 282) Lab 3: State Elements, Registers, and Memory * Jeremy R. Johnson Monday July 2, 2001.
George Mason University Behavioral Modeling of Sequential-Circuit Building Blocks ECE 545 Lecture 8.
Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016.
FPGA 상명대학교 소프트웨어학부 2007년 1학기.
Issues in FPGA Technologies
ETE Digital Electronics
Sequential Logic Design
Combinational logic circuit
Systems Architecture Lab: Introduction to VHDL
Registers and Counters
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
Introduction to Programmable Logic
CHAPTER 17 VHDL FOR SEQUENTIAL LOGIC
Electronics for Physicists
Field Programmable Gate Array
Field Programmable Gate Array
Field Programmable Gate Array
VHDL VHSIC Hardware Description Language VHSIC
SYNTHESIS OF SEQUENTIAL LOGIC
VHDL Introduction.
Behavioral Modeling of Sequential-Circuit Building Blocks
Sequntial-Circuit Building Blocks
Implementing Logic Gates and Circuits
(Sequential-Circuit Building Blocks)
Presentation transcript:

System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array

System Arch 2008 (Fire Tom Wada) /10/9 What is FPGA?

System Arch 2008 (Fire Tom Wada) /10/9 FPGA Programmable (= reconfigurable) Digital System Component  Basic components Combinational logics Flip Flops  Macro components Multiplier ( large combinational logic) Random Access Memory (Large Density) Read Only memory (Large Density) CPU  Programmable Interconnection  Programmable Input/Output circuit  Programmable Clock Generator

System Arch 2008 (Fire Tom Wada) /10/9 What is Combinational Logic? CL A B C D f g A, B, C, D, f, g are all binary signal. If output f, g are function of only inputs (A, B, C, D) then the circuit is combinational circuit. In another word, output signal is determined by only the combination of input signals.  f = func1(A, B, C, D)  g = func2(A, B, C, D) Combinational logic does NOT include memories such as Flip-Flops. Combinational logic can be constructed by just primitive gates such as NOT, NAND, NOR, etc. (But no feedback loop)

System Arch 2008 (Fire Tom Wada) /10/9 Combinational Logic realization - gates - There is no signal loop in the circuit. In combinational logic, signal loop is prohibited since the loop makes states (Memory). Function is not configurable.

System Arch 2008 (Fire Tom Wada) /10/9 Combinational Logic realization - Table - TRUTH TABLE ABCf Function is configurable by storing the TABLE values.

System Arch 2008 (Fire Tom Wada) /10/9 Clocked D LATCH 1 bit memory by NOR cross-loop When CLK=1, Q = D, /Q=not(D) When CLK=0, Q holds previous data. D CLK Q Q Q Q When CLK=‘1’ D Q Q When CLK=‘0’ DQ CLK CIRCUIT SYMBOL:

System Arch 2008 (Fire Tom Wada) /10/9 Master-Slave D Flip-Flop 2 LATCHES in series Still work as 1 bit memory CLK edge Trigger Operation Most commonly used memory element in the state-of-the-art synchronous Digital Design. Q only changes CLK edge (once in one cycle). DQ DQ CLK DQ D Q CIRCUIT SYMBOL: CLK D Q11010

System Arch 2008 (Fire Tom Wada) /10/9 Digital System is just FF + CLs FPGA supports such digital circuit with configurability. FPGA’s basic element CL DQ DQ DQ DQ DQ DQ

System Arch 2008 (Fire Tom Wada) /10/9 Example of Circuit Synthesis

System Arch 2008 (Fire Tom Wada) /10/9 XILINX FPGA Field Programmable Gate Array

System Arch 2008 (Fire Tom Wada) /10/9 XILINX XC3000 Family I/O Electronic Static Discharge Protection CMOS, TTL input Registered /Non Registered I/O

System Arch 2008 (Fire Tom Wada) /10/9 XILINX XC3000 Family CLB CLB: Configurable Logic Block Look-up table for combinational logic D-Flip-Flops Look-up Table = RAM

System Arch 2008 (Fire Tom Wada) /10/9 XILINX XC4000 Family CLB Two Stage Look-up Table

System Arch 2008 (Fire Tom Wada) /10/9 XILINX VIRTEX FAMILY ARCHITECTURE CLB: Configurable Logic Block Many 4Kbit RAM BLOCK RAM DLL (Delay-Locked Loops) to provide controlled-delay clock networks Multiplier (18b x 18b) Macro also supported (not in figure)

System Arch 2008 (Fire Tom Wada) /10/9 XILINX VIRTEX FAMILY CLB CLB: Configurable Logic Block Many 4Kbit RAM BLOCK RAM DLL (Delay-Locked Loops) to provide controlled-delay clock networks

System Arch 2008 (Fire Tom Wada) /10/9 XILINX VIRTEX FAMILY I/O Electronic Static Discharge Protection CMOS, TTL input Registered /Non Registered I/O

System Arch 2008 (Fire Tom Wada) /10/9 ALTERA CPLD Complex Programmable Logic Devices Altera uses less routing resource than Xilinx Altera’s Logic Array Block (LAB) is more complex than Xilinx’s CLBs. Then fewer LABs in on chip than Xilinx’s CLBs.

System Arch 2008 (Fire Tom Wada) /10/9 ALTERA FLEX8000 ARCHITECURE Each LAB has eight LEs (Logic Elements).

System Arch 2008 (Fire Tom Wada) /10/9 ALTERA FLEX8000 Logic Element (LE) CARRY, CASCADE signals

System Arch 2008 (Fire Tom Wada) /10/9 ALTERA APEX 20K ARCHITECTURE MANY RAMs Large Number Input combinational logic such as Multiplier Phase Locked Loop for Advanced Clock generation

System Arch 2008 (Fire Tom Wada) /10/9 How to Design your Digital System using Hard-Macro Blocks Your Circuit RAM I/O circuit ROM Multiplier CPU RAM ROM White Blocks might be available (Hardware pre-designed Blocks) SoftWare for CPU

System Arch 2008 (Fire Tom Wada) /10/9 Hardware Description Languages (HDLs) HDL is a software programming language used to model the intended operation of a piece of hardware. Two level of modeling  Abstract behavior modeling  Hardware structure modeling: Input to Circuit Synthesis Two kinds of Language  VHDL: Very High Speed Integrated Circuit hardware description language Similar to Pascal Programming language  Verilog HDL: Similar to C Programming language

System Arch 2008 (Fire Tom Wada) /10/9 HALF_ADDER example library IEEE; use IEEE.std_logic_1164.all; entity HALF_ADDER is port ( A, B : in std_logic; S, C : out std_logic ); end HALF_ADDER; architecture STRUCTURE of HALF_ADDER is begin S <= A xor B; C <= A and B; end STRUCTURE; module HALF_ADDER ( A, B, S, C ); input A, B; output S, C; assign S = A ^ B; assign C = A & B; endmodule VHDLVerilog HDL

System Arch 2008 (Fire Tom Wada) /10/9 Moving Average Filter by VHDL library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_ARITH.all; entity AVG4 is port(CLK : in std_logic; FMINPUT : in std_logic_vector(7 downto 0); AVGOUT : out std_logic_vector(7 downto 0)); end AVG4; architecture RTL of AVG4 is signal FF1, FF2, FF3, FF4 : std_logic_vector(7 downto 0); signal SUM : std_logic_vector(9 downto 0); begin -- SHIFT REGISTER process(CLK) begin if (CLK'event and CLK = '1') then FF1 <= FMINPUT; FF2 <= FF1; FF3 <= FF2; FF4 <= FF3; end if; end process; -- SUM SUM <=signed(FF1(7)&FF1(7)&FF1)+signed(FF2(7)&FF2(7)&FF2) +signed(FF3(7)&FF3(7)&FF3)+signed(FF4(7)&FF4(7)&FF4); -- DIVIDE BY 4 (SHIFT 2 bit), OUTPUT REGISTER process(CLK) begin if (CLK'event and CLK='1') then AVGOUT <= SUM(9 downto 2); end if; end process; end RTL;

System Arch 2008 (Fire Tom Wada) /10/9 Simulated Waveform

System Arch 2008 (Fire Tom Wada) /10/9 Synthesized Circuit

System Arch 2008 (Fire Tom Wada) /10/9 XILINX VP70 FLOORPLAN