- π Overview
- πΎ Features
- π Project Structure
- π Getting Started
- π° Contributing
- π License
- π Acknowledgments
β― This repository contains the functional verification for darkriscv. This a course project for MP6134 Functional Verification of the Master's in Electronics degree at Costa Rica Institute of Technology.
β― REPLACE-ME
βββ MP6134-FunctionalVerification-Project/
βββ LICENSE
βββ Makefile
βββ README.md
βββ export_tools.sh
βββ regression.sh
βββ rtl
β βββ README.md
β βββ include
β βββ interfaces
β βββ src
βββ tb
β βββ README.md
β βββ checkers
β βββ environment
β βββ filelist.f
β βββ sequences
β βββ tests
βββ tb_uvm
βββ assertions
βββ checkers
βββ environment
βββ filelist.f
βββ sequences
βββ tests
MP6134-FUNCTIONALVERIFICATION-PROJECT/
__root__
regression.sh β― REPLACE-ME
export_tools.sh β― REPLACE-ME
Makefile β― REPLACE-ME
rtl
src
darkriscv.v β― REPLACE-ME
include
config.vh β― REPLACE-ME
interfaces
darkriscv_if.sv β― REPLACE-ME
tb_uvm
filelist.f β― REPLACE-ME
assertions
r_type_assertions.sva β― REPLACE-ME
environment
darkriscv_scoreboard.sv β― REPLACE-ME
darkriscv_agent.sv β― REPLACE-ME
instructions_pkg.svh β― REPLACE-ME
darkriscv_items_pkg.sv β― REPLACE-ME
darkriscv_driver.sv β― REPLACE-ME
darkriscv_input_cov.sv β― REPLACE-ME
darkriscv_output_cov.sv β― REPLACE-ME
darkriscv_reference_model.sv β― REPLACE-ME
darkriscv_input_item.sv β― REPLACE-ME
helper.sv β― REPLACE-ME
darkriscv_env.sv β― REPLACE-ME
darkriscv_monitor.sv β― REPLACE-ME
darkriscv_output_item.sv β― REPLACE-ME
sequences
darkriscv_seq.sv β― REPLACE-ME
i_instr_seq.sv β― REPLACE-ME
b_instr_seq.sv β― REPLACE-ME
random_instr_seq.sv β― REPLACE-ME
s_instr_seq.sv β― REPLACE-ME
darkriscv_item.sv β― REPLACE-ME
j_instr_seq.sv β― REPLACE-ME
l_instr_seq.sv β― REPLACE-ME
init_registers_seq.sv β― REPLACE-ME
u_instr_seq.sv β― REPLACE-ME
r_instr_seq.sv β― REPLACE-ME
save_registers_seq.sv β― REPLACE-ME
checkers
s_type_checker.sv β― REPLACE-ME
base_instruction_checker.sv β― REPLACE-ME
i_type_checker.sv β― REPLACE-ME
tb
filelist.f β― REPLACE-ME
environment
riscv_defs.svh β― REPLACE-ME
instructions_pkg.svh β― REPLACE-ME
dut_intf.sv β― REPLACE-ME
driver.sv β― REPLACE-ME
environment.sv β― REPLACE-ME
riscv_reference_model.sv β― REPLACE-ME
tb_top.sv β― REPLACE-ME
helper.sv β― REPLACE-ME
monitor.sv β― REPLACE-ME
scoreboard.sv β― REPLACE-ME
sequences
stimulus_types.sv β― REPLACE-ME
stimulus.sv β― REPLACE-ME
checkers
j_type_checker.sv β― REPLACE-ME
b_type_checker.sv β― REPLACE-ME
s_type_checker.sv β― REPLACE-ME
base_instruction_checker.sv β― REPLACE-ME
u_type_checker.sv β― REPLACE-ME
r_type_checker.sv β― REPLACE-ME
i_type_checker.sv β― REPLACE-ME
Before getting started with MP6134-FunctionalVerification-Project, ensure your runtime environment meets the following requirements:
- Programming Language: Shell, Verilog, SystemVerilog, SystemVerilogAssertions, Python
Install MP6134-FunctionalVerification-Project using one of the following methods:
Build from source:
- Clone the MP6134-FunctionalVerification-Project repository:
β― git clone https://github.com/ErickOF/MP6134-FunctionalVerification-Project
- Navigate to the project directory:
β― cd MP6134-FunctionalVerification-Project
- Install the project dependencies:
> export_tools.sh
> make compile_uvm
Run MP6134-FunctionalVerification-Project using the following command:
> make uvm_gui
Run the test suite using the following command:
> source regression.sh
- π¬ Join the Discussions: Share your insights, provide feedback, or ask questions.
- π Report Issues: Submit bugs found or log feature requests for the
MP6134-FunctionalVerification-Project
project. - π‘ Submit Pull Requests: Review open PRs, and submit your own PRs.
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your GitHub account.
- Clone Locally: Clone the forked repository to your local machine using a git client.
git clone https://github.com/ErickOF/MP6134-FunctionalVerification-Project
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b username/new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.'
- Push to GitHub: Push the changes to your forked repository.
git push origin username/new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
- Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
This project is protected under the SELECT-A-LICENSE License. Refer to the LICENSE file for more details.
- Powered by README AI.