Hi, I'm also finished RAM64, but I have a puzzled about the last sentence of code,
That is 'address[3..5]', because I start using 'address[0..2]'.
When I running RAM64.hdl, it throw an error. so I tried to modify '[3..5]' to '[0..2]' , unbelievably, RAM64.hdl was running well.
You can use any 3 of the address bits in the output multiplexor, but you need to use the same 3 bits in the demultiplexor that handles 'load'. The 3 bits that are not used in the mux and demux must be used for the addresses for the RAM8s.