-
Notifications
You must be signed in to change notification settings - Fork 304
Open
Labels
questionFurther information is requestedFurther information is requested
Description
Subject: Inquiry about the best practices for implementing custom instructions via CFU
Hello NEORV32 Team,
I am a beginner exploring the NEORV32 processor, and I am planning to implement a custom instruction extension using the CFU (Custom Functions Unit). I have a few questions regarding the integration process:
- Scope of Modification: Aside from implementing the logic in
neorv32_cfu.vhdand enablingRISCV_ISA_Zxcfuin the top entity, are there any mandatory modifications required in the core pipeline (e.g.,neorv32_cpu_control.vhd) to support new custom-X opcodes? - Pipeline Latency: If my custom logic requires multiple clock cycles, how should I properly handle the
cfu_done_osignal to ensure the CPU pipeline stalls correctly? Is there a recommended maximum latency? - Software Toolchain: For a beginner, is it recommended to use the
neorv32_cfu.hintrinsic functions, or should I define my own inline assembly macros to trigger the CFU? - Verification: Is there a specific testbench or a minimal software example you recommend for verifying that the CFU is correctly communicating with the register file?
Thank you for your time and for this great open-source project!
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
questionFurther information is requestedFurther information is requested