www.mikrocontroller.net

Forum: FPGA, VHDL & Co. (MPMC) NPI Xilinx example design Fehler


Autor: SebastianR (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich versuche das Beispiel Design aus dieser Support Antwort zum Laufen 
zu bringen:
http://www.xilinx.com/support/answers/24912.htm
Es handelt sich dabei um ein Test Modul für das direkte schreiben und 
lesen über den MPMC aus einer VHDL user logic über das NPI PIM (ohne 
PLB, Procesor, etc.).

Mein Board: XUPV5-LX110T
Umgebung: ISE 12.3 System Edition, EDK

Ich habe ein EDK XPS Projekt erzeugt mit MicroBlaze (und weiterer 
Peripherie) sowie MPMC Controller für den DDR2 RAM. Außerdem habe ich 
das Beispiel Design in den pcores Ordner kopiert, ebenfalls instanziiert 
und mit einem NPI Port-Netz des MPMC verbunden. Alle Cores sind richtig 
mit Takten und reset verbunden. Die init-done Signale vom MPMC und auch 
von dessen NPI Port gehen auf '1'. Das Beispiel Design vergleicht 
gelesene und geschriebene Daten und gibt ein error Signal aus, welches 
ich auf ein LED lege. Ich habe am Code nichts geändert, trotzdem habe 
ich permanent compare errors. Laut Xilinx Foren funktioniert dieses 
Beispiel jedoch.
Hat das jemand schon einmal getestet und noch einen Tipp?

Danke im Voraus!

Grüße,
Sebastian

Autor: Valko Zapalko (hydravliska)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich verwende den Beisiel in meinem Projekt, allerding habe ich es schon 
am Anfang geändert, die Compare Modus habe ich sofort gelöscht.

Ich habe mir ein bestimmten Anzahl Daten in Speicher geschrieben und 
dann mit MicroBlaze die Stellen ausgelesen. So konnte ich mindestens 
feststellen, dass das MPMC was tut.

WICHTIG: das NPI CLK ist = MPMC CLK, was default 2xSysCLK ist glaube 
ich. Mindestens bei mir war es so eingestellt. Das NPI Interface ist 
immer 1:1 mit dem MPMC Clk

Gruss,
Valentin

Autor: SebastianR (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

danke für die Antwort. Was ist für dich SysCLK? Der Takt, der in den 
MicroBlaze geht oder der, der von außen als Quelle für den clock 
generator dient? Der Takt, der aus dem clock generator kommt (125Mhz) 
wird bei mir momentan auf alle Komponenten verteilt, also sowohl 
MicroBlaze als auch MPMC und NPI user logic.

Sebastian

Autor: Valko Zapalko (hydravliska)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

also MPMC_Clk0 und das NPI Interface clock müssen gleich sein.


Gruss,
Valentin

Autor: SebastianR (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist der Fall. Und da auch, wie schon geschrieben, die Initalisierung 
von allem erfolgreich ist, scheint das auch nicht das Problem zu sein.

Autor: Valko Zapalko (hydravliska)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann kannst du einfach ausprobieren, XX Werte im Speicher zu schreiben 
und den Bereich mittels Microblaze auszulesen.

Autor: SebastianR (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

der thread ist zwar schon ein paar Wochen alt, aber ich habe zu diesem 
Thema noch ein paar Probleme. Wie Valko im letzten Post schreibt, 
funktioniert es bei mir, d.h. ich habe mittels des weiter oben erwähnten 
NPI Beispiels Daten geschrieben und kann sie mit dem mb auslesen.
Allerdings funktioniert das lesen mit dem FPGA leider noch nicht.
Ich habe das Beispiel so geändert, dass ein 32-word burst read gemacht 
wird, d.h. npi_size habe ich auf "0100" gesetzt. Ansonsten bleibt alles 
gleich. Die gelesenen Daten speichere in einfach in ein array von 
std_logic_vector, das ich direkt danach wieder in den SDRAM schreibe. 
Wenn ich diese Daten dann mit dem mb auslese, erhalte ich ausschließlich 
0 (Null). Kennt jmd. dieses Phänomen beim lesen? Was genau mache ich 
falsch?

grüße,
sebastian

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.