https://github.com/tum-ei-eda/compas-ft-riscv
repo to house various LLVM based SIHFT passes for RISCV 32/64 soft error resilience
https://github.com/tum-ei-eda/compas-ft-riscv
Last synced: about 2 months ago
JSON representation
repo to house various LLVM based SIHFT passes for RISCV 32/64 soft error resilience
- Host: GitHub
- URL: https://github.com/tum-ei-eda/compas-ft-riscv
- Owner: tum-ei-eda
- License: apache-2.0
- Created: 2021-11-19T14:43:45.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-01-18T02:51:09.000Z (almost 3 years ago)
- Last Synced: 2024-12-29T09:26:49.620Z (10 months ago)
- Language: C++
- Size: 481 KB
- Stars: 6
- Watchers: 5
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# compas-ft-riscv
COMPAS: Compiler-assisted Software-implemented Hardware Fault Tolerance implemented in LLVM passes for the RISC-V backend
Repo to house SIHFT passes for LLVM to create COMPAS, a compiler that adds fault tolerance on instruction level for RISCV 32/64 targets.
COMPAS is implemented such that it can be used as patch for the RISC-V LLVM toolchain.
## Citation
If you want to cite this work, please use the following paper.
U Sharif, D Mueller-Gritschneder, U Schlichtmann: COMPAS: Compiler-assisted Software-implemented Hardware Fault Tolerance for RISC-V, 11th Mediterranean Conference on Embedded Computing (MECO), 2022
@INPROCEEDINGS{9797144,
author={Sharif, Uzair and Mueller-Gritschneder, Daniel and Schlichtmann, Ulf},
booktitle={2022 11th Mediterranean Conference on Embedded Computing (MECO)},
title={COMPAS: Compiler-assisted Software-implemented Hardware Fault Tolerance for RISC-V},
year={2022},
volume={},
number={},
pages={1-4},
doi={10.1109/MECO55406.2022.9797144}}
## User Guide
Detailed instructions on compiler installation and usage can be found in `doc/manual`. We provide the manual as pdf.
The manual provides details on how to install LLVM compiler with our SIHFT passes. Further, the manual provides usage instructions on how to harden a given C/C++ project using SIHFT transformations.
## Licensing and Copyright
See the separate LICENSE file to determine your rights and responsibilities for using these code modules
## Version History
### Version 1.0
The supported SIHFT passes are:
Data flow protection:
- [x] EDDI
- [x] SWIFT
- [x] NZDC
- [x] NEMESIS
- [x] REPAIR
Control flow protection:
- [x] CFCSS
- [x] RASM
## Literature
EDDI: https://ieeexplore.ieee.org/document/994913
SWIFT: https://ieeexplore.ieee.org/document/1402092
NZDC: https://ieeexplore.ieee.org/document/7544291
NEMESIS: https://ieeexplore.ieee.org/document/8203792
CFCSS: https://ieeexplore.ieee.org/document/994926
RASM: https://ieeexplore.ieee.org/document/8067656
REPAIR: https://dl.acm.org/doi/abs/10.1145/3477001