ABSTRACT
With an ever increasing utilization of open-source hardware, the demand for improved productivity in its various development phases rises. This demand can only be met by open-source tools accompanying these open-hardware projects to cover their crucial tasks in design, test, and verification. One of these required tasks is fault injection analysis. At early stages of development, it can help to identify vulnerabilities of the hardware designs. In this work, we propose the open-source tool vRTLmod which enables low overhead and scaling fault injection simulations at Register Tranfer Level (RTL).
- Hyungmin Cho, Shahrzad Mirkhani, Chen-Yong Cher, Jacob A. Abraham, and Subhasish Mitra. 2013. Quantitative Evaluation of Soft Error Injection Techniques for Robust System Design. In Proceedings of the 50th Annual Design Automation Conference (DAC '13) Article 101. Association for Computing Machinery, Austin, Texas, 10 pages. doi: 10.1145/2463209.2488859.Google ScholarDigital Library
- Michael Gautschi, Pasquale Davide Schiavone, Andreas Traber, Igor Loi, Antonio Pullini, Davide Rossi, Eric Flamand, Frank K. Gürkaynak, and Luca Benini. 2017. Near-Threshold RISC-V Core with DSP Extensions for Scalable IoT Endpoint Devices. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 25, 10, 2700--2713. doi: 10.1109/TVLSI.2017.2654506.Google ScholarDigital Library
- Endri Kaja, Nicolas Ojeda Leon, Michael Werner, Bogdan Andrei-Tabacaru, Keerthikumara Devarajegowda, and Wolfgang Ecker. 2021. Extending Verilator to Enable Fault Simulation. In MBMV 2021; 24th Workshop, 1--6.Google Scholar
- C. Lattner and V. Adve. 2004. LLVM: a compilation framework for lifelong program analysis & transformation. In International Symposium on Code Generation and Optimization, 2004. CGO 2004. 75--86. doi: 10.1109/CGO.2004.1281665.Google ScholarCross Ref
- Daniel Mueller-Gritschneder, Martin Dittrich, Josef Weinzierl, Eric Cheng, Subhasish Mitra, and Ulf Schlichtmann. 2018. ETISS-ML: a multi-level instruction set simulator with RTL-level fault injection support for the evaluation of cross-layer resiliency techniques. In 2018 Design, Automation & Test in Europe Conference & Exhibition (DATE), 609--612. doi: 10.23919/DATE.2018.8342081.Google ScholarCross Ref
- OpenHW Group. 2023. CV32E40P - GitHub repository. Retrieved February 24, 2023 from https://github.com/openhwgroup/cv32e40p.Google Scholar
- OpenHW Group. 2023. CV32E40S - GitHub repository. Retrieved February 24, 2023 from https://github.com/openhwgroup/cv32e40s.Google Scholar
- OpenHW Group. 2023. CVA6 - GitHub repository. Retrieved February 24, 2023 from https://github.com/openhwgroup/cva6.Google Scholar
- Wilson Snyder. 2023. Verilator. Retrieved February 24, 2023 from https://www.veripool.org/verilator/.Google Scholar
- F. Zaruba and L. Benini. 2019. The Cost of Application-Class Processing: Energy and Performance Analysis of a Linux-Ready 1.7-GHz 64-Bit RISC-V Core in 22-nm FDSOI Technology. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 27, 11, (Nov. 2019), 2629--2640. doi: 10.1109/TVLSI.2019.2926114.Google ScholarDigital Library
Index Terms
- vRTLmod: An LLVM based Open-source Tool to Enable Fault Injection in Verilator RTL Simulations
Recommendations
DEPEND: A Simulation-Based Environment for System Level Dependability Analysis
The paper presents the rationale for a functional simulation tool, called DEPEND, which provides an integrated design and fault injection environment for system level dependability analysis. The paper discusses the issues and problems of developing such ...
System Dependability Evaluation via a Fault List Generation Algorithm
The size and complexity of modern dependable computing systems has significantly compromised the ability to accurately measure system dependability attributes such as fault coverage and fault latency. Fault injection is one approach for the evaluation ...
A Fault Injection Technique for VHDL Behavioral-Level Models
Fault injection is an important technique for the evaluation of design metrics such as reliability, safety, and fault coverage. Fault injection involves inserting faults into a system and monitoring the system to determine its behavior in response to ...
Comments