Expand description
§SystemVerilog Simulation
A simple SystemVerilog simulation tool written in rust
§Project Scope
- Provide a simple SystemVerilog parser
- Provide simple analysis tools
- Allow design verification for simple projects
§Repository Contents
§Installation
sv-sim uses cargo for package management. If you wish to generate documentation with styling, generate_docs.sh is provided. In order to apply styling, git submodules must be initialized.
# Clone repo
git clone https://github.com/DMoore12/sv-sim.git
# Initialize submodules
cd ./sv-sim
git submodule init
# Run test file
cargo run -- ./sv/cu_top.sv none
# Generate documentation
sudo chmod +x generate_docs.sh
./generate_docs.sh§Usage
sv-sim uses clap for argument parsing. Use cargo run -- --help or sv-sim[EXE] --help to view input arguments and parameters
§Arguments
log_level- Log level for output. Defaults to
error
- Log level for output. Defaults to
verbose- Gives additional build information in output
Modules§
- module
- Module type and parsing
- sim_
time - Simulation timing constraints and parsing
- var_
types - Variable types and parsing
Structs§
- SimObject
- Simulation object
Enums§
- Lexing
Error - Errors occurring due to incorrect character sequences
- Token
- Lexer token output
Functions§
- parse_
sv_ file - Parses a read SystemVerilog file
- read_
sv_ file - Reads a SystemVerilog file to string for parsing