www.mikrocontroller.net

Forum: FPGA, VHDL & Co. MicroBlaze Ports


Autor: Beginner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe bisher nur mit dem Motorola 68HC11 gearbeitet. Dort war es so, 
dass man Daten auf die Parallel-Ports ausgab, indem man in bestimmte 
Port-Register schrieb.

Wie läuft das beim MicroBlaze-Softcore? Wie heißen die entsprechenden 
Register? Werde aus der Beschreibung nicht schlau. Dort ist nur von 
einem Bus-Interface die Rede. Gibt es keine Parallel-Ports?

Vielleicht kann mich hier jemand aufklären.

Gruß

Beginner

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du schon die PDFs von XILINX druch?
Sind sogar mit bildern....

Autor: Beginner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja die hab ich hier, werd aber wie gesagt nicht daraus schlau. Dort sind 
nirgendwo Register für die Datenausgabe erwähnt. Wenn du dich so gut 
auskennst könntest du es mir auch einfach sagen. Danke.

Autor: Beginner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Denke mal die GPIO-Ports (Referenzdesign) sind dafür zuständig. Aber wie 
spreche ich die an? Wie heißen die Register?

Autor: FPGA-Küchle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du baust dir die Register selber also in VHDL oder vielleicht ist in der 
uB-Entwicklungsumgebung schon ein Klicki-Kacki Schalterchen für sowas 
da.
Das Businterface ist im FPGA intern, also Adressleitungen und Datenbus. 
Mit VHDL oder wie auch immer schaltest Du deine register an den 
erwähnten Bus. Diese Register sind dann mit den FPGA-Pins verbunden. Du 
kannst selber definieren wie diese Pins sich verhalten (INput/Output 
etc) in dem du die in dein design einbaust (VHDL).
Wahrscheinlich bist Du auf dem falschen Dampfer, weil Dir jemand von 
FPGA programmieren erzählt. Das ist aber kein programmieren, sondern 
Hardwareentwicklung. Schau mal ins EDK und die Demo-videos auf 
www.xilinx.com. Dann wird es dann klarer. Du musst dir das System erst 
bauen, das du programmieren kannst. Entweder in VHDL (nicht easy!) oder 
wie erwähnt kannst Du dir in der EDK Software vielleicht alles zusammen 
klickern. Das EDK kost aber Geld.

Autor: Beginner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

mir war schon klar dass man FPGAs nicht programmieren kann. Allerdings 
dachte ich, dass durch implementieren des Softcores auch das ganze 
"Drumherum", z.B. die I/O-Register mit implementiert werden. Wenn ich 
deinen Post richtig verstehe ist man da aber sehr flexibel und legt das 
selbst fest.

Danke.

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry eigenltich kenne ich mich damit überhaupt nicht aus. habe es mir 
aber mal durchgelesen und hatte den subjektiven Eindruck das es dort gut 
erklärt war.

Autor: Beginner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst du mir sagen wo in der Doku erklärt wird dass man die Register 
für I/O selbst basteln muss?

Autor: fpgakuechle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist ein FPGA-Softcore, damit ist es selbstverständlich, das man I/O 
Register nach belieben hinzufügen kann (muß). Explizit habe ich diesen 
Satz in der Doku nicht gefunden, es ist für FPGA-Entwickler 
selbstverständlich das es so ist. Eventuell reicht für das selber bauen, 
der entsprechende Button im Platform Studio/EDK, und der 
VHDL/Verilig-Code fürs register wird automatisch erzeeugt. Da kenn ich 
mich nicht so aus, ich schreibs mir halt in VHDL. Dann musst du aber 
immer noch sagen, das dieses register an den FPGA-Pins AA2,J3 oder wie 
auch immer hängen muß. Das macht man nicht in der Microblaze-Umgebung 
(EDK) sondern mit den FPGA-tools (ISE). Mikroblaze heisst nun mal einen 
FPGA mit CPU zu bauen, nicht eine Universal-CPU zu programmieren. Auf 
www.Xilinx.com gibt es Videos (Demo) die zeigen wie man ein System mit 
uB zusammenklackert. Schau dir das mal an.

Autor: Andreas Pi (andreas_p)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit dem GPIO-Ports liegst du schon ganz richtig.

Das module heißt OPB General Purpose IO.
Im PDF für das Modul ist beschrieben wie die Register heißen.

Wenn du den Wizard benutzt um ein neues Projekt zu erstellen,
einfach mal den GPIO Core hinzufügen.

danach das Häckchen bei Peripheral selftest setzen.

In deinem Project ist jetzt eine Beispiel C Code der die Ports Blinken 
läßt.

im  #include "xparameters.h" sind jetzt die Basisadressen und im 
#include "xgpio.h" sind fertige Routinen um die Ports zu benutzen
da braucht man sich keine Gedangen mehr zu machen.

Wenn man jetzt im Core die Parameter ändert z.B. andere Basis Adr
ändert sich das xparameters.h automatisch mit. Das ist ganz Praktisch.

Die Pins werden auch im EDK einegegben.

Das EDK ist eine alternative Oberfläche und benutzt die ISE Programme 
wie das IMPACT zum Programmieren.

Ich wollte damit sagen mann braucht Die ISE Oberfläch nicht mehr bei EDK 
Projekten.




Autor: Beginner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die ausführlichen Antworten.

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.