NEORV32 Software Framework Documentation
The NEORV32 RISC-V Processor
Loading...
Searching...
No Matches
neorv32_cpu_cfu.h File Reference

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

#include <stdint.h>

Go to the source code of this file.

Macros

Low-level CFU custom instruction prototypes ("intrinsics")
#define neorv32_cfu_r3_instr(funct7, funct3, rs1, rs2)   CUSTOM_INSTR_R3_TYPE(funct7, rs2, rs1, funct3, 0b0001011)
 
#define neorv32_cfu_r4_instr(funct3, rs1, rs2, rs3)   CUSTOM_INSTR_R4_TYPE(rs3, rs2, rs1, funct3, 0b0101011)
 
#define neorv32_cfu_r5_instr_a(rs1, rs2, rs3, rs4)   CUSTOM_INSTR_R5_TYPE(rs4, rs3, rs2, rs1, 0b1011011)
 
#define neorv32_cfu_r5_instr_b(rs1, rs2, rs3, rs4)   CUSTOM_INSTR_R5_TYPE(rs4, rs3, rs2, rs1, 0b1111011)
 

Functions

int neorv32_cpu_cfu_available (void)
 

Detailed Description

CPU Core custom functions unit HW driver header file.

See also
https://stnolting.github.io/neorv32/sw/files.html

Macro Definition Documentation

◆ neorv32_cfu_r3_instr

#define neorv32_cfu_r3_instr ( funct7,
funct3,
rs1,
rs2 )   CUSTOM_INSTR_R3_TYPE(funct7, rs2, rs1, funct3, 0b0001011)

R3-type CFU custom instruction (CUSTOM-0 opcode)

◆ neorv32_cfu_r4_instr

#define neorv32_cfu_r4_instr ( funct3,
rs1,
rs2,
rs3 )   CUSTOM_INSTR_R4_TYPE(rs3, rs2, rs1, funct3, 0b0101011)

R4-type CFU custom instruction (CUSTOM-1 opcode)

◆ neorv32_cfu_r5_instr_a

#define neorv32_cfu_r5_instr_a ( rs1,
rs2,
rs3,
rs4 )   CUSTOM_INSTR_R5_TYPE(rs4, rs3, rs2, rs1, 0b1011011)

R5-type CFU custom instruction A (CUSTOM-2 opcode)

◆ neorv32_cfu_r5_instr_b

#define neorv32_cfu_r5_instr_b ( rs1,
rs2,
rs3,
rs4 )   CUSTOM_INSTR_R5_TYPE(rs4, rs3, rs2, rs1, 0b1111011)

R5-type CFU custom instruction B (CUSTOM-3 opcode)

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.