Hacker News new | ask | show | jobs
by Waterluvian 1236 days ago
Is there a version of something like this that’s purely software?

Like, emulate gates and keep building bigger pieces until you have a function that’s a CPU. Etc.

I guess I’m thinking a bit more lower level than an emulator where you implement an opcode using normal capabilities of your language of choice.

I guess TFA is pretty close to this in ways, too.

5 comments

I have been building a CPU using: https://github.com/hneemann/Digital

Much faster than Logisim, UI a little clunky, but my CPU runs around 0.5Mhz and it has very nice peripherals like Telnet, graphics ram, VGA etc

Terrible name that is hard to google, but great tool.

Yeah. There this book which uses Haskell based Clash to build up simple CPUs, a VGA controller and other peripherals.

hardcover:

https://www.lulu.com/shop/gerg%C5%91-%C3%A9rdi/retrocomputin...

or digital:

https://leanpub.com/retroclash/

Oh that’s exactly what I was hoping for! Thank you!
The great Niklaus Wirth wrote a book which you might want to check out: Digital Circuit Design for Computer Science Students: An Introductory Textbook.
In college, we wrote a CPU simulation in C, for a simple architecture called "little computer". You could call it an emulator, but the whole idea was to faithfully implement all the pipelining and register renaming and stuff. A main loop iteration was equivalent to a clock cycle.
Worth a mention: https://turingcomplete.game I've played for a few hours, it's well made!