FPGA Design From Scratch
It all started more than 40 years ago
Presented at FPGA Forum in Trondheim 14-15 February 2012
Sven-Åke Andersson Realtime Embedded
Agenda
• Moore’s Law
• Processor, Memory and Computer Evolution • My Timeline
• ASIC and FPGA Evolution
• ASIC FPGA Design Comparison • Starting a Blog
• Writing a Blog • What did I Learn • Demo
Introduction
Text Text
On April 19, 1965 Electronics Magazine published a paper by Gordon Moore in which he made a prediction about the semiconductor
industry that has become the stuff of legend. It has been called Moore's Law.
On September 8, 1969 I started to study Electrical Engineering at The Royal Institute of Technology in Stockholm.
This presentation is about how Moore’s Law has shaped my professional career.
Text
"The number of transistors incorporated in a chip will approximately
double every 24 months."
—Gordon Moore, Intel Co-Founder
Moore’s Law
444004 6800 68000 TPentium 4t TCore i7 (Quad) TPentiumProcessor Evolution
Intel 4004
Motorola 6800
DRAM Technology Evolution
4G 2010 0.04 0.011 1.5/ 1.35 DDR3An Example
When the Intel 1103 DRAM came out 1971 it cost $20 That gives a price/bit of 2¢
With the same price/bit a 4Gbit SDRAM would cost $80 000 000
Computer Evolution
Data PDP 11/40 MacBook Pro Evolution Ratio
Processor TTL-based Intel Core i5
Clock Frequency 1 MHz 2.5 GHz 2500 Local Memory 64 KB 4GB 65 000 Disk Memory 2.5 MB 500GB 200 000
My Timeline
1969 1974
KTH LM Ericsson
1990
Component Testing ASIC Design
2007 2008 FPGA Blog 2012 Ericsson 40 Years FPGA Blog SOC Design
My Master’s Thesis in 1974
• One of the first microprocessor system
• 4004 4-bit CPU 740 kHz, 46 300 instructions/s • 4008 8-bit address latch
• 4009 program and I/O converter to standard memory • 1702A 256x8bits UV erasable PROM
ASIC Evolution
Manufacturer Name Process Line Width Gates Year
Fairchild
Semiconductor GA TTL 5um 1000 1978 National
Semiconductor GA CMOS 2µm 4300 1985 Motorola H4C CMOS 0.7 µm 300k + 256kbit RAM 1990 LSI Logic G10 CMOS 0.25µm 5 Million+ 10Mbit RAM 1995 IBM Cu-08 CMOS 90nm 72 Million 2004 IBM Cu-45HP SOI 45nm 200 Million 2010
The FPGA Evolution
Year Milestone Company Complexity ASIC gates Comment
1985 The first FPGA Xilinx 9000 1992 Altera’s first FPGA Altera
2000 Nios processor Altera 2001 MicroBlaze processor Xilinx 2002 Stratix Altera 2007 Cyclone III Altera
Starting a blog
• What to do if you have been an ASIC designer for 15 years and know nothing about FPGA ?
• I sat down and came up with the following idea.
I am going to buy a FPGA design kit and start experimenting and at the same time document everything in a blog.
I will call the blog: FPGA design from scratch www.fpgafromscratch.com
ASIC/FPGA Design Comparison
• A lot of similarities
• ASIC design flow fully scriptable
• FPGA design uses vendor GUI based design kits • ASIC design has no room for mistakes
• FPGA design used to be ”cut and try”
• Large FPGA designs force ASIC like design flow • SOC design means more software and less
Prerequisites
• Document every step I take so I know how to do it the next time around
• Describe things in a way that a newbie will understand
• Spread the information for everyone to read • Encourage interaction from readers
• Look for information everywhere
Document everything in a blog
• Learning by doing • Using real hardware
• Make good contact with the FPGA vendor
Finding Information
• Vendor documentation • Web forums • Search engines • Support pages • Books• Part 1 of the blog has a lot of references
Using a Virtual Machine
• Use Linux as the software platform
• Easy installation of the complete design environment • Use a Windows PC or a MAC or a Linux workstation as
Choosing a Development Board
FPGA From Scratch Blog Content
Part Written Description
1-50 2006-2007 Using Virtex-4 design kit 51-60 2011 Using Design Suite 13.2
What Can You Learn From This Blog
• Installation of Xilinx Design Suite
• Using ISE, EDK, SDK, ChipScope, PlanAhead, iMPACT • Designing an embedded system around MicroBlaze • Writing application programs in C
• Adding your own IP block
• Writing scripts to control the whole FPGA design flow • Installing and running PetaLinux
How Can This Blog Be Used
• Teaching tool for self studies
• Replacing a Xilinx training session
• Used by students as a complement to their labs. • Designing a complete training course
• Helping FPGA designers to solve problems
• Starting point for finding information about FPGAs • Used as a forum for asking questions and getting
answers
What did I Learn in Writing My Blog
• I know much more about FPGAs
• There are a lot of people all over the world eager to learn more about FPGAs.
• I have helped many FPGA designers to solve their problems.
• I had a lot of fun but I didn’t get rich • It help me to find a new job.
Summary
• It has been a fantastic journey and it is still not over • It has never been boring
• I have had a chance to meet people all over the world • I have been forced to learn new things
• You are never to old to start a new career • The blog opened up new opportunities