Forum: FPGA, VHDL & Co. Softcore Prozessoren portierung?


von MrBlack (Gast)


Lesenswert?

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

von Kest (Gast)


Lesenswert?

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

von MrBlack (Gast)


Lesenswert?

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

von Luke (Gast)


Lesenswert?

> 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 ,...

von MrBlack (Gast)


Lesenswert?

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

von Kest (Gast)


Lesenswert?

@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

von MrBlack (Gast)


Lesenswert?

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?

von Kest (Gast)


Lesenswert?

Als "Normalsterblicher" kannst Du gar nichts machen, da verschlüsselt. 
Es ging doch um die theoretische Machbarkeit ;-)


Grüße,
Kest

von Luke (Gast)


Lesenswert?

@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
Noch kein Account? Hier anmelden.