Field-programmable object array

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.

Motivation and history
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. 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. 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.

Architecture
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.

Applications
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.

Development on FPOA
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. 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. FPOAs also offered IP core library IP partners included professionals in the video market as well as machine vision market.

Present status
MathStar the producer of FPOAs never posted a profit and the company decided to shut down production in May 2008. 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.