Knowledge

Reconfigurable computing

Source 📝

732:
than more coarse-grained architectures due to more elements needing to be addressed and programmed. Therefore, more coarse-grained architectures gain from potential lower energy requirements, as less information is transferred and utilised. Intuitively, the slower the rate of reconfiguration the smaller the power consumption as the associated energy cost of reconfiguration are amortised over a longer period of time. Partial re-configuration aims to allow part of the device to be reprogrammed while another part is still performing active computation. Partial re-configuration allows smaller reconfigurable bit streams thus not wasting energy on transmitting redundant information in the bit stream. Compression of the bit stream is possible but careful analysis is to be carried out to ensure that the energy saved by using smaller bit streams is not outweighed by the computation needed to decompress the data.
719:(ALU), they will perform these computations more quickly and with more power efficiency than a set of interconnected smaller functional units; this is due to the connecting wires being shorter, resulting in less wire capacitance and hence faster and lower power designs. A potential undesirable consequence of having larger computational blocks is that when the size of operands may not match the algorithm an inefficient utilisation of resources can result. Often the type of applications to be run are known in advance allowing the logic, memory and routing resources to be tailored to enhance the performance of the device whilst still providing a certain level of flexibility for future adaptation. Examples of this are domain specific arrays aimed at gaining better performance in terms of power, area, throughput than their more generic finer grained 700:
the hardware. However, there is a penalty associated with this in terms of increased power, area and delay due to greater quantity of routing required per computation. Fine-grained architectures work at the bit-level manipulation level; whilst coarse grained processing elements (reconfigurable datapath unit, rDPU) are better optimised for standard data path applications. One of the drawbacks of coarse grained architectures are that they tend to lose some of their utilisation and performance if they need to perform smaller computations than their granularity provides, for example for a one bit add on a four bit wide functional unit would waste three bits. This problem can be solved by having a coarse grain array (
138:
were feasible due to the constant progress of silicon technology that let complex designs be implemented on one chip. Some of these massively parallel reconfigurable computers were built primarily for special subdomains such as molecular evolution, neural or image processing. The world's first commercial reconfigurable computer, the Algotronix CHS2X4, was completed in 1991. It was not a commercial success, but was promising enough that
741:
bus to provide a coprocessor like arrangement for the reconfigurable array. However, there have also been implementations where the reconfigurable fabric is much closer to the processor, some are even implemented into the data path, utilising the processor registers. The job of the host processor is to perform the control functions, configure the logic, schedule data and to provide external interfacing.
464: 576: 634: 1574: 371:. A 2008 paper reported speed-up factors of more than 4 orders of magnitude and energy saving factors by up to almost 4 orders of magnitude. Some supercomputer firms offer heterogeneous processing blocks including FPGAs as accelerators. One research area is the twin-paradigm programming tool flow productivity obtained for such heterogeneous systems. 38: 775:
underlying virtual hardware. This can be relaxed by the concept of threads, allowing different tasks to run concurrently on this virtual hardware to exploit task level parallelism. To allow different processes and threads to coordinate their work, communication and synchronization methods have to be provided by the OS.
753:
vendors, Xilinx and Altera are the island style layout, where blocks are arranged in an array with vertical and horizontal routing. A layout with inadequate routing may suffer from poor flexibility and resource utilisation, therefore providing limited performance. If too much interconnect is provided
740:
Often the reconfigurable array is used as a processing accelerator attached to a host processor. The level of coupling determines the type of data transfers, latency, power, throughput and overheads involved when utilising the reconfigurable logic. Some of the most intuitive designs use a peripheral
421:
Normally, reconfiguring an FPGA requires it to be held in reset while an external controller reloads a design onto it. Partial reconfiguration allows for critical parts of the design to continue operating while a controller either on the FPGA or off of it loads a partial design into a reconfigurable
137:
In the 1980s and 1990s there was a renaissance in this area of research with many proposed reconfigurable architectures developed in industry and academia, such as: Copacobana, Matrix, GARP, Elixent, NGEN, Polyp, MereGen, PACT XPP, Silicon Hive, Montium, Pleiades, Morphosys, and PiCoGA. Such designs
699:
The granularity of the reconfigurable logic is defined as the size of the smallest functional unit (configurable logic block, CLB) that is addressed by the mapping tools. High granularity, which can also be known as fine-grained, often implies a greater flexibility when implementing algorithms into
762:
One of the key challenges for reconfigurable computing is to enable higher design productivity and provide an easier way to use reconfigurable computing systems for users that are unfamiliar with the underlying concepts. One way of doing this is to provide standardization and abstraction, usually
731:
Configuration of these reconfigurable systems can happen at deployment time, between execution phases or during execution. In a typical reconfigurable system, a bit stream is used to program the device at deployment time. Fine grained systems by their own nature require greater configuration time
774:
Abstraction is a powerful mechanism to handle complex and different (hardware) tasks in a well-defined and common manner. One of the most elementary OS abstractions is a process. A process is a running application that has the perception (provided by the OS) that it is running on its own on the
778:
In addition to abstraction, resource management of the underlying hardware components is necessary because the virtual computers provided to the processes and threads by the operating system need to share available physical resources (processors, memory, and devices) spatially and temporarily.
561:
supports partial reconfiguration of their FPGA devices on 28 nm devices such as Stratix V, and on the 20 nm Arria 10 devices. The Intel FPGA partial reconfiguration flow for Arria 10 is based on the hierarchical design methodology in the Quartus Prime Pro software where users create
507:
language to be compiled and executed on FPGA-based computers. The Mitrion-C software language and Mitrion processor enable software developers to write and execute applications on FPGA-based computers in the same manner as with other computing technologies, such as graphical processing units
1040:
Campi, F.; Toma, M.; Lodi, A.; Cappelli, A.; Canegallo, R.; Guerrieri, R., "A VLIW processor with reconfigurable instruction set for embedded applications", Solid-State Circuits Conference, 2003. Digest of Technical Papers. ISSCC. 2003 IEEE International, vol., no., pp. 250–491 vol. 1,
432:
Partial reconfiguration is not supported on all FPGAs. A special software flow with emphasis on modular design is required. Typically the design modules are built along well defined boundaries inside the FPGA that require the design to be specially mapped to the internal hardware.
766:
One of the major tasks of an operating system is to hide the hardware and present programs (and their programmers) with nice, clean, elegant, and consistent abstractions to work with instead. In other words, the two main tasks of an operating system are abstraction and
690:
As an emerging field, classifications of reconfigurable architectures are still being developed and refined as new architectures are developed; no unifying taxonomy has been suggested to date. However, several recurring parameters can be used to classify these systems.
126:'s paper proposed the concept of a computer made of a standard processor and an array of "reconfigurable" hardware. The main processor would control the behavior of the reconfigurable hardware. The latter would then be tailored to perform a specific task, such as 1633:
J. M. Arnold and D. A. Buell, "VHDL programming on Splash 2," in More FPGAs, Will Moore and Wayne Luk, editors, Abingdon EE & CS Books, Oxford, England, 1994, pp. 182–191. (Proceedings, International Workshop on Field-Programmable Logic, Oxford,
562:
physical partitions of the FPGA that can be reconfigured at runtime while the remainder of the design continues to operate. The Quartus Prime Pro software also support hierarchical partial reconfiguration and simulation of partial reconfiguration.
300:) migration results in reported speed-up factors of up to more than four orders of magnitude, as well as a reduction in electricity consumption by up to almost four orders of magnitude—although the technological parameters of FPGAs are behind the 523:. It consists of reconfigurable chassis housing the user-programmable FPGA, hot swappable I/O modules, real-time controller for deterministic communication and processing, and graphical LabVIEW software for rapid RT and FPGA programming. 134:, as quickly as a dedicated piece of hardware. Once the task was done, the hardware could be adjusted to do some other task. This resulted in a hybrid computer structure combining the flexibility of software with the speed of hardware. 418:, can be designed modularly, by creating subcomponents and then higher-level components to instantiate them. In many cases it is useful to be able to swap out one or several of these subcomponents while the FPGA is still operating. 1626:
T.J. Todman, G.A. Constantinides, S.J.E. Wilton, O. Mencer, W. Luk and P.Y.K. Cheung, "Reconfigurable Computing: Architectures and Design Methods", IEEE Proceedings: Computer & Digital Techniques, Vol. 152, No. 2, March 2005,
449:- the device is not active during the reconfiguration process. While the partial data is sent into the FPGA, the rest of the device is stopped (in the shutdown mode) and brought up after the configuration is completed. 146:, FPGA) bought the technology and hired the Algotronix staff. Later machines enabled first demonstrations of scientific principles, such as the spontaneous spatial self-organisation of genetic coding with MereGen. 475:
or implement more novel architectures. Such projects are built with reconfigurable hardware (FPGAs), and some devices support emulation of multiple vintage computers using a single reconfigurable hardware
1637:
J. M. Arnold, D. A. Buell, D. Hoang, D. V. Pryor, N. Shirazi, M. R. Thistle, "Splash 2 and its applications, "Proceedings, International Conference on Computer Design, Cambridge, 1993, pp. 482–486.
914:
McCaskill, John S.; Chorongiewski, Harald; Mekelburg, Karsten; Tangen, Uwe; Gemm, Udo (1994-09-01). "NGEN — Configurable computer hardware to simulate long-time self-organization of biopolymers".
715:) are intended for the implementation for algorithms needing word-width data paths (rDPU). As their functional blocks are optimized for large computations and typically comprise word wide 337:
The increase of logic in an FPGA has enabled larger and more complex algorithms to be programmed into the FPGA. The attachment of such an FPGA to a modern CPU over a high speed bus, like
106:(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 952:. Sipper, Moshe., Mange, Daniel, 1940-, Pérez-Uribe, Andrés., International Conference on Evolvable Systems (2nd : 1998 : Lausanne, Switzerland). Berlin: Springer. 1998. 425:
A common example for when partial reconfiguration would be useful is the case of a communication device. If the device is controlling multiple connections, some of which require
378:
has a center for high-performance reconfigurable computing (CHREC). In April 2011 the fourth Many-core and Reconfigurable Supercomputing Conference was held in Europe.
56: 1150:
N. Voros, R. Nikolaos, A. Rosti, M. Hübner (editors): Dynamic System Reconfiguration in Heterogeneous Platforms - The MORPHEUS Approach; Springer Verlag, 2009
1696: 950:
Evolvable systems : from biology to hardware : second International Conference, ICES 98, Lausanne, Switzerland, September 23-25, 1998: proceedings
1205:
Esam El-Araby; Ivan Gonzalez; Tarek El-Ghazawi (January 2009). "Exploiting Partial Runtime Reconfiguration for High-Performance Reconfigurable Computing".
1630:
A. Zomaya (editor): Handbook of Nature-Inspired and Innovative Computing: Integrating Classical Models with Emerging Technologies; Springer Verlag, 2006
304:
by about four orders of magnitude, and the clock frequency is substantially lower than that of microprocessors. This paradox is partly explained by the
593: 422:
module. Partial reconfiguration also can be used to save space for multiple designs by only storing the partial designs that change between designs.
1719: 508:("GPUs"), cell-based processors, parallel processing units ("PPUs"), multi-core CPUs, and traditional single-core CPU clusters. (out of business) 103: 1358: 1003: 957: 1897: 1867: 794: 488:
A fully FPGA-based computer is the COPACOBANA, the Cost Optimized Codebreaker and Analyzer and its successor RIVYERA. A spin-off company
443:, also known as an active partial reconfiguration - permits to change the part of the device while the rest of an FPGA is still running; 94:
combining some of the flexibility of software with the high performance of hardware by processing with flexible hardware platforms like
492:
of the COPACOBANA-Project of the Universities of Bochum and Kiel in Germany continues the development of fully FPGA-based computers.
2242: 1741: 677: 615: 74: 749:
The flexibility in reconfigurable devices mainly comes from their routing interconnect. One style of interconnect made popular by
1689: 107: 102:
is the ability to add custom computational blocks using FPGAs. On the other hand, the main difference from custom hardware, i.e.
1882: 768: 1141:(Munich, Germany). W. Nebel and A. Jerraya, Eds. Design, Automation, and Test in Europe. IEEE Press, Piscataway, NJ, 642–649. 644: 597: 272:'s following classification scheme of computing paradigms (see "Table 1: Nick Tredennick's Paradigm Classification Scheme"). 1927: 1808: 1729: 1641: 1487: 701: 405: 324: 1613:
J. Henkel, S. Parameswaran (editors): Designing Embedded Processors. A Low Power Perspective; Springer Verlag, March 2007
2247: 1295: 360:
systems to be produced where several computational devices can concurrently operate on different data, which is highly
1922: 1682: 1659: 375: 1128:
N. Tredennick: The Case for Reconfigurable Computing; Microprocessor Report, Vol. 10 No. 10, 5 August 1996, pp 25–27.
356:
Furthermore, by replicating an algorithm on an FPGA or the use of a multiplicity of FPGAs has enabled reconfigurable
1621: 1594: 1027: 981: 754:
this requires more transistors than necessary and thus more silicon area, longer wires and more power consumption.
350: 1445: 1746: 1705: 386: 2164: 1902: 1788: 1756: 1751: 659: 429:, it would be useful to be able to load different encryption cores without bringing the whole controller down. 293: 381:
Commercial high-performance reconfigurable computing systems are beginning to emerge with the announcement of
2141: 844:
Estrin, G (2002). "Reconfigurable computer origins: the UCLA fixed-plus-variable (F+V) structure computer".
655: 586: 268:
is well illustrated by the differences to other machine paradigms that were introduced earlier, as shown by
1160:
Tarek El-Ghazawi; et al. (February 2008). "The promise of high-performance reconfigurable computing".
2082: 1968: 1169: 305: 996:
Coupling of biological and electronic systems: proceedings of the 2nd Caesarium, Bonn, November 1-3, 2000
2092: 1983: 1973: 1798: 1466: 1396: 789: 716: 320: 91: 1508: 2156: 2103: 1988: 1887: 1793: 1265: 1075: 516: 328: 1316:
Wanta, Damian; Smolik, Waldemar T.; Kryszyn, Jacek; Wróblewski, Przemysław; Midura, Mateusz (2022).
1174: 2201: 2057: 1783: 1761: 824: 411: 296:. Hartenstein calls it Reconfigurable Computing Paradox, that software-to-configware (software-to- 2077: 1993: 1222: 1187: 1021: 975: 900:
Hauser, John R. and Wawrzynek, John, "Garp: A MIPS Processor with a Reconfigurable Coprocessor",
861: 361: 111: 292:
that, according to him, represents a fundamental paradigm shift away from the more conventional
2008: 1855: 1563: 1354: 1318:"A Run-Time Reconfiguration Method for an FPGA-Based Electrical Capacitance Tomography System" 1111: 1093: 1009: 999: 963: 953: 931: 504: 471:
With the advent of affordable FPGA boards, students' and hobbyists' projects seek to recreate
436:
From the functionality of the design, partial reconfiguration can be divided into two groups:
264:
The fundamental model of the reconfigurable computing machine paradigm, the data-stream-based
255: 1877: 1724: 1664: 1553: 1329: 1214: 1179: 1101: 1083: 923: 853: 472: 131: 127: 1616:
J. Teich (editor) et al.: Reconfigurable Computing Systems. Special Topic Issue of Journal
878:
Estrin, G., "Organization of Computer Systems—The Fixed Plus Variable Structure Computer",
2111: 1607: 1137:
Hartenstein, R. 2001. A decade of reconfigurable computing: a visionary retrospective. In
489: 269: 1079: 286:
Computer scientist Reiner Hartenstein describes reconfigurable computing in terms of an
17: 2213: 368: 331: 301: 99: 2236: 2184: 2169: 2041: 1963: 1850: 1421: 1106: 1063: 799: 367:
This heterogeneous systems technique is used in computing research and especially in
123: 1654: 1374: 1226: 1191: 2126: 2116: 1766: 1467:"Stratix V FPGAs: Ultimate Flexibility Through Partial and Dynamic Reconfiguration" 865: 288: 265: 1139:
Proceedings of the Conference on Design, Automation and Test in Europe (DATE 2001)
1050: 463: 902:
Proceedings of the IEEE Symposium on Field-Programmable Custom Computing Machines
891:
C. Bobda: Introduction to Reconfigurable Computing: Architectures; Springer, 2007
1912: 1826: 1734: 1640:
D. A. Buell and Kenneth L. Pocek, "Custom computing machines: An introduction,"
1577:
This article contains quotations from this source, which is available under the
1334: 1317: 575: 342: 338: 1578: 2131: 2062: 2031: 1843: 1665:
ReCoBus-Builder project for easily implementing complex reconfigurable systems
1351:
Synthesis of compositional microprogram control units for programmable devices
857: 520: 500: 426: 346: 1567: 1097: 935: 927: 2196: 2191: 2174: 2136: 1943: 1821: 1670:
DRESD (Dynamic Reconfigurability in Embedded System Design) research project
1218: 1013: 967: 814: 401: 1558: 1542:"Operating System Concepts for Reconfigurable Computing: Review and Survey" 1541: 1115: 1088: 122:
The concept of reconfigurable computing has existed since the 1960s, when
2179: 2072: 2003: 1948: 1907: 1872: 1838: 1604:
Reconfigurable Computing: The Theory and Practice of FPGA-Based Computing
809: 415: 1540:
Eckert, Marcel; Meyer, Dominik; Haase, Jan; Klauer, Bernd (2016-11-30).
1509:"Quartus Prime Standard Edition Handbook Volume 1: Design and Synthesis" 2146: 2036: 1998: 1862: 1816: 1573: 1397:"The Design of a RISC Architecture and its Implementation with an FPGA" 1183: 600: in this section. Unsourced material may be challenged and removed. 2208: 2067: 1892: 1776: 1674: 804: 534:
has developed two styles of partial reconfiguration of FPGA devices:
531: 281: 139: 662:. Statements consisting only of original research should be removed. 546:
permits to reconfigure distinct modular parts of the design, while
1978: 1958: 1917: 1596:
Reconfigurable Computing: From FPGAs to Hardware/Software Codesign
558: 477: 462: 98:(FPGAs). The principal difference when compared to using ordinary 1422:"Designing a Simple FPGA-Optimized RISC CPU and System-on-a-Chip" 2121: 1833: 819: 750: 720: 712: 705: 400:
is the process of changing a portion of reconfigurable hardware
357: 297: 143: 95: 1678: 882:, Western Joint Computer Conference, New York, 1960, pp. 33–40. 467:
An FPGA board is being used to recreate the Vector-06C computer
1953: 1488:"Intel Quartus Prime Software Productivity Tools and Features" 627: 569: 382: 31: 1064:"Evolutionary self-organization of cell-free genetic coding" 323:
combining reconfigurable computing-based accelerators like
1579:
Creative Commons Attribution 4.0 International (CC BY 4.0)
1273: 1241:"NSF center for High-performance Reconfigurable Computing" 503:
has developed a SDK that enables software written using a
1353:. Zielona Góra: University of Zielona Góra. p. 153. 1207:
ACM Transactions on Reconfigurable Technology and Systems
519:
have developed a hybrid embedded computing system called
161:
Table 1: Nick Tredennick's Paradigm Classification Scheme
1669: 1655:
Lectures on Reconfigurable Computing at Brown University
1266:"Many-Core and Reconfigurable Supercomputing Conference" 1240: 998:. Hoffmann, K.-H. (Karl-Heinz). Berlin: Springer. 2002. 916:
Berichte der Bunsengesellschaft für Physikalische Chemie
408:
are often used as a support to partial reconfiguration.
404:
while the other portion keeps its former configuration.
341:, has enabled the configurable logic to act more like a 651: 52: 1296:"Altera and IBM Unveil FPGA-Accelerated POWER Systems" 1062:
Füchslin, Rudolf M.; McCaskill, John S. (2001-07-31).
158: 550:
can be used when a small change is made to a design.
349:. This has brought reconfigurable computing into the 2155: 2102: 2091: 2050: 2024: 2017: 1936: 1807: 1712: 47:
may be too technical for most readers to understand
1546:International Journal of Reconfigurable Computing 1660:Introduction to Dynamic Partial Reconfiguration 1068:Proceedings of the National Academy of Sciences 763:supported and enforced by an operating system. 27:Computer architecture that can be reprogrammed 1690: 1593:Cardoso, João M. P.; Hübner, Michael (Eds.), 8: 228: 197: 166: 2099: 2021: 1697: 1683: 1675: 1557: 1333: 1173: 1105: 1087: 904:(FCCM '97, April 16–18, 1997), pp. 24–33. 678:Learn how and when to remove this message 616:Learn how and when to remove this message 317:High-Performance Reconfigurable Computing 75:Learn how and when to remove this message 59:, without removing the technical details. 548:difference-based partial reconfiguration 104:application-specific integrated circuits 1446:"Intel completes acquisition of Altera" 836: 723:cousins by reducing their flexibility. 1019: 973: 1535: 1533: 1531: 1529: 57:make it understandable to non-experts 7: 795:Glossary of reconfigurable computing 598:adding citations to reliable sources 544:Module-based partial reconfiguration 880:Proc. Western Joint Computer Conf. 25: 230:Reconfigurable Computing Systems: 1572: 758:Challenges for operating systems 632: 574: 36: 1644:, v. 9, 1995, pp. 219–230. 585:needs additional citations for 441:dynamic partial reconfiguration 235: 224:Software (instruction streams) 204: 173: 1349:Wiśniewski, Remigiusz (2009). 711:Coarse-grained architectures ( 447:static partial reconfiguration 406:Field programmable gate arrays 154: 96:field-programmable gate arrays 1: 1642:The Journal of Supercomputing 1620:, Oldenbourg Verlag, Munich. 702:reconfigurable datapath array 325:field-programmable gate array 144:Field-Programmable Gate Array 1618:it — Information Technology 1335:10.3390/electronics11040545 658:the claims made and adding 385:integrating FPGAs with its 376:National Science Foundation 247:Configware (configuration) 155:Tredennick's Classification 2264: 351:high-performance computing 312:High-performance computing 279: 858:10.1109/MAHC.2002.1114865 566:Classification of systems 387:IBM Power microprocessors 168:Early Historic Computers: 2243:Reconfigurable computing 1789:Circuit underutilization 1772:Reconfigurable computing 928:10.1002/bbpc.19940980906 398:Partial re-configuration 393:Partial re-configuration 114:to the existing system. 88:Reconfigurable computing 18:Reconfigurable Computing 1602:S. Hauck and A. DeHon, 1219:10.1145/1462586.1462590 727:Rate of reconfiguration 1272:. 2011. Archived from 1089:10.1073/pnas.151253198 1026:: CS1 maint: others ( 980:: CS1 maint: others ( 846:IEEE Ann. Hist. Comput 717:arithmetic logic units 468: 275: 1799:Hardware acceleration 1622:Vol. 49(2007) Issue 3 1514:. Intel. pp. 4–1 1298:. HPCwire. 2014-11-17 790:Computing with Memory 745:Routing/interconnects 466: 321:computer architecture 199:von Neumann Computer: 142:(the inventor of the 92:computer architecture 1989:Microchip Technology 1794:High-level synthesis 1559:10.1155/2016/2478907 594:improve this article 517:National Instruments 512:National Instruments 306:Von Neumann syndrome 276:Hartenstein's Xputer 252:Algorithms variable 221:Algorithms variable 2248:Digital electronics 2058:Intel Quartus Prime 1784:Soft microprocessor 1276:on October 12, 2010 1080:2001PNAS...98.9185F 769:resource management 412:Electronic hardware 294:von Neumann machine 244:Resources variable 239:Programming Source 208:Programming Source 177:Programming Source 163: 1706:Programmable logic 1184:10.1109/MC.2008.65 1051:Algotronix History 708:on the same chip. 643:possibly contains 469: 459:Computer emulation 362:parallel computing 302:Gordon Moore curve 159: 2230: 2229: 2226: 2225: 2222: 2221: 2009:Texas Instruments 1627:pp. 193–208. 1599:, Springer, 2011. 1360:978-83-7481-293-1 1270:official web site 1245:official web site 1074:(16): 9185–9190. 1005:978-3-540-43699-7 959:978-3-540-64954-0 688: 687: 680: 645:original research 626: 625: 618: 505:single assignment 473:vintage computers 262: 261: 190:Algorithms fixed 85: 84: 77: 16:(Redirected from 2255: 2100: 2022: 1699: 1692: 1685: 1676: 1582: 1576: 1571: 1561: 1537: 1524: 1523: 1521: 1519: 1513: 1505: 1499: 1498: 1496: 1494: 1484: 1478: 1477: 1475: 1473: 1463: 1457: 1456: 1454: 1452: 1442: 1436: 1435: 1433: 1431: 1426: 1417: 1411: 1410: 1408: 1406: 1401: 1392: 1386: 1385: 1383: 1381: 1371: 1365: 1364: 1346: 1340: 1339: 1337: 1313: 1307: 1306: 1304: 1303: 1292: 1286: 1285: 1283: 1281: 1262: 1256: 1255: 1253: 1251: 1237: 1231: 1230: 1202: 1196: 1195: 1177: 1157: 1151: 1148: 1142: 1135: 1129: 1126: 1120: 1119: 1109: 1091: 1059: 1053: 1048: 1042: 1038: 1032: 1031: 1025: 1017: 992: 986: 985: 979: 971: 946: 940: 939: 911: 905: 898: 892: 889: 883: 876: 870: 869: 841: 683: 676: 672: 669: 663: 660:inline citations 636: 635: 628: 621: 614: 610: 607: 601: 578: 570: 540:difference-based 213:Resources fixed 182:Resources fixed 164: 132:pattern matching 128:image processing 80: 73: 69: 66: 60: 40: 39: 32: 21: 2263: 2262: 2258: 2257: 2256: 2254: 2253: 2252: 2233: 2232: 2231: 2218: 2151: 2094: 2087: 2046: 2013: 1932: 1803: 1708: 1703: 1651: 1608:Morgan Kaufmann 1590: 1588:Further reading 1585: 1539: 1538: 1527: 1517: 1515: 1511: 1507: 1506: 1502: 1492: 1490: 1486: 1485: 1481: 1471: 1469: 1465: 1464: 1460: 1450: 1448: 1444: 1443: 1439: 1429: 1427: 1424: 1419: 1418: 1414: 1404: 1402: 1399: 1395:Niklaus Wirth. 1394: 1393: 1389: 1379: 1377: 1373: 1372: 1368: 1361: 1348: 1347: 1343: 1315: 1314: 1310: 1301: 1299: 1294: 1293: 1289: 1279: 1277: 1264: 1263: 1259: 1249: 1247: 1239: 1238: 1234: 1204: 1203: 1199: 1175:10.1.1.208.4031 1159: 1158: 1154: 1149: 1145: 1136: 1132: 1127: 1123: 1061: 1060: 1056: 1049: 1045: 1039: 1035: 1018: 1006: 994: 993: 989: 972: 960: 948: 947: 943: 913: 912: 908: 899: 895: 890: 886: 877: 873: 843: 842: 838: 834: 829: 785: 760: 747: 738: 729: 697: 684: 673: 667: 664: 649: 637: 633: 622: 611: 605: 602: 591: 579: 568: 556: 529: 514: 498: 490:SciEngines GmbH 486: 461: 456: 454:Current systems 395: 314: 284: 278: 270:Nick Tredennick 258:(data streams) 157: 152: 120: 100:microprocessors 81: 70: 64: 61: 53:help improve it 50: 41: 37: 28: 23: 22: 15: 12: 11: 5: 2261: 2259: 2251: 2250: 2245: 2235: 2234: 2228: 2227: 2224: 2223: 2220: 2219: 2217: 2216: 2211: 2206: 2205: 2204: 2199: 2189: 2188: 2187: 2177: 2172: 2167: 2161: 2159: 2153: 2152: 2150: 2149: 2144: 2139: 2134: 2129: 2124: 2119: 2114: 2108: 2106: 2097: 2089: 2088: 2086: 2085: 2080: 2075: 2070: 2065: 2060: 2054: 2052: 2048: 2047: 2045: 2044: 2039: 2034: 2028: 2026: 2019: 2015: 2014: 2012: 2011: 2006: 2001: 1996: 1991: 1986: 1981: 1976: 1971: 1966: 1961: 1956: 1951: 1946: 1940: 1938: 1934: 1933: 1931: 1930: 1925: 1920: 1915: 1910: 1905: 1900: 1895: 1890: 1885: 1880: 1875: 1870: 1865: 1860: 1859: 1858: 1848: 1847: 1846: 1841: 1831: 1830: 1829: 1824: 1813: 1811: 1805: 1804: 1802: 1801: 1796: 1791: 1786: 1781: 1780: 1779: 1769: 1764: 1759: 1754: 1749: 1744: 1739: 1738: 1737: 1727: 1722: 1716: 1714: 1710: 1709: 1704: 1702: 1701: 1694: 1687: 1679: 1673: 1672: 1667: 1662: 1657: 1650: 1649:External links 1647: 1646: 1645: 1638: 1635: 1631: 1628: 1624: 1614: 1611: 1600: 1589: 1586: 1584: 1583: 1525: 1500: 1479: 1458: 1437: 1412: 1387: 1366: 1359: 1341: 1308: 1287: 1257: 1232: 1197: 1152: 1143: 1130: 1121: 1054: 1043: 1033: 1004: 987: 958: 941: 906: 893: 884: 871: 835: 833: 830: 828: 827: 822: 817: 812: 807: 802: 797: 792: 786: 784: 781: 759: 756: 746: 743: 737: 734: 728: 725: 704:, rDPA) and a 696: 693: 686: 685: 640: 638: 631: 624: 623: 582: 580: 573: 567: 564: 555: 552: 528: 525: 513: 510: 497: 494: 485: 482: 460: 457: 455: 452: 451: 450: 444: 394: 391: 369:supercomputing 345:rather than a 313: 310: 280:Main article: 277: 274: 260: 259: 253: 249: 248: 245: 241: 240: 237: 233: 232: 226: 225: 222: 218: 217: 214: 210: 209: 206: 202: 201: 195: 194: 191: 187: 186: 183: 179: 178: 175: 171: 170: 156: 153: 151: 148: 119: 116: 83: 82: 44: 42: 35: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 2260: 2249: 2246: 2244: 2241: 2240: 2238: 2215: 2212: 2210: 2207: 2203: 2200: 2198: 2195: 2194: 2193: 2190: 2186: 2183: 2182: 2181: 2178: 2176: 2173: 2171: 2170:LatticeMico32 2168: 2166: 2163: 2162: 2160: 2158: 2154: 2148: 2145: 2143: 2140: 2138: 2135: 2133: 2130: 2128: 2125: 2123: 2120: 2118: 2115: 2113: 2110: 2109: 2107: 2105: 2101: 2098: 2096: 2090: 2084: 2081: 2079: 2076: 2074: 2071: 2069: 2066: 2064: 2061: 2059: 2056: 2055: 2053: 2049: 2043: 2040: 2038: 2035: 2033: 2030: 2029: 2027: 2023: 2020: 2016: 2010: 2007: 2005: 2002: 2000: 1997: 1995: 1992: 1990: 1987: 1985: 1982: 1980: 1977: 1975: 1972: 1970: 1967: 1965: 1962: 1960: 1957: 1955: 1952: 1950: 1947: 1945: 1942: 1941: 1939: 1935: 1929: 1926: 1924: 1921: 1919: 1916: 1914: 1911: 1909: 1906: 1904: 1901: 1899: 1896: 1894: 1891: 1889: 1886: 1884: 1881: 1879: 1876: 1874: 1871: 1869: 1866: 1864: 1861: 1857: 1854: 1853: 1852: 1851:SystemVerilog 1849: 1845: 1842: 1840: 1837: 1836: 1835: 1832: 1828: 1825: 1823: 1820: 1819: 1818: 1815: 1814: 1812: 1810: 1806: 1800: 1797: 1795: 1792: 1790: 1787: 1785: 1782: 1778: 1775: 1774: 1773: 1770: 1768: 1765: 1763: 1760: 1758: 1755: 1753: 1750: 1748: 1745: 1743: 1740: 1736: 1733: 1732: 1731: 1728: 1726: 1723: 1721: 1718: 1717: 1715: 1711: 1707: 1700: 1695: 1693: 1688: 1686: 1681: 1680: 1677: 1671: 1668: 1666: 1663: 1661: 1658: 1656: 1653: 1652: 1648: 1643: 1639: 1636: 1632: 1629: 1625: 1623: 1619: 1615: 1612: 1609: 1605: 1601: 1598: 1597: 1592: 1591: 1587: 1580: 1575: 1569: 1565: 1560: 1555: 1551: 1547: 1543: 1536: 1534: 1532: 1530: 1526: 1510: 1504: 1501: 1489: 1483: 1480: 1468: 1462: 1459: 1447: 1441: 1438: 1423: 1416: 1413: 1398: 1391: 1388: 1376: 1375:"Apple2 FPGA" 1370: 1367: 1362: 1356: 1352: 1345: 1342: 1336: 1331: 1327: 1323: 1319: 1312: 1309: 1297: 1291: 1288: 1275: 1271: 1267: 1261: 1258: 1246: 1242: 1236: 1233: 1228: 1224: 1220: 1216: 1212: 1208: 1201: 1198: 1193: 1189: 1185: 1181: 1176: 1171: 1167: 1163: 1162:IEEE Computer 1156: 1153: 1147: 1144: 1140: 1134: 1131: 1125: 1122: 1117: 1113: 1108: 1103: 1099: 1095: 1090: 1085: 1081: 1077: 1073: 1069: 1065: 1058: 1055: 1052: 1047: 1044: 1037: 1034: 1029: 1023: 1015: 1011: 1007: 1001: 997: 991: 988: 983: 977: 969: 965: 961: 955: 951: 945: 942: 937: 933: 929: 925: 921: 917: 910: 907: 903: 897: 894: 888: 885: 881: 875: 872: 867: 863: 859: 855: 851: 847: 840: 837: 831: 826: 823: 821: 818: 816: 813: 811: 808: 806: 803: 801: 800:iLAND project 798: 796: 793: 791: 788: 787: 782: 780: 776: 772: 770: 764: 757: 755: 752: 744: 742: 736:Host coupling 735: 733: 726: 724: 722: 718: 714: 709: 707: 703: 694: 692: 682: 679: 671: 661: 657: 653: 647: 646: 641:This section 639: 630: 629: 620: 617: 609: 599: 595: 589: 588: 583:This section 581: 577: 572: 571: 565: 563: 560: 553: 551: 549: 545: 541: 537: 533: 526: 524: 522: 518: 511: 509: 506: 502: 495: 493: 491: 483: 481: 479: 474: 465: 458: 453: 448: 445: 442: 439: 438: 437: 434: 430: 428: 423: 419: 417: 413: 409: 407: 403: 399: 392: 390: 388: 384: 379: 377: 372: 370: 365: 363: 359: 354: 352: 348: 344: 340: 335: 333: 330: 327:with CPUs or 326: 322: 318: 311: 309: 307: 303: 299: 295: 291: 290: 283: 273: 271: 267: 257: 254: 251: 250: 246: 243: 242: 238: 234: 231: 227: 223: 220: 219: 215: 212: 211: 207: 203: 200: 196: 192: 189: 188: 184: 181: 180: 176: 172: 169: 165: 162: 149: 147: 145: 141: 135: 133: 129: 125: 124:Gerald Estrin 117: 115: 113: 109: 105: 101: 97: 93: 89: 79: 76: 68: 58: 54: 48: 45:This article 43: 34: 33: 30: 19: 2127:LatticeMico8 2117:ARM Cortex-M 2093:Intellectual 1771: 1617: 1603: 1595: 1549: 1545: 1516:. Retrieved 1503: 1491:. Retrieved 1482: 1470:. Retrieved 1461: 1449:. Retrieved 1440: 1428:. Retrieved 1415: 1403:. Retrieved 1390: 1378:. Retrieved 1369: 1350: 1344: 1325: 1321: 1311: 1300:. Retrieved 1290: 1278:. Retrieved 1274:the original 1269: 1260: 1248:. Retrieved 1244: 1235: 1210: 1206: 1200: 1168:(2): 69–76. 1165: 1161: 1155: 1146: 1138: 1133: 1124: 1071: 1067: 1057: 1046: 1036: 995: 990: 949: 944: 919: 915: 909: 901: 896: 887: 879: 874: 849: 845: 839: 810:One chip MSX 777: 773: 765: 761: 748: 739: 730: 710: 698: 689: 674: 668:January 2015 665: 642: 612: 606:January 2015 603: 592:Please help 587:verification 584: 557: 547: 543: 539: 536:module-based 535: 530: 515: 499: 487: 470: 446: 440: 435: 431: 424: 420: 410: 397: 396: 380: 373: 366: 355: 336: 319:(HPRC) is a 316: 315: 289:anti-machine 287: 285: 266:anti machine 263: 229: 198: 167: 160: 136: 121: 110:and add new 87: 86: 71: 62: 46: 29: 2157:Open-source 2104:Proprietary 1913:Flow to HDL 1735:Logic block 1518:15 November 1493:15 November 1472:15 November 1451:15 November 1322:Electronics 1213:(4): 1–23. 922:(9): 1114. 695:Granularity 343:coprocessor 339:PCI express 108:manufacture 2237:Categories 2132:MicroBlaze 2083:Simulators 2063:Xilinx ISE 1420:Jan Gray. 1328:(4): 545. 1302:2014-12-14 1280:August 19, 1250:August 19, 852:(4): 3–9. 832:References 652:improve it 521:CompactRIO 501:Mitrionics 496:Mitrionics 484:COPACOBANA 427:encryption 347:peripheral 332:processors 329:multi-core 2202:Microwatt 2197:Libre-SOC 2192:Power ISA 2175:OpenCores 2137:PicoBlaze 1944:Accellera 1937:Companies 1809:Languages 1568:1687-7195 1170:CiteSeerX 1098:0027-8424 1022:cite book 976:cite book 936:0005-9021 815:PipeRench 656:verifying 402:circuitry 2180:OpenRISC 2095:property 2073:ModelSim 2051:Software 2025:Hardware 2018:Products 2004:Synopsys 1974:Infineon 1949:Achronix 1908:C to HDL 1873:Handel-C 1713:Concepts 1581:license. 1552:: 1–11. 1227:10270587 1192:14469864 1116:11470896 1014:49750250 968:39655211 825:Sprinter 783:See also 416:software 353:sphere. 256:Flowware 150:Theories 65:May 2009 2147:Nios II 2037:Stratix 1999:Siemens 1984:Lattice 1969:Cadence 1863:SystemC 1817:Verilog 1610:, 2008. 1076:Bibcode 866:7923912 650:Please 414:, like 374:The US 236:  205:  174:  118:History 51:Please 2209:RISC-V 2068:Vivado 2042:Virtex 1928:Chisel 1893:PALASM 1777:Xputer 1634:1993.) 1566:  1357:  1225:  1190:  1172:  1114:  1104:  1096:  1012:  1002:  966:  956:  934:  864:  805:M-Labs 532:Xilinx 527:Xilinx 282:Xputer 140:Xilinx 1979:Intel 1959:Aldec 1918:MyHDL 1844:VITAL 1512:(PDF) 1430:6 Sep 1425:(PDF) 1405:6 Sep 1400:(PDF) 1380:6 Sep 1223:S2CID 1188:S2CID 1107:55395 862:S2CID 751:FPGAs 559:Intel 554:Intel 478:C-One 216:none 193:none 185:none 112:chips 90:is a 2185:1200 2142:Nios 2122:LEON 1923:ELLA 1903:CUPL 1898:ABEL 1878:Lola 1868:AHDL 1834:VHDL 1767:PSoC 1747:EPLD 1742:CPLD 1730:FPGA 1720:ASIC 1564:ISSN 1550:2016 1520:2016 1495:2016 1474:2016 1453:2016 1432:2012 1407:2012 1382:2012 1355:ISBN 1282:2011 1252:2011 1112:PMID 1094:ISSN 1041:2003 1028:link 1010:OCLC 1000:ISBN 982:link 964:OCLC 954:ISBN 932:ISSN 820:PSoC 721:FPGA 713:rDPA 706:FPGA 538:and 358:SIMD 298:FPGA 2214:Zet 2165:JOP 2112:ARC 2078:VTR 2032:iCE 1994:NXP 1964:Arm 1954:AMD 1888:UPF 1883:PSL 1856:DPI 1839:AMS 1827:AMS 1762:GAL 1757:PAL 1752:PLA 1725:SoC 1554:doi 1330:doi 1215:doi 1180:doi 1102:PMC 1084:doi 924:doi 854:doi 654:by 596:by 480:). 383:IBM 130:or 55:to 2239:: 1606:, 1562:. 1548:. 1544:. 1528:^ 1326:11 1324:. 1320:. 1268:. 1243:. 1221:. 1209:. 1186:. 1178:. 1166:41 1164:. 1110:. 1100:. 1092:. 1082:. 1072:98 1070:. 1066:. 1024:}} 1020:{{ 1008:. 978:}} 974:{{ 962:. 930:. 920:98 918:. 860:. 850:24 848:. 771:. 542:. 389:. 364:. 334:. 308:. 1822:A 1698:e 1691:t 1684:v 1570:. 1556:: 1522:. 1497:. 1476:. 1455:. 1434:. 1409:. 1384:. 1363:. 1338:. 1332:: 1305:. 1284:. 1254:. 1229:. 1217:: 1211:1 1194:. 1182:: 1118:. 1086:: 1078:: 1030:) 1016:. 984:) 970:. 938:. 926:: 868:. 856:: 681:) 675:( 670:) 666:( 648:. 619:) 613:( 608:) 604:( 590:. 476:( 78:) 72:( 67:) 63:( 49:. 20:)

Index

Reconfigurable Computing
help improve it
make it understandable to non-experts
Learn how and when to remove this message
computer architecture
field-programmable gate arrays
microprocessors
application-specific integrated circuits
manufacture
chips
Gerald Estrin
image processing
pattern matching
Xilinx
Field-Programmable Gate Array
Flowware
anti machine
Nick Tredennick
Xputer
anti-machine
von Neumann machine
FPGA
Gordon Moore curve
Von Neumann syndrome
computer architecture
field-programmable gate array
multi-core
processors
PCI express
coprocessor

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.