PyGears Python-basierte, freie und offene Hardware-Beschreibungs-Sprache

Von Sebastian Gerstl

Akademiker der University of California in Los Angeles (UCLA) haben unter Open-Source-Lizenz eine Python-basierte Sprache zur Hardwareauszeichnung eingeführt. PyGears verfolgt die Idee agilen Chipdesigns auf der Grundlage wiederverwendbarer Komponenten wie auch hochentwickelter Python-Konstrukte und ist speziell auf die Entwicklung von KI-Chips ausgelegt.

Anbieter zum Thema

PyGears ist eine freie und quelloffene Hardwarebeschreibungssprache (HDL), die als Python-Bibliothek implementiert ist und sich auf funktionale Programmierung, Modulkomposition und Synchronisation konzentriert. Der Einsatz von Python gegenüber klassischen HDL-Sprachen wie VHDL oder Verilog soll die Komplexität des Chipdesigns in einen einfachen, flexiblen und kosteneffizienten Entwicklungsprozess verwandeln, der skalierbare und intelligente Möglichkeiten für kommende Chipdesigns bietet.
PyGears ist eine freie und quelloffene Hardwarebeschreibungssprache (HDL), die als Python-Bibliothek implementiert ist und sich auf funktionale Programmierung, Modulkomposition und Synchronisation konzentriert. Der Einsatz von Python gegenüber klassischen HDL-Sprachen wie VHDL oder Verilog soll die Komplexität des Chipdesigns in einen einfachen, flexiblen und kosteneffizienten Entwicklungsprozess verwandeln, der skalierbare und intelligente Möglichkeiten für kommende Chipdesigns bietet.
(Bild: Pygears)

Hardwareauszeichnungssprachen, die für die Entwicklung neuer Chipdesigns notwendig sind, stehen in dem Ruf, unzugänglicher und komplexer zu sein als selbst höhere Programmiersprachen. Je komplexer moderne Chipdesigns werden, umso schwieriger wird es auch, direkt in Sprachen wie VHDL oder Verilog geschriebene Designs zu beherrschen oder zu verifizieren. Die Entwicklung von KI-Prozessoren, die komplexe neuronale Netzwerke implementieren müssen, erschwert die Überschaubarkeit solcher Designs zusätzlich.

Immer mehr Anwender sind in der Lage, Software zu programmieren, doch die Programmierung von Hardware ist und die Beherrschung einer geeigneten Auszeichnungssprache ist eine deutlich größere Herausforderung. In den letzten Jahren hat es bereits mehrere Vorstöße gegeben, die Kompexität von Hardwaredesigns zu verinfachen und es zu ermöglichen, diese direkt mit Hilfe von klassischen Programmiersprachen zu ermöglichen. So ermöglicht es beispielsweise PYNQ (Python for Zynq), SoC-FPGAs der Zynq-Familie von Xilinx mit der multiparadigmatischen Programmiersprache Python zu programmiern.

Ein Python-Framework zur Hardwarebeschreibung

In eine ähnliche, allerdings plattformunabhängige Richtung marschiert nun das Projekt Pygears, dass Akademiker der University of Californa in Los Angeles (UCLA) nun vorgestellt und an der Universität eingeführt haben. Die neue, PyGears genannte Hardware-Beschreibungssprache, verfolgt den Ansatz eines agilen Chip-Designs auf der Grundlage wiederverwendbarer Komponenten und High-Level-Python-Konstrukten. PyGears ist nach eigenen Angaben insbesondere. auf die Entwicklung von KI-Chips ausgelegt.

PyGears ist der ehrgeizige Versuch, ein Python-Framework zu schaffen, das die Beschreibung digitaler Hardware erleichtert. Es zielt darauf ab, die derzeitige RTL-Methodik zu erweitern, um die Kompositionsfähigkeit von Hardwaremodulen drastisch zu erhöhen. Einfache Komposition führt zu besserer Wiederverwendbarkeit, da Module, die sich besser komponieren lassen, in einer größeren Anzahl von Kontexten verwendet werden können. Ein Satz wiederverwendbarer Komponenten kann dann eine gut getestete und dokumentierte Bibliothek bilden, die den Entwicklungsprozess erheblich beschleunigt. Mithilfe des Frameworks lassen sich in PyGears mithilfe von Python Funktionen und Module aufbauen, verifizieren und direkt in SystemVerilog ausspielen. Dieses kann nach Generierung je nach Bedarfsfall in ein ASIC- oder FPGA-Design integriert werden.

PyGears ist ein Open-Source-Projekt, welches die Absicht verfolgt, dass eine offene Community das bestehende Framework konstant testen und erweitern kann. Mit der Einführung in den VLSI-Signalverarbeitungs-Kurs hat die Samueli School of Engineering der UCLA begonnen, eine erste Community aufzubauen, die Hardware durch Software-Paradigmen betrachtet. Ziel von PyGears soll sein, Hardware-Design und -Verifikation durch die Verwendung von flexibleren und komponierbaren Modulen zu beschleunigen.

Volle Kontrolle über alle Ebenen bis zu den untersten Schichten

„Das Design von Chips wird immer komplexer, die Kosten steigen und die Entwicklungszyklen werden länger“, so Dejan Markovic, Professor für Elektrotechnik und Computertechnik an der UCLA. „PyGears geht auf diese Herausforderungen ein, indem es einen modularen Aufbau der Hardware aus wiederverwendbaren Komponenten vorsieht, die von einer Gemeinschaft gleichgesinnter Mitwirkender entwickelt werden. Das funktioniert sowohl für kleine als auch für große Ingenieurteams sehr gut. Hardware-Design und -Verifikation basieren auf der Python-Umgebung, wodurch die Barrieren zwischen Software- und Hardware-Domänen abgebaut werden.“

Laut Dr. Bogdan Vukobratovic, Urheber von PyGears und Leiter der Forschungs- und Entwicklungsabteilung bei Anari AI, bevorzugt die derzeitige Tooling-Industrie Low-Level-Optimierung und Low-Level-Kontrolle über alle Komponenten in der Hardware-Entwicklung. Pygears verfolgt einen anderen Ansatz: Obwohl die Programmierung über ein Python-Framework erfolgt, soll PyGears dem Entwickler die Kontrolle über alle Aspekte bis hin zu den untersten Schichten des Designs geben.

Vukobratovic betont, dass der Aufbau komplexer Architekturen Systeme mit mehr Agilität in der Entwicklung erfordert. „PyGears entstand aus dem Bestreben, alle bewährten Praktiken, die ich im Laufe meiner Karriere als nützlich empfunden habe, in einem Tool zusammenzufassen, das die Hardware-Implementierung komplexer Architekturen dramatisch beschleunigen kann, insbesondere wenn sie mit KI-Paradigmen zusammenhängen“, so Vukobratovic. „Es handelt sich um ein freies und quelloffenes Projekt, das ein guter Anfang für die Entwicklung der nächsten Generation von Chips sein sollte, aber dieses Ziel erfordert, dass wir alle dazu beitragen und die Richtung der Hardwareentwicklung bestimmen. Andernfalls wird die KI-Welt nicht zukunftsfähig sein.“

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Abgesehen von UCLA-Studenten und anderen Universitäten hat das PyGears-Team die Community für Hardware-Teams und Einzelpersonen geöffnet, die an der Verbesserung der HDL interessiert sind und das Hardware-Design effizienter und ergebnisorientierter gestalten wollen.

(ID:48096512)