Skip to content

Hidden-Seed/v-framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Verilog Code Framework - v-skeleton

This repository provides a minimal framework for developing, simulating, and debugging Verilog-based digital designs. It supports both standard simulation and NVBoard-based graphical simulation for visual interaction.

πŸ“ Directory Structure

v-skeleton/
β”œβ”€β”€ constr/             # Timing constraint files
β”‚   └── top.nxdc        # Top-level constraint file (e.g., for FPGA tools)
β”œβ”€β”€ include/            # Common C/C++ headers
β”‚   β”œβ”€β”€ debug.h         # Debugging macros
β”‚   └── macro.h         # Utility macros
β”œβ”€β”€ Makefile            # Build system configuration
β”œβ”€β”€ README.md           # This file
β”œβ”€β”€ src/                # C++ simulation entry points
β”‚   β”œβ”€β”€ main_sim.cpp    # CLI-based simulation without GUI
β”‚   └── nvboard/
β”‚       └── main_nv.cpp # NVBoard-based simulation with GUI
└── vsrc/               # Verilog source files
    └── top.v           # Top-level Verilog module

βš™οΈ Building & Running

1. Prerequisites

Ensure the following tools are installed:

  • Verilator – for Verilog-to-C++ simulation.
  • g++ – for compiling the C++ simulation driver.
  • (Optional) NVBoard – for GUI simulation support.

2. Build Simulation

To build the command-line simulation version:

make sim

To build the NVBoard-based GUI version:

make nv

3. Run Simulation

After a successful build, run the executable:

./build/sim    # Run command-line simulation
./build/nv     # Run with NVBoard GUI

πŸ§ͺ Testing & Debugging

  • Use macros in debug.h for printing debug information.
  • Clean build artifacts with:
make clean

πŸ“„ License

Please choose and specify a license (e.g., MIT, BSD, GPL) appropriate for your use case.

About

Verilog Code Framework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published