500 likes | 789 Views
Introduction to FPGA and DSPs. Joe College, Chris Doyle, Ann Marie Rynning. Field Programmable Gate Arrays. Architecture. Logic Block Interconnection Input/Output Switch Box Connect Block. Architecture. Logic Block Options Transistor pairs
E N D
Introduction to FPGA and DSPs Joe College, Chris Doyle, Ann Marie Rynning
Architecture Logic Block Interconnection Input/Output Switch Box Connect Block
Architecture • Logic Block Options • Transistor pairs • Basic small gates (such as two-input NAND’s or exclusive-OR’ s) • Multiplexers • Look-up tables (LUT’s) • Wide-fanin AND-OR structures • Granularity Logic Block Interconnection Input/Output Switch Box Connect Block
Architecture Logic Block Interconnection Input/Output Switch Box Connect Block Altera’s Stratix II ALM
Architecture Logic Block Interconnection Input/Output Switch Box Connect Block Xilink’s Virtex 4
Architecture • Routing Options • From nearest neighbor mesh to much more complex, like that in multiplexers • Wire segments of varying lengths • Delay Considerations • Density Considerations Logic Block Interconnection Input/Output Switch Box Connect Block
Architecture Logic Block Interconnection Input/Output Switch Box Connect Block • Provide programmable multiplexers signals • Connect shorter local wires to longer-distance routing resources
Architecture Logic Block Interconnection Input/Output Switch Box Connect Block • Used to change the direction of a signal
Programmable Switch Technology • SRAM • Antifuse • EPROM Control Pass Gate SRAM SRAM Cell Cell 0 1 Multiplexer 0 or 1 MUX
Programmable Switch Technology • SRAM • Antifuse • EPROM Disadvantages Volatile External Permanent Memory Required Large Area Required Advantages Reprogrammable, easily and quickly Requires only standard integrated circuit process technology (as opposed to Antifuse)
Programmable Switch Technology • SRAM • Antifuse • EPROM 0 1
Programmable Switch Technology • SRAM • Antifuse • EPROM Disadvantages Not reprogrammable; links made are permanent Requires extra circuitry to deliver the high programming voltage Advantages Small size Relatively low series resistance Low parasitic capacitance
Programmable Switch Technology • SRAM • Antifuse • EPROM Word Line Control Gate - - Oxide Layer Bit Line Floating Gate 1 Drain Source Word Line Control Gate - - - - - - - Oxide Layer Bit Line 0 Floating Gate Drain Source
Programmable Switch Technology • SRAM • Antifuse • EPROM Disadvantages High resistance of EPROM transistors High static power consumption UV light exposure needed to reprogram Advantages No external memory required; retains memory even without power Reprogrammable
FPGA Producers Major Producers Smaller Producers (specialty)
Intel AMI Bell Labs NEC and AT&T TI, Motorola, Analog 1978 1979 1980 Today Brief History of DSPs
Analog Blackfin • DSP • RISC MCU • Dual core • Clock control
Analog Blackfin • Fast MAC • Parallelism • Pipelines • Close/fast storage • Multiple memories • High-bandwidth buses • External interface
Analog Blackfin • Fast MAC • Parallelism • Pipelines • Close/fast storage • Multiple memories • High-bandwidth buses • External interface
Analog Blackfin • Fast MAC • Parallelism • Pipelines • Close/fast storage • Multiple memories • High-bandwidth buses • External interface
Analog Blackfin • Fast MAC • Parallelism • Pipelines • Close/fast storage • Multiple memories • High-bandwidth buses • External interface
Analog Blackfin • Fast MAC • Parallelism • Pipelines • Close/fast storage • Multiple memories • High-bandwidth buses • External interface
Analog Blackfin • Fast MAC • Parallelism • Pipelines • Close/fast storage • Multiple memories • High-bandwidth buses • External interface
Analog Blackfin • Fast MAC • Parallelism • Pipelines • Close/fast storage • Multiple memories • High-bandwidth buses • External interface
Analog Blackfin • Fast MAC • Parallelism • Pipelines • Close/fast storage • Multiple memories • High-bandwidth buses • External interface
Analog Blackfin • DSP • RISC MCU • Dual core • Clock control
Analog Blackfin • DSP • RISC MCU • Dual core • Clock control
Analog Blackfin • DSP • RISC MCU • Dual core • Clock control
ASIC vs. µP vs. Reconfigurable • Application Specific Integrated Circuit • Designed to perform a specific computation • Circuit cannot be altered after fabrication • Software Programmed Microprocessors • Modification with software • Slower than ASICs • Reconfigurable Computing • FPGAs and DSPs • Easily modifiable • Larger Area
Virtex-4 FPGA Xilinx 500 MHz Processor 18-Bit MACS 48-Bit Accumulator Up to 1392K Bytes of On-Chip Memory Brand-New Blackfin DSP Analog Devices 600 MHz Processor Two 16-Bit MACS 40-Bit Accumulator 308K Bytes of On-Chip Memory Somewhat Older Comparison
Comparison Criteria • Performance – MIPS, MMACS, MHz • Price • Development Tools • Supply Voltage • Implementation Time • Flexibility • Most Importantly: Comfort Level
How to Use and Program an FPGA • Write HDL code • Generate Netlist • Place and Route • Generate Binary File • Power On FPGA • Configure FPGA • Verilog • VHDL (Very High Speed Integrated Circuit Hardware Description Language)
How to Use and Program an FPGA • Write HDL code • Generate Netlist • Place and Route • Generate Binary File • Power On FPGA • Configure FPGA • Lists components that are connected to each other • Lists connections between components, power, and ground
How to Use and Program an FPGA • Write HDL code • Generate Netlist • Place and Route • Generate Binary File • Power On FPGA • Configure FPGA • Often performed by the FPGA company's proprietary software • Determines which logic blocks to use for each part of the program, to optimize • User validates
How to Use and Program an FPGA • Write HDL code • Generate Netlist • Place and Route • Generate Binary File • Power On FPGA • Configure FPGA • Often performed by the FPGA company's proprietary software
How to Use and Program an FPGA • Write HDL code • Generate Netlist • Place and Route • Generate Binary File • Power On FPGA • Configure FPGA • FPGA is initially in configuration mode
How to Use and Program an FPGA • Write HDL code • Generate Netlist • Place and Route • Generate Binary File • Power On FPGA • Configure FPGA • Cable from your PC to the FPGA • Use a microcontroller on your board • Use a "boot-PROM" on your board, connected to the FPGA
Using DSPs • C/C++/Assembly • Lots of development environments • Documentation • Interfacing • Common operations • Porting
Using DSPs • C++/Assembly • Lots of development environments • Documentation • Interfacing • Common operations • Porting
Using DSPs • C++/Assembly • Lots of development environments • Documentation • Interfacing • Common operations • Porting