5 research outputs found

    A Hybrid Partially Reconfigurable Overlay Supporting Just-In-Time Assembly of Custom Accelerators on FPGAs

    Get PDF
    The state of the art in design and development flows for FPGAs are not sufficiently mature to allow programmers to implement their applications through traditional software development flows. The stipulation of synthesis as well as the requirement of background knowledge on the FPGAs\u27 low-level physical hardware structure are major challenges that prevent programmers from using FPGAs. The reconfigurable computing community is seeking solutions to raise the level of design abstraction at which programmers must operate, and move the synthesis process out of the programmers\u27 path through the use of overlays. A recent approach, Just-In-Time Assembly (JITA), was proposed that enables hardware accelerators to be assembled at runtime, all from within a traditional software compilation flow. The JITA approach presents a promising path to constructing hardware designs on FPGAs using pre-synthesized parallel programming patterns, but suffers from two major limitations. First, all variant programming patterns must be pre-synthesized. Second, conditional operations are not supported. In this thesis, I present a new reconfigurable overlay, URUK, that overcomes the two limitations imposed by the JITA approach. Similar to the original JITA approach, the proposed URUK overlay allows hardware accelerators to be constructed on FPGAs through software compilation flows. To this basic capability, URUK adds additional support to enable the assembly of presynthesized fine-grained computational operators to be assembled within the FPGA. This thesis provides analysis of URUK from three different perspectives; utilization, performance, and productivity. The analysis includes comparisons against High-Level Synthesis (HLS) and the state of the art approach to creating static overlays. The tradeoffs conclude that URUK can achieve approximately equivalent performance for algebra operations compared to HLS custom accelerators, which are designed with simple experience on FPGAs. Further, URUK shows a high degree of flexibility for runtime placement and routing of the primitive operations. The analysis shows how this flexibility can be leveraged to reduce communication overhead among tiles, compared to traditional static overlays. The results also show URUK can enable software programmers without any hardware skills to create hardware accelerators at productivity levels consistent with software development and compilation

    Reconfigurable system on an FPGA

    Get PDF

    Reconfigurable system on an FPGA

    Get PDF
    Práce se zabývá tvorbou metodiky návrhu rekonfigurovatelného systému na FPGA obvodu. Tato metodika využívá pokročilých technik založených na částečné dynamické rekonfiguraci za účelem optimalizace rekonfigurovatelných systémů z hlediska flexibility, vyžadované paměti, času potřebného pro implementaci návrhu a množství logických zdrojů FPGA obvodu nezbytného pro vytvoření rekonfigurovatelného systému. V textu jsou představeny základní pojmy z oblastí struktury a konfigurace FPGA obvodů, dále pak základní vlastnosti částečné rekonfigurace, relokace částečných konfiguračních souborů, vyčítání konfigurační paměti FPGA a zapisování dat do interních registrů obvodu. Jádro práce představuje metodiku návrhu rekonfigurovatelného systému s využitím výše zmíněných technik. Dílčí části této práce jsou ověřeny na různých experimentech. V závěru jsou shrnuty výsledky jednotlivých přístupů a diskutovány přínosy použitých technik.This work is focused on a methodology of the reconfigurable system design implemented on an FPGA. This methodology uses advanced techniques based on a partial dynamic reconfiguration in order to optimize a reconfigurable system in terms of system's flexibility, memory requirements, implementation time requirements and logic sources consumption.The text describes basics of the FPGA structure and important features of the dynamic partial reconfiguration, partial bitstream relocation, FPGA's configuration memory readback and FPGA's internal registers states restoration techniques.The main part of the work presents a design methodology of the reconfigurable system where all mentioned techniques are supported. Individual parts of this work were verified on several applications with different sizes. Conclusion summarizes the results of the different approaches and discussed the benefits of the involved techniques

    Conceptual design and realization of a dynamic partial reconfiguration extension of an existing soft-core processor

    Get PDF
    Viele aktuelle Field Programmable Gate Arrays (FPGAs) unterstützen die Technik der partiellen Rekonfiguration (PR), durch die dynamisch zur Laufzeit ein Hardware-Design auch nur teilweise ausgetauscht werden kann. Die vorliegende Arbeit integriert PR-Funktionalität in die an der Technischen Universität Ilmenau für harte Echtzeitaufgaben mit hochpräzisen Fließkommaberechnungen entwickelte VHDL Integrated Softcore Architecture for Reconfigurable Devices (ViSARD). Zu diesem Zweck wird die arithmetisch-logische Einheit angepasst, um das Auswechseln von Fließkomma-Ausführungseinheiten zu ermöglichen. Ziele der Entwicklung des PR-Systems sind hohe Geschwindigkeit, niedrige Latenz, niedrige Ressourcenkosten und harte Echtzeitfähigkeit. Erreicht werden diese durch die Umsetzung einer eigenen Steuereinheit (partial reconfiguration controller), die partielle Bitströme aus externem RAM über einen standardmäßigen AXI-Bus lädt sowie die entsprechende Erweiterung der ViSARD. In einem Testdesign, das zwischen drei verschiedenen Konfigurationen mit je zwischen einer und drei Ausführungseinheiten wechselt, hat das entwickelte PR-System den maximal spezifierten Bitstromdurchsatz auf dem Ziel-FPGA erreicht und den Verbrauch an Lookup-Tabellen um etwa 40 % verringert.Many modern field-programmable gate arrays (FPGAs) support partial reconfiguration, which allows to dynamically replace only a part of a design at run time. In this thesis, partial reconfiguration capability is integrated with the VHDL Integrated Softcore Architecture for Reconfigurable Devices (ViSARD) developed at Technische Universität Ilmenau and conceived for hard real-time tasks requiring floating-point calculations with high precision. Specifically, its arithmetic logic unit is modified to allow exchanging floating-point arithmetic execution units. Design goals of the partial reconfiguration system are high speed, low latency, low resource overhead, and hard real-time capability. They are reached by implementing a custom partial reconfiguration controller loading partial bitstreams from external RAM over a standard AXI bus and extending the ViSARD appropriately. In a test design that switched between 3 different configurations each containing between 1 and 3 execution units, the proposed partial reconfiguration system achieved the maximum specified bitstream throughput on the target FPGA and allowed for roughly 40 % reduced look-up table usage
    corecore