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.)
Functional Electronic Machine Binary Operator Yes - 8-bit cpu
This is a work in progress right now.
INSTRUCTION SET:
00: MOV [r], A - Loads a register into the accumulator.
01: MOV A, [r] - Saves a register into the accumulator.
02: INC [r] - Increment a register
03: DEC [r] - Decrement a register
04: ADD [r] - Add the accumulator to a register
05: SUB [r] - Subtract the accumulator to a register
06: OUT [r] - Output a signal from a register
07: HLT - End program
REGISTERS:
00: REGISTER 1
01: REGISTER 2
02: REGISTER 3
04: REGISTER 4
Update Notes:
Final design before update of is a.
To-Do:
Add WIP instructions
Add the accumulator to a register address
Increase amount of registers to 8
Add Ram manipulation instructions
Add Input to CPU
Add more operations to the ALU
Add ASCII i/o
Make a simple command line
Make an assember
Make a simple operating system for the cpu
Add rgb output
This is the CTH-10 CPU. By CrEePeRz24321. (most updated version of the CTH Series) This uses all binary to operate. First click on Power to start. Turn Op to 1 and double click the RAM. Then type in the Op code you want. Only put inputs and read outputs of the User Interface. Wait until the Red light turns Green then start. If you want to change operations, then turn Op to 1 and double click the RAM. Then type in the Op code you want. (If you use full screen, and it keeps on kicking you out when you type, click full screen and then look to the bottom right and press + or - and don't touch the full screen after that unless the RAM input kicks you out)
0 is No Operation - Inputs unavailable
1 is RAM - write the address into In1, write the number you want to store into In2 and press Write.
2 is ADD - write the first digit into In1, write the second digit into In2
3 is Subtract - write the first digit into In1, write the second digit into In2
4 is Counter - Inputs unavailable
5 is AND Gate - write the first digit into In1, write the second digit into In2
6 is a Clock - Inputs unavailable
7 is Accessing the ROM - Inputs unavailable
8 is Binary to Decimal converter
9 is Random Number - Inputs unavailable
10 is Not Gate - write the converting digit into In1
11 is Shift Right* - write the converting digit into In1, write the shift number into In2
12 is Shift Left* - write the converting digit into In1, write the shift number into In2
13 is Multiply - write the first digit into In1, write the second digit into In2
14 is Divide - write the first digit into In1, write the second digit into In2**
HALT is to halt operation
*when using shift the first 3 digits of Out will be nonfunctional
**when using divide the first 4 digits away from the CPU are remainders and the last 4 digits closest to the CPU are quotients.
(There is also a Computer version that doesn't get updated much.)
This is the CTH-10 CPU. This uses all binary to operate. First click on Power to start. Turn Op to 1 and double click the RAM. Then type in the Op code you want. Only put inputs and read outputs of the User Interface. Wait until the Red light turns Green then start. If you want to change operations, then turn Op to 1 and double click the RAM. Then type in the Op code you want. (If you use full screen, and it keeps on kicking you out when you type, click full screen and then look to the bottom right and press + or - and don't touch the full screen after that unless the RAM input kicks you out)
0 is No Operation - Inputs unavailable
1 is RAM - write the address into In1, write the number you want to store into In2 and press Write.
2 is ADD - write the first digit into In1, write the second digit into In2
3 is Subtract - write the first digit into In1, write the second digit into In2
4 is Counter - Inputs unavailable
5 is AND Gate - write the first digit into In1, write the second digit into In2
6 is a Clock - Inputs unavailable
7 is Accessing the ROM - Inputs unavailable
8 is Binary to Decimal converter
9 is Random Number - Inputs unavailable
10 is Not Gate - write the converting digit into In1
11 is Shift Right* - write the converting digit into In1, write the shift number into In2
12 is Shift Left* - write the converting digit into In1, write the shift number into In2
13 is Multiply - write the first digit into In1, write the second digit into In2
HALT is to halt operation
*when using shift the first 3 digits of Out will be nonfunctional