Go to file
yaozhicheng 4faee1680e doc: display ut-test-map 2024-11-07 18:50:16 +08:00
.github update 2024-10-23 15:19:00 +08:00
comm doc: display ut-test-map 2024-11-07 18:50:16 +08:00
configs doc: display ut-test-map 2024-11-07 18:50:16 +08:00
documents doc: display ut-test-map 2024-11-07 18:50:16 +08:00
dut re struct repo 2024-09-19 11:27:43 +08:00
rtl fix desc 2024-09-27 18:07:06 +08:00
scripts fix: format script names 2024-11-06 16:23:08 +08:00
tools test-result: dump to json 2024-11-06 16:41:23 +08:00
ut_backend makefile -> python 2024-11-05 15:24:46 +08:00
ut_frontend update 2024-10-09 20:01:48 +08:00
ut_mem_block update 2024-10-09 20:01:48 +08:00
ut_misc update 2024-10-09 20:01:48 +08:00
.gitignore support auto list reports 2024-11-07 11:26:23 +08:00
LICENSE Create LICENSE 2024-08-12 10:00:36 +08:00
Makefile fix make target all 2024-11-05 17:57:58 +08:00
README.en.md refine words 2024-11-04 17:56:47 +08:00
README.zh.md fix the way of full time test 2024-11-04 17:28:12 +08:00
__init__.py add license header 2024-11-05 15:28:57 +08:00
requirements.txt pip install toffee 2024-11-01 20:27:09 +08:00
run.py refine args 2024-11-07 11:27:27 +08:00

README.en.md

UnityChip For XiangShan Processor

English | 中文

This project aims to perform unit testing (Unit Test, UT) on the Kunminghu architecture of the XiangShan Processor through open-source crowdsourcing. Python is chosen as the primary verification language for this project. By participating in the verification, you will learn the following:

  1. Circuit Characteristics: Observe the characteristics of circuits from a software perspective and gain an in-depth understanding of circuit design principles.
  2. High-Performance Processor Design: Learn the Chisel hardware description language, study related code and papers, and master the latest architectural design concepts.
  3. Chip Verification Process: Familiarize yourself with specification documents (Spec documents), learn how to perform UT verification, and evaluate the rationality of verification results.
  4. Python Verification: Master advanced programming patterns such as asynchronous programming and callbacks, and use Python for chip verification.
  5. Linux Environment: Learn basic Linux commands and set up the verification environment.

This project welcomes contributions in various aspects and will provide rewards (such as bonuses, certificates, internship opportunities, etc.) within a certain period. Specific types of contributions include:

  • Contribution One: Write verification documents, including specification documents, instruction documents, functional description documents, etc., for the Design Under Test (DUT).
  • Contribution Two: Develop test cases, including test code and comments for each functional point, as well as related instruction documents.
  • Contribution Three: Discover and report bugs in the XiangShan Processor, and provide cause analysis and repair suggestions.
  • Contribution Four: Other contributions, such as adding new features to the tools provided by this project.

UnityChip project website: https://open-verify.cc

We look forward to your participation!

Quick Start

Refer to the Environment Preparation to set up the basic environment, and then run the following commands:

git clone git@github.com:XS-MLVP/UnityChipForXiangShan.git
cd UnityChipForXiangShan
pip3 install -r requirements.txt
make all

The above commands will automatically perform the following operations:

  1. Download the RTL code;
  2. Compile all available modules to be verified;
  3. Search for all Python files starting with test_ in the ut_* directories and run the test cases starting with test_ in them;
  4. Generate test reports (the test reports are located in the out directory);
  5. Update statistical data (you can view the statistical results through Local Documentation Display).

*By default, tests that are too time-consuming will be skipped. You can run all test cases by setting CFG=configs/noskip.yaml eg:

make all CFG=configs/noskip.yaml

How to Display Documents Locally

Follow the Documentation Deployment Instructions to set up the hugo environment, and then execute:

cd UnityChipForXiangShan
make doc

After executing the above commands, you will see output similar to:

Running in Fast Render Mode. For full rebuilds on change: hugo server --disableFastRender
Web Server is available at //localhost:1313/ (bind address 127.0.0.1)
Press Ctrl+C to stop

At this point, you can access the provided address (http://127.0.0.1:1313) through your browser.

For more documentation, please visit: https://open-verify.cc/UnityChipForXiangShan

UnityChip QQ Group:

600480230