Forum: FPGA, VHDL & Co. sram: adress controlles, OE controlled


von stiller Leser (Gast)


Lesenswert?

hallo an alle

beim FPGA Einstieg gehört das Ansteuern von einem Sram, so wie ich es 
verstehe, zu den ersten Fingerübungen. Darum soll es auch bei mir so 
sein.

Aber ich bin richtig verwirrt.
Angenomen ich habe ein sram mit 20ns Zugriffszeit. Das würde ja gut zu 
einem FPGA Takt von 50 Mhz passen. Wenn ich in einem beliebigen 
Datenblatt gucke, gibt es da immer die im Titel Modi wenn es ums lesen 
geht.

Address controlled passt ja noch ganz gut wenn ich es richtig deute. 
Adresse anlegen, wenn OE low ist und nach einer Zeit ist an den 
datenleitungen ein Wort gültig. Das bleibt auch gültig für eine Hand 
voll ns wenn die adr sich ändert. Könnte man also immer das Wort 
einlesen wenn man eine neue Adresse anlegt oder?

Aber wenn ich OE controlled sehe, dann darf ich OE nicht gleichzeitig 
mit einer neuen Adresse bewegen richtig? Wie steuere ich mit einem 50 
MHz Takt ein 20 ns Sram an? Spätestens beim schreiben müsste ich ja WE 
bedienen, was auch nicht gleichzeitig zur Adressänderung passieren darf. 
Glaube ich.


Einfach intern schneller Takten kann es doch auch nicht sein. Auf ein 
200 Mhz sram müsste doch auch zugegriffen werden können.


Also als Standard Address controlled lesen und entsprechend langsam 
schreiben?


Hat mich jemand verstanden und kann mir die Zusammenhänge mit eigenen 
Worten erklären? dafür wäre ich sehr dankbar, ich stehe vor einem 
rieeesen Berg.


Grüße

von Gustl B. (-gb-)


Lesenswert?

Poste doch mal einen Link zum Datenblatt.

von Fred Frequenz (Gast)


Lesenswert?

Gustl B. schrieb:
> Poste doch mal einen Link zum Datenblatt.

Das wird es nicht geben, weil:
> Angenomen ich habe ein sram mit 20ns Zugriffszeit

Dem TO scheinen die Unterschiede zwischen Zugriffszeit und (read/write) 
cycle time sowie zwischen synchronen und asynchronen SRAM nicht geläufig 
zu sein. Der TO sollte sich mal gescheite Literatur zu 
Computerarchitektur besorgen.
Und real existierende SRAM's benutzen, i.e. 
https://www.cypress.com/file/44061/download

von Gustl B. (-gb-)


Lesenswert?

Jo, dann nehme ich hier eben ein Datenblatt:

https://www.mouser.de/datasheet/2/698/IDT_71024_DST_20141104-1711867.pdf

Lesen Seite 5:
Da ist zwar viel schraffiert, aber das bedeutet nur dass egal ist was 
anliegt. Du darfst also gleichzeitig Adresse, #OE, #CS1 und CS2 setzen. 
Die Daten sind dann am Ende des "Taktes" am Ausgang, nach t_AA.

Schreiben Seite 6:
Das sieht zwar im oberen Bildchen so aus, als dürfe #WE erst etwas nach 
der Adresse nach unten gezogen werden und müsse vor dem Ende des 
"Taktes" wieder high sein, aber wenn man sich die Daten anguckt in der 
Tabelle auf Seite 4, dann ist t_AS minimal nicht eingetragen, #WE darf 
also mit der Adresse gleichzeitig runtergezogen werden, und t_WR ist 0 
ns, du darfst #WE also auch bis zum Ende des "Taktes" unten lassen.

Du kannst also sowohl beim Schreiben als auch beim Lesen immer 
gleichzeitig alle Signale anlegen.

Edit:
Sorry Fred, das hatte ich schon getippt als dein Post noch nicht da 
stand.

: Bearbeitet durch User
von stiller Leser (Gast)


Lesenswert?

Guten Morgen und herzlichen Dank an Gustl.
Freds Antwort ist zwar bestimmt auch gut gemeint gewesen, war aber nicht 
so ganz hilfreich. Gelesen habe ich ja vorher und wollte mein 
Verständnis verbessern.
Der Unterschied zwischen asynchronen und synchronen Rams war mir 
durchaus bewusst, aber "Da ist zwar viel schraffiert, aber das bedeutet 
nur dass egal ist was anliegt."... das habe ich nicht verstanden.

Super dass einer mein Anliegen verstanden hat. Jetzt hoffe ich am WE 
dazu zu kommen mich damit zu beschäftigen. (Man muss ja erst mal genauer 
verstehen, WAS man umsetzen will bevor man an die Umsetzung geht, ne)


Danke noch mal

von Gustl B. (gustl_b)


Lesenswert?

In dem Datenblatt von Fred ist unter den Signalformen, z. B. Seite 26 
immer gezeigt was die Schraffuren bedeuten. Don't care bedeutet es ist 
egal was man anlegt und Undefined ist eben ein undefinierter 
Ausgabewert.

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.