NEORV32 - Software Framework Documentation
Loading...
Searching...
No Matches
Functions
neorv32_cpu_cfu.h File Reference

CPU Core custom functions unit HW driver header file. More...

Go to the source code of this file.

Macros

Low-level CFU custom instructions ("intrinsics")
#define neorv32_cfu_r3_instr(funct7, funct3, rs1, rs2)   CUSTOM_INSTR_R3_TYPE(funct7, rs2, rs1, funct3, RISCV_OPCODE_CUSTOM0)
 
#define neorv32_cfu_r4_instr(funct3, rs1, rs2, rs3)   CUSTOM_INSTR_R4_TYPE(rs3, rs2, rs1, funct3, RISCV_OPCODE_CUSTOM1)
 
#define neorv32_cfu_r5_instr_a(rs1, rs2, rs3, rs4)   CUSTOM_INSTR_R5_TYPE(rs4, rs3, rs2, rs1, RISCV_OPCODE_CUSTOM2)
 
#define neorv32_cfu_r5_instr_b(rs1, rs2, rs3, rs4)   CUSTOM_INSTR_R5_TYPE(rs4, rs3, rs2, rs1, RISCV_OPCODE_CUSTOM3)
 

Functions

int neorv32_cpu_cfu_available (void)
 

Detailed Description

CPU Core custom functions unit HW driver header file.

Macro Definition Documentation

◆ neorv32_cfu_r3_instr

#define neorv32_cfu_r3_instr (   funct7,
  funct3,
  rs1,
  rs2 
)    CUSTOM_INSTR_R3_TYPE(funct7, rs2, rs1, funct3, RISCV_OPCODE_CUSTOM0)

R3-type CFU custom instruction prototype

◆ neorv32_cfu_r4_instr

#define neorv32_cfu_r4_instr (   funct3,
  rs1,
  rs2,
  rs3 
)    CUSTOM_INSTR_R4_TYPE(rs3, rs2, rs1, funct3, RISCV_OPCODE_CUSTOM1)

R4-type CFU custom instruction prototype

◆ neorv32_cfu_r5_instr_a

#define neorv32_cfu_r5_instr_a (   rs1,
  rs2,
  rs3,
  rs4 
)    CUSTOM_INSTR_R5_TYPE(rs4, rs3, rs2, rs1, RISCV_OPCODE_CUSTOM2)

R5-type CFU custom instruction A prototype

◆ neorv32_cfu_r5_instr_b

#define neorv32_cfu_r5_instr_b (   rs1,
  rs2,
  rs3,
  rs4 
)    CUSTOM_INSTR_R5_TYPE(rs4, rs3, rs2, rs1, RISCV_OPCODE_CUSTOM3)

R5-type CFU custom instruction B prototype

Function Documentation

◆ neorv32_cpu_cfu_available()

int neorv32_cpu_cfu_available ( void  )

Check if custom functions unit was synthesized.

Returns
0 if CFU was not synthesized, 1 if CFU is available.