(MPMC) NPI Xilinx example design Fehler

Gast #1970987
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
#1971081
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
Gast #1971112
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
Gast #2041200
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

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