Softcore Prozessoren portierung?

Gast #952936
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
Gast #952948
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
Gast #952954
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
Gast #952958
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 ,...
Gast #952971
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
Gast #952980
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
Gast #952999
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?
Gast #953013
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren