BLOG

Record, summarize, and improve.

spike添加指令

增加Makefile字段

例如vsetvli_ns

Image in a image block

增加对应指令字段,并将对应指令类加到riscv_insn_list中,makefile在查找时会查找对应指令

添加指令编码

需要考虑指令格式

Image in a image block

将imm、rs1、rd全部设置为0,根据funct3、custom0计算出MATCH code值,(custom0固定为1111011)

Image in a image block

00000000000000000111000001111011换算成16进制为0x707b

计算MASK code值,将固定编码位设为1,输入输出参数位设为0,得到0xe000707f,在encoding.h中加入指令编码,并定义指令

Image in a image block
Image in a image block

定义disasm

vsetvli_ns指令格式,vsetvli rd, rs1, imm,rd、rs1都有对应的函数获取对应位的值,imm[28:20]没有对应函数,需要构造一个

Image in a image block

增加zimm9类型解析

Image in a image block

增加指令解析

Image in a image block

实现指令内部逻辑

在riscv/insns/目录中增加vsetvli_ns.h文件,实现指令逻辑