Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Integrated circuit wikipedia , lookup
Immunity-aware programming wikipedia , lookup
Index of electronics articles wikipedia , lookup
Mathematics of radio engineering wikipedia , lookup
Charge-coupled device wikipedia , lookup
Microcontroller wikipedia , lookup
Automatic test equipment wikipedia , lookup
Falcon (programming language) wikipedia , lookup
Transistor–transistor logic wikipedia , lookup
ECE 506 Reconfigurable Computing http://www.ece.arizona.edu/~ece506 Lecture 2 Reconfigurable Architectures Ali Akoglu Early Work ° How is it possible that a hardware device, whose structure is • normally fixed at fabrication time • cannot be changed anymore during the lifetime, • can be readapted at run-time to dynamically match the application requirements? ° Historical perspective ° FPGA technology Early Work: Gerald Estrin- FixPlus Machine 1959 ° Introduced the concept of reconfigurable computing. ° The Fix-Plus Machine published in 1960, defines the concept of reconfigurable computing paradigm. ° “The economic feasibility of the system is based on utilization of essentially the same hardware in a variety of special purpose structures. This capability is achieved by programmed or physical restructuring of a part of the hardware.” Early Work • A variable part (V) consists of various digital substructures that can be reorganized in problem-oriented special purpose configurations. • problem-specific optimized functional units (trigonometric functions, logarithm, exponentials, n-th power, roots, complex arithmetic, hyperbolic, matrix operation). • Speed gain over IBM7090 (2.5 to 1000) for accelerating Eigenvalues computation of matrices Early Work four amplifiers and associated input logic for signal inversion, amplification, or high-speed storage ten diodes and four output drivers and is for combinatorial application The basic building blocks of Fix-Plus Machine Early Work ° The basic block modules inserted into any of 36 positions on a motherboard that provides the functionality for a given application. ° The connection between the modules is established through a wiring harness ° Function Reconfiguration means changing some modules ° Routing Reconfiguration means changing parts of the wiring harness Manual Reconfiguration Programmable Logic Devices ° Fact: A Boolean function can be written as a sum of products (AND/OR, NOR/NAND) ° Result: • Programmable Logic Array (PLA) and Programmable Array Logic (PAL) • Unlike a logic gate, which has a fixed function, a PLD has an undefined function at the time of manufacture. • Before the PLD can perform in a circuit it must be programmed. ° The first programmable logic devices were produced by the Advanced Micro Devices (AMD) corporation. ° The PLD business split from AMD under the name Vantis, and was acquired by Lattice Semiconductor in 1999. Programmable Logic Array ° Introduced in 1975, the most user-configurable of the traditional two-level programmable logic devices ° In Boolean terms, this means a number of AND gates whose outputs feed into a large OR gate that drives one output. ° By selecting which inputs drive each AND gate, and which AND gates drive the OR gate, any Boolean function can be created. Unprogrammed device Programmed device ° Unwanted connections are "blown" PLA vs PAL! ° PAL: AND array is programmable, but OR array is fixed during fabrication. • OR array has access to only subset of product terms. Programmed PAL ° 4 product terms per each OR gate Limitation of PALs and PLAs ° Low capacity and speed • size of the plane grows too quickly • n times the number of inputs and outputs requires nxn as much chip area → too costly • logic gets slower as number of inputs to AND array increases ° Available in small sizes, equivalent to a few hundred logic gates ° Solution: • Complex Programmable Logic Device • multiple PLDs with a relatively small (fast) programmable interconnect • less general than a single large PLD, but we can use software to partition our design into smaller PLD blocks Complex Programmable Logic Device Complex Programmable Logic Device ° Hierarchical design against size explosion of PLAs • Combinational logic with 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. Xilinx CoolRunner II CPLD ° PLA and Macrocell combination ° 1.8V device, estimated power consumption of less than 100 micro amps ° Up to 12,000 gates, 512 MacroCells Complex Programmable Logic Device ° Contains from 10-1000 macrocells ° Each macrocell is equivalent to around 20 gates ° Support up to 200 I/O pins ° The key resource in a CPLD is the programmable interconnect • Tradeoff between space for macrocells and space for interconnect FPGA ° Introduced in 1985 by Xilinx ° Similar to CPLDs ° A function to be implemented in FPGA • Partitioned into modules , each implemented in a logic block. • Logic blocks connected with the programmable interconnection. FPGA Technology ° 1) Antifuse-based • Realization of interconnections ° 2) Memory-based. • realization of interconnections and computation • SRAM, EEPROM and Flash