由于RISC-V 是一个开放的 ISA,因此合规性测试 (compliance tests) 对于确认基本操作是否符合规范至关重要。虽然这是对软件社区和工具/操作系统生态系统有利的关键要求,但合规性与验证不同。合规性要求是基本结构和一些基本行为在允许的规范特征的范围内;它没有详尽地测试处理器的所有功能方面——它确认 RTL 实现...
python compliance_test.py ..\..\tests\riscv-compliance\build_generated\rv32i\I-ADD-01.elf.bin inst.data 如果运行成功的话就可以看到"PASS"的打印。其他指令使用方法类似。 4.3运行C语言程序 C语言程序例程位于tests\example目录里。 下面以simple程序为例进行说明。 首先打开CMD窗口,进入到tests\example\si...
tinyriscv——gp寄存器/riscv-tests的变化 在RISC-V 中,gp 寄存器是全局指针(Global Pointer)寄存器,用于存储全局数据区(.data 和 .sdata 段)的地址。在程序启动时,该寄存器会被设置为一个固定的值,通常为 __global_pointer$的地址,表示全局指针的起始地址。在一些情况下,可以通过修改该寄存器的值来实现一些特...
打开CMD窗口,进入到sim/compliance_test目录,执行以下命令: python .\compliance_test.py ..\..\tests\riscv-compliance\build_generated\rv32i\I-ADD-01.elf.bin inst.data 如果运行成功的话就可以看到"PASS"的打印。其他指令使用方法类似。 4.4运行C语言程序 C语言程序例程位于tests\example目录里。 下面以simp...
$ git clone https://github.com/riscv/riscv-tests $ cd riscv-tests $ git submodule update --init --recursive $ autoconf $ ./configure --prefix=$RISCV/target $ make $ make install The rest of this document describes the format of test programs for the RISC-V architecture. ...
估算进入和离开操作系统内核的成本,即执行系统调用的开销。它由一个简单的程序反复调用 getpid(返回调用进程的进程ID)系统调用组成。执行此类调用所需的时间用于估算进入和退出内核的成本。 Graphical Tests(图形)测试: 提供了2D和3D图形测试;目前,特别是3D套件非常有限,只包含 "ubgears" 程序。这些测试旨在...
我们基于GitHub CI构建了一套流程化的自动回归测试框架,并在过去大半年不断增加测试负载,从cputest,risc-tests到Linux,到SPECCPU workload。这套自动回归测试框架在保障和验证芯片的正确性。每个大项目总会有一些激动人心的时刻,这段30秒的小视频记录了香山在FPGA上启动Linux/Debian的时刻,略带喜感。视频链接:...
下面以add指令为例,说明如何运行新的指令测试程序。打开CMD窗口,进入到sim/compliance_test目录,执行以下命令:python compliance_test.py ..\..\tests\riscv-compliance\build_generated\rv32i\I-ADD-01.elf.bin inst.data如果运行成功的话就可以看到"PASS"的打印。其他指令使用方法类似。
tests/example/simple/Makefile文件内容如下: RISCV_ARCH:= rv32imRISCV_ABI:= ilp32RISCV_MCMODEL:= medlowTARGET=simpleCFLAGS+= -DSIMULATION#CFLAGS += -O2#ASM_SRCS +=#LDFLAGS +=#INCLUDES += -I.C_SRCS:= \ main.c \COMMON_DIR=../../bspTOOLCHAIN_DIR=../../..include../../bsp/co...
估算进入和离开操作系统内核的成本,即执行系统调用的开销。它由一个简单的程序反复调用 getpid(返回调用进程的进程ID)系统调用组成。执行此类调用所需的时间用于估算进入和退出内核的成本。 Graphical Tests(图形)测试: 提供了2D和3D图形测试;目前,特别是3D套件非常有限,只包含 "ubgears" 程序。这些测试旨在...