Comments (5)
@diggi0330 Why did you tag me? (I'm wondering if it's because I wrote a guide to adding custom instructions to RI5CY years ago - if so, I haven't kept that up to date with the OpenHWGroup cores like cv32e40p etc., so I'm concerned you might be following outdated info if so)
from cv32e40p.
Hi @diggi0330, thanks for your interest in OpenHW! Note that none of the individuals you "at mentioned" are currently involved in the CV32E40P. The current version of this core has explicit support for the floating point unit which you can control via top-level parameters at compile/synthesis time. Check out the Core Integration chapter of the user Manual for details about how that is done.
We no longer explicitly support Verilator with any of our scriptware. Having said that, there should be no reason why the CV32E40P cannot be compiled and simulated with an up to date version of Verilator. Have a look at the core testbench in CORE-V-VERIF for a good starting point. Note that we do not maintain that testbench, so it will be rather out of date. A pull-request to update it would be welcome!
If you are interested in adding custom instructions to a RISC-V core, have a look at the CV32E40X.
from cv32e40p.
Hi @MikeOpenHWGroup and others, sorry for bugging you earlier and tagging you unknowingly. Also, thank you for your prompt reply to my questions.
A quick update: I was able to extend the GNU assembler to support both R4-type and R-type custom instruction extensions. I used a reserved OPCODE to get the required functionality.
The current version of this core has explicit support for the floating point unit which you can control via top-level parameters at compile/synthesis time. Check out the Core Integration chapter of the user Manual for details about how that is done.
According to my understanding of the code, this is the case where we use APU with FPU = 1 and ZFINX = 1. This performs the required fp-operations however, the latency is huge since it does not use cvFPU. (Please correct me if I am wrong about this). I already verified this with the verilator and got the correct result.
However, I am still stuck on including FPU support with the cv32e40p core. Please guide me on how to compile the cv32e40pV2 with uvm support. I can't locate the cv32e40pV2 Github repository.
from cv32e40p.
Hi @diggi0330 there is only one CV32E40P repo. You determine which version you compile/synthesize using the top-level instanitation parameters. I strongly recommend reading the User Manual (not the code!) to learn how this is done. Pay particular attention to the Core Integration and Core Versions chapters.
from cv32e40p.
Thanks for the help. I’ll try to go through the user manual.
from cv32e40p.
Related Issues (20)
- HW Loop Constraints question HOT 5
- Error in Analysis and Synthesis in Quartus HOT 21
- Missing files HOT 3
- Seeking Information on RTL Access HOT 8
- Incorporating FPU HOT 2
- Suggested update to the FPGA Synthesis sub-section of the User Manual HOT 1
- cv32e40p_obi_interface: When TRANS_STABLE=0, unstable transaction can still pass through to obi interface. HOT 4
- Branch predictor in cv32e40p core will take more time. HOT 8
- cv32e40p_prefetch_buffer: Is it ok to assert hwlp_jump_i when there are no outstanding instr_ requests (ie cnt_q == 0)? HOT 4
- How can I build this core? HOT 2
- cv32e40p implementation on Arty a7 100T FPGA HOT 2
- Missing case default HOT 1
- Impossible to cover case default HOT 1
- FPU power consumption HOT 1
- Clarification on cv.clipr signedness HOT 2
- HWLoop count not updated when last instruction is a CSR access with pipeline flush HOT 1
- Ensure Makefiles support both SNPS VCS and Siemens Questa for the above HOT 1
- Code coverage report HOT 4
- Floating Point Unit (FPU) not working HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cv32e40p.