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