After borrowing the “Dragon Book” from the library, I was interested in trying to write my own compiler. Without ever having looked at VHDL or Verilog, I thought about creating a language to “program” simple digital circuits. Initially written in C, it is now a Rust application that parses and compiles source code in this hardware description language which I developed myself. It produces files that can be read by my LogicSimulator project, a web-based simulator for digital circuits. [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. The simulation runs in a background worker process, which means that it can run at high speeds without affecting the user interface. However, it is also possible to tie the simulation speed to the screen refresh rate. [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.