GoldMine: An Automatic Assertion Mining Tool

GoldMine, a tool capable of generating assertions automatically for large and complex hardware designs specified in Verilog register transfer level language.GoldMine uses a combination of static and data-mining techniques to generate concise and high coverage assertions for both combinational and sequential hardware designs. GoldMine generates both propositional and temporal assertions. It can dump various static analysis information graphically and textually to aid understanding of generated assertions. In addition, it computes several assertion metrics including importance, complexity, statement coverage and ranks assertion by aggregating those metrics. GoldMine is highly modular allowing to use several of its components stand-alone. GoldMine can analyze and rank user-crafted assertions. Principles of GoldMine have been used in multiple problems including test-generation, coverage estimation and post-silicon trace signal selection