Schreiben Sie in PipelineC für FPGAs

Nachricht

HeimHeim / Nachricht / Schreiben Sie in PipelineC für FPGAs

Jul 30, 2023

Schreiben Sie in PipelineC für FPGAs

Das Beste an feldprogrammierbaren Gate-Arrays (FPGAs) ist, dass bei einer massiv parallelen Anwendung alles parallel läuft. Das Schlimmste an FPGAs ist, dass man viele davon braucht

Das Beste an feldprogrammierbaren Gate-Arrays (FPGAs) ist, dass bei einer massiv parallelen Anwendung alles parallel läuft. Das Schlimmste an FPGAs ist, dass alles parallel läuft, wenn viele Dinge nacheinander ablaufen müssen. Wenn Sie beispielsweise über eine mehrstufige Berechnung verfügen, müssen Sie diese in Blöcke aufteilen, den zeitlichen Abstand zwischen ihnen ermitteln und sicherstellen, dass jeder Block gelöscht wird, bevor ihm neue Daten zugeführt werden. Das ist Pipelining, und sich selbst um alle Low-Level-Details zu kümmern, ist eines der Dinge, die FPGA manchmal zu einem aus vier Buchstaben bestehenden Wort machen können, das mit „F“ beginnt.

PipelineC von [Julian Kemmerer] ist eine C-ähnliche Sprache, die in VHDL kompiliert wird, sodass Sie sie in einem FPGA verwenden können, und das Pipelining für Sie übernimmt. Er hat Beispiele dafür, wie man damit einen einfachen Zustandsautomaten konstruieren kann, und wenn man auf lange Sicht ein paar Hundert Zustandsautomaten geschrieben hat, weiß man, warum das eine gute Idee ist.

PipelineC ist nicht die einzige High-Level-Synthesesprache, aber sie befindet sich an einer interessanten Stelle. Es kümmert sich nicht um den Speicher und definiert keine Schnittstellen. Es kümmert sich lediglich um das Pipelining. Wir haben es noch nicht ausprobiert, aber es sieht so aus, als ob es für mäßig komplexe Projekte interessant wäre, bei denen die Mechanik der Pipeline-Signalisierung mühsam ist, Sie aber keine Luxusbehandlung benötigen. Probieren Sie es aus, und wenn es Ihnen gefällt, lassen Sie es uns (und natürlich [Julian]) wissen.

Wenn Sie kopfüber in das Pipelining eintauchen möchten, schauen Sie sich die zweiteilige Miniserie von [Al Williams] an.

Pipeline-Grafik CC BY-SA 3.0 von CBurnett