Implementierung von NIOS Softcore zusammen mit HDL-Modulen auf Aletra Cyclone IVGX

Meine Frage ist nicht " wie kann ", sondern " ob kann ". Ich glaube also, dass Leute mit ausreichender Erfahrung in einer FPGA-Familie mir hier helfen können.

Problemstellung : Ich muss ein sehr einfaches Steuerungssystem auf einem FPGA modellieren, sodass die „Anlage“ als Verilog(HDL)-Modul auf dem FPGA läuft (nicht nur Simulation) und der Controller als ausführbare C-Datei implementiert ist, die auf NIOS2 Softcore läuft Prozessor auf dem FPGA (Altera Cyclone IVGX).

Alle Handbücher und Posts, die ich gelesen habe und die das CAD-Tool (Qsys, Quartus, SOPC Builder usw.) verwenden, zeigen nur Beispiele dafür, wie ein NIOS 2-Softcore-Prozessor auf einem FPGA geflasht werden kann und verschiedene Dinge erledigt. Aber kann ich auch ein System haben, in dem NIOS2 zusammen mit anderen Verilog(HDL)-Modulen synthetisiert wird und mit beliebigem Code interagiert, der auf dem Softcore-Prozessor läuft?

Ich verstehe, dass ich durch das Stellen einer solchen Frage einige zu einer RTFM- artigen Antwort provozieren kann, aber ich habe die Designhandbücher durchsucht, um nach einem solchen Thema zu suchen, konnte aber keines finden.

Ich muss nur wissen, ob dies möglich ist, damit ich mehr Zeit damit verbringe, die Handbücher noch genauer zu lesen als zuvor.

Ich habe es mit dem Cyclone V Soc Development Board gemacht, daher bin ich mir sicher, dass genügend Ressourcen für einen Softprozessor und etwas Hardwarelogik vorhanden sind.
Meiner ist ein Terasic DE2i-150 (Intel Atom+Cyclone IVGX), also denke ich, dass Ihr Kommentar in Bezug auf die physischen Ressourcen ausreichen sollte. @lucas92: Könnten Sie auch mit einigen Online-Ressourcen helfen, die meine Verwirrung lindern werden. Danke
Meine war diese hier: terasic.com.tw/cgi-bin/page/… .
@lucas92 Tausend Dank!! Noch schnell, wenn du darfst. Das Handbuch „My first niosII“ besagt, dass ich niosII konfigurieren, auf dem FPGA flashen und dann das Software-Build-Tool (SBT) verwenden muss, um eine ausführbare C-Datei darauf auszuführen. Nehmen wir in meinem Fall an, dass ich nach dem Einrichten von NIOSII (noch nicht auf FPGA geflasht) seinen Symbolblock in einer neuen „Blockdiagrammdatei“ verwende, in der ich ihn mit einer benutzerdefinierten externen Logik verbinde. Danach flashe ich diese komplette Schaltung (komplettes BDF), kann ich dann mit dem SBT einen C-Code schreiben? Ich meine, wird das SBT das NIOS identifizieren, das inmitten verschiedener anderer logischer Elemente läuft?
Hast du das am Ende herausgefunden?

Antworten (1)

Ja, das kann man auf jeden Fall. Schließlich besteht der springende Punkt bei einer Softcore-CPU darin, dass Sie sie mit benutzerdefinierter Logik integrieren können.

Im Kern ist der NIOS-Prozessor nur ein weiteres HDL-Modul. Sie können es wie jedes andere Modul in einem Top-Level-Design instanziieren.

Ich habe jedoch festgestellt, dass die Anbieter-Tools (sowohl von Altera als auch von Xilinx) strenge Formalismen zum Erstellen von Systemen entwickelt haben, die erfordern, dass Sie Ihre benutzerdefinierte Logik in eine bestimmte Schnittstelle packen, damit ihr "Systemgenerator" das Modul der obersten Ebene generieren kann den Chip für Sie und stellen Sie alle Verbindungen her. Es kann einige Zeit dauern, herauszufinden, wo die Details dieser formalen Schnittstelle dokumentiert sind und wie sie verwendet wird.

Nenn es meine Gier :). Aber könnten Sie mir mit einigen Ressourcen helfen, die mir helfen, den Lösungsmechanismus, wie Sie ihn herausgebracht haben, auf eine präzisere Weise zu verstehen, als die beiden Nachschlagewerke von Altera von vorne bis hinten zu lesen. Danke