A compiler written in Rust that compiles source code in a hardware description language which I developed myself. It produces files that can be read by gitlab.com/maxkl2/LogicSimulator, a web-based simulator for digital circuits. I have written an extensive README containing a lot more details and instructions on how to use the compiler which is available on GitLab together with the source code: gitlab.com/maxkl2/hdl-compiler. To ensure its correct functionality and to test its limits (especially regarding future optimizations) I have also written a 16-bit RISC core in this hardware description language: gitlab. [Read More]
A simulator for digital circuits
This is a web application for editing and simulating digital circuits. The simulator uses a cycle-based algorithm: each component is evaluated once per simulation cycle. It does not account for the propagation delay of wires or components. At the moment, the simulation speed is fixed to the screen refresh rate. However, the plan is to run the simulation in a background thread (web worker) in the future, which would make much higher simulation speeds possible. [Read More]
Emulates an AT89C5131A microcontroller
This is an emulator, written in C++, that executes .hex files. It emulates Atmels AT89C5131A microcontroller, including peripherals. At the moment, it emulates most instructions but the only supported peripherals are the GPIO ports.