mikrocontroller.net

Forum: FPGA, VHDL & Co. Hardware Monitor


Autor: Robert Schelkle (Firma: Student) (rschelkle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe mir einen FPGA-Design gebastelt.
Habe als Microcontroller den XPS MicroBlaze verwendet. Lasse nun im 
BlockRAM des MicroBlaze ein Programm ablaufen, welches relevante Daten 
in einem Array abspeichert.

Meine Frage nun: Komm ich da von außen irgendwie ran? Ich will einen 
HW-Monitor realisieren, der über UART auf Anfrage das Array ausgeben 
kann.

Ich kenne momentan nur die Möglichkeit, das Array vom MicroBlaze direkt 
über UART ausgeben zu lassen.

Hat jemand eine Idee oder Tip für mich?

Gruss Robbi

Autor: Xenu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nehme an, der Datenspeicher des Microblaze (in dem der Array 
abgespeichert wird) ist auch ein Blockram? Klar können darauf mehrere 
Einheiten zugreifen, solange Du den Zugriff regelst.

Blockrams sind ja Dualport-Rams, d.h. zwei Einheiten können simultan 
lesend darauf zugreifen. Wenn der Microblaze nur einen Leseport benutzt, 
könntest Du ohne ihn zu stören gleichzeitig daraus lesen.
Wenn allerdings der Microblaze selber schon zwei Leseports benutzt, dann 
müsstest Du gemultiplext auf einen davon zugreifen, und den Microblaze 
während des Zugriffs anhalten, bzw. ihm mitteilen, dass er jetzt auf 
diesen Speicher nicht zugreifen darf. Letzteres gilt auch für nicht 
dualportfähigen externen Speicher (SRAM, etc.).

Autor: Robert Schelkle (Firma: Student) (rschelkle)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Xenu,

zunächst mal Danke für deine Antwort.

Mein Array lege ich einfach in meinem C-File an, indem ich einen 
Speicherbereich alloziiere. Das C-File initialisiere ich dann in den 
BRAM des MicroBlaze. Dann wird es doch ebenfalls in dem BRAM 
abgespeichert, oder?

Soweit ich weiss, werden beide Ports von MicroBlaze benötigt. Da er ja 
mit dlmb und ilmb daran angeschlossen ist. Verbessert mich ruhig falls 
es nicht stimmt :-)!

Dann habe ich aber auch noch das Problem, dass ich vermutlich auch nicht 
weiss, an welcher Stelle im BlockRAM das Array abgelegt wird.

Bitte um weitere Hilfe.

Gruss Robbi

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Soweit ich weiss, werden beide Ports von MicroBlaze benötigt.
Klemm ein zweites BRAM parallel zum ersten und lies das aus.

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.