Digital Circuit Design on FPGA Nattha Jindapetch November 2008 1 Agenda Design trends IC technology revolution Design styles System integration Programmable logic FPGA design flow & Tools LABs 2 IC Technology Revolution 3 Invention of the Transistor 1947: first point contact transistor at Bell Labs 4 The First Integrated Circuit 1966: ECL 3-Input gate at Motorola 5 MOS Integrated Circuits 1970’s processes usually had only nMOS transistors Inexpensive, but consume power while idle Intel 1101 Intel 4004 4-bit Proc 256-bit SRAM 1000 Trs, 1 MHz operation 6 High Performance Processors 2001: Intel Pentium Microprocessor 42 M transistors, 1.5 GHz operation CMOS, Low power 7 Moore’s Law Transistor counts have doubled every 2 years Integration Levels SSI: 10 gates MSI: 1000 gates LSI: 10,000 gates VLSI: > 10k gates 8 Corollaries Many other factors grow exponentially Ex: clock frequency, processor performance 9 Evolution of a Revolution www.intel.com 10 Design Styles 11 Design Styles Full-custom ASIC Cell-based ASIC Gate array Programmable logic Field programmable gate array (FPGA) Programmable logic device (PLD) Complex PLD (CPLD) 12 Full-Custom ASIC layout-based the designer draws each polygon “by hand” More compact design but longer design time only for analogue and high(est) volumes 13 Cell-Based ASIC used predefined building blocks (“cells”) designer creates a schematic that interconnects these cells layout = placement & interconnection of cells for “functionality” or “time-to market” driven design 14 Gate Array Each chip is prefabricated with an array of identical gates or cells. The chip is “customized” by fabricating routing layers on top. Time to market, cost 15 Field programmable gate array Chips are prefabricated with logic blocks and interconnects. Logic and interconnects can be programmed (erased and reprogrammed) by users. No fabrication is needed. Cost efficient for medium complexity (< 1M gates) designs 16 PLD and CPLD Programmable Logic Device (PLD, PLA, PAL, ...) AND-OR combinatorial logic, plus FF designer writes Boolean equations Small complexity only Complex PLD (CPLD) several PLD blocks programmable interconnection matrix 17 Trends in Design styles More complex system Digital and Analog IC (Mixed Signal) Hardware and Software Co-design SoC, SoPC Resulting in … Higher abstract design level Advanced design tools to automate complex designs Short design time to compete market share 18 Why HW/SW Co-design? Hardware (ASIC, FPGA) Software (Processor) Fast But very expensive Flexible But slow Hardware + Software = Good solution? Requirements? 19 Example of Digital Camera 20 System Integration 21 System Integration 22 Benefits Less components Less inter-chip interconnects Reliability Power consumption Board design, fabrication and assembly costs Smaller system volume (in cm2) and weight Component costs Board size and cost Assembly and testing costs Higher integration rate Smaller case costs Smaller transport costs In high volumes (in pcs), also lower circuit costs 23 SoP System-on-Package (SoP) or System-inPackage (SiP) are advanced multi-chip packaging technology complementing SoC. 24 SoC System-on-Chip –one term, many definitions “IBM definition”: a single-chip system containing analog, digital and MEMS (micro-electromechanical system) parts “Lucent definition”: a single-chip system containing analog and digital parts “Synopsys definition”: a single-chip digital system SoC, System-on-Chip is a relatively complex standalone system on a single semiconductor chip containing at least one processor, maybe some analog or even electro-mechanical parts, where the design needs to address on-chip communication 25 SoPC System-on-a-Programmable Chip (SOPC) term coined by Synopsys SoPC is a FPGA technology based user programmable solution P&R and programming done by the user No delay on prototype production No delay on mass production start No NRE (production start) costs Production tests done by the IC vendor Design resource and time savings in the design flow Quick and cheap modifications 26 SoC vs SoPC SoC manufacturing is costly Foundries more and more expensive Mask costs for fine-grain lithography are increasing Silicon vendors concentrate on big customers with big quantities Very few multi-project prototype services available Malfunction will cost a lot of money and time Full-wafer prototype round may cost even 500,000 ... 1M € FPGA-type solutions are also evolving On-chip processor cores Multi-million gate capacity Some vendors also provide coarse-grain reconfigurability FPGA-based SoC-type platforms thus have a growing niche 27 Programmable Logic 28 Programmable Logic Programmable digital integrated circuit Standard off-the-shelf parts Desired functionality is implemented by configuring onchip logic blocks and interconnections Advantages (compared to an ASIC): Low development costs Short development cycle Device can (usually) be reprogrammed Types of programmable logic: Complex PLDs (CPLD) Field programmable Gate Arrays (FPGA) 29 CPLD Architecture and Examples 30 PLD - Sum of Products Programmable AND array followed by fixed fan-in OR gates A B C Programmable switch or fuse f1 A B C A B C f2 A B A B C AND plane 31 PLD - Macrocell Can implement combinational or sequential logic Select A B Enable C f1 Flip-flop MUX D Q Clock AND plane 32 CPLD Structure Integration of several PLD blocks with a programmable interconnect on a single chip PLD Block • • • • • • I/O Block PLD Block I/O Block I/O Block • • • Interconnection Matrix I/O Block • • • PLD Block PLD Block 33 CPLD Example – Altera MAX7000 EPM7000 Series Block Diagram 34 CPLD Example –Altera MAX7000 EPM7000 Series Device Macrocell 35 FPGA Architecture 36 FPGA - Generic Structure Logic block FPGA building blocks: I/O I/O I/O Programmable logic blocks Implement combinatorial and sequential logic Programmable interconnect Wires to connect inputs and outputs to logic blocks Programmable I/O blocks Special logic blocks at the periphery of device for external connections Interconnection switches I/O 37 Other FPGA Building Blocks Clock distribution Embedded memory blocks Special purpose blocks: DSP blocks: Hardware multipliers, adders and registers Embedded microprocessors/microcontrollers High-speed serial transceivers 38 FPGA – Basic Logic Element LUT to implement combinatorial logic Register for sequential circuits Additional logic (not shown): Carry logic for arithmetic functions Expansion logic for functions requiring more than 4 Select inputs Out A B C D LUT D Clock Q 39 Look-Up Tables (LUT) Look-up table with N-inputs can be used to implement any combinatorial function of N inputs LUT is programmed with the truth-table A B C D Z 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 0 1 1 1 0 1 1 1 0 0 0 Truth-table A B C D LUT Z LUT implementation A B Z C D Gate implementation 40 LUT Implementation X1 X2 Example: 3-input LUT Configuration memory cells Based on multiplexers (pass transistors) LUT entries stored in configuration memory cells X3 0/1 0/1 0/1 0/1 0/1 F 0/1 0/1 0/1 41 Programmable Interconnect Interconnect hierarchy (not shown) Fast local interconnect Horizontal and vertical lines of various lengths LE LE Switch Matrix LE LE Switch Matrix LE LE 42 Switch Matrix Operation Before Programming 6 pass transistors per switch matrix interconnect point Pass transistors act as programmable switches Pass transistor gates are driven by configuration memory cells After Programming 43 Special Features Clock management PLL,DLL Eliminate clock skew between external clock input and on-chip clock Low-skew global clock distribution network Support for various interface standards High-speed serial I/Os Embedded processor cores DSP blocks 44 Configuration Storage Elements Static Random Access Memory (SRAM) Flash Erasable Programmable ROM (Flash) each switch is a pass transistor controlled by the state of an SRAM bit FPGA needs to be configured at power-on each switch is a floating-gate transistor that can be turned off by injecting charge onto its gate. FPGA itself holds the program reprogrammable, even in-circuit Fusible Links (“Antifuse”) Forms a forms a low resistance path when electrically programmed one-time programmable in special programming machine radiation tolerant 45 FPGA Vendors & Device Families Xilinx Virtex-II/Virtex-4: Featurepacked high-performance SRAM-based FPGA Spartan 3: low-cost feature reduced version CoolRunner: CPLDs Altera Stratix/Stratix-II Low-cost feature reduced version for cost-critical applications MAX3000/7000 CPLDs MAX-II: Flash-based FPGA Actel Anti-fuse based FPGAs Radiation tolerant Flash-based FPGAs Lattice High-performance SRAM-based FPGAs Cyclone/Cyclone-II Flash-based FPGAs CPLDs (EEPROM) QuickLogic ViaLink-based FPGAs 46 State of the Art in FPGAs Xilinx’s top of the line FPGA 65nm process technology Serial connectivity 550MHz RAM blocks 6-input LUTs Ethernet MACs Rocket I/O serial 6.5 GBps PCI Express endpoint Enhanced DSP blocks (25x18-bit MAC) 1760 pin BGA with 1200 I/O EasyPath 47 FPGA Design Flow Xilinx Design Flow 48 LABs Lab1: Introduction Quick start Synthesis results RTL schematic Technology schematic Device utilization summary Timing summary Simulation Behavioral Post-Place and Route (PAR) Simulation 49 References Theerayod Wiangtong, “Design Trends on Digital System Design”, Lecture note, Electronic Department, Mahanakorn University of Technology, 2004 Fank Mayer, “High-Level IC Design”, Fraunhofer IIS, Erlangen, Germany, 2004 Stefan Haas, “FPGAs”, CERN Technical Training 2005 Xilinx University Program, http://www.xilinx.com/support/educationhome.htm 50