Warum verhält sich diese RAM-Komponente in Multisim unvorhersehbar?

Multisim hat eine 2k8-RAM-Komponente, mit der ich herumgespielt habe. So funktioniert es. Folgendes passiert, wenn ich dies simuliere. Nehmen wir an, ich speichere den Wert 00000011, um 00000000 zu adressieren. Dann mache ich alle Eingänge niedrig. Dann mache ich CS hoch, um die Daten zu lesen. Meine Blinker leuchten wie erwartet. Wenn ich CS ausschalte, bleiben sie jedoch manchmal eingeschaltet, selbst wenn alle Eingänge niedrig sind. Das soll passieren? Kann mir bitte jemand genauer erklären, wie man Daten liest und schreibt? Ich konnte die Ressource nirgendwo finden. Hier ist ein Bild der Simulation.Geben Sie hier die Bildbeschreibung ein

Hast du den WR-Pin die ganze Zeit auf Write gehalten?
@KingDuken Ich habe den Write Enable-Pin beim Schreiben auf HIGH und beim Lesen auf LOW gehalten

Antworten (1)

Das ist kein falsches Verhalten für Ihren RAM, soweit ich die begrenzten Informationen in dem von Ihnen angegebenen Link verstanden habe. Sie haben einigen Adressen im RAM einige Daten zugeführt. Jetzt wollen Sie diese Daten lesen. Wenn WE = 0 und CS = 1, werden die Daten in Abhängigkeit von den Adresseingängen A0–A7 in Q0–Q7 eingelesen. Jetzt ziehen Sie CS = 0. Zu diesem Zeitpunkt können die vorherigen Daten, die zuvor gelesen wurden, in den Ausgangsdatenleitungen Q0–Q7 zwischengespeichert bleiben. Es ist nicht erforderlich, dass alle Q-Ausgänge zurückgesetzt werden. Wenn Sie CS= 1 erneut ziehen, werden abhängig von den Adresseingängen A0-A7 wieder neue Daten gelesen. Da der RAM hier keinen Takt hat, sollte CS wie 0-> 1 getaktet werden, um neue Daten zu schreiben oder zu lesen.