Lamy schrieb:
> Ja du hast es richtig geahnt, ich komme aus der Software Ecke, und
> versuche gerade ein paar Aufgaben in VHDL zu erledigen.
uiuiuiuiui.... das könnte spannend werden ;-)
Mal eben so "nebenher" wird das echt schwer.
Du hast es ja richtig erkannt, mit der Hardware-Denke und die ist leider
komplett anders, als die SW-Denke.
Letztendlich beschreibst du für dein Problem einen Adresscounter, der
die Adressen inkrementiert. Und dann musst du irgendwie steuern, dass
dann, wenn die Adress anliegt, und die Daten aus dem RAM am Datenbus des
RAM stabil sind, du diese "abholst".
Das kann man zum Beispiel über eine Statemachine-Beschreibung machen.
Wie ja bereits beschrieben wurde. Indem man in einem State die Adresse
inkrementiert (also den Adresszähler um eins erhöht) und dann nach einer
gewissen Zeit (z.B. einem Systemtakt), die Daten abholt.
Man könnte aber auch einen kleinen Steuer-Counter machen, der mit jedem
Systemtakt um eins inkrementiert und ein Vergleicher, der bei "0" den
Adresszähler um eins inkrementiert und bei "1" die Daten abholt und den
Steuer-Counter wieder zurücksetzt.
Letztendlich sind das zwei vollkommen unterschiedliche Beschreibungen,
wenn du den Code dazu anschaust. Aber die Synthese wird was sehr
Ähnliches in Hardware auf dem FPGA umsetzen, da deine Zustände der
Statemachine letztendlich auch nur in Registern gespeichert werden und
somit dem kleinen Steuer-Counter aus dem zweiten Lösungsansatz
entsprechen..
Will dir damit nur sagen, dass es teilweise viele Wege gibt, die in VHLD
zu einer fast vergleichbaren Lösung in Hardware führen können.
Weil man eben nicht "programmiert", sondern ein Verhalten beschreibt.