FPGA for Dummies Introduc)on to Programmable Logic
FPGA for Dummies Historical introduc)on, where we come from; FPGA Architecture: Ø basic blocks (Logic, FFs, wires and IOs); Ø addi)onal elements; FPGA Programming: Ø Design flow; Ø SoFware; FPGA DSP: Ø Digital filters examples;
Par)cle Physics Electronics Some special dedicated Logic Func)ons are not possible in CPUs, like Ultra Fast Trigger Algorithms, or Massively Parallel Data Processing. To do this you need custom designed Printed Circuit Boards (PCBs) that uses commercial Programmable Logic Devices (PLDs). Glossary: Integrated Circuit (IC) is a miniaturized electronic circuit consis)ng of transistors, resistors and capacitors. LOGIC is one of the three major classes of ICs in most digital electronic systems: microprocessor, memory, and logic. Logic is used for data manipula)on and control func)ons that require higher speed than a microprocessor can provide.
Analog- to- Digital (ADC) and Digital- to- Analog (DAC) Converters SAMPLING is the reduc)on of a con)nuous signal to a discrete signal: a SAMPLE is a value or set of values at a point in )me and/or space, a sampler is a subsystem or opera)on that extracts samples from a con)nuous signal. DACs and ADCs are important building blocks which interface sensors (e.g. temperature, pressure, light, sound) to digital systems. ADC takes an analog signal and converts it into a binary one DAC converts a binary signal into an analog value.
FPGA for Dummies Historical introduc)on, where we come from; FPGA Architecture: Ø basic blocks (Logic, FFs, wires and IOs); Ø addi)onal elements; FPGA Programming: Ø Design flow; Ø SoFware; FPGA DSP: Ø Digital filters examples;
General Purpose Compu)ng 1945: John Von Neumann demonstrated that a computer could execute any kind of computa)on, given a properly programmed control, without the need for hardware modifica)on; this is the fundament of future genera)ons of high- speed digital computers, the reasons is its simplicity of programming that follows the sequen)al way of human thinking. Massive compute with seventy- two 64- bit RISC core
Evolu)on of implementa)on technologies LOGIC GATES (1950s- 60s): an idealized or physical device implemen)ng a Boolean func)on; that is, it performs a logical opera)on (AND, OR, NOT, XOR, etc..) on one or more logical inputs, and produces a single logical output. 1959: IBM 1401 was a variable word length decimal computer that was announced by IBM. The first member of the highly successful IBM 1400 series, it was aimed at replacing electromechanical unit record equipment for processing data stored on punched cards, using Diode transistor logic (DTL). 1961: first digital logic family to be produced as a monolithic integrated circuit in Resistor transistor logic (RTL); 1963: Transistor transistor logic (TTL) integrated circuits were manufactured by several semiconductor companies, with the 7400 series by Texas Instruments becoming particularly popular; 1963: Complementary metal oxide semiconductor (CMOS) is patented by Fairchild Semiconductor; 1965: fuzzy logic; 1968: 4000 series is a family of industry-standard IC which implement a variety of logic functions using CMOS technology, and are still in use today
Boolean func)ons in CMOS technology CMOS technology is used in microprocessors, microcontrollers, static RAM, and other digital logic circuits; it is also used for several analog circuits such as image sensors (CMOS sensor), data converters, and highly integrated transceivers for many types of communication. In the basic CMOS gates the transistor can be seen as a switch: the N- MOS and the P-MOS are not symmetrical: the P-network must be the dual of the N- network. ONLY NEGATIVE FUNCTION CAN BE CREATED
Evolu)on of implementa)on technologies Regular structures for two-level logic (1960s-70s): this is a memory like device, a Look Up Table; also multiplexers and decoders are regular structures for 2-level logic. A Boolean function can be written as a sum of products (AND/OR, NOR/NAND) The AND plane is programmed for minterms (Karnaugh maps are used to simplify real-world logic requirements so that they can be implemented using a minimum number of physical logic gates) and the OR for the output 1970: TI coined the term Programmable Logic Array (PLA) for a mask-programmable IC based on the IBM read-only associative memory, it has a programmable AND gate array, which links to a programmable OR gate array, which can then be conditionally complemented to produce an output.
Evolu)on of implementa)on technologies Programmable sum-of-products arrays (1970s-80s): Before Programmable logic devices (PLDs) were invented, read-only memory (ROM) chips were used to create arbitrary combinational logic functions of a number of inputs. PLDs and Complex PLD (CPLDs) contain the equivalent of several PALs linked by programmable interconnections, all in one integrated circuit. CPLDs can replace thousands, or even hundreds of thousands, of logic gates. 1978: Programmable Array Logic (PAL) is a family of programmable logic device used to implement logic functions in digital circuits: it is programmable logic device that consists of a programmable AND matrix whose outputs drive fixed OR gates. They are OTP (One-Time programmable) or HAL (Hard Array Logic), and there is a UV erasable version with a quartz window over the chip die. Only later version were flash erasable device (EPLD). 1999: PAL business was acquired by Lattice Semiconductor.
Domain Specific Processor (DSP) 1978: AT Texas Instrument's Dallas research facility, they produced the first Speak & Spell, with the technological centerpiece being the TMS5100 (speech synthesizer DSP ICs). Data path is tailored for an optimal execution of a common set of operations that mostly characterizes the algorithms: if a processor has to be used for only one application, then the processing unit could be designed and optimized for that particular application. Specialization increases the performance and improves the device utilization. Flexibility is reduced, because it cannot be used anymore to implement other applications other than those for which it was optimally designed. Like computer DSPs are running code (mainly C and Assembler).
Evolu)on of implementa)on technologies Programmable gate arrays (1980s-90s): densities high enough to permit entirely new class of application, (e.g., prototyping, emulation, acceleration, ) Interconnect (wires to connect inputs and outputs to logic blocks)` Simple logic gates (combine transistors to implement combinational and sequential logic) I/O blocks (special blocks at periphery for external connections) Wires are added to make connections when chip is fabbed ( mask-programmable )
Complex Programmable Logic Devices (CPLDs) Hierarchical design against size explosion of PLAs Combinational logic with D-FLIP FLOPS (registered output) Organized into logic blocks connected in an interconnect matrix Usually enough logic for simple counters, state machines, decoders, etc. Non-volatile! Programming kept on power down Functions available instantly on system power up Hard to steal stored design CPLDs are used in many systems for configuration of the main reconfigurable device at start up.` The key resource in a CPLD is the PROGRAMMABLE INTERCONNECT (Tradeoff between space for macrocells and space for interconnect)
Applica)on- Specific Integrated Circuits (ASICs) ASICs are ICs that provide highly optimized resources for quickly performing critical tasks, but it is permanently configured to only one application via a multimillion-dollar design and fabrication effort. It is customized for a particular use, rather than intended for general-purpose use. Initially ASICs used gate array technology (1980 ULA, Uncommitted Logic Array), nowadays, according to the type of application, development and manufacturing process, and behavioral criteria, ASICs can be classified as Full-custom, Semi-custom and Non-custom ASICs.
Field Programmable Gate Arrays (FPGAs) FPGAs initially were Similar to CPLDs, so a function to be implemented in FPGA is partitioned into modules (each implemented in a logic block) and then the logic blocks are connected with the programmable interconnection: ARRAY of logic GATES is the G and A in FPGA. By way of a configuration file or bit stream, an FPGA can be configured to implement the user s desired function: this allows customization at the user s electronics bench, or even in the final end product. This is why FPGAs are FIELD PROGRAMMABLE. XILINX invented the first commercially viable FPGA in 1985: the XC2064. ALTERA s first FPGA is in 1992: the FLEX 8000 family. LATTICE was founded on 1983: main products are the ECP and XP series of FPGAs, the Mach series of CPLDs