A field-programmable object array (FPOA) is a class of programmable logic devices designed to be modified or programmed after manufacturing. They are designed to bridge the gap between ASIC and FPGA. They contain a grid of programmable silicon objects. Arrix range of FPOA contained three types of silicon objects: arithmetic logic units (ALUs), register files (RFs) and multiply-and-accumulate units (MACs). Both the objects and interconnects are programmable.
The device was intended to bridge the gap between field-programmable gate arrays (FPGAs) and application-specific integrated circuits (ASICs). The design goal was to combine the programmability of FPGAs and the performance of ASICs. FPGAs, although programmable, lack performance; they may only be clocked to few hundreds of megahertz and most FPGAs operated below 100 MHz.[ when? ] FPGAs did not offer deterministic timing and the maximum operating frequency depends on the design. ASICs offered good performance, but they could not be modified and they were very costly. The FPOA had a programmable architecture, deterministic timing, and gigahertz performance. The FPOA was designed by Douglas Pihl who had this idea when working on a DARPA funded project. [1] He founded MathStar in 1997 to manufacture FPOAs and the idea was patented in 2004. The first FPOA prototypes were made in 2005 and first batch of FPOA chips were fabricated in 2006. [2]
FPOAs have a core grid of silicon objects or core objects. These objects are connected through a synchronous interconnect. Each core object also has a supporting structures for clock synchronization, BIST and the like. The core is surrounded by peripheral circuitry that contains memory and I/O. An interface circuitry connects the objects to rest of FPOA. Exact number of each type of object and its arrangement are specific to a given family. There are two types of communication: nearest member and "party-line". Nearest member is used to connect a core to nearest core object and party line is used to connect remote objects. There are 8 nearest neighbor interconnects per object and offers transmission speed on one object hop per clock cycle. There are 10 party line interconnect per object that offers transmission speed of four object hops per clock cycle. [3]
FPOAs may be used almost anywhere an FPGA is used, broadly in all hardware acceleration tasks including digital signal processing, medical imaging, computer vision, speech recognition, cryptography, bioinformatics, computer hardware emulation, and aerospace. Since FPOAs are built around fast and optimized silicon objects, they offer higher performance in flat field error correction, fast Fourier transform computation, medical imaging, machine vision, image encoding and decoding, video encoding and decoding and artificial intelligence acceleration to name a few. [4]
In FPOA we work at silicon object level a higher level than the gate level used in FPGA. This eases the learning curve and also speeds up development. Programming is done in System C. The Arrix family released in 2006 was supported by FPOA design software, which enabled designers to create, verify, program and debug their algorithms on the devices. Summit Design's Visual Elite tool was used for behavioural simulation. MathStar's COAST (COnnection and ASsignment Tool) offered a graphical environment for floor-planning and placement it compiled to an intermediate code that maps to hardware resources. The Object compiler generated the file to be loaded into the FPGA. [5] In 2007 MathStar struck a partnership with mentor graphics and subsequent release use Visual Elite editor from Mentor Graphics for behavioural simulation and functional verification. [6] FPOAs also offered IP core library IP partners included professionals in the video market as well as machine vision market.
MathStar the producer of FPOAs never posted a profit and the company decided to shut down production in May 2008. [7] MathStar was merged into Sajan Inc. in 2010 and Sajan thus acquired MathStar's patent including that of FPOAs. In November 2011, Sajan sold several of MathStar's patent including some on FPOAs to OLK Grun GmbH. [8]
Processor design is a subfield of computer science and computer engineering (fabrication) that deals with creating a processor, a key component of computer hardware.
A field-programmable gate array (FPGA) is a type of integrated circuit that can be programmed or reprogrammed after manufacturing. It consists of an array of programmable logic blocks and interconnects that can be configured to perform various digital functions. FPGAs are commonly used in applications where flexibility, speed, and parallel processing capabilities are required, such as in telecommunications, automotive, aerospace, and industrial sectors.
A system on a chip or system-on-chip is an integrated circuit that integrates most or all components of a computer or other electronic system. These components almost always include on-chip central processing unit (CPU), memory interfaces, input/output devices and interfaces, and secondary storage interfaces, often alongside other components such as radio modems and a graphics processing unit (GPU) – all on a single substrate or microchip. SoCs may contain digital and also analog, mixed-signal and often radio frequency signal processing functions.
An application-specific integrated circuit is an integrated circuit (IC) chip customized for a particular use, rather than intended for general-purpose use, such as a chip designed to run in a digital voice recorder or a high-efficiency video codec. Application-specific standard product chips are intermediate between ASICs and industry standard integrated circuits like the 7400 series or the 4000 series. ASIC chips are typically fabricated using metal–oxide–semiconductor (MOS) technology, as MOS integrated circuit chips.
Reconfigurable computing is a computer architecture combining some of the flexibility of software with the high performance of hardware by processing with flexible hardware platforms like field-programmable gate arrays (FPGAs). The principal difference when compared to using ordinary microprocessors is the ability to add custom computational blocks using FPGAs. On the other hand, the main difference from custom hardware, i.e. application-specific integrated circuits (ASICs) is the possibility to adapt the hardware during runtime by "loading" a new circuit on the reconfigurable fabric, thus providing new computational blocks without the need to manufacture and add new chips to the existing system.
Altera Corporation was a manufacturer of programmable logic devices (PLDs) headquartered in San Jose, California. It was founded in 1983 and acquired by Intel in 2015.
A gate array is an approach to the design and manufacture of application-specific integrated circuits (ASICs) using a prefabricated chip with components that are later interconnected into logic devices according to custom order by adding metal interconnect layers in the factory. It was popular during the upheaval in the semiconductor industry in the 1980s, and its usage declined by the end of the 1990s.
Xilinx, Inc. was an American technology and semiconductor company that primarily supplied programmable logic devices. The company is known for inventing the first commercially viable field-programmable gate array (FPGA) and creating the first fabless manufacturing model.
The MicroBlaze is a soft microprocessor core designed for Xilinx field-programmable gate arrays (FPGA). As a soft-core processor, MicroBlaze is implemented entirely in the general-purpose memory and logic fabric of Xilinx FPGAs.
Hardware acceleration is the use of computer hardware designed to perform specific functions more efficiently when compared to software running on a general-purpose central processing unit (CPU). Any transformation of data that can be calculated in software running on a generic CPU can also be calculated in custom-made hardware, or in some mix of both.
This is a glossary of terms used in the field of Reconfigurable computing and reconfigurable computing systems, as opposed to the traditional Von Neumann architecture.
Ambric, Inc. was a designer of computer processors that developed the Ambric architecture. Its Am2045 Massively Parallel Processor Array (MPPA) chips were primarily used in high-performance embedded systems such as medical imaging, video, and signal-processing.
Datacube Inc. (1978–2005) was an image processing company that developed real-time hardware and software products for the industrial, medical, military and scientific markets. And the datacube enables data to be modeled and viewed in multiple dimensions.
A massively parallel processor array, also known as a multi purpose processor array (MPPA) is a type of integrated circuit which has a massively parallel array of hundreds or thousands of CPUs and RAM memories. These processors pass work to one another through a reconfigurable interconnect of channels. By harnessing a large number of processors working in parallel, an MPPA chip can accomplish more demanding tasks than conventional chips. MPPAs are based on a software parallel programming model for developing high-performance embedded system applications.
eASIC is a fabless semiconductor company offering new ASIC devices used in the production of customized silicon devices. eASIC specializes in offering new ASIC devices that are customized for specific applications and offer improved performance and lower costs compared to traditional ASICs. The company's products are used in a variety of markets, including communications, data center, and military. One of the key features of eASIC's ASIC devices is their use of a novel architecture known as Structured ASIC. This architecture allows the company to offer customized ASICs with shorter design cycles and lower non-recurring engineering (NRE) costs compared to traditional ASICs. In addition to its ASIC products, eASIC also offers a range of design tools and services to help customers design and implement their ASIC solutions. The company works closely with its customers to understand their specific requirements and develop customized solutions that meet their needs.
Field-programmable gate array prototyping, also referred to as FPGA-based prototyping, ASIC prototyping or system-on-chip (SoC) prototyping, is the method to prototype system-on-chip and application-specific integrated circuit designs on FPGAs for hardware verification and early software development.
Computing with Memory refers to computing platforms where function response is stored in memory array, either one or two-dimensional, in the form of lookup tables (LUTs) and functions are evaluated by retrieving the values from the LUTs. These computing platforms can follow either a purely spatial computing model, as in field-programmable gate array (FPGA), or a temporal computing model, where a function is evaluated across multiple clock cycles. The latter approach aims at reducing the overhead of programmable interconnect in FPGA by folding interconnect resources inside a computing element. It uses dense two-dimensional memory arrays to store large multiple-input multiple-output LUTs. Computing with Memory differs from Computing in Memory or processor-in-memory (PIM) concepts, widely investigated in the context of integrating a processor and memory on the same chip to reduce memory latency and increase bandwidth. These architectures seek to reduce the distance the data travels between the processor and the memory. The Berkeley IRAM project is one notable contribution in the area of PIM architectures.
MathStar, Inc., was an American, fabless semiconductor company based in Oregon. Founded in Minnesota in 1999, the company moved to the Portland metropolitan area where it remained until it completed a reverse merger with Sajan, Inc. in 2010. MathStar never made a profit after raising $137 million over the lifetime of the company, including via several stock offerings while the company was publicly traded on the NASDAQ market. The company's only product was a field programmable object array (FPOA) chip.
Heterogeneous computing refers to systems that use more than one kind of processor or core. These systems gain performance or energy efficiency not just by adding the same type of processors, but by adding dissimilar coprocessors, usually incorporating specialized processing capabilities to handle particular tasks.
In computing, a logic block or configurable logic block (CLB) is a fundamental building block of field-programmable gate array (FPGA) technology. Logic blocks can be configured by the engineer to provide reconfigurable logic gates.