NEORV32 usage for radiation testing #810
Replies: 2 comments 5 replies
-
Hey @BEforlin, thank you so much for sharing your experience!
Your paper is really interesting. I did not expect the core (on rtl level) to withstand even a single radiation-induced event. 😅 I need to have a closer look at your paper (no IEEE access at home). Just one quick thought: one base concept of the core is to identify all kind of illegal conditions (like malformed instructions) during runtime. So I am curious. What is the relative ratio of "core just crashes" and "core raises an exception" when exposed to radiation? Another quick question: did you also add ECC to the register file? If not, do you think this might be an interesting thing to do in order to improve radiation tolerance? Maybe raising an exception when reading corrupted data from the register file is something we could easily add.
On behalf of the community: thank you very much for your nice words! 😃 |
Beta Was this translation helpful? Give feedback.
-
Hey @stnolting
We did not and we plan on testing it. The idea was to have an absolute baseline for the system. That PMP can detect the invalid jumps is a given, the question is what trade-offs can you make with the system.
That is what we did to get the error reports. We implemented custom counters to all of our detection hardware.
Do you mean the RERI standard? Does NEO have any current effort in that direction? We actually started work on this quite recently and would be interested in contributing to what (if anything) is already available. I think the standard is quite cumbersome for a RISCV microcontroller, so we are looking in what ways we can make it more reasanoable.
I will post more results as they come! |
Beta Was this translation helpful? Give feedback.
-
Hello community,
Our research group has been using NEORV32 extensively for internal development, research, and education (many, many projects with NEORV).
In the CAES group at the University of Twente, we are focusing heavily on dependability research for RISC-V cores. This includes accelerated radiation beam experiments. These are our first published results with the NEORV32 core where we perform a characterization campaign with it:
Neutron Radiation Tests of the NEORV32 RISC-V SoC on Flash-Based FPGAs
The core integrates very easily with Flash FPGAs from Microsemi, so it was quick and easy to adapt to our needs. These FPGAs are generally considered immune to bit-flips, so only the user memory remains vulnerable. We also deeply appreciate the thorough documentation of the core; it made investigating issues and adapting it so much quicker.
Regarding details about the core's reliability performance, with some ECC on the IMEM and DMEM, the core is very reliable, enough to handle a couple of millennia of natural exposure without major issues. We have made further system-level improvements to include more features and peripherals, but NEORV32 is quickly becoming our work-horse, and we don't plan to stop using it.
Beta Was this translation helpful? Give feedback.
All reactions