This machine is hardwire programmed to run a Fibonacci sequence from 1 to 13 (4 Bits). The ALU is simply a 4 Bit ICA adder (only Fibonacci so I didn't need anything else). There are 3 4-Bit registers: Input Reg A, Input Reg B, and Output Reg. These each have write to, CLR, and read from, making 9 commands. The 4 Bit data bus connects to the inputs of the input registers, the outputs of the b register (so I can move the value of B to A) and a lever to 1's place on the bus (for starting the sequence). There is also the decoder and display. This turns binary 1, 2, 3, 5, 8, and 13 into their decimals on a 7 segment display. The program is set up using 6 Lines of code. 1: Read A, Read B, Write Out
2: CLR A
3: Write B, Read A
4: CLR B
5: Write Out, Read B (This also displays the output as it is put on the bus)
6: CLR Out
Then it takes a 1 clock cycle break and loops.
The break is when you stop the clock after 13. The clock is very simple. It is a 16 tick clock with repeaters, a torch, and a lever.
First, make sure the clock is on it's seventh cycle. This is when no power is run to the program lines. Then Press the second lever from the left on the program to clear all registers. Then the lever next to that to Let Register A read from the bus and put a 1 on the bus. This is vital for beginning the program. Next, start the clock. After that the new number will be displayed on the 7-Segment display every 11.2 seconds, and stays there for 1.6 seconds. That's all there is to it!
Comments
Denied
I already told you the reasons online:
We want you with this challenge to understand the basics of CPU's.
One of the important parts is the Program Counter, you used a shift-Counter. It works but its not the way a CPU works.
You should use a register attached to decoder with ROM. How you set the next value to the register is your choice.
A shift Counter does not give you (and any CPU) the ability to jump in the Program Code in your ROM, which is a necessary feature in most programs.