Forum: FPGA, VHDL & Co. Mircoblaze Memory Controller (xps_mch_emc) x8,x16


von Paul (Gast)


Lesenswert?

Hallo alle Zusammen,
ich habe ein kleines Projekt, wo ich mittels Microblaze über ein Memory 
Controller(xps_mch_emc) Daten auf den Spansion S29GL032 Flash lade.
Der Memory Controller kann im 8/16/32 Bit Modus arbeiten.
Den Flash S29GL32 kann man mit 8/16 Bit Modus beschreiben.
Im 16 Bit Modus (x16 im Datenblatt) funktioniert alles. Ich kann 
schreiben und kann jede Adresse lesen.
Wenn ich im 8 Bit Modus arbeite, kann ich nur jede zweite Adresse lesen. 
Also z.B: 0,2,4,6,8,A,C usw. Bei Adressen 1,3,5 usw. krieg ich nur eine 
NUll heraus.
Jetzt kann man bei xps_mch_emc unter "Confire IP" unter Common die 
"Maximun Data Bus Width" auf 8 stelle so wie unter Bank 0 "Data Bus 
Width of Bank 0" auch auf 8.
Dann liest er mir bei Adresse 1,3,5 den Inhalt von Adresse 0,2,4 aus.

Wie kann ich um 8 Bit Modus (x8) auf jede Adresse zugreifen? Oder ist 
das nicht möglich?

Kennt sich jemand mit dem Thema aus?
Danke im voraus.

Grüße
Paul

von Joachim S. (joachims)


Lesenswert?

Hallo Paul,
hast du die Adressleitung A-1  (kleiner A0) im Byte Modus angeschlossen 
?

in klartext

FPGA   -> Spansion Bezeichnung

A0  ->  A-1
A1  ->  A0
A2  ->  A1

usw.


Ich finde die Bezeichnung etwas unglücklich gewählt, aber im Byte Modus 
muss über die D15(A-1) leitung das Byte selektiert werden, A0 ist dann 
quasi A1 usw. am Spansion Baustein !

Könnte das Dein Problem sein ?

Gruß joachim

von Paul (Gast)


Lesenswert?

Hallo Joachim,
nein das *.ucf File ist in Ordnung. Das mit D15(A0) habe ich so weit 
verstanden, glaube ich. Also A0 wird an D15 angepint. Ich hab da ein 
fertiges *.ucf File von Avnet.
Sobald man mit Byte='0' oder Byte = net_gnd auf 8 Bit Modus schaltet, 
kann man nicht auf jede Adresse schreiben. Auch das Rumspielen mit 
"Confire IP" hat nicht zum gewünschten Ergebnis geführt.
Ich vermute man muss die Schnittstelle von Microblaze zum Memory 
Controller auch auf 8 Bit Modus stellen. Aber wie??
Der PLB-Bus ist nur mal auf min. 32 Bit eingestellt.
Vielleicht hast mal  ne Idee?
Danke

Grüße
Paul

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.