Verstehen von FPGA in der Ingenieurwissenschaft Elektrotechnik
Im Bereich der
Elektrotechnik und der Ingenieurwissenschaften begegnest du einem vielseitigen und effizienten Werkzeug - dem
FPGA. Dieses Modul ermöglicht es dir, Logikschaltungen auf Hardwareebene zu erzeugen und zu manipulieren. Es hat die Fähigkeit, die physikalische Implementierung eines digitalen Schaltungsentwurfs zu beschreiben und zu ändern, ohne dass die Hardware selbst modifiziert werden muss.
FPGA ist ein leistungsstarkes Werkzeug für Elektroingenieure, die hohe Anpassungsfähigkeit und Flexibilität in ihren Projekten suchen. Mit der FPGA Technologie können Entwickler komplexe FPGA digitale Logiksysteme erstellen und die FPGA Design Flexibilität nutzen, um maßgeschneiderte Lösungen zu entwickeln. Diese Technologie ermöglicht es, FPGA System on a Chip zu implementieren, was die FPGA Produktentwicklung beschleunigen kann und somit die Effizienz in der Elektronikentwicklung steigert.
Um tiefer in das Thema zu gehen, ein FPGA ist eine Art rekonfigurierbarer, digitaler Logikschaltkreis. Diese Schaltkreise sind aus Arrays von Logikblöcken und rekonfigurierbaren Verbindungen zusammengesetzt. Alle diese Komponenten können konfiguriert werden, um eine spezifische Funktion zu erfüllen oder eine spezifische Logikoperation durchzuführen.
Die Abkürzung FPGA - Was bedeutet sie?
Im Kontext der Ingenieurwissenschaften, insbesondere der Elektrotechnik, steht FPGA für
Field Programmable Gate Array. Der Begriff hat eine einfache Bedeutung:
Field Programmable – Du kannst es im Feld, also nach der Herstellung, programmieren
Gate – bezieht sich auf die logischen Gates, die die Schaltung bilden
Array – bezieht sich auf die Anordnung dieser Gates in einem Raster oder Array
Die Kombination dieser Wörter beschreibt ein Gerät, das von den Benutzern nach der Herstellung so konfiguriert werden kann, dass es eine Vielzahl von Aufgaben erfüllen kann.
FPGA Erklärung - Wie funktioniert ein FPGA?
Das Konzept von FPGA beruht auf der Fähigkeit, die Konfiguration von Logikblöcken und Verbindungen zu ändern, um spezifische Logikfunktionen zu erzeugen. Nachdem du deine eigene Konfiguration erstellt hast, lädst du sie in das FPGA hinein und es erzeugt die Logikschaltung, die du definiert hast.
Logikblock 1 = Funktion A
Logikblock 2 = Funktion B
Verbindung = Logikblock 1 und Logikblock 2
Jedes Logikblock innerhalb eines FPGA enthält eine funktionale Einheit wie eine Logikgatter, einen Flip-Flop oder einen arithmetischen Operator. Die Verbindungen zwischen den Logikblöcken können so konfiguriert werden, dass sie einen Datenpfad zwischen diesen Einheiten bilden und dabei komplexe digitale Schaltungen erstellen.
Überblick über gängige FPGA Programmiersprachen
FPGA-Geräte sind in der Regel in Hochsprachen programmierbar. Sie sind kompatibel mit Hardware-Beschreibungssprachen (HDLs) wie VHDL und Verilog. Hier findest eine kurze Beschreibung der beiden Hauptkodierungsstile:
- VHDL - Eine starke Typverifikation, wodurch der Code sicherer wird und weniger wahrscheinlich unvorhersehbare Ergebnisse produziert.
- Verilog - Ist flexibler in seiner Typverifikation, was eine schnellere Codierung ermöglicht, aber potenziell riskanter ist.
Nehmen wir an, du möchtest eine einfache Binärzählerschaltung in VHDL entwerfen. Du würdest den Code schreiben, um die gewünschte Aktion zu definieren, und dann das Codefile auf dein FPGA hochladen. Sobald der Code hochgeladen ist, führt das FPGA die von dir definierte Funktion aus.
Einsatz und Anwendung von FPGA in der Elektrotechnik
FPGA ist ein äußerst leistungsstarkes und anpassungsfähiges Werkzeug, das in einer breiten Palette von Anwendungen in der Elektrotechnik und Ingenieurwissenschaften eingesetzt werden kann. Dazu gehören beispielsweise die digitale Signalverarbeitung, Telekommunikation, Kryptographie und Computersysteme. Es bietet Vorteile wie hochgezogene Geschwindigkeiten, niedrigen Stromverbrauch und Flexibilität gegenüber herkömmlichen Verarbeitungsmethoden.
FPGA Board Kontext im Ingenieurwesen
FPGAs spielen eine wesentliche Rolle im modernen Ingenieurwesen. Erstens, durch ihre Rekonfigurierbarkeit, bieten FPGAs eine Methode zur Schaltungsentwicklung, die schneller und kosteneffektiver ist als herkömmliche ASIC-Entwicklungsprozesse. FPGA-basierte Systeme sind oft die erste Wahl beim Prototyping, da sie eine schnelle Iteration und Anpassung ermöglichen.
FPGAs, oder Field Programmable Gate Arrays, spielen eine wichtige Rolle in der Lehre, insbesondere in ingenieurwissenschaftlichen Kursen. Sie ermöglichen es Studenten, die Prinzipien der FPGA Technologie und die Entwicklung von FPGA digitalen Logiksystemen praktisch zu erlernen. Durch die FPGA Design Flexibilität können Studierende verschiedene Schaltungen entwerfen und testen, was ihre Fähigkeiten in der FPGA Produktentwicklung und im FPGA System on a Chip Design fördert.
Zweitens bringen FPGAs eine einzigartige Möglichkeit zur Hardwarebeschleunigung in Bereiche wie Bildverarbeitung, maschinelles Lernen und Datenanalyse. Sie bieten eine Leistungssteigerung im Vergleich zu allgemeinen CPUs und können gleichzeitig weniger
Energie verbrauchen.
Zum Beispiel wird FPGA Technologie oft in der Radartechnik eingesetzt, wo sie die schnelle und genaue Verarbeitung von Signalen ermöglicht.
Auswirkungen von FPGA auf die Ingenieurwissenschaften
FPGAs haben die Ingenieurwissenschaften und insbesondere die Elektrotechnik stark beeinflusst. Sie haben die Art und Weise, wie Schaltungen entworfen, gebaut und getestet werden, revolutioniert.
Eine der größten Auswirkungen der FPGA Technologie ist die beschleunigte Produktentwicklungszeit. FPGA digitale Logiksysteme ermöglichen eine schnelle Iteration und Anpassung, was zu einer erheblichen Beschleunigung des Design- und Prototyping-Prozesses führt. Diese FPGA Design Flexibilität ist besonders vorteilhaft für die Entwicklung von FPGA System on a Chip, da sie es Entwicklern erlaubt, Änderungen effizient umzusetzen und somit die FPGA Produktentwicklung zu beschleunigen.
FPGAs haben auch einen erheblichen Einfluss auf die Dynamik von Forschung und Innovation. Weil sie relativ kostengünstig sind und sich leicht rekonfigurieren lassen, ermöglichen sie die Erforschung und Entwicklung neuer Technologien und Anwendungen in einer Vielzahl von Bereichen, von der Medizintechnik bis zur Robotik. Schließlich haben FPGAs dazu beigetragen, den Zugang zu Hardwareentwicklung und -programmierung zu demokratisieren. Sie ermöglichen es Ingenieuren, Designideen schnell zu testen und in funktionaler Hardware umzusetzen.
FPGAs stehen im Zentrum der aktuellen Trends in der technologischen Innovation. Dazu gehört die Entwicklung von Anwendungen für Künstliche Intelligenz (KI), das Internet der Dinge (IoT) und High-Performance Computing.
FPGA-Programmierung lernen
Der Prozess des Erlernens der FPGA-Programmierung führt dich durch verschiedene Phasen, angefangen bei grundlegenden Programmierkonzepten über die Navigation durch FPGA-Entwicklungsumgebungen bis hin zur Domänen-spezifischen Anwendungsentwicklung. Zu den grundlegenden Fähigkeiten gehören das Verständnis von
Hardware-Beschreibungssprachen (HDLs) und das Erlernen von spezifischen Programmiersprachen wie
VHDL und
Verilog. Ein fundiertes Verständnis der digitalen Logik und
Schaltungsentwurf ist ebenfalls von entscheidender Bedeutung.
Voraussetzungen für die FPGA Programmierung
Vor dem Eintauchen in die Welt der FPGA-Programmierung ist es wichtig, ein solides Fundament in einigen Kerndisziplinen zu haben. Im Allgemeinen sind einige grundlegende Kenntnisse in folgenden Bereichen unerlässlich:
- Konzepte der digitalen Logik
- Schaltungsentwurf
- Grundlegende Kenntnisse einer Hardware-Beschreibungssprache (HDL)
- Grundlegende Vertrautheit mit Elektronik und Computern
Es ist wichtig, dass du im Bereich der FPGA Technologie grundlegende Kenntnisse über Gatterlogik, Speicher, Taktsignale und die Funktionsweise von FPGA digitalen Logiksystemen hast. Diese Kenntnisse sind entscheidend, um die FPGA Design Flexibilität zu verstehen und die FPGA Produktentwicklung zu beschleunigen. Ein solides Verständnis dieser Konzepte ermöglicht es dir, effektive FPGA System on a Chip Designs zu erstellen und die Leistungsfähigkeit digitaler Schaltungen optimal zu nutzen.
Die Kenntnisse in der Hardware-Beschreibungssprache sind auch erforderlich, weil sie die Sprache ist, in der du deine FPGA-Designs umsetzen und implementieren wirst. VHDL und Verilog sind die gebräuchlichsten und weit verbreitetsten HDLs. Sie unterscheiden sich von Hochsprachen wie C oder Python, da sie zur Beschreibung der
parallel ablaufendenHardware-Ereignisse verwendet werden. Grundlegende Elektronik und Computerwissen sind wichtig, um zu verstehen, wie FPGAs in das größere Bild von Hardware- und Software-Interaktionen passen.
Schritte auf dem Weg zur FPGA-Programmiersprache
Sobald du die genannten Grundvoraussetzungen gemeistert hast, kannst du dich auf die spezifische FPGA-Programmierung konzentrieren. Hier sind einige Schritte, die du auf dem Weg zur FPGA-Programmiersprache befolgen kannst:
- Lerne und verstehe eine Hardware-Beschreibungssprache (HDL). Du musst in der Lage sein, diese Sprachen zu lesen und zu schreiben, um FPGA-Programme zu erstellen.
- Erlange Praxiserfahrung mit FPGA-Entwicklungstools. Lerne, wie man eine Entwicklungsumgebung einrichtet, ein Programm schreibt, kompiliert und auf ein FPGA hinauflädt.
- Erstelle einfache Projekte, um dein Verständnis und deine Fähigkeiten zu festigen. Anfangs könnten das einfache Logikschaltungen oder blinkende LED's sein.
- Wende die erworbenen Kenntnisse auf komplexere Projekte an. Dies könnte die Entwicklung einer maßgeschneiderten CPU oder eines digitalen Filters umfassen.
Ein einfacher ersten Schritt könnte sein, eine App zu erstellen, die eine Leuchtdiode (LED) auf dem FPGA-Board blinken lässt. In VHDL könnte das Programmcode dafür so aussehen:
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
entity blink is
port(
clk : in std_logic;
led : out std_logic
);
end blink;
architecture behavior of blink is
signal cnt : integer range 0 to 50000000 := 0;
begin
process(clk)
begin
if rising_edge(clk) then
if cnt = 50000000 then
led <= not led;
cnt <= 0;
else
cnt <= cnt + 1;
end if;
end if;
end process;
end behavior;
Mit einem solchen grundlegenden Projekt kannst du die grundlegenden Kenntnisse und Praktiken der FPGA-Programmierung erlernen und gleichzeitig ein funktionierendes Produkt erstellen. Dabei lernst du auch Entwicklungs-, Simulations- und Debugging-Tools kennen und benutzen.
Während du dich weiterentwickelst, wirst du herausfordern, dass FPGAs dich dazu ermutigen, die Art und Weise zu überdenken, wie du über Ordnung, Sequenzierung und Parallelismus in Verbindung mit Programmierlogik denkst.
Um auf den FPGA-Programmierung Pfad fortzufahren, ist es empfehlenswert, tiefer in die Welt der digitalen Schaltungsentwürfe, Algorithmenoptimierung und spezifische FPGA-Hardwarearchitekturen einzutauchen. Weiterhin sind häufige Praktika und reale Projektimplementierungen Schlüssel zum Meistern des FPGA-Designs und der
Programmierung.
Die Bedeutung der FPGA Technologie in der modernen Elektrotechnik
Field-Programmable Gate Arrays, besser bekannt als FPGAs, haben die Landschaft der Elektrotechnik und digitalen Systemdesigns revolutioniert. Durch ihre einzigartige Mischung aus Flexibilität, Anpassungsfähigkeit und Leistungskapazität füllen FPGAs eine entscheidende Nische in der Welt der Elektronik und Datenverarbeitung. Sie kombinieren die Geschwindigkeiten und Energieeffizienz von speziell angefertigten Chips wie ASICs (Application-Specific Integrated Circuits) mit der Flexibilität und Programmierbarkeit einer Allzweck-CPU. Darüber hinaus sind FPGAs keine fertigen Produkte, sondern Blankoleinwände, die an die spezifischen Anforderungen und Ziele eines Projekts angepasst werden können. Dies eröffnet unbegrenzte Möglichkeiten für Ingenieure und Wissenschaftler, die auf der Suche nach hochanpassbaren und effizienten Lösungen für komplexe technische Probleme sind.FPGA in der digitalen Logik und Systemdesign
FPGAs sind eine Kernkomponente im Bereich des digitalen Systemdesigns. Durch ihre Konfigurierbarkeit und Flexibilität bieten sie eine Plastizität und Anpassungsfähigkeit, die in anderen Hardwaretechnologien nicht zu finden ist. Dies macht sie besonders wertvoll für die Erstellung von Prototypen und die schnelle Iteration von Designs.
Die FPGA Technologie ermöglicht die Erstellung digitaler Logiksysteme, die nicht an eine spezifische Hardwarearchitektur gebunden sind. Stattdessen basieren Design-Entscheidungen auf den spezifischen Anforderungen der Anwendung. Dies bietet Entwicklern eine hohe FPGA Design Flexibilität und ermöglicht eine präzise Kontrolle über wichtige Systemmerkmale wie Berechnungsleistung und Energieeffizienz. Diese Flexibilität ist entscheidend für die FPGA Produktentwicklung, da sie die Anpassung an verschiedene Anforderungen und die Integration in FPGA System on a Chip-Lösungen erleichtert.
Vorteile | Nachteile |
Hohe Flexibilität und Anpassungsfähigkeit | Steile Lernkurve |
Echtzeitfähigkeit | Relativ hohe Kosten bei kleinen Stückzahlen |
Wiederverwendbarkeit | Erfordert spezialisiertes Wissen |
Beschleunigung von Algorithmen | Potential für Design-Fehler |
Es ist zu beachten, dass das Design digitaler Logik und die Programmierung von FPGAs besondere Herausforderungen in Bezug auf Kenntnisse und Praxiserfahrung stellen. Es erfordert ein tiefes Verständnis für Schaltungsentwurf und digitalen Logik, kombiniert mit Kompetenzen in Hardware-Beschreibungssprachen und Werkzeugflüssen. Infolgedessen ist die FPGA-Familie eher für fortgeschrittene und spezialisierte Anwendungen geeignet.
In der Praxis kann ein FPGA zum Beispiel dazu verwendet werden, eine benutzerdefinierte CPU zu implementieren, eine komplexere Anwendung wie eine Grafikverarbeitungseinheit (GPU) zu realisieren oder Signalverarbeitungsoperationen wie Fourier-Transformationen in Echtzeit durchzuführen.
Zukunftsperspektiven der FPGA-Technologie
FPGA-Technologien sind ein integraler Bestandteil vieler Zukunftstechnologien und -anwendungen. Ein besonderes Augenmerk wird dabei auf die Entwicklung von FPGA-Applikationen für High Performance Computing, komplexe Echtzeit-Systeme, maschinelles Lernen und künstliche Intelligenz gelegt. FPGAs gelten als ein führender Kandidat für die Beschleunigung von künstlicher Intelligenz und maschinellem Lernen auf der Hardwareebene. Der Grund dafür ist die Fähigkeit von FPGAs, viele Rechenoperationen gleichzeitig durchzuführen (Parallel Computing), was sie ideal für die Durchführung komplexer KI-Algorithmen macht.
Im Bereich des High Performance Computing haben FPGAs ein enormes Potenzial für Anwendungen, bei denen es auf Geschwindigkeit ankommt. Dies kann beispielsweise in Bereichen wie der Genomanalyse, Quantencomputing oder Finanzmathematik der Fall sein.
Zudem bieten FPGAs aufgrund ihrer Flexibilität und Effizienz eine attraktive Technologie für das schnell wachsende Feld des Internet of Things (IoT). Ihre geringe Leistungsaufnahme und ihre Fähigkeit, sich in Echtzeit neu zu konfigurieren, machen sie ideal für die Verwendung in batteriebetriebenen Geräten oder Umgebungen mit ständig wechselnden Anforderungen.
Tiefergehender Einblick in FPGA in den Ingenieurwissenschaften
In der Welt der Ingenieurwissenschaften haben FPGAs(Field Programmable Gate Arrays) eine signifikante Rolle gespielt und sind oft die bevorzugte Lösung aufgrund ihrer einzigartigen Fähigkeiten und Flexibilität. FPGAs sind ein Schlüsselinstrument für Ingenieure, um hochleistungsfähige Systeme einzurichten, die eine schnelle Verarbeitung und parallele Ausführung von Befehlen erfordern. Ihre anpassbare Hardware ermöglicht es den Ingenieuren, eine Vielzahl von Systemen zu bauen, von einfachen Logikschaltungen bis hin zu komplexen verteilten Systemen.Möglichkeiten und Herausforderungen der FPGA-Anwendung
FPGA-Technologien eröffnen eine Vielzahl von Möglichkeiten in den Ingenieurwissenschaften. Die einzigartige Fähigkeit von FPGAs, sowohl in Software als auch in Hardware konfigurierbar zu sein, ermöglicht es ihnen, in einer Vielzahl von Anwendungen eingesetzt zu werden. Schauen wir uns einige dieser Verwendungsmöglichkeiten genauer an:
- Datencenters: FPGAs werden zunehmend in Datencentern eingesetzt, um die Performance bestimmter Rechenoperationen zu verbessern. Sie erlauben es, spezifische Algorithmen in Hardware umzusetzen, was die Performance erheblich steigert.
- Bild- und Signalverarbeitung: Aufgrund ihrer parallelen Verarbeitungsfähigkeiten sind FPGAs ideal für Bild- und Signalverarbeitungsanwendungen, wo sie dazu beitragen können, Echtzeitinformationen aus Rohdaten zu extrahieren.
- Stromliniente Entwicklung: Die Möglichkeit, Hardware und Software in einem einzigen FPGA-Chip zu kombinieren, vereinfacht die Systementwicklung erheblich und verkürzt die Markteinführungszeit.
Allerdings gibt es auch eine Reihe von Herausforderungen bei der Anwendung von FPGA-Technologie. Einige dieser Herausforderungen umfassen:
- Komplexität: Die Entwicklung komplexer Logikschaltungen auf FPGAs kann schwer zu verstehen und zu implementieren sein, besonders für diejenigen, die neu in diesem Bereich sind.
- Designflüsse: FPGAs haben spezialisierte Designflüsse, die sich stark von traditionellen Mikrocontroller- oder Prozessor-Designflüssen unterscheiden. Diese flüsse können für Neulinge unwägsam sein.
- Kosten: FPGAs können teuer sein, insbesondere wenn es um High-End-Modelle geht. Dies kann eine Barriere für kleine Unternehmen oder Einzelpersonen darstellen.
Die Kosten für FPGA Technologie variieren erheblich, abhängig von der Komplexität und den Spezifikationen des jeweiligen Modells. Ein einfaches FPGA-Board kann bereits für einige hundert Euro erhältlich sein, während High-End-FPGAs mehrere Tausend Euro kosten können. Das Preis-Leistungs-Verhältnis ist stark von den spezifischen Anforderungen des Projekts abhängig, insbesondere in Bezug auf FPGA Design Flexibilität und die Fähigkeit, FPGA digitale Logiksysteme effizient zu implementieren. Diese Faktoren sind entscheidend, um die FPGA Produktentwicklung zu beschleunigen und optimale Ergebnisse zu erzielen.
Ein gutes Beispiel für die Nutzung von FPGAs in der Ingenieurwissenschaft ist deren Einsatz in der Robotik zur Steuerung und Koordinierung der Bewegungen von Robotern. Die parallelen Rechenfähigkeiten von FPGAs ermöglichen eine schnelle Reaktionszeit und genaue Steuerung, was für viele Robotikanwendungen entscheidend ist.
FPGA-Entwicklungstrends innerhalb der Ingenieurwissenschaften
Der FPGA-Markt entwickelt sich ständig weiter, da mehr Industrien und Unternehmen die Vorteile dieser Technologie erkennen. Einige der aktuellen Trends in der FPGA-Entwicklung beinhalten:
- Akkumulation von Know-how: Es gibt eine steigende Nachfrage nach Ingenieuren und Technikern, die Erfahrung in der Arbeit mit FPGAs haben. Unternehmen investieren in die Ausbildung ihrer Mitarbeiter, um die Möglichkeiten und Grenzen dieser Technologie voll auszuschöpfen.
- Open-Source-FPGA-Designs: Es gibt eine wachsende Gemeinschaft von Entwicklern, die ihre FPGA-Designs teilt und anderen zur Verfügung stellt. Dies hilft, die FPGA-Technologie zugänglicher zu machen und die Einstiegshürden für Neulinge zu senken.
- System on a Chip (SoC): FPGAs werden zunehmend in SoC-Designs eingesetzt, wo sie in Verbindung mit CPUs, GPUs und anderen Mikrocontrollern auf einem einzigen Chip integriert werden. Dies ermöglicht eine Erweiterung der Systemfunktionen und eine verbesserte Leistung.
Ein "System on a Chip" (SoC) ist ein integrierter Schaltkreis, der alle oder die meisten Komponenten eines Computers oder anderen Systems auf einem einzigen Chip vereint. SoC-Designs können viele verschiedene Komponenten beinhalten, etwa CPUs, Speicher, E/A-Ports und Peripheriegeräte. In der FPGA-Technologie können sie auch programmierbare Logikelemente und Programmierspeicher umfassen.
Derzeit werden neue FPGA-Designwerkzeuge entwickelt, um die FPGA-Entwicklung einfacher und zugänglicher zu machen. Diese Werkzeuge beinhalten Funktionen wie visuellen Design-Fluss, Auto-Platzierung und Routing, und die Fähigkeit, HDL-Codes automatisch aus höheren Abstraktionsebenen zu generieren.
Die FPGA-Technologie und deren Anwendung in den Ingenieurwissenschaften ist ein spannendes und dynamisches Gebiet, das ständig neue Möglichkeiten und Herausforderungen bietet. Sie bietet Ingenieuren ein mächtiges Werkzeug zur Lösung komplexer Probleme und trägt dazu bei, die Grenzen dessen, was mit Elektronik und Informationstechnologie erreicht werden kann, immer weiter zu verschieben.
FPGA - Das Wichtigste
- FPGA: Field-Programmable Gate Array, anpassbares elektronisches Werkzeug verwendet in Elektrotechnik und Ingenieurswissenschaften
- Verwendung von FPGA: Digitale Signalverarbeitung, Telekommunikation, Kryptographie, Computersysteme
- FPGA Board: Hauptelement in moderner Ingenieurschaft, ermöglicht schnelle Schaltungsentwicklung und Hardwarebeschleunigung
- Lernen von FPGA-Programmierung: Verständnis von Hardware-Beschreibungssprachen, digitaler Logik und Schaltungsentwurf
- Einsatz von FPGA: Flexible und effiziente Lösungen für komplexe technische Probleme, Beschleunigung von Algorithmen, ideal für maschinelles Lernen und künstliche Intelligenz
- Zukunft der FPGA-Technologie: High Performance Computing, komplexe Echtzeitsysteme, Internet of Things
References
- Vladimir Hahanov, Eugenia Litvinova, Wajeb Gharibi, Olesya Guz (2011). Algebra-Logical Repair Method for FPGA Logic Blocks. Available at: http://arxiv.org/abs/1105.1967v1 (Accessed: 15 January 2025).
- K. M. Deliparaschos, S. G. Tzafestas (2018). Design paradigms of intelligent control systems on a chip. Available at: http://arxiv.org/abs/1811.08426v1 (Accessed: 15 January 2025).
- Aman Arora, Bagus Hanindhito, Lizy K. John (2021). Compute RAMs: Adaptable Compute and Storage Blocks for DL-Optimized FPGAs. Available at: http://arxiv.org/abs/2107.09178v2 (Accessed: 15 January 2025).