riscv-utils

Scheme utility procedures for the RISC-V instruction set architecture

git clone https://git.8pit.net/riscv-utils.git

 1(module riscv ()
 2  (import scheme (chicken base) (chicken module))
 3
 4  ;; Decoder procedures
 5  (export instr-opcode instr-funct3 instr-funct7 instr-rs1
 6          instr-rs2 instr-rd instr-i-imm instr-s-imm
 7          instr-b-imm instr-u-imm instr-j-imm)
 8
 9  ;; Encoder procedures
10  (export r-type i-type s-type b-type u-type j-type)
11
12  ;; Converter procedures
13  (export le->instr be->instr instr->le instr->be
14          instr->bin instr->hex)
15
16  ;; Opcode procedures
17  (export get-opcode get-funct3 get-funct7)
18
19  (include "riscv/decode.scm")
20  (include "riscv/encode.scm")
21  (include "riscv/convert.scm")
22  (include "riscv/opcodes.scm"))