RISC-V模型

riscv-model的Python项目详细描述


这是risc-v is a的python模型。它旨在成为基于python的自动化测试和验证的资源。 它正在开发中,还不是很有用,但可以用来生成随机汇编代码。

文档:https://riscv-python-model.readthedocs.io/en/latest/

快速启动

首先安装:

pip3 install riscv-model

创建随机汇编程序序列

创建随机汇编程序序列:

riscv-random-asm

您可以调整汇编程序输出:

usage: riscv-random-asm [-h]
                        [-i {add,sub,sll,slt,sltu,xor,srl,sra,or,and,jalr,addi,slti,sltiu,xori,ori,andi,lb,lh,lw,lbu,lhu,slli,srli,srai,sb,sh,sw,beq,bne,blt,bge,bltu,bgeu,lui,auipc,jal}]
                        [--version]
                        [N]

Generate sequence of assembler instructions.

positional arguments:
  N                     Number of assembler instructions

optional arguments:
  -h, --help            show this help message and exit
  -i {add,sub,sll,slt,sltu,xor,srl,sra,or,and,jalr,addi,slti,sltiu,xori,ori,andi,lb,lh,lw,lbu,lhu,slli,srli,srai,sb,sh,sw,beq,bne,blt,bge,bltu,bgeu,lui,auipc,jal}
                        Restrict to instructions
  --version             Display version

例如,仅使用addorslti指令生成100条汇编程序指令:

riscv-random-asm 100 -i add -i or -i slti

拆卸机器代码

您可以在指令级别将机器代码反汇编为汇编代码:

riscv-machinsn-decode hexstring 0x007938b3 0xc9650993

也可以直接反汇编对象文件:

riscv-machinsn-decode objfile file.o

自动测试随机汇编程序序列

riscv-random-asm-check生成随机汇编程序序列,编译它们,读回机器代码并匹配它们。 你可以用它来测试你的编译器,但它也被用作对riscv模型本身的健全性检查。

riscv-random-asm-check

默认情况下,它将使用riscv32-unknown-elf-gccriscv32-unknown-elf-objcopy,但您可以使用--compiler--objcopy配置工具。

自动测试将测试所有指令,您可以再次限制指令数和指令:

riscv-random-asm-check 1000 -i xor

最后,您可以分别对各个指令执行检查(与其他选项结合使用:

riscv-random-asm-check -s

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何拆分字符串(基于各种分隔符),但不保留空格?   解析。Json格式的txt文件和knime中的java   java Spring rest api为什么在rest api调用的响应中更改了数据类型   升华文本3抛出java。lang.ClassNotFoundException,而记事本++不存在   java Android指纹扫描仪在尝试5次后停止工作?   java Android如何设置精确的重复报警?   java如何使用HTTPGET connect为access API输入用户名和密码   java当测试报告显示没有测试失败时,Gradle为什么说“有失败的测试”?   用Gson实现java获取响应   MapReduce程序中函数错误的java不可映射参数   java spring安全性不符合自动代理的条件   java GWT使用异步回调进行同步/阻塞调用   java奇怪的类数组问题无法在jsp中显示   如何在java中使用PrinterJob使用epl打印条形码   java如何在JTable中居中单元格   将Java Mockito测试转换为Kotlin   html Java正则表达式模式匹配到多个相同标记   testCompile中缺少java Gradle(Android)多项目依赖项   在输入提示后输入字符串时发生java FileNotFoundException