mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			52 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# CORE-V Wally Design Verification Test Plan
 | 
						|
 | 
						|
CORE-V Wally is functionally tested in the following ways.  Each test is run in lock-step against ImperasDV to ensure all architectural state is correct after each instruction.
 | 
						|
 | 
						|
| Functions      | Coverage Method | Status |
 | 
						|
| ----------- | ----------- |----|
 | 
						|
|  Instructions | riscv-arch-test | Pass   |
 | 
						|
| Privileged Unit   | wally-riscv-arch-test        | Pass   |
 | 
						|
| Virtual Memory | wally-riscv-arch-test | Pass |
 | 
						|
| PMP | wally-riscv-arch-test | Pass
 | 
						|
| Peripherals | wally-riscv-arch-test | Pass |
 | 
						|
| Floating-Point | TestFloat | Pass |
 | 
						|
| General | Code Coverage | 91% |
 | 
						|
| General | Boot Linux in Sim | Pass | 
 | 
						|
| General | Boot Linux on FPGA | Pass |
 | 
						|
 | 
						|
 | 
						|
The following performance validation is also run:
 | 
						|
| Function | Method | Status |
 | 
						|
| --- | --- | --- |
 | 
						|
| Overall Performance | embench | Pass|
 | 
						|
| Overall Performance | coremark | Pass |
 | 
						|
| Branch Predictor | *** | Pass |
 | 
						|
| Cache Miss Rate | *** | Pass |
 | 
						|
 | 
						|
 | 
						|
 | 
						|
* Run [RISC-V Architecture Compatibility Tests](https://github.com/riscv-non-isa/riscv-arch-test) in lock-step against the ImperasDV reference model.
 | 
						|
* Run custom tests to cover virtual memory, PMP, privileged unit, and peripherals in lock step against ImperasDV.
 | 
						|
* ***pending: Run random tests generated by risc-dv
 | 
						|
* Run CoreMark and Embench benchmarks.
 | 
						|
* Run performance validation against reference models for the branch predictor and caches.
 | 
						|
* Run the TestFloat suite against all precisions of all operations for the FPU unit.
 | 
						|
* *** 83.5% coverage of statements, branches, expressions, and FSM states and transitions
 | 
						|
* Boot Buildroot Linux in lock-step against ImperasDV.
 | 
						|
* Boot Buildroot Linux on an FPGA and run programs.
 | 
						|
 | 
						|
# Running Tests
 | 
						|
 | 
						|
# 
 | 
						|
 | 
						|
# Detailed Test Plans
 | 
						|
 | 
						|
The test plans for specific units are lined below:
 | 
						|
 | 
						|
* Privileged Unit
 | 
						|
* Memory Management Unit
 | 
						|
* Peripherals
 | 
						|
* Branch Predictor Performance Validation
 | 
						|
* Cache Performance Validation
 | 
						|
 | 
						|
Wally is described in an upcoming textbook, *RISC-V System-on-Chip Design*, by Harris, Stine, Thompson, and Harris.   |