[libre-riscv-dev] SV Prefix questions
Luke Kenneth Casson Leighton
lkcl at lkcl.net
Wed Jun 26 06:29:01 BST 2019
darn it, i *really* don't want to add a setvl. unfortunately it does
make sense, apart from needing to be an I-Type, and taking up 2 funct3
opcodes (or more).
* funct3 = 0b000 - reserved (another op)
* funct3 = 0b001 - leave MVL alone and VL from imm[5:0]
* funct3 = 0b010 - set MVL from imm[11:6] and leave VL alone
* funct3 = 0b011 - set MVL from imm[11:6] and VL from imm[5:0]
so:
* funct3 = 0b001 - VL = MIN(imm[5:0], MVL), rd = MIN(VL, rs1)
* funct3 = 0b010 - MVL = imm[11:6], rs1=x0, rd=x0, and rs1 !=0 or rd
!=0 is reserved?
* funct3 = 0b011 - MVL = imm[11:6], VL = imm[5:0]...
no, it's not quite right.
it's complicated, needs a lot of thought, on how to encode both the
CSRRW and CSRRWI versions into the opcode without wasting opcode
space.
*all of which takes time*!
l.
More information about the libre-riscv-dev
mailing list