I am lost in the implementation of the Memory.hdl chip. There are several things for which I am lost.
(Taking figure 5.7)
First thing: in does it correspond to input from Keyboard or it's just some other thing we would like to store in
Second thing: Screen has an out parameter, is this the same out as in the out --/--> arrow?
I am also confused in that if the output of the keyboard do I have to redirect it to the screen, if no, then where this memory address goes?
Actually, I do not understand why do you need address. Since the RAM16 take address, Screen, this will give me intuitively the last bit of the address to decide if I would access to the RAM or to the Screen, but leaving out the Keyboard.
The Memory chip is very similar to the other memory chips you built in the earlier project. You are provided a Screen chip and a Keyboard chip. These are really smaller memory chips that you will use to build Memory. Screen has an out that should be wired, somehow to the out of Memory. Keyboard has no input, because you need to imagine that it is wired directly to a physical keyboard.
Here's a hint. Look at the diagram for Memory with addresses. What are these numbers in binary? Can you notice a significant (hint) part of the addresses that helps you distinguish between whether or not input/output addresses indicate whether or not RAM16K, Screen or Keyboard is being addressed?