Knowledge (XXG)

Reconfigurable computing

Source 📝

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

Index

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
peripheral

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