Forum: FPGA, VHDL & Co. datenuebernahme FF


von Mike K. (1tester)


Lesenswert?

Hallo

Ich habe eine Frage, wenn ich zB ein RAM habe das getaktet arbeitet, und 
in dieses schreiben möche. Also Ich lege in einer FSM einfach Adresse, 
DATA und write_strobe an. Kann ich nun im nächsten takt die Adresse und 
Daten wieder ändern?

BSP:
1
case WRITE1 =>     addr_s <= "XXXXX";
2
                        data_s <= "YYYYYYYY";
3
                        write_s <= '1';
4
                        STEP <= WRITE2;
5
case WRITE2 =>
6
                        addr_s <= "ZZZZZZ";
7
                        data_s <= "WWWWWWWWW";
8
                        write_s <= '1';
9
                        STEP <= WRITE3;
Zwischen den Step liegt natürlich immer eine Flanke aber die Frage ist 
bekommt das RAM beide Schreib zugriffe mit? den Prinzipell ist ändert 
sich ja mit der Flanke die für den Übergang zuständig ist ja auch wieder 
der Wert des Buses...

Oder wo liegt mein Denkfehler?

lg Michael

von Jan M. (mueschel)


Lesenswert?

Das kommt auf das RAM an. Interne RAMs im FPGA können das, bei 
irgendwelchen externen RAM-Bausteinen muss man einen Blick ins 
Datenblatt werfen.

Mike K. schrieb:
> den Prinzipell ist ändert
> sich ja mit der Flanke die für den Übergang zuständig ist ja auch wieder
> der Wert des Buses...
> Oder wo liegt mein Denkfehler?


Kein Denkfehler, aber wie du schreibst, der Wert ändert sich erst mit 
der Flanke. Und mit ebendieser Flanke liest das RAM auch die Werte. 
Allerdings ändern sich die Werte erst kurz nach der Flanke - im 
Datenblatt des FPGA heißen diese Zeiten clock-to-out, kurz tcko. 
Außerdem muss das Signal ja noch bis zum RAM kommen, damit vergeht auch 
noch Zeit so dass die neuen Werte erst deutlich nach der Taktflanke sich 
am RAM ändern.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Mike K. schrieb:
> Oder wo liegt mein Denkfehler?
Nur die Signale zum Zeitpunkt der steigenden Taktflanke sind interessant 
(und ein paar ns davor tsetup und evtl. danach thold).

IdR kannst du also bei getakteten Speichern mit dem Takt auch wieder 
neue Daten anlegen, nur die thold (aka Haltezeit) solltest du im Auge 
behalten.

von Unbekannter (Gast)


Lesenswert?

Die Geschichte ist die, den echten Takt anzulegen und nicht etwa 
denselben eigens zu erzeugen (durch toggeln). Dann hast du nur die halbe 
Datenrate.

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.