Skip to content

ErickOF/MP6134-FunctionalVerification-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

MP6134 - FUNCTIONAL VERIFICATION - PROJECT

license last-commit repo-top-language repo-language-count


πŸ”— Table of Contents


πŸ“ Overview

❯ 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.


πŸ‘Ύ Features

❯ REPLACE-ME


πŸ“ Project Structure

└── 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

πŸ“‚ Project Index

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

πŸš€ Getting Started

β˜‘οΈ Prerequisites

Before getting started with MP6134-FunctionalVerification-Project, ensure your runtime environment meets the following requirements:

  • Programming Language: Shell, Verilog, SystemVerilog, SystemVerilogAssertions, Python

βš™οΈ Installation

Install MP6134-FunctionalVerification-Project using one of the following methods:

Build from source:

  1. Clone the MP6134-FunctionalVerification-Project repository:
❯ git clone https://github.com/ErickOF/MP6134-FunctionalVerification-Project
  1. Navigate to the project directory:
❯ cd MP6134-FunctionalVerification-Project
  1. Install the project dependencies:
> export_tools.sh
> make compile_uvm

πŸ€– Usage

Run MP6134-FunctionalVerification-Project using the following command:

> make uvm_gui

πŸ§ͺ Testing

Run the test suite using the following command:

> source regression.sh

πŸ”° Contributing

  • πŸ’¬ 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
  1. Fork the Repository: Start by forking the project repository to your GitHub account.
  2. Clone Locally: Clone the forked repository to your local machine using a git client.
    git clone https://github.com/ErickOF/MP6134-FunctionalVerification-Project
  3. Create a New Branch: Always work on a new branch, giving it a descriptive name.
    git checkout -b username/new-feature-x
  4. Make Your Changes: Develop and test your changes locally.
  5. Commit Your Changes: Commit with a clear message describing your updates.
    git commit -m 'Implemented new feature x.'
  6. Push to GitHub: Push the changes to your forked repository.
    git push origin username/new-feature-x
  7. Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
  8. Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
Contributor Graph


πŸŽ— License

This project is protected under the SELECT-A-LICENSE License. Refer to the LICENSE file for more details.


πŸ™Œ Acknowledgments