Graduate Computer Architecture I

Graduate Computer Architecture I
Lecture 15: Intro to
Reconfigurable Devices
Quick Review Digital Logic
A(Q),B
AND
OR
NAND
NOR
XOR
NOT
0,0
0
0
1
1
0
1
0,1
0
1
1
0
1
1
1,0
0
1
1
0
0
0
1,1
1
1
0
0
1
0
2 - CSE/ESE 560M – Graduate Computer Architecture I
Typical Circuit (Full-Adder)
Input
3 - CSE/ESE 560M – Graduate Computer Architecture I
Output
C’
A
B
S
C
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
NAND
4 - CSE/ESE 560M – Graduate Computer Architecture I
Full-Adder Using NAND
A B C’
Input
S
C
5 - CSE/ESE 560M – Graduate Computer Architecture I
Output
C’
A
B
S
C
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
VLSI Layout of NAND Full-Adder
6 - CSE/ESE 560M – Graduate Computer Architecture I
Full-Adder Using Array of Logics
Input
C’
7 - CSE/ESE 560M – Graduate Computer Architecture I
S
Output
C’
A
B
S
C
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
Programmable Logic (PLA/PAL/PLD)
8 - CSE/ESE 560M – Graduate Computer Architecture I
More Complex Programmable Logic
9 - CSE/ESE 560M – Graduate Computer Architecture I
Programmable Logic
Inexpensive One-time
Programmable Devices
BURN it once and use!
10 - CSE/ESE 560M – Graduate Computer Architecture I
Complex Programmable
Logic Devices
Full Adder Using Memory
Input
3bit Address
Concat(C’,A,B)
Addr
8 by 2-bit
Memory
Data
11 - CSE/ESE 560M – Graduate Computer Architecture I
2bit Data
Concat(S,C)
Output
C’
A
B
S
C
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
1
1
0
0
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
Simple Wire Switch (4x4 Crossbar)
Input Ports
Output Ports
12 - CSE/ESE 560M – Graduate Computer Architecture I
Field Programmable Gate Array
13 - CSE/ESE 560M – Graduate Computer Architecture I
Logic Block (Xilinx Virtex 4000)
SRAM based Logic
(4 input Look-up-table)
Registers
14 - CSE/ESE 560M – Graduate Computer Architecture I
FPGA Architecture
15 - CSE/ESE 560M – Graduate Computer Architecture I
Design Flow
DESIGN ENTRY
RTL HDL EDITING
CORE GENERATION
RTL HDL-CORE
SIMULATION
SYNTHESIS
IMPLEMENTATION
TIMING
SIMULATION
16 - CSE/ESE 560M – Graduate Computer Architecture I
FPGA PROGRAMMING
& IN-CIRCUIT TEST
HDL Design Flow
DESIGN WIZARD
Accessed within
HDL Editor
HDL Module
Frameworks
LANGUAGE ASSISTANT
Language Construct
Templates
HDL EDITOR
RTL HDL Files
17 - CSE/ESE 560M – Graduate Computer Architecture I
IP Core Generation
Select core and
specify input
parameters
CORE GENERATOR
EDIF netlist for
core_name
HDL instantiation
module for
core_name
18 - CSE/ESE 560M – Graduate Computer Architecture I
Other core_name files
Functional Simulation
HDL instantiation
module for
core_names
Set Up and Map
work Library
RTL HDL Files
Testbench HDL
Files
Compile HDL Files
EDIF netlists for
core_names
Test Inputs or
Force Files
MODELSIM
Functional Simulate
Waveforms
or List Files
19 - CSE/ESE 560M – Graduate Computer Architecture I
Synthesis
All HDL Files
Edit FPGA Express
Synthesis Constraints
Synthesis/Implementation Constraints
Select Top Level
EDIF netlists for
core_names
Select Target Device
FPGA
EXPRESS
Synthesize
Gate/Primitive Netlist
Files (EDIF or XNF)
20 - CSE/ESE 560M – Graduate Computer Architecture I
Synthesis Report
Files
Implementation
Gate/Primitive Netlist
Files (XNF or EDN)
Netlist
Translation
Map
Model Extraction
XILINX DESIGN
MANAGER
Place &
Route
Timing Model Gen
HDL or EDIF for
Implemented Design
Create
Bitstream
BIT File
21 - CSE/ESE 560M – Graduate Computer Architecture I
Standard Delay
Format File
Timing Simulation
HDL or EDIF for
Implemented Design
Standard Delay Format File
Set Up and Map
work Directory
Testbench HDL Files
Test Inputs,
Force Files
Compile HDL Files
Compiled HDL
HDL Simulate
Waveforms
or List Files
22 - CSE/ESE 560M – Graduate Computer Architecture I
MODELSIM
Programming FPGA
Bit File
Input Byte
GXSLOAD
GXSPORT
FPGA
Outputs
23 - CSE/ESE 560M – Graduate Computer Architecture I
Other Inputs
Emergence of FPGA
• Great for Prototyping and Testing
– Enable logic verification without high cost of fab
– Reprogrammable  Research and Education
– Meets most computational requirements
– Options for transferring design to ASIC
• Technology Advances
– Huge FPGAs are available
• Up to 200,000 Logic Units
– Above clocking rate of 500 MHz
• Competitive Pricing
24 - CSE/ESE 560M – Graduate Computer Architecture I
System on Chip (SoC)
• Large Embedded Memories
– Up 10 Megabits of on-chip memories (Virtex 4)
– High bandwidth and reconfigurable
• Processor IP Cores
– Tons of Soft Processor Cores (some open source)
– Embedded Processor Cores
• PowerPC, Nios RISC, and etc. – 450+ MHz
– Simple Digital Signal Processing Cores
• Up to 512 DSPs on Virtex 4
• Interconnects
– High speed network I/O (10Gbps)
– Built-in Ethernet MACs (Soft/Hard Core)
• Security
– Embedded 256-bit AES Encryption
25 - CSE/ESE 560M – Graduate Computer Architecture I
Computational Density
Higher number means greater efficiency
26 - CSE/ESE 560M – Graduate Computer Architecture I
Potential Advantages of FPGAs
27 - CSE/ESE 560M – Graduate Computer Architecture I
Summary
• Rapidly changing platform
– Ten thousand times in silicon chip capacity
– Cost did not increase that much
• Same designs
– Von Neuman architecture time-multiplexes
– Old processor designs, only smaller
– Not much innovations
• Programmable SW/HW Platforms
– General Computing Systems do not have to look
like traditional processors
– Future?
28 - CSE/ESE 560M – Graduate Computer Architecture I