This blog is about Simon, a young gifted mathematician and programmer, who had to move from Amsterdam to Antwerp to be able to study at the level that fits his talent, i.e. homeschool. Visit https://simontiger.com
In October and early November, Simon was busy with another attempt to simulate SAP-1 (simple as possible processor, an 8-bit computer) in Circuitverse (something that he hadn’t managed to complete when he tried it last time). I’m not even sure if anyone uses Circuitverse for such large-scale projects.
On November 7, Simon finally managed to finish the RAM on his simulated 8-bit computer (a computer where every general-purpose register contains 8 bits and therefore can only process 8 bits of data)! Although he is far from the end of the project, he is convinced that the RAM is the hardest part, so “now everything is going to be okay!”
“RAM was the hardest mainly because I have been trying to build the subcircuit for the RAM myself, which is not going to do it for SAP-2”,(Simon’s next ambition, also an 8-bit computer but with 64K memory, 2K PROM + 62K RAM). “This time the RAM I needed was particularly small, so I built a mini-RAM myself”.
As some of you may know, Simon is working on building a real-life 8-bit computer from scratch, guided by Ben Eater’s tutorials (it’s a huge project that may takes months). He has also been enchanted by the idea to build the computer in a simulator as well, researching all virtual environments possible. The best simulator Simon has tried so far has been Circuitverse.org, although he did stumble upon a stack overflow error once, approximately half-way through (maybe the memory wasn’t big enough for such an elaborate circuit, Simon said). You can view Simon’s projects on Circuitverse here: https://circuitverse.org/users/7241
Simon has also tried building an 8-bit computer in Simulator.io, but it was really difficult and time consuming:
The next hopeful candidate was the Virtual Breadboard desktop app for pc. Simon downloaded it about ten times from the Microsoft store but it somehow never arrived, most probably because our Windows version was slightly outdated but who knows.
And finally, Simon has also discovered Fritzing.org, an environment for creating your own pcbs with a real-life look. He may attempt actually making a hardcopy SAP-1 via Fritzing after he’s done with the Ben Eater project. Conclusion: sticking with Circuitverse for the time being.
Simon gave me a whole lecture on the differences between Sequential and Combinational Logic: in the former, there’s a presence of a feedback loop (the output actually goes back to somewhere else in the circuit), and the latter has everything going in one direction (the inputs come in and the outputs go out).
It’s a little bit like the difference between a Feed Forward neural network where the output only depends on the input and a recurrent neural network where the output also depends on what the output was previously,
Here’s a problem with sequential logic circuits: they go crazy like this very often (confused NOR gate). That’s why most sequential logic circuits have a clock in them. A clock acts like a delay so that it won’t go crazy.
That’s the power of sequential logic: you can have the same input but a different output. This is useful for storing data: I release the input, but the data is stored. It can only be archived in sequential logic.
The delay comes in error detection (on the rising edge of the square wave).