News for hackers. Stuff that matters.
Re:How do I make a computer by Jtsummers on Friday July 28, 2023 @03:55PM (#36912406)
https://www.nand2tetris.org/ - Another course. I'm not familiar with Hotz's course, but I like what this one covers and it's very approachable. It's roughly a survey version of a computer engineering curriculum so not deep (and ignores a lot of technical details, like assuming perfect timing for the logic circuits instead of dealing with actual electronics) but it's pretty comprehensive. It's a good introduction before going on to study the various areas it covers in more depth.
Re:How do I make a computer by apricot on Friday July 28, 2023 @10:40PM (#36916277)
My son is at this very moment doing the nand2tetris course on Coursera as a summer project, because he wanted to understand how computers work. It's very well done and the tools provided isolate the beginner from a lot of low-level EE details. The first half of the project has you build a simple 16-bit computer starting from logic gates, using a basic hardware description language, as well as an assembler for it. Simulators are provided. As you wrote, timing considerations are sweeped under the rug, which is too bad.

The second half is more software-oriented: you start by writing a stack machine emulator for your computer, and then you write a compiler for an object oriented high-level language that outputs stack machine code. Finally, you write a standard library for your language.

As a third part to this course, we will then implement that computer on an FPGA, following Michael Schröder at https://gitlab.com/x653/nand2tetris-fpga/ . This will be my first experience with FPGA development, so I'm looking forward to it as well.