1Spring 2005 EECS150 - Lec03-FPGAPage 1EECS150 - Digital DesignLecture 3 - Field Programmable Gate Arrays (FPGAs)January 25, 2005John WawrzynekSpring 2005 EECS150 - Lec03-FPGAPage 2Outline• What are FPGAs?• Why use FPGAs (a short history lesson).• FPGA variations• Internal logic blocks.• Designing with FPGAs.• Specifics of Xilinx Virtex-E series.Spring 2005 EECS150 - Lec03-FPGAPage 3FPGA Overview• Basic idea: two-dimensional array of logic blocks and flip-flops with a means for the user to configure:1. the interconnection between the logic blocks,2. the function of each block.Simplified version of FPGA internal architecture:Spring 2005 EECS150 - Lec03-FPGAPage 4Die Photos: Virtex FPGA vs. Pentium IV• FGPA Vertex chip looks remarkably structured– Very dense, very regular structure• “Full-Custom” Pentium chip somewhat more random in structure– Large on-chip memories (caches) are visible2Spring 2005 EECS150 - Lec03-FPGAPage 5Why FPGAs?• By the early 1980’s most of the logic circuits in typical systems where absorbed by a handful of standard large scale integrated circuits (LSI). – Microprocessors, bus/IO controllers, system timers, ...• Every system still had the need for random “glue logic” to help connect the large ICs:– generating global control signals (for resets etc.)– data formatting (serial to parallel, multiplexing, etc.) • Systems had a few LSI components and lots of small low density SSI (small scale IC) and MSI (medium scale IC) components (used as “glue logic”).Spring 2005 EECS150 - Lec03-FPGAPage 6Why FPGAs?• Custom ICs where sometimes designed to replace the large amount of glue logic:– reduced system complexity and manufacturing cost, improved performance.– However, custom ICs are relatively very expensive to develop, and delay introduction of product to market (time to market) because of increased design time. • Note: need to worry about two kinds of costs:1. cost of development, sometimes called non-recurring engineering (NRE)2. cost of manufacture– A tradeoff usually exists between NRE cost and manufacturing coststotalcostsnumber of units manufactured (volume)NREABFPGAASICSpring 2005 EECS150 - Lec03-FPGAPage 7Why FPGAs?• Therefore the custom IC approach was only viable for products with very high volume (where NRE could be amortized), and which were not time to market (TTM) sensitive.• FPGAs were introduced as an alternative to custom ICs for implementing glue logic:– improved density relative to discrete SSI/MSI components (within around 10x of custom ICs)– with the aid of computer aided design (CAD) tools circuits could be implemented in a short amount of time (no physical layout process, no mask making, no IC manufacturing), relative to ASICs.• lowers NREs• shortens TTM• Because of Moore’s law, the density (gates/area) of FPGAs continued to grow through the 80’s and 90’s to the point where major data processing functions can be implemented on a single FPGA.Spring 2005 EECS150 - Lec03-FPGAPage 8Why FPGAs?• FPGAs continue to compete with custom ICs for special processingfunctions (and glue logic) but now also compete with microprocessors in dedicated and embedded applications.– Performance advantage over microprocessors because circuits can be customized for the task at hand. Microprocessors must provide special functions in software (many cycles).• Summary:ASIC = custom IC, MICRO = microprocessor• Newer FPGAs even combine microprocessor cores, special multiplier circuits, memory blocks, and configurable logic on a single chip.performance NREsUnitcostTTMASIC ASIC ASICFPGAMICROFPGAMICROFPGAMICROFPGAASICMICRO3Spring 2005 EECS150 - Lec03-FPGAPage 9FPGA as CSOCXilinx Virtex-II Pro 100+ (year 2003)• ~100K logic blocks, each with 4-LUT and Flip-flop (8 Million “system” gates) • 1 MBytes SRAM bits• 444 18x18bit dedicated multipliers• 20 10-Gbit/s serial communication links• ~1000 user I/Os (most with LVDS 600 Mb/s signaling)• 2 embedded “hard” PowerPC coresSpring 2005 EECS150 - Lec03-FPGAPage 10 !"#$%&' !()* )+ ,+- # (. ,+- # (/012$304$+' 5'$%5&60116,, 37#% !"##' '75/03$38*902%- %1 % , % (5 ( ## ! $' #73 :%%53 ;'7 '-1' #9'#:<5$5"# # #= !73 %%5 #1 $;='4%-(5##1 1#
View Full Document