Abstract
We present CHA, an assertion language and verification tool for Chisel programs built on top of ChiselTest, where we extend the Chisel assertion language with SystemVerilog assertions (SVA)-like temporal operators. This enables formal verification of Chisel hardware designs against general temporal properties. The effectiveness of the CHA tool is validated by two case studies, including an open-source Wishbone protocol adapter design.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Asanović, K., Avizienis, R., Bachrach, J., et al.: The rocket chip generator. Technical report UCB/EECS-2016-17, EECS Department, UC Berkeley (2016). http://www2.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-17.html
Bachrach, J., Vo, H., Richards, B., et al.: Chisel: constructing hardware in a Scala embedded language. In: DAC, pp. 1212–1221. ACM (2012). https://doi.org/10.1145/2228360.2228584
Biere, A., Artho, C., Schuppan, V.: Liveness checking as safety checking. Electr. Notes Theor. Comput. Sci. 66(2), 160–177 (2002). https://doi.org/10.1016/S1571-0661(04)80410-9
Chinese Academy of Sciences, Institute of Computing Technology: Xiangshan CPU (2022). https://github.com/OpenXiangShan/XiangShan
Dobis, A., et al.: ChiselVerify: an open-source hardware verification library for chisel and scala. In: NorCAS, pp. 1–7. IEEE (2021). https://doi.org/10.1109/NorCAS53631.2021.9599869
Duret-Lutz, A., Lewkowicz, A., Fauchille, A., Michaud, T., Renault, É., Xu, L.: Spot 2.0 — a framework for LTL and \(\omega \)-automata manipulation. In: Artho, C., Legay, A., Peled, D. (eds.) ATVA 2016. LNCS, vol. 9938, pp. 122–129. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-46520-3_8
Goel, A., Sakallah, K.: AVR: abstractly verifying reachability. In: TACAS 2020. LNCS, vol. 12078, pp. 413–422. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-45190-5_23
IEEE standard for SystemVerilog: unified hardware design, specification, and verification language, pp. 1800–2017. IEEE (2018). https://doi.org/10.1109/IEEESTD.2018.8299595
Khan, M.H., Kashif, S.: Caravan (2021). https://github.com/merledu/caravan
Laeufer, K., Bachrach, J., Sen, K.: Open-source formal verification for Chisel. In: WOSET (2021). https://woset-workshop.github.io/WOSET2021.html
Mann, M., et al.: Pono: a flexible and extensible SMT-based model checker. In: Silva, A., Leino, K.R.M. (eds.) CAV 2021. LNCS, vol. 12760, pp. 461–474. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-81688-9_22
Niemetz, A., Preiner, M., Wolf, C., Biere, A.: Btor2, BtorMC and Boolector 3.0. In: Chockler, H., Weissenbacher, G. (eds.) CAV 2018. LNCS, vol. 10981, pp. 587–595. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-96145-3_32
Tsai, Y.C.A.: Dynamic verification library for chisel. Master’s thesis, University of California, Berkeley (2021). http://www2.eecs.berkeley.edu/Pubs/TechRpts/2021/EECS-2021-132.html, Technical report UCB/EECS-2021-132
University of California, Berkeley: BOOM: the Berkeley out-of-order RISC-V processor (2020). https://github.com/riscv-boom
University of Chinese Academy of Sciences: NutShell (2021). https://github.com/OSCPU/NutShell
Wolf, C., Harder, J., Engelhardt, N., et al.: SymbiYosys: front-end for Yosys-based formal verification flows (2022). https://github.com/YosysHQ/sby
Xiang, M., Li, Y., Tan, S., Zhao, Y., Chi, Y.: Parameterized design and formal verification of multi-ported memory. In: ICECCS, pp. 33–41. IEEE (2022). https://doi.org/10.1109/ICECCS54210.2022.00013
Yu, S., Dong, Y., et al.: CHA: Supporting SVA-like assertions in formal verification of Chisel programs (2022). https://github.com/iscas-tis/CHA
Acknowledgement
This work is partially supported by the Strategic Priority Research Program of the Chinese Academy of Sciences and the NSFC grants No. 61872340, 61836005, 62102407.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
1 Electronic supplementary material
Below is the link to the electronic supplementary material.
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Yu, S. et al. (2022). CHA: Supporting SVA-Like Assertions in Formal Verification of Chisel Programs (Tool Paper). In: Schlingloff, BH., Chai, M. (eds) Software Engineering and Formal Methods. SEFM 2022. Lecture Notes in Computer Science, vol 13550. Springer, Cham. https://doi.org/10.1007/978-3-031-17108-6_20
Download citation
DOI: https://doi.org/10.1007/978-3-031-17108-6_20
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-17107-9
Online ISBN: 978-3-031-17108-6
eBook Packages: Computer ScienceComputer Science (R0)