Hallo, ich habe mal eine Frage an euch. Ich habe mir grad den sehr interesannten Artikel Soft Core Prozessoren hier auf Mikrokontroller.net durchgelesen. Hierbei ist mir die Frage aufgekommen, ob es möglich ist Softcore Prozessoren der Unterschiedlichen Hersteller auf anderen Plattformen verwendbar ist. Also zum Beispiel ein MicroBlaze von Xilinx auf einem Altera FPGABaustein/FPGA-Board. Theoretisch muss das doch möglich sein da es sich um die selbe Technik handelt, oder? Ist hierbei irgendetwas zu beachten? Wo könnte es zu schwierigkeiten kommen? Hat es vielleicht schon jemand versucht? Vielen Dank für eure Informationen. Gruß MrBlack
Theoretisch ist das möglich, falls man die Sourcen hat. Praktisch aber, bezweifle ich das stark, da sowohl Microblaze als auch NIOS bestimmte Konstrukte verwenden, die nur bestimmte FPGAs unterstützen. Es würde schon funktionieren, aber nicht so gut ;-) Dafür gibt es aber genügend andere: Mico32, diverse RISCs und und und (schaue einfach bei Opencores) Grüße, Kest
Danke für deine Information. War nur ne theoretische Frage. Hat mich einfach interessiert. Kannst du vielleicht "bestimmte Konstrukte" genauer erläutern, welche nur auf bestimmten FPGAs verfügbar sind. Wie kann man sich das Vorstellen? Vielen Dank MrBlack
> Mico32, diverse RISCs und und und (schaue einfach bei Opencores) Auch Mico32 muss noch auf die Zielplattform portiert werden.. > Es würde schon funktionieren, aber nicht so gut ;-) Nope, es würde überhaupt nicht gehen. >"bestimmte Konstrukte" Das sind alle Konstrukte die als "Hardwareblöcke" eingebunden werden und somit nicht mehr technologieabhängig sind. Das sind z.B. PLL, Embedded Memory ,...
Danke für deine Informationen Luke. Also muss ich auch bei OpenCore Implementierungen nach der unterstützen Plattform(zum Beispiel Altera) schauen, da bestimmte Komponenten, wie zum Beispiel der PLL, nicht Plattformunabhängig sind. Also wäre immer eine Portierung notwendig. Habe ich das richtig Verstanden? Danke
@Luke: >> Es würde schon funktionieren, aber nicht so gut ;-) > Nope, es würde überhaupt nicht gehen. Hast Du schon mal die Sourcen von Microblaze oder z.B. Nios II gesehen? Ich meine nicht irgendeine Netzliste, die dann nach VHDL konvertiert wurde, sondern die richtigen. Die DLL/PLL/BlockRAMsa/M4K... können in Verilog/VHDL beschrieben werden und auch portiert werden. Also wird es auch gehen. Sinnfrei ist es allermal, weil diese nicht auf die Zielplatform optimiert sind. Grüße, Kest
Komm man da überhaupt änderungen vornehmen? Der NIOS-Prozessor ist doch glaub irgenwie verschlüsselt. Also sind solche Änderungen nicht ohne weiteres vorzunehmen. Von den Hersteller wäre es dann möglich, oder?
Als "Normalsterblicher" kannst Du gar nichts machen, da verschlüsselt. Es ging doch um die theoretische Machbarkeit ;-) Grüße, Kest
@Kest >Hast Du schon mal die Sourcen von Microblaze oder z.B. Nios II gesehen? >Ich meine nicht irgendeine Netzliste, die dann nach VHDL konvertiert >wurde, sondern die richtigen. Nein, aber ich wüsste auch nicht wie ich an die kommen sollte. >Die DLL/PLL/BlockRAMsa/M4K... können in Verilog/VHDL beschrieben werden >und auch portiert werden. Pll beschreiben damit es das Synthesetool dann anhand deiner Beschreibung erkennt? Die einzige Möglichkeit ist die Hardwareabhängigen Beschreibungen in einzelne entitiys zu kapseln und diese dann mit den Tech-Elementen einer anderen Zielplattform auszutauschen falls ein Wechseln anstehen sollte. @MrBlack >Danke für deine Informationen Luke. gerne ;) >..Habe ich das richtig Verstanden? Ja, aber wiegesagt i.d. Regel sind diese Elemente in eignen entities die sich relativ leicht tauschen lassen. Ich habe z.B. den Mico8 auf Altera portiert und das war durchaus schaffbar.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.