Академический Документы
Профессиональный Документы
Культура Документы
PPD Lectures
Data Transport
Triggering
Computers interacting with Hardware (VME Bus)
john.coughlan@rl.ac.uk
The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
CMS CERN LHC Custom Electronics Chips Radn Hard, Low Power
Purpose Built Digital Processing Boards In VME Bus Crates The Design Warriors Guide to FPGAs
Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
Ultra Fast Trigger Systems (Trigger Algorithms) Clock Accurate Timing Massively Parallel Data Processing (Silicon Trackers with Millions of Channels)
john.coughlan@rl.ac.uk
The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
Lecture Outline
Basics Evolution
Architecture
Design Flow
Industry Trends
john.coughlan@rl.ac.uk
The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
Digital Logic
Digital Logic Function 3 Inputs Product AND (&) Sum OR (|)
Black Box
Truth Table
Connect Standard Logic Chips Very Simple Glue Logic FIXED Logic
Transistor Switches
The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
john.coughlan@rl.ac.uk
Un-programmed State
Logic Function
Inputs ANDs OR
Sums
Complex PLDs
CPLDs Programmable PLD Blocks Programmable Interconnects Electrically Erasable links
CPLD Architecture
Feedback Outputs
The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
john.coughlan@rl.ac.uk
Prefabricated Programmed
SPLDs CPLDs
The GAP
Large Complex Functions . Millions of Gates Customised for Extremes of Speed, Low Power, Radiation Hard (Very) Expensive (in small quantities) > $1 Million mask set (Very) Hard to Design. Long Design cycles. NOT Reprogrammable. High Risk
john.coughlan@rl.ac.uk
The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
SPLDs CPLDs
The GAP
FPGA
john.coughlan@rl.ac.uk
The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
New Architecture Simple Programmable Logic Blocks Massive Fabric of Programmable Interconnects
FPGA Architecture
john.coughlan@rl.ac.uk
The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
Logic Blocks
Logic Functions implemented in Lookup Table LUTs Multiplexers (select 1 of N inputs) Flip-Flops. Registers. Clocked Storage elements.
4-input LUT
y mux flip-flop q
FPGA Fabric
Logic Block
john.coughlan@rl.ac.uk
The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
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
3 Inputs LUT -> 8 Memory Cells
16-bit SR 16x1 RAM
3 6 Inputs
a b c d e
4-input LUT
y mux flip-flop q
SRAM
Multiplexer MUX
john.coughlan@rl.ac.uk
Logic Blocks
4-input LUT
y mux flip-flop q
john.coughlan@rl.ac.uk
The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
Clocked Logic
Flip Flops on outputs. CLOCKED storage elements. Sequential Logic Functions (cf Combinational Logic LUTs) Pipelines. Synchronous Logic Design FPGA Fabric driven by Global Clock (e.g. BX frequency)
16-bit SR 16x1 RAM
4-input LUT
y mux flip-flop q
FPGA Fabric
Clock
john.coughlan@rl.ac.uk
The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
Combinational Logic
Combinational Logic
Combinational Logic
Data In
etc.
Result
Three levels of logic AND From previous bank of registers & OR | NOR | To next bank of registers
john.coughlan@rl.ac.uk
The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
Pipelining Logic Combinational Logic Stored in Registers. Clocked Logic (e.g. at LHC BX 40 MHz)
Combinational Logic Combinational Logic Combinational Logic
Data In
etc.
Registers
Combinational Logic
Registers
Combinational Logic
Registers
Data In etc.
Clock
john.coughlan@rl.ac.uk
The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
Pipelining Combinational and Sequential Logic. Clocked Logic (e.g. at LHC BX 40 MHz)
Combinational Logic Combinational Logic Combinational Logic
Data In
etc.
Registers
Combinational Logic
Registers
Combinational Logic
Registers
a b c d
y mux flip-flop q
Data In etc.
Clock
john.coughlan@rl.ac.uk
The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
Clocked Logic
Data In etc.
Clock
4-input LUT
y mux flip-flop q
FPGA Fabric
Clock
john.coughlan@rl.ac.uk
The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
Routing
Around Fabric Edges Configurable Input Output I/O Blocks 100s 1,000 Pins
john.coughlan@rl.ac.uk
The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
Configuring an FPGA
Millions of SRAM cells holding LUTs and Interconnect Routing Volatile Memory. Loses configuration when board power is turned off. Keep Bit Pattern describing the SRAM cells in non-Volatile Memory e.g. ROM or Digital Camera card Configuration takes ~ secs
JTAG Port
Configuration data in Configuration data out
= I/O pin/pad
= SRAM cell
SRAM
JTAG Testing
The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
john.coughlan@rl.ac.uk
Compile (Synthesise) into Netlist. Boolean Logic Gates. Target FPGA Fabric
Schematic capture
Design Flow
Mapping Routing
Gate-level netlist
BEGIN CIRCUIT=TEST INPUT SET_A, SET-B, DATA, CLOCK, CLEAR_A, CLEAR_B; OUTPUT Q, N_Q; WIRE SET, N_DATA, CLEAR; GATE G1=NAND (IN1=SET_A, IN2=SET_B, OUT1=SET); GATE G2=NOT (IN1=DATA, OUT1=N_DATA); GATE G3=OR (IN1=CLEAR_A, IN2=CLEAR_B, OUT1=CLEAR); GATE G4=DFF (IN1=SET, IN2=N_DATA, IN3=CLOCK, IN4=CLEAR, OUT1=Q, OUT2=N_Q); END CIRCUIT=TEST;
Bit File for FPGA Commercial CAE Tools (Complex & Expensive) Logic Simulation
Mapping Packing
Place-andRoute
Timing analysis and timing report Gate-level netlist for simulation SDF (timing info) for simulation
john.coughlan@rl.ac.uk
The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
Describing Mixture of Combinational and Sequential (Clocked) Logic and Signals between. Register Transfer Level Description Program Describes how to construct Hardware logic. Unlike conventional Programming Language generating machine code for Sequential Processor In practice often closely tied to Hardware (like Assembly Language)
Non Portable
VERILOG Language
john.coughlan@rl.ac.uk
The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
VHDL Firmware
architecture Behavioral of dpmbufctrl is
Architecture Signals
begin
bram_en <='1'; bram_rst <= '0'; --bit order reverse address and data buses to match EDK scheme bram_addr(0 to 31) <= bram_addr_i(31 downto 0);
--N.B. EDK DOCM addresses are byte orientated count in 4s for whole words g1 : process(clk, rst)
Functions
if clk'event and clk = '1' then if rst = '1' then buf_zone:=0; acount <= (others => '0'); dcount <= (others => '0'); bram_wen <= (others => '0'); bram_addr_i <= X"00001FFC"; -bram_dout_i <= (others => '0'); state:=0; elsif state = 0 then --wait for din(0) at address 1FFC to be set to zero --what about pipeline of BRAM - need to wait before polling? bram_wen <= (others => '0'); acount <= (others => '0'); bram_addr_i <= X"00001FFC"; bram_dout_i <= (others => '0'); dcount <= dcount; if bram_din_i = X"00000000" then state := 1; else The Design Warriors Guide to FPGAs state := 0; Devices, Tools, and Flows. ISBN 0750676043 john.coughlan@rl.ac.uk end if; Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
Signal Assignments
If Else Blocks
Multiplexers
Large Complex Functions Programmability, Flexibility. Massively Parallel Architecture Processing many channels simultaneously cf MicroProcessor sequential processing Fast Turnaround Designs SRAM Based. Standard IC Manufacturing Processes (Memory Chips) Leading Edge of Moores Law Mass produced. Inexpensive. Many variants. Sizes. Features.
john.coughlan@rl.ac.uk
The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
Trends
State of Art is 65nm on 300 mm wafers Top of range 100,000+ Logic Blocks 1,000 pins (Fine Pitched Ball Grid Arrays) Logic Block cost ~ 1$ in 1990 ; $0.002 in 2005
Challenges
CAE Tools
john.coughlan@rl.ac.uk
The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)
Summary
Basics Evolution
Architecture
Design Flow
john.coughlan@rl.ac.uk
Bebop to the Boolean Algebra Clive Maxfield Published by Newnes The Design Warriors Guide to FPGAs Clive Maxfield Published by Newnes Fundamentals of Digital Logic with VHDL Stephen Brown, Zvonko Vranesic Published by McGraw Hill
john.coughlan@rl.ac.uk
The Design Warriors Guide to FPGAs Devices, Tools, and Flows. ISBN 0750676043 Copyright 2004 Mentor Graphics Corp. (www.mentor.com)