Skip to content

A TUI for debugging a VCS simv executable, particularly useful for over ssh where simv -gui is difficult.

Notifications You must be signed in to change notification settings

EricAndrechek/simv-debugger

Repository files navigation

SIMV DEBUGGER

A TUI (terminal user interface) debugger for Synopsys VCS simulator. Made for UMich EECS470 course by the Speculative Dispatchers team.

Installation

Since this is to be used on UM CAEN computers, there are some project dependencies that need to be installed in order to develop. If you want to try developing this application, make changes, or test local builds, see the Development section.

Otherwise, to just use the debugger, you can install a pre-built binary by running the following command (or download and run the binary from the releases page instead of piping to bash...):

curl https://raw.githubusercontent.com/EricAndrechek/simv-debugger/refs/heads/main/install.sh | bash

Usage

# Run the debugger
./debugger --help

# Run the debugger with a simv executable
./debugger ./path/to/simv

# Run the debugger with a simv executable and custom arguments (like memory or output file)
./debugger ./path/to/simv +MEMORY=programs/mem/test_1.mem +OUTPUT=output/test_1.out

Features

  • Load and display the source code
  • Display the current line of code
  • Display the current instruction
  • Display the current variable values
  • Go forward and backward in time
  • Set breakpoints
  • Step through the code
  • Run the code
  • Handle makefiles and auto-detect targets
  • Auto-update
  • Automatically log and send errors to the developers
  • Package as a standalone executable for easy installation and use on CAEN
  • Portable settings file for easy configuration and sharing
  • Show drivers and loads of registers/variables

Development

Clone the repo locally (like to CAEN) and either run the develop.sh script, or run the following commands to set up python:

curl https://pyenv.run | bash

# Add the following to your shell profile (e.g. ~/.bashrc, ~/.zshrc, etc.)
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv virtualenv-init -)"

# Restart your shell or run the following command
source ~/.bashrc

# Install the required Python version
pyenv install 3.8.3
pyenv global 3.8.3

# Set up the virtual environment
python3.8 -m venv venv

# Activate the virtual environment
source venv/bin/activate

# Install the required Python packages
pip install -r requirements.txt

About

A TUI for debugging a VCS simv executable, particularly useful for over ssh where simv -gui is difficult.

Resources

Stars

Watchers

Forks

Packages

No packages published