Skip to main content

Design and implementation of a digital logic simulation library

Table of Contents

This was posted some time before (perhaps a few weeks) the date above on the department’s portal for CSC494H1 projects. Taylor Whatley was selected for the project and worked on it during the Winter 2024 term. For more information, see Ripple.

This page archives the details from the posting; it is not a call for applications.

Project description #

Digital logic simulators can be very useful tools for teaching computer organization and architecture [1]. Many simulators are commercial applications aimed at industry professionals. However, some open source applications exist (e.g., Logisim Evolution, Digital), as do some web-based applications (e.g., CircuitVerse). The open source applications provide a simpler graphical user experience that is more suitable for learning, but the main focus of the interface is on building small circuits. The process for testing and debugging circuits, on the other hand, is lacking.

The purpose of this project is to develop the “backend” of a digital logic simulator for combinational and sequential circuits. That is, there is no graphical user interface, only an API (to be designed) and its implementation. The library will be implemented in C. The evaluation of the library may require the development of a benchmark set, if existing benchmarks from the literature are too out-dated, infeasible, or cannot be found [2].

[1] Nikolic, Bosko, et al. “A survey and evaluation of simulators suitable for teaching courses in computer architecture and organization.” IEEE Transactions on Education 52.4 (2009): 449-458.

[2] Miczo, Alexander. Digital logic testing and simulation. John Wiley & Sons, 2003.