Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3240765.3240842guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
research-article

RFUZZ: Coverage-Directed Fuzz Testing of RTL on FPGAs

Published: 05 November 2018 Publication History

Abstract

Dynamic verification is widely used to increase confidence in the correctness of RTL circuits during the pre-silicon design phase. Despite numerous attempts over the last decades to automate the stimuli generation based on coverage feedback, Coverage Directed Test Generation (CDG) has not found the widespread adoption that one would expect. Based on new ideas from the software testing community around coverage-guided mutational fuzz testing, we propose a new approach to the CDG problem which requires minimal setup and takes advantage of FPGA-accelerated simulation for rapid testing. We provide test input and coverage definitions that allow fuzz testing to be applied to RTL circuit verification. In addition we propose and implement a series of transformation passes that make it feasible to reset arbitrary RTL designs quickly, a requirement for deterministic test execution. Alongside this paper we provide rfuzz, a fully featured implementation of our testing methodology which we make available as open-source software to the research community. An empirical evaluation of RFUZZ shows promising results on archiving coverage for a wide range of different RTL designs ranging from communication IPs to an industry scale 64-bit CPU.

References

[1]
Krste Asanović, Rimas Aviźienis, Jonathan Bachrach, Scott Beamer, David Bian-colin, Christopher Celio, Henry Cook, Palmer Dabbelt, John Hauser, Adam Izraelevitz, Sagar Karandikar, Benjamin Keller, Donggyu Kim John Koenig, Yunsup Lee, Eric Love, Martin Maas, Albert Magyar, Howard Mao, Miquel Moreto, Albert Ou, David Patterson, Brian Richards, Colin Schmidt, Stephen Twigg, Huy Vo, and Andrew Waterman. 2016. The Rocket Chip Generator. Technical Report.
[2]
Mrinal Bose, Jongshin Shin, Elizabeth M Rudnick, Todd Dukes, and Magdy Abadir. 2001. A genetic approach to automatic bias generation for biased random instruction generation. In Proceedings of the 2001 Congress on Evolutionary Computation.
[3]
Shai Fine and Avi Ziv. 2003. Coverage directed test generation for functional verification using bayesian networks. In DAC '03.
[4]
Kelson Gent and Michael S Hsiao. 2016. Fast Multi-level Test Generation at the RTL. In VLSI'16.
[5]
Charalambos Ioannides, Geoff Barrett, and Kerstin Eder. 2010. Feedback-based coverage directed test generation: An industrial evaluation. In Haifa Verification Conference. Springer, 112–128.
[6]
Adam Izraelevitz, Jack Koenig Patrick Li, Richard Lin, Angie Wang, Albert Magyar, Donggyu Kim Colin Schmidt, Chick Markley, Jim Lawson, and Jonathan Bachrach. 2017. Reusability is FIRRTL Ground: Hardware Construction Languages, Compiler Frameworks, and Transformations. In ICCAD '17.
[7]
Roope Kaivola, Rajnish Ghughal, Naren Narasimhan, Amber Telfer, Jesse Whittemore, Sudhindra Pandav, Anna Slobodová, Christopher Taylor, Vladimir Frolov, Erik Reeber et al., 2009. Replacing Testing with Formal Verification in Intel (c) Core (TM) i7 Processor Execution Engine Validation. In CAV'09.
[8]
Donggyu Kim Adam Izraelevitz, Christopher Celio, Hokeun Kim, Brian Zimmer, Yunsup Lee, Jonathan Bachrach, and Krste Asanović. 2016. Strober: fast and accurate sample-based energy simulation for arbitrary RTL. In ISCA '16.
[9]
A. Nahir, A. Ziv, and S. Panda. 2012. Optimizing test-generation to the execution platform. In 17th Asia and South Pacific Design Automation Conference.
[10]
Gilly Nativ, S Mittennaier, Shmuel Ur, and Avi Ziv. 2001. Cost evaluation of coverage directed test generation for the IBM mainframe. In International Test Conference 2001.
[11]
Matthew Naylor and Simon Moore. 2015. A generic synthesisable test bench. In MEMOCODE '15.
[12]
Andrew Piziali. 2007. Functional verification coverage measurement and analysis. Springer Science & Business Media.
[13]
Giovanni Squillero. 2005. MicroGP - an evolutionary assembly program generator. Genetic Programming and Evolvable Machines 6, 3 (2005), 247–263.
[14]
Serdar Tasiran, Farzan Fallah, David G Chinnery, Scott J Weber, and Kurt Keutzer. 2001. A functional validation technique: biased-random simulation guided by observability-based coverage. In ICCD 2001.
[15]
Shmuel Ur and Yaov Yadin. 1999. Micro Architecture Coverage Directed Generation of Test Programs. In DAC '99.
[16]
J. Wang, H. Li, T. Lv, T. Wang, X. Li, and S. Kundu. 2016. Abstraction-Guided Simulation Using Markov Analysis for Functional Verification. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 35, 2 (2016), 285–297.
[17]
Michal Zalewski. 2014. American Fuzzy Lop Technical Details. http://lcamtuf.coredump.cx/afl/technical_details.txt. (2014). Accessed April, 2018.

Cited By

View all
  • (2024)Beyond Random Inputs: A Novel ML-Based Hardware Fuzzing2024 Design, Automation & Test in Europe Conference & Exhibition (DATE)10.23919/DATE58400.2024.10546625(1-6)Online publication date: 25-Mar-2024
  • (2024)An Endeavor to Industrialize Hardware Fuzzing: Automating NoC Verification in UVM2024 Design, Automation & Test in Europe Conference & Exhibition (DATE)10.23919/DATE58400.2024.10546548(1-2)Online publication date: 25-Mar-2024
  • (2024)AsFuzzer: Differential Testing of Assemblers with Error-Driven Grammar InferenceProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3680345(1099-1111)Online publication date: 11-Sep-2024
  • Show More Cited By

Index Terms

  1. RFUZZ: Coverage-Directed Fuzz Testing of RTL on FPGAs
          Index terms have been assigned to the content through auto-classification.

          Recommendations

          Comments

          Information & Contributors

          Information

          Published In

          cover image Guide Proceedings
          2018 IEEE/ACM International Conference on Computer-Aided Design (ICCAD)
          Nov 2018
          939 pages

          Publisher

          IEEE Press

          Publication History

          Published: 05 November 2018

          Permissions

          Request permissions for this article.

          Qualifiers

          • Research-article

          Contributors

          Other Metrics

          Bibliometrics & Citations

          Bibliometrics

          Article Metrics

          • Downloads (Last 12 months)0
          • Downloads (Last 6 weeks)0
          Reflects downloads up to 09 Nov 2024

          Other Metrics

          Citations

          Cited By

          View all
          • (2024)Beyond Random Inputs: A Novel ML-Based Hardware Fuzzing2024 Design, Automation & Test in Europe Conference & Exhibition (DATE)10.23919/DATE58400.2024.10546625(1-6)Online publication date: 25-Mar-2024
          • (2024)An Endeavor to Industrialize Hardware Fuzzing: Automating NoC Verification in UVM2024 Design, Automation & Test in Europe Conference & Exhibition (DATE)10.23919/DATE58400.2024.10546548(1-2)Online publication date: 25-Mar-2024
          • (2024)AsFuzzer: Differential Testing of Assemblers with Error-Driven Grammar InferenceProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3680345(1099-1111)Online publication date: 11-Sep-2024
          • (2024)Exploring Coverage Metrics in Hardware Fuzzing: A Comprehensive AnalysisProceedings of the Great Lakes Symposium on VLSI 202410.1145/3649476.3660386(240-245)Online publication date: 12-Jun-2024
          • (2024)SSFuzz:Generating syntactic and semantic seeds for RISC-V processorsProceedings of the Great Lakes Symposium on VLSI 202410.1145/3649476.3658712(421-426)Online publication date: 12-Jun-2024
          • (2024)The Fuzz Odyssey: A Survey on Hardware Fuzzing Frameworks for Hardware Design VerificationProceedings of the Great Lakes Symposium on VLSI 202410.1145/3649476.3658697(192-197)Online publication date: 12-Jun-2024
          • (2024)PathFuzz: Broadening Fuzzing Horizons with Footprint Memory for CPUsProceedings of the 61st ACM/IEEE Design Automation Conference10.1145/3649329.3655911(1-6)Online publication date: 23-Jun-2024
          • (2024)Fuzz Wars: The Voltage Awakens – Voltage-Guided Blackbox Fuzzing on FPGAs2024 IEEE 42nd VLSI Test Symposium (VTS)10.1109/VTS60656.2024.10538727(1-7)Online publication date: 22-Apr-2024
          • (2024)CAD Tools Pathway in Hardware Security2024 37th International Conference on VLSI Design and 2024 23rd International Conference on Embedded Systems (VLSID)10.1109/VLSID60093.2024.00063(342-347)Online publication date: 6-Jan-2024
          • (2024)Exploring the Abyss? Unveiling Systems-on-Chip Hardware Vulnerabilities Beneath SoftwareIEEE Transactions on Information Forensics and Security10.1109/TIFS.2024.337280019(3914-3926)Online publication date: 2024
          • Show More Cited By

          View Options

          View options

          Get Access

          Login options

          Media

          Figures

          Other

          Tables

          Share

          Share

          Share this Publication link

          Share on social media