I don't know how compact it is compared to others and it's almost certainly slower than just about anything else out there, due to the MASSIVE amount of torches; however, I'm just happy that it works xD
It's designed to be extendable to any size required, with the sky serving as the only limit, but I think bank switching could be implemented if you DO actualy run into the sky.
That is definitely one of the best RAM builds I've seen. How many bits is it?(do nibbles=bits?)
Really? Thanks! :biggrin.gif:
Oh, and nibbles = half-bytes.
So there's 64 bits total, but again: I designed it to be relatively easy to expand. So making it into 16 bytes would just be a matter of adding more registers away from the demultiplexer. Expanding the address space would only require increasing the demultiplexer's size.
I REALLY like the way you solved the address decode problem in a nice, compact way.
That is very clever!
Thanks! I hate how slow it is, though, but I guess that's the the price I have to pay for compactness.
Actually, now that I think about it, decoding the address wasn't the biggest problem for me. Selecting a specific register and outputting its stored value was a much bigger challenge. Maybe I'm missing something, but I can't think of a way to do it that doesn't involve the use of a crapload of pistons. I must be missing something.
RAM (Random access memory) allows you to select a specific address and write whatever is at the data inputs to it when the clock is activated. This specific design has 16 addresses, each 4 bits in length, meaning you can store up to 64 bits worth of data! (I know, I know... Freakin' AWESOME, right?! :tongue.gif:)
That looks like a building with streets. :smile.gif:
Very clean layout and nice use of colors.
I was thinking that with your original design you could have the address lines / decoders between two memory banks and just add one more line for select.
I was thinking that with your original design you could have the address lines / decoders between two memory banks and just add one more line for select.
:blink.gif: Really like this idea. I'll try it when I get the chance. Thanks!
This is cool. However it looks like expanding the word size is the only way to increase capacity, other than expanding straight up, as you cant stack them in a row. At least, that is what it looks like. Perhaps you could try and make this so you can line them up side by side, so the layer (up and down) is not the only expandable direction, and instead you can expand lengthwise too for more storage. Otherwise it is nice and compact.
It's designed to be extendable to any size required, with the sky serving as the only limit, but I think bank switching could be implemented if you DO actualy run into the sky.
I owe SkyshockX most of the credit for his awesome DFF design.
I'm not sure if I made the schematic correctly, but if anyone wants it, it's over here.
Really? Thanks! :biggrin.gif:
Oh, and nibbles = half-bytes.
So there's 64 bits total, but again: I designed it to be relatively easy to expand. So making it into 16 bytes would just be a matter of adding more registers away from the demultiplexer. Expanding the address space would only require increasing the demultiplexer's size.
That is very clever!
Thanks! I hate how slow it is, though, but I guess that's the the price I have to pay for compactness.
Actually, now that I think about it, decoding the address wasn't the biggest problem for me. Selecting a specific register and outputting its stored value was a much bigger challenge. Maybe I'm missing something, but I can't think of a way to do it that doesn't involve the use of a crapload of pistons. I must be missing something.
Hope this helps.
Derp. Now I feel stupid for not thinking of this :tongue.gif: Thanks!
Which is why I had to use a bunch of repeaters, but I fixed that problem in the updated design in the post right before yours.
Yes. Huge. You have enough time to walk around and watch the torches change when you switch the address, or hit the clock :tongue.gif:
RAM (Random access memory) allows you to select a specific address and write whatever is at the data inputs to it when the clock is activated. This specific design has 16 addresses, each 4 bits in length, meaning you can store up to 64 bits worth of data! (I know, I know... Freakin' AWESOME, right?! :tongue.gif:)
I've made no attempt to compact it yet...
Very clean layout and nice use of colors.
I was thinking that with your original design you could have the address lines / decoders between two memory banks and just add one more line for select.
Hmmm... I believe you're at 256 bits now!
:blink.gif: Really like this idea. I'll try it when I get the chance. Thanks!