|
Characteristics of the SRAM:
- 3 addresses (000, 001, 010)
- 3 bits of rewritable data per address
- Total storage capacity of 9 bits
I call this a computer because is it has the ability to read, write, and execute instructions; demonstrated here in the form of a programable sequential light show.
* SCROLL TO THE BOTTOM FOR SOME EXAMPLE PROGRAMS! *
How it works:
1. Use the first 3 vertical logic switches on the right side to put in the appropriate binary address; the range is from 000 to 010, where 000 is the first address and 010 is the last address. The upper-most logic switch is the LSB, while the 2nd-last logic switch is the MSB.
2. Observe the outputs which instantly reflect the data stored in the address now being accessed. Output is shown with Green LEDs.
3. Use the first 3 horizontal logic switches on the bottom as the data input when trying to write data to a specific address.
*** IMPORTANT: ***
The 4th logic switch (to the right of the switches described in #3) is only for running the program you wrote; by switching between a manual address input (position 1) and an automatic (counter-based) address input (position 0 -- The RUN position). The counter function would simply switch between each address for you at the rate of the logic train for the purpose of executing the very small program/instructions that you wrote within each address.
5. Use the very last vertical logic switch on the right side to either read or write the data within the address. The Red LED indicates when the data has been written to memory; When Off or 0, data can only be read.
* Unfortunately there isn’t enough space left to integrate any reset lines, so each address has to be set to Low/0 individually. Just set to all zeros using the 3 bit data inputs if you need to reset everything, one address at a time. Or you can just reset the simulation.
Here’s some example programs you can try:
1. See if you can make the output look like a straight ring counter (aka over-beck)
To do it, put in the following instructions:
Address 000: 001
Address 001: 010
Address 010: 100
2. See if you can make a very poor example of an oscillator with a programmable duty cycle/ pulse width
To do it, try these two different sets of instructions for two different pulse lengths:
SHORT pulse length:
Address 000: 111
Address 001: 000
Address 010: 111
LONG pulse length:
Address 000: 111
Address 001: 000
Address 010: 000
|