Forum: Mikrocontroller und Digitale Elektronik Gemeinsammer Speicherzugriff / Projekt mit RAM


von Elko (Gast)


Lesenswert?

Hallo,

da ich noch nie irgendwas mit RAM "gemacht" habe wollte ich mir auf 
meinen FPGA Board mal eine Grafikkarte programmieren.

Die Idee ist, dass ein Mikroproz Daten in den Ram schreibt und der FPGA 
diese Daten die ganze Zeit ausgibt und auch die Timings für das VGA 
Signal macht.

Was mir Probleme bereitet sind die Speicherzugriffe. Wie regele ich wann 
wer schreiben/lesen darf?? Wie macht man so etwas?
Gibt es noch andere kleine Projekte in denen man den Ram mal testen kann 
:-D
Grüße
Elko

von Falk B. (falk)


Lesenswert?

@  Elko (Gast)

>Was mir Probleme bereitet sind die Speicherzugriffe. Wie regele ich wann
>wer schreiben/lesen darf?? Wie macht man so etwas?

Am Anfang möglichst einfach. Deine Grafikkarte und deine CPU teilen sich 
den Zugriff abwechseln. Sprich, bei einem Takt bzw. Zyklus darf die 
Grafikkarte lesen, beim nächsten die CPU schreiben. Wenn die CPU nicht 
schreiben will, bleibt die Zeit ungenutzt. Eine State Machine reglet das 
Ganze. Ist einfacher als man denkt.

MfG
Falk

von Reinhard Kern (Gast)


Lesenswert?

Falk Brunner schrieb:
> Die Idee ist, dass ein Mikroproz Daten in den Ram schreibt und der FPGA
> diese Daten die ganze Zeit ausgibt und auch die Timings für das VGA
> Signal macht.

Hallo,

bei einem Video-RAM ist es zweckmässig, das RAM in den Austastlücken zu 
beschreiben.

@Falk: "Ist einfacher als man denkt."
Nur muss das RAM dann doppelt so schnell sein wie für die Video-Ausgabe 
an sich schon notwendig. Bei VGA ist der Pixeltakt 25 MHz, also müsste 
das System mit 50MHz takten. Bei grossen Displays wird's schwierig.

Gruss Reinhard

von W.S. (Gast)


Lesenswert?

2 Stück SRAM 256Kx16/10ns parallel (z.B. von ISSI), das sollte reichen: 
jeweils 15 ns Zugriffszeit, dazwischen 5 ns zum Umschalten macht 40 ns 
Gesamt oder 25 MHz Zugriffstakt. Wenn du 'nur' 16 Bit Farbe nimmst, dann 
ergibt das 50 MHz Pixeltakt.

W.S.

von Reinhard Kern (Gast)


Lesenswert?

W.S. schrieb:
> Wenn du 'nur' 16 Bit Farbe nimmst, dann
> ergibt das 50 MHz Pixeltakt.

Da hast du was falsch verstanden. Der Zugriffstakt muss doppelt so hoch 
sein wie der Pixeltakt, nicht umgekehrt, bei 16Bit sogar vierfach: du 
must ja alle 40 ns 2 Bytes an das Display befördern und noch einen 
Schreibtakt dazwischenschieben. Warum glaubst du sonst haben Video-DACs 
Geschwindigkeiten weit jenseits von 100 MHz?

Gruss Reinhard

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Je nachdem wie schnell man schreiben will kann man auch im FPGA einen 
kleinen Puffer machen und der FPGA schreibt es rein wenn er gerade "dran 
vorbeikommt" anstatt den Wert zu lesen.

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.