Check out NAND at https://nand.arhan.sh
Additionally, I've authored an extensive writeup about the project. Read about it on the GitHub repository's readme.
But you can Google "nand2tetris fpga" for more.
EDIT: there's more information here: https://www.megaprocessor.com/
It's been a few years since I studied it (I even built the clock module, registers and the ALU), but from what I remember the biggest departing point from what you want is that the control logic (from instruction decoding to deciding which sub-units to activate for each instruction) is done with an EEPROM instead of individual logic gates, as described here: https://eater.net/8bit/control
61 TTL chips mentioned in this 8 minute overview https://youtu.be/3zGTsi4AYLw
It displayed on a VGA monitor.
I have just embarked on this journey myself, recently. It is motivating to see others' work. Especially when they're not quite the same as what I'm doing.
(I've never built or simulated that, I'm just trying to imagine what could happen!)
No.
This is a Cray-I backplane.[1]
[0] https://en.wikipedia.org/wiki/One-instruction_set_computer
Meanwhile, CMOS logic inherits both of these problems (in return for better performance in general), but due to semiconductor chemistry, PMOS transistors are weaker than NMOS ones (which was why NMOS was more widely used than PMOS in the first place), so NAND gates have two strong transistors in series and two weak transistors in parallel, which gives a better worst-case switching speed than a NOR gate (where the weak transistors are in series, and so switch noticably slower). This is where "NANDs are used for everything" comes from.
[0] https://store.steampowered.com/app/1444480/Turing_Complete/
I fear for the kind of competition my kids will have just to make it to college.
The course walks you through it all, and there is an accompanying book that you do not need to buy to finish the course.
Anyone who wants to do this and can focus on it for enough time can complete it and extend it into whatever shape they like, like this person.
It really is a good course.
It’s also neat how “ground” has been deepening. It used to mean building mainframe from source. Then building a compiler. Now building from logic gates.
How much deeper can you get? Building a mainframe out of Gödel numbers?
If not, I think a NAND gate is made of just two transistors, so if you mean emulating how transistors should behave then I don't think it will affect performance more than ~50%
Do you know any resources that document the transistor to logic gate translation?
The electromechanical relay is a very simple device to understand, if you're willing to just believe that electromagnets produce magnetism (without understanding why the universe works according to Gauss's laws on the relationship between electric current and magnetism). It's a coil of wire where an electric current produces magnetism that physically pulls a switch open or closed.
My guess is that automata theory consideres it critically important that a "Turing machine" has an infinite tape, while intuitively it instead seems relevant that it has something like a tape at all, some sort of random access memory, even if it is finite. I think such a memory system can't be implemented with classical finite state machines, at least not with comparable time complexity for read and write, but can be realized with sequential logic.
Yet we know this doesn't happen in practice.
> A Turing machine’s infinite tape is what stops it being a finite state machine.
Well, that's if you accept the usual automata theory definition, which was what I was arguing against. Part of having an "infinite tape" memory is not just that it is infinite, but also that it is a tape. A pushdown automaton also has infinite "memory" (though a stack, not a tape memory with random access), but it is still not equivalent to a Turing machine. Nor is it equivalent to a finite state machine.
Basically, what I suspect is that the type of "memory" system that some automaton allows determines its computational power, not whether the memory or the maximum number of its states is infinite or not.