Почему этот компонент оперативной памяти ведет себя непредсказуемо в Multisim?

Multisim имеет компонент оперативной памяти 2k8, с которым я играл. Вот как это работает. Вот что происходит, когда я имитирую это. Допустим, я сохраняю значение 00000011 по адресу 00000000. Затем я делаю все входы низкими. Затем я делаю CS высоким, чтобы прочитать данные. Мои индикаторы включаются, как и ожидалось. Однако, когда я выключаю CS, они иногда остаются включенными, даже если на всех входах низкий уровень. Это то, что должно произойти? Может кто-нибудь объяснить подробнее, как читать и записывать данные? Я не мог найти ресурс нигде. Вот фото симуляции.введите описание изображения здесь

Вы все время держали булавку WR включенной для записи?
@KingDuken Я держал контакт включения записи ВЫСОКИМ при записи и НИЗКИМ при чтении

Ответы (1)

Это не является неправильным поведением для вашей оперативной памяти, насколько я понял из ограниченной информации в приведенной вами ссылке. Вы отправили некоторые данные по некоторым адресам в ОЗУ. Теперь вы хотите прочитать эти данные. Когда WE = 0 и и CS = 1, данные считываются в Q0-Q7 в зависимости от адресных входов A0-A7. Теперь вы вытягиваете CS = 0. В это время предыдущие данные, которые были считаны ранее, могут оставаться зафиксированными в выходных линиях данных Q0-Q7. Нет необходимости сбрасывать все выходы Q. Когда вы снова нажимаете CS= 1, новые данные считываются снова в зависимости от адресных входов A0-A7. Здесь, поскольку в ОЗУ нет часов, CS должен тактироваться как 0-> 1 для записи или чтения новых данных.