holoso: Python to Verilog

OP #8087599
Lesenswert?
• ▲
▼

das sieht interessant aus:

https://github.com/Zubax/holoso

Konvertier Python zu verilog. Aber, aber es wird ein ZISC (Zero Instruction Set Computer) gebaut der dann was macht. Obwohl es gibt Beispiel für UART und PWM die womöglich kein ZISC verwenden?

Spannend ist auch zu sehen das .claude/skills Verzeichnis, alles vorbereitet für Claude/Code Integration!

(Firma: Zubax Robotics) #8096568
Lesenswert?
• ▲
▼

Hallo Antti, ich bin der Entwickler von Holoso. Danke fürs Erwähnen!

Auch die UART- und PWM-Beispiele verwenden dasselbe ZISC-Backend. Für jeden Kernel entsteht ein spezialisierter Datenpfad mit statisch geplantem Ablauf; hier läuft also kein Python auf einer allgemeinen Softcore-CPU. Ein Aufruf von tick() entspricht einer Transaktion, nicht zwangsläufig einem FPGA-Takt.

Die beiden Beispiele zeigen die Synthese zustandsbehafteter Funktionen. Der eigentliche Schwerpunkt liegt auf numerischen DSP- und Regelungsaufgaben: Gemeinsam genutzte Rechenwerke können dort Fläche sparen, auf Kosten des Durchsatzes.

Gibt es einen kleinen DSP- oder Regelungsalgorithmus, dessen Umsetzung du gerne vergleichen würdest? Mit einem Ziel-FPGA und der benötigten Abtastrate ließe sich daraus ein aussagekräftiger Versuch machen.

(Firma: Zubax Robotics) #8097166
Lesenswert?
• ▲
▼

Unter dem UART steckt keine fest vorgegebene ZISC-CPU, die mit einem Software-UART beschäftigt wird. Holoso erzeugt Datenpfad und Steuerlogik speziell für den jeweiligen Python-Kernel. In diesem Beispiel entsteht daraus ein dedizierter UART-Block. Andere Logik im FPGA läuft unabhängig davon parallel.

Dieser Block implementiert nur den UART. Ob er „zu 100 % ausgelastet“ ist, hängt aber davon ab, wie viele Taktzyklen ein tick()-Aufruf benötigt und wie oft man ihn aufruft. Es gibt hier keinen Universalprozessor, dessen freie Rechenkapazität man dafür aufgibt.

Das UART-Beispiel soll vor allem die Synthese zustandsbehafteter Logik zeigen. Holoso zielt hauptsächlich auf numerische DSP- und Regelungsalgorithmen. Dort kann die Wiederverwendung derselben Rechenoperatoren für mehrere Rechenschritte Fläche sparen, auf Kosten des Durchsatzes.

Antwort schreiben

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.