Digital-Design-Labs

Digital Design in System Verilog and Assembly

Overview

This repository contains a suite of digital design modules written in SystemVerilog and assembly language programs. The collection covers a range of topics from basic logic components to complex sequential designs and a microprocessor-interfacing game, suitable for educational purposes and as a reference for designing similar systems.

Contents

SystemVerilog Modules

Assembly Programs

Getting Started

To run the SystemVerilog files, you’ll need to have an HDL simulator like ModelSim or Vivado installed. You can compile and simulate each module and its corresponding testbench to observe the behavior and validate the design. For your information, I used ModelSim to develop with Verilog.

For the Assembly language files, an assembler and simulator for the specific microprocessor architecture they are written for (PIC16F84A) are required. These files can be assembled into machine code, loaded, and run on the simulator to watch the program’s execution. Additionally, I use WinAsm to write Assembly code.

IMPORTANT: You are also encouraged to visit the specific directories and files to read the code and understand the design and implementation details. There will also be README files in these directories providing additional information about the modules and programs.

How to Use

  1. Clone the repository to your local machine.
  2. Navigate to the specific project or file you wish to examine or simulate.
  3. Open the file with an appropriate editor or IDE for SystemVerilog/assembly language.
  4. To simulate SystemVerilog modules, compile them along with the testbenches using your HDL simulator and run the simulation.
  5. To run assembly programs, assemble them with your chosen assembler and run them using a simulator or an actual microprocessor, if available.

Contributing

Your contributions are welcome! If you have suggestions for additional modules, improvements to existing ones, or have found any issues, please open a pull request or issue.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

I’d like to thank all the contributors and users of this repository for their interest in digital design and assembly programming!


Created with ❤️ by Son Nguyen in 2024.