Question about the address

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Question about the address

TamioH
Could someone please explain to me why address[13..14] can be shared between the DMux4Way and the Mux4Way16?  Also address[13] is shared with RAM16K as well.  I've tried to change the address[13..14] to [0..1] and other combinations but only the [13..14] seems to work.  If the address[13] is shared between these 3 lines, why can't other addresses be shared?

        DMux4Way(in=load, sel=address[13..14], a=ram0, b=ram1, c=scrn, d=keybrd);

        RAM16K(in=in, load=ram, address=address[0..13], out=ramout);

        Mux4Way16(a=ramout, b=ramout, c=scrnout, d=keybrdout, sel=address[13..14], out=out);

Thanks in advance for any help!

Reply | Threaded
Open this post in threaded view
|

Re: Question about the address

WBahn
Administrator
Write out the full address bit patterns for the first and last addresses for each of the three devices you are trying to select between (the RAM16K, the Screen, and Keyboard).

Which address bits contain the necessary information to control the select lines on the Mux and DMux chips to route the signals to/from the proper device?
Reply | Threaded
Open this post in threaded view
|

Re: Question about the address

TamioH
Eureka! I understand now.  WBahn, much appreciated for the help!
Reply | Threaded
Open this post in threaded view
|

Re: Question about the address

WBahn
Administrator
My pleasure. Thanks for the feedback.