VHDL Zugriff FSM auf Speicher

OP #2801176
Lesenswert?
• ▲
▼
Hallo,

ich versuche gerade eine FSM zu bauen, die lesend und schreibend auf 
einen Speicher zugreift. Für den Speicher habe ich einen synchronen 
Block Speicher mit einem Port gewählt (Zeile 9-42 in der Datei 
FSMTest.vhd). Zugegriffen wird aus einer FSM heraus (Zeile 47-128 in der 
Datei FSMTest.vhd).

Das funktioniert so auch, aber für jeden lesenden Zugriff auf den 
Speicher brauche ich drei Schritte. Im ersten Schritt (Zeile 102) werden 
die Kontroll-Signale und die Speicheradresse gesetzt. Im zweiten Schritt 
(Zeile 107) wird nur gewartet. Erst im dritten Schritt (Zeile 109) 
können die Daten aus dem Speicher gelesen werden.Wenn der zweite Schritt 
ausgelassen wird, kann ich nicht auf die Daten aus dem Speiche 
zugreifen.

Ich kann mir nicht vorstellen, dass man immer drei Schritte zum 
Speicherzugriff braucht und dass dabei jedesmal gewartet wird. Was mache 
ich dabei falsch?

Eines ist mir aufgefallen: Wenn der Speicher über die fallende 
Taktflanke angesteuert wird, dann geht das ohne den zweiten Schritt. Mir 
ist allerdings nicht klar, ob das sinnvoll ist. Gibt es beim 
Zeitverhalten Probleme, wenn einige Prozesse über die fallende 
Taktflanke aktiviert werden und die andern Prozesse über die steigende?

Vielen Dank
Alexander
Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #2802047
Lesenswert?
• ▲
▼
Was mir in der FSMtest.vhd bei der RAM Ansteuerung sofort auffällt, ist, 
dass da ein Takt zuviel verbraten wird, weil die gelesenen Daten via 
memDataOut nochmal unnötigerweise registiert werden. Ein Blockram ergibt 
sich automatisch durch das Takten der Adresse.

Und das Verwenden von fallender und steigender Flanke kommt einer 
Verdopplung der Taktfrequenz gleich (wenn es überhaupt synthetisierbar 
ist), weil dann ja nur noch die halbe Zeit (bei symmetrischem Takt) für 
evtl. Kombinatorik zur Verfügung steht.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.