ECE 448 Lecture 17 ASIC vs. FPGA ECE 448 – FPGA and ASIC Design with VHDL George Mason University.

Download Report

Transcript ECE 448 Lecture 17 ASIC vs. FPGA ECE 448 – FPGA and ASIC Design with VHDL George Mason University.

ECE 448
Lecture 17
ASIC vs. FPGA
ECE 448 – FPGA and ASIC Design with VHDL
George Mason University
FPGAs vs. ASICs
ASICs
FPGAs
Off-the-shelf
High performance
Low development costs
Low power
Short time to the market
Low cost (but only
in high volumes)
ECE 448 – FPGA and ASIC Design with VHDL
Reconfigurability
2
ASIC Design Example – Factoring circuit/GMU
Global Memory
Local
Memory
ECE 448 – FPGA and ASIC Design with VHDL
3
ASIC 130 nm vs. Virtex II 6000
Factoring/GMU
19.68 mm
19.80 mm
51x
Area of Xilinx Virtex II 6000
FPGA
(estimation by R.J. Lim Fong,
MS Thesis, VPI, 2004)
2.7 mm
2.82 mm
Area of an ASIC with equivalent functionality
ECE 448 – FPGA and ASIC Design with VHDL
4
ASICs vs. FPGAs
Source:
I. Kuon, J. Rose,
University of Toronto
“Measuring the Gap Between
FPGAs and ASICs”
IEEE Transactions on Computer-Aided
Design of Integrated Circuits and Systems,
vol. 62, no. 2, Feb 2007.
ECE 448 – FPGA and ASIC Design with VHDL
5
ASICs vs. FPGAs
23 representative circuits implemented using
FPGAs and ASICs
- computer arithmetic (booth, cordic18, cordic8, etc.)
- digital signal processing (rs_encoder, fir3, fir24,
etc.)
- communications (ethernet, mac1, atm, etc.)
- cryptography (des_area, des_perf, aes, aes192,
etc.)
- scientific computations (molecular, raytracer, etc.)
ECE 448 – FPGA and ASIC Design with VHDL
6
ECE 448 – FPGA and ASIC Design with VHDL
7
ECE 448 – FPGA and ASIC Design with VHDL
8
ECE 448 – FPGA and ASIC Design with VHDL
9
ECE 448 – FPGA and ASIC Design with VHDL
10
Simplified ASIC Design Flow
Front-End
Design
Back-End
Design
Synthesis
Timing Analysis
Floorplanning
Placement
Clock Tree Synthesis
Routing
Design for Manufacturing
ECE 448 – FPGA and ASIC Design with VHDL
11
31
Major ASIC Toolsets
Cadence
Magma
ECE 448 – FPGA and ASIC Design with VHDL
12
ASIC Design Flow
Algorithm
Specification
RTL Design
Verilog, VHDL
Reference
Implementation
C, C++
Synopsys Design Compiler
stdcell lib
Logic Synthesis
Layout
VCS
Hercules
Calibre
die area
pin count
LVS
Mentor Calibre
Synopsys StarRCXT
Parasitic Extraction
latency
throughput
(post-synthesis)
Simulation
Synopsys IC Compiler
Cadence Encounter
process lib
Design
Quality
test vectors
VCD
Simulation
PrimeTime
latency
throughp
ut
(post
P&R)
power diss
13
Systems on Chip: Microprocessor + FPGA Logic
• Xilinx Zynq (~2012)
• Zynq-7000 All Programmable
SoCs with Cortex-A9 MPCore
• Altera Arria V & Cyclone V
(~2012)
• Hard processor system (HPS)
with Cortex-A9 MPCore
• Microsemi Smartfusion
(~2010)
• Cortex M3
ECE 448 – FPGA and ASIC Design with VHDL
14
31
Zynq - Extensible Processing Platform
ECE 448 – FPGA and ASIC Design with VHDL
15
Zynq – 7000 EPP
ECE 448 – FPGA and ASIC Design with VHDL
16
High-Level Synthesis
I/O
Behavior
Target
Library
Algorithm
High-Level
Synthesis
RTL
Design
Logic
Synthesis
Classic RTL
Design Flow
Gate level
Netlist
ECE 448 – FPGA and ASIC Design with VHDL
17
Need for High-Level Synthesis
•
•
•
•
•
•
Higher level of abstraction
Modeling complex designs
Reduce design efforts
Fast turnaround time
Technology independence
Ease of HW/SW partitioning
ECE 448 – FPGA and ASIC Design with VHDL
18
Advantages of High-Level Synthesis
•
•
•
•
•
•
Easy to model higher level of complexities
Smaller in size source compared to RTL code
Generates RTL much faster than manual method
Multi-cycle functionality
Loops
Memory Access
ECE 448 – FPGA and ASIC Design with VHDL
19
Untimed C Domain
SystemC
(Non-implementation-specific)
Timed C Domain
RTL Domain
(Implementation-specific)
Verilog
and VHDL
(Implementation-specific)
ECE 448 – FPGA and ASIC Design with VHDL
Augmented
C/C++
More abstract, less
implementationspecific
Pure C/C++
Different Levels of C/C++ Synthesis Abstraction
Less abstract, more
implementationspecific
The Design Warrior’s Guide to FPGAs
Devices, Tools, and Flows. ISBN 0750676043
Copyright © 2004 Mentor Graphics Corp. (www.mentor.com) 20
Pure Untimed C/C++ Design Flow
Verilog /
VHDL RTL
User interaction
and guidence
RTL
Synthesis
Gate-level
netlist
ASIC
target
Pure C/C++
Pure C/C++
Synthesis
Auto-generated,
implementation-specific
FPGA
target
- Non-implementation-specific
- Easy to create
- Fast to simulate
- Easy to modify
Verilog /
VHDL RTL
RTL
Synthesis
LUT/CLBlevel netlist
The Design Warrior’s Guide to FPGAs
Devices, Tools, and Flows. ISBN 0750676043
Copyright © 2004 Mentor Graphics Corp. (www.mentor.com)
ECE 448 – FPGA and ASIC Design with VHDL
21
Program Entry
Program
ECE 448 – FPGA and ASIC Design with VHDL
22
Platform Mapping
SW/HW Partitioning
Program
Software
(executed in
the microprocessor
system)
ECE 448 – FPGA and ASIC Design with VHDL
Hardware
(executed in
the reconfigurable
processor
system)
23
SW/HW Partitioning & Coding
Traditional Approach
Specification
SW/HW Partitioning
SW Coding
HW Coding
SW Compilation
HW Compilation
SW Profiling
HW Profiling
ECE 448 – FPGA and ASIC Design with VHDL
24
SW/HW Partitioning & Coding
New Approach
Specification
SW/HW Coding
SW/HW Partitioning
SW Compilation
HW Compilation
SW Profiling
HW Profiling
ECE 448 – FPGA and ASIC Design with VHDL
25
Still Predominant for Hardware Design
VHDL
& Verilog
Government
Developed
Ada based
Commercially
Developed
C based
Strongly Type Cast
Mildly Type Cast
Case-insensitive
Case-sensitive
Difficult to learn
Easier to Learn
More Powerful
Less Powerful
ECE 448 – FPGA and ASIC Design with VHDL
26
How to learn Verilog by yourself ?
27
How to learn Verilog by yourself ?
28
Digital system design technologies
coverage in the CpE & EE programs at GMU
Microprocessors
ECE 445
ASICs
FPGAs
Computer
Organization
ECE 448
FPGA and ASIC Design with VHDL
ECE 447
Single Chip
Microcomputers
ECE 431
Digital Circuit Design
ECE 510
Real-Time
Concepts
ECE 545
Digital System
Design with VHDL
Computer
Arithmetic
ECE 511
Microprocessors
ECE 645
ECE 611
Advanced
Microprocessors
ECE 586
Digital
Integrated
Circuits
ECE 612
Real-Time Embedded
Systems
ECE 681
VLSI Design
for ASICs
ECE Department
Programs
MS in Electrical Engineering
MS EE
MS in Computer Engineering
MS CpE
BIOENGINEERING
DIGITAL SYSTEMS DESIGN
COMMUNICATIONS
& NETWORKING
MICROPROCESSORS
& EMBEDDED SYSTEMS
SIGNAL PROCESSING
DIGITAL SIGNAL PROCESSING
CONTROL & ROBOTICS
COMPUTER NETWORKS
MICROELECTRONICS/
NANOELECTRONICS
NETWORK & SYSTEM
SECURITY
SYSTEM DESIGN
Specializations
DIGITAL SYSTEMS DESIGN
Concentration advisors: Kris Gaj, Ken Hintz, Houman Homayoun
1. ECE 545 Digital System Design with VHDL
– K. Gaj, project, FPGA design with VHDL,
2. ECE 645 Computer Arithmetic
– K. Gaj, project, FPGA design with VHDL
3. ECE 681 VLSI Design for ASICs
– H. Homayoun, project/lab, front-end and back-end ASIC design with
Synopsys tools
4. ECE 586 Digital Integrated Circuits
– D. Ioannou, R. Mulpuri,
5a. ECE 682 VLSI Test Concepts
– T. Storey
5b. ECE 699 Digital Signals Processing Hardware Architectures
– A. Cohen, project, FPGA design with VHDL and Matlab/Simulink
ECE 545 Textbook
Pong P. Chu, RTL Hardware Design Using VHDL,
Wiley-Interscience, 2006.
DIGITAL SIGNAL PROCESSING
Concentration advisors: Aaron Cohen, Kris Gaj, Ken Hintz, Jill Nelson,
Kathleen Wage
1. ECE 535 Digital Signal Processing
– L. Griffiths, J. Nelson, Matlab
2. ECE 545 Digital System Design with VHDL
– K. Gaj, project, FPGA design with VHDL
3. ECE 645 Computer Arithmetic
– K. Gaj, project, FPGA design with VHDL
4. ECE 699 Digital Signals Processing Hardware Architectures
– A. Cohen, project, FPGA design with VHDL and Matlab/Simulink
5a. ECE 537 Introduction to Digital Image Processing
– K. Hintz
5b. ECE 738 Advanced Digital Signal Processing
– K. Wage
Degree Options
MS Thesis
Option
Research Project
Option
8
courses
9
courses
ECE 799
Master’s Thesis
(6 cr. hrs)
ECE 798
Research Project
Scholarly paper
Scholarly Paper
Option
10
courses
Scholarly paper
Other Resources
Xcell Journal
available for FREE on line @
http://www.xilinx.com/publications/xcellonline/
Electronic Engineering Journal
available for FREE by e-mail after subscribing @
http://www.eejournal.com/subscribe
or on the web @
http://www.eejournal.com/design/fpga
ECE 448 – FPGA and ASIC Design with VHDL
35