www.mikrocontroller.net

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


Autor: MrBlack (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Kest (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: MrBlack (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Luke (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ,...

Autor: MrBlack (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Kest (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: MrBlack (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Kest (Gast)
Datum:

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


Grüße,
Kest

Autor: Luke (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.