Emulation of 'static RAM', which is essentially built from D-type flip-flops.
The principal difference between this and the standard RAM component in CircuitVerse is that all the static RAMs in this project are edge-triggered for write (reading is asynchronous).
The basic building block is the 1x8-bit SRAM circuit - a single byte of memory, built from an 8-bit D-type flip flop.
16 of these are then used in a 4 x 4 grid to build the 16x8-bit SRAM circuit, which now includes the necessary 4-bit address decoding circuitry.
16 of these are then used in a 4 x 4 grid to build the 256x8-bit SRAM circuit.
The pattern could be applied recursively to build, in turn, a 4KB, 64KB, 1MB chip, and so on.
Instructions
Set both buttons to off (RED). Now reset the sequencer and turn on button 1 and 2 (set to GREEN).
Button 1 controls the data fed to the displays.
OFF = Clear all displays ON = Programmed message
Button 2 controls the clock.
To change the message, dump the core or reset the EEPROM and rewrite the suitable data for the 16-Segment Displays. If the new message contains lesser or more letters/numbers to show, make suitable changes to the Sequencer and change the number of displays used.
simple computer with clock
commands:
10001: Clock
00011: Do a OR operation*
01101: Do a AND operation*
01110: Do a NAND operation*
01001: RAM edit/read**
*Use number inputs too do the logic.
**Use data inputs edit/assign values to an 8-bit RAM. Use the R/W pin to read & write.
Specs:
RAM:
1KB (as seen in photo)
Clock:
2HZ (as seen in photo)
BRWD: BINARY READER AND WRITER DEVICE
Specs:
7-bit RAM
8-bit Memory
How to use:
1. To start writing, set your clock speed, and turn on the "Writer" switch.
2. To scroll through the memory, turn on the "Scroll" switch. Press "Reset" if you are ready to read.
3. Turn the "Writer" switch off, and turn on "Scroll" to start reading the binary.
4. Then when you're done, press "Reset RAM" to reset your writing.
An improvement on my previous design of a rolling 16-Segment display, this time using RAM to store undisplayed letters. Note that a space will automatically be placed before your message each time. (If you see how I could prevent this, please let me know.)