Field Programmable Gate Array

Slides:



Advertisements
Similar presentations
Lecture 15 Finite State Machine Implementation
Advertisements

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.
1 Lecture 13 VHDL 3/16/09. 2 VHDL VHDL is a hardware description language. The behavior of a digital system can be described (specified) by writing a.
History TTL-logic PAL (Programmable Array Logic)
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.
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.
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.
Introduction to Programmable Logic Devices John Coughlan RAL Technology Department Electronics Division.
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
Introduction Verilog is a HARDWARE DESCRIPTION LANGUAGE (HDL) A hardware description language is a language or means used to describe or model a digital.
VHDL Introduction. V- VHSIC Very High Speed Integrated Circuit H- Hardware D- Description L- Language.
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.
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.
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
Apr. 3, 2000Systems Architecture I1 Introduction to VHDL (CS 570) Jeremy R. Johnson Wed. Nov. 8, 2000.
May 9, 2001Systems Architecture I1 Systems Architecture I (CS ) Lab 5: Introduction to VHDL Jeremy R. Johnson May 9, 2001.
July 2, 2001Systems Architecture I1 Systems Architecture II (CS 282) Lab 3: State Elements, Registers, and Memory * Jeremy R. Johnson Monday July 2, 2001.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
Introduction to Verilog COE 202 Digital Logic Design Dr. Muhamed Mudawar King Fahd University of Petroleum and Minerals.
Issues in FPGA Technologies
ETE Digital Electronics
Programmable Logic Devices
Sequential Programmable Devices
Sequential Logic Design
Combinational logic circuit
LAB #6 Sequential Logic Design (Flip Flops, Shift Registers)
Introduction to Programmable Logic Devices
Systems Architecture Lab: Introduction to VHDL
Registers and Counters
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
EMT 351/4 DIGITAL IC DESIGN Week # Synthesis of Sequential Logic 10.
Introduction to Programmable Logic
CHAPTER 17 VHDL FOR SEQUENTIAL LOGIC
Instructor: Dr. Phillip Jones
Electronics for Physicists
Chapter 11 Sequential Circuits.
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
Combinatorial Logic Design Practices
UNIT 2: Data Flow description
Field Programmable Gate Array
Field Programmable Gate Array
We will be studying the architecture of XC3000.
FIGURE 7.1 Conventional and array logic diagrams for OR gate
CHAPTER 17 VHDL FOR SEQUENTIAL LOGIC
VHDL VHSIC Hardware Description Language VHSIC
触发器 Flip-Flops 刘鹏 浙江大学信息与电子工程学院 March 27, 2018
Hardware Description Languages
Introduction to Verilog
SYNTHESIS OF SEQUENTIAL LOGIC
Digital Fundamentals Tenth Edition Floyd Chapter 11.
VHDL Introduction.
Behavioral Modeling of Sequential-Circuit Building Blocks
FLIP-FLOPS.
Electronics for Physicists
Digital Designs – What does it take
Sequntial-Circuit Building Blocks
Implementing Logic Gates and Circuits
(Sequential-Circuit Building Blocks)
Presentation transcript:

Field Programmable Gate Array 2018/11/15 System Arch 2007 (Fire Tom Wada)

System Arch 2007 (Fire Tom Wada) What is FPGA? 2018/11/15 System Arch 2007 (Fire Tom Wada)

System Arch 2007 (Fire Tom Wada) 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 2018/11/15 System Arch 2007 (Fire Tom Wada)

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) 2018/11/15 System Arch 2007 (Fire Tom Wada)

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. 2018/11/15 System Arch 2007 (Fire Tom Wada)

Combinational Logic realization - Table - 1 f Decoder TRUTH TABLE A B C f 1 Function is configurable by storing the TABLE values. 2018/11/15 System Arch 2007 (Fire Tom Wada)

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

Master-Slave D Flip-Flop Q CLK CLK D Q 1 1 1 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). D Q CIRCUIT SYMBOL: 2018/11/15 System Arch 2007 (Fire Tom Wada)

Digital System is just FF + CLs Q FPGA supports such digital circuit with configurability. FPGA’s basic element D Q CL 2018/11/15 System Arch 2007 (Fire Tom Wada)

Example of Circuit Synthesis 2018/11/15 System Arch 2007 (Fire Tom Wada)

System Arch 2007 (Fire Tom Wada) XILINX FPGA Field Programmable Gate Array 2018/11/15 System Arch 2007 (Fire Tom Wada)

System Arch 2007 (Fire Tom Wada) XILINX XC3000 Family I/O Electronic Static Discharge Protection CMOS, TTL input Registered /Non Registered I/O 2018/11/15 System Arch 2007 (Fire Tom Wada)

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

System Arch 2007 (Fire Tom Wada) XILINX XC4000 Family CLB Two Stage Look-up Table 2018/11/15 System Arch 2007 (Fire Tom Wada)

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) 2018/11/15 System Arch 2007 (Fire Tom Wada)

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

XILINX VIRTEX FAMILY I/O Electronic Static Discharge Protection CMOS, TTL input Registered /Non Registered I/O 2018/11/15 System Arch 2007 (Fire Tom Wada)

System Arch 2007 (Fire Tom Wada) 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. 2018/11/15 System Arch 2007 (Fire Tom Wada)

ALTERA FLEX8000 ARCHITECURE Each LAB has eight LEs (Logic Elements) . 2018/11/15 System Arch 2007 (Fire Tom Wada)

ALTERA FLEX8000 Logic Element (LE) CARRY, CASCADE signals 2018/11/15 System Arch 2007 (Fire Tom Wada)

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

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

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 2018/11/15 System Arch 2007 (Fire Tom Wada)

System Arch 2007 (Fire Tom Wada) HALF_ADDER example VHDL Verilog HDL 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 2018/11/15 System Arch 2007 (Fire Tom Wada)

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; 2018/11/15 System Arch 2007 (Fire Tom Wada)

System Arch 2007 (Fire Tom Wada) Simulated Waveform 2018/11/15 System Arch 2007 (Fire Tom Wada)

System Arch 2007 (Fire Tom Wada) Synthesized Circuit 2018/11/15 System Arch 2007 (Fire Tom Wada)

System Arch 2007 (Fire Tom Wada) XILINX VP70 FLOORPLAN 2018/11/15 System Arch 2007 (Fire Tom Wada)