1
\$\begingroup\$

Multisim has a 2k8 RAM component that I was playing around with. Here is how it works. Here is what happens when I simulate this. Let's say I save the value 00000011 to address 00000000. Then, I make all inputs low. Then, I make CS high in order to read the data. My indicators turn on as expected. When I turn CS off, however, they sometimes stay on even if all the inputs are low. Is this what is supposed to happen? Can someone please explain in more detail how to read and write data? I could not find the resource anywhere. Here is a picture of the simulation. enter image description here

\$\endgroup\$
  • \$\begingroup\$ Have you kept the WR pin on write the entire time? \$\endgroup\$ – KingDuken Feb 19 '18 at 16:39
  • \$\begingroup\$ @KingDuken I kept the Write Enable pin HIGH when writing and LOW when reading \$\endgroup\$ – shurup Feb 19 '18 at 19:27
2
\$\begingroup\$

That is not a wrong behaviour for your RAM as far as what I understood from the limited information in the link you have given. You fed some data to some addresses in the RAM. Now you wanna read those data. When WE = 0 and and CS = 1, the data is read into Q0-Q7 depending upon the address inputs A0-A7. Now you pull CS = 0. At this time, the previous data which was read before, may stay latched in the output Q0-Q7 data lines. It is not necessary that all Q outputs should be reset. When you pull CS= 1 again, new data is read again depending upon the address inputs A0-A7. Here since the RAM has no clock, CS should be clocked like 0->1 for writing or reading new data.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.