Skip to content

Mgalleg/VerilogSimulator

Repository files navigation

PROJECT DESCRIPTION

For my final project I decided to make a verilog simulator. This simulator accepts verilog code from the front end and runs a simulator in the backend. The results from the simulation are then displayed on the front end for the user.

FEATURES

This project is user friendly with only 3 components for the user to consider. The first is the left text box where the user pastes or writes their code. The second is the simulate button that the user can press after writing their code. The third is the output text box on the right that displays the results.

IMPLEMENTATION

The project is composed of two parts: the frontend and the backend. The frontend communicates with the backend through a GET request. The frontend uses HTML and css styling. In the backend, the simulator “icarus verilog” http://iverilog.icarus.com/ is used. This simulator can be used through terminal commands. For this reason, the exec() method is called in the backend. The exec() is called twice. Once for processing the verilog code into an executable file, and another time for running that executable file. The output is sent back to the front end.

Below is the link to a video explaining the project as well as some screenshots showing the simulator in action. https://youtu.be/r3UO0o8gHs0

alt text

alt text

alt text

FUTURE CONSIDERATIONS

One way to add more functionality to this project is to allow the user to upload their verilog files. This would be useful to users who already have verilog files and simply wish to simulate their designs without having to copy and paste their code. Another feature that could be added is a waveform display. This would require running another program in the backend.

About

EE 599 Final Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published