Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Ryan Berryhill is active.

Publication


Featured researches published by Ryan Berryhill.


asia and south pacific design automation conference | 2016

A complete approach to unreachable state diagnosability via property directed reachability

Ryan Berryhill; Andreas G. Veneris

In modern hardware design, substantial manual effort is required to fix a design when verification discovers a state unreachable. This paper addresses this growing pain where given an unreachable target state, a methodology is presented to return all design locations where a change can be implemented to make the target state reachable. In contrast to previous state reachability rectification techniques that use bounded model checking, our approach addresses the issue using unbounded model checking. It first enhances the circuit transition relation by inserting a novel error model construction at each suspect location. An unbounded model checking algorithm is then applied to the enhanced transition relation to find which of the suspect locations can be changed to make the target state reachable. The use of unbounded model checking allows it to identify the complete problem solution set. As an added benefit, it also returns a proof that no further solution(s) exist in the form of an inductive invariant. Empirical results on industrial designs confirm the theoretical and practical gains of this approach.


2016 1st IEEE International Verification and Security Workshop (IVSW) | 2016

Revision debug with non-linear version history in regression verification

John Adler; Ryan Berryhill; Andreas G. Veneris

Modern digital designs are relentlessly growing in complexity, making their verification a daunting task. Verification and debugging are the bottleneck, accounting for up to 70% of the design cycle. Most automated debugging tools target failures in isolation and rely solely on the current version of a designs RTL. A recently developed methodology targets multiple failures simultaneously while leveraging the revision history present in a version control system. It finds revisions likely to be responsible for the failures and ranks them such that higher ranked revisions are more likely to contain bugs. However, this technique treats the version history as a simple linear list of revisions rather than a graph structure. To address this limitation, this paper presents a technique that properly leverages the branching information in version control systems. It offers two-stage ranking with improved performance, allowing both branches and branch-local revisions to be ranked.


design, automation, and test in europe | 2015

Automated rectification methodologies to functional state-space unreachability

Ryan Berryhill; Andreas G. Veneris

In the modern design cycle, significant manual resources are dedicated to fix a design when verification shows that a state is not reachable. Today there is little automation to aid an engineer in understanding why a state is not reachable and how to correct it. This paper presents a novel methodology that automates this task. In detail, a process that involves intertwined steps of state approximation, reachability analysis and traditional debugging is developed to identify design locations where fixes can be applied so the target state becomes reachable. An initial formulation identifies such error locations that, when corrected, can make the target state reachable directly from the existing reachable set of states. This is later extended for the cases where more than one state transition is required to reach an unreachable state from the existing reachable set. Empirical results on industrial level designs show a performance which is an order of magnitude faster than the state-of-the-art confirming the practicality of the proposed automated methodology.


asia and south pacific design automation conference | 2017

An extensible perceptron framework for revision RTL debug automation

John Adler; Ryan Berryhill; Andreas G. Veneris

Automated debugging techniques can significantly reduce the manual effort required to localize RTL errors. These techniques return to the user a set of RTL locations where a change can correct erroneous behavior. However, each location must be manually investigated. This problem is exacerbated by the increasing amount of failures in the modern regression verification cycle. Recent work in clustering-based revision debugging mitigates this cost by ranking revisions based on their likelihood of having introduced an error. This work presents a perceptron based approach to revision debugging that can be extended to leverage the revision history of a design directly. Perceptrons are trained using labeled revisions from the design history. They are then used to predict the probability that a revision has introduced an error. The proposed methodology performs competitively with the state-of-the-art, but can be extended to handle more features. This allows for an automated regression debug flow integrated with Version Control and Issue Tracking Systems.


power and timing modeling optimization and simulation | 2015

Constructing stability-based clock gating with hierarchical clustering

Bao Le; Djordje Maksimovic; Dipanjan Sengupta; Erhan Ergin; Ryan Berryhill; Andreas G. Veneris

In modern designs, a complex clock distribution network is employed to distribute the clock signal(s) to all the sequential elements. As the functionality of these sequential elements depends heavily on usage scenarios, it is vital that the clock network is optimized for these scenarios. This paper introduces a clock network power optimization methodology based on design usage patterns and stability based clock gating. Specifically, whenever a register retains its value from the previous cycle, a clock gating implementation shuts off its clock and disables data loading to enable power reduction. We first introduce the notion of a stability pattern and its correlation with clock gating efficiency. Next, we introduce a methodology to identify efficient clock gating implementations. In this framework, a clustering algorithm leveraging stability patterns iteratively computes more effective gating implementations. Each implementation is evaluated further on area overhead and critical path delay. If it satisfies all criteria, it is implemented in the design; otherwise, it is sent back to the clustering algorithm to compute new clock gating implementations. Empirical results show 22.6% reduction in clock network power and 16.0% reduction in total power consumption. This confirms the practicality and robustness of the proposed methodology.


theory and applications of satisfiability testing | 2018

Finding All Minimal Safe Inductive Sets

Ryan Berryhill; Alexander Ivrii; Andreas G. Veneris

Computing minimal (or even just small) certificates is a central problem in automated reasoning and, in particular, in automated formal verification. For unsatisfiable formulas in CNF such certificates take the form of Minimal Unsatisfiable Subsets (MUSes) and have a wide range of applications. As a formula can have multiple MUSes that each provide different insights on unsatisfiability, commonly studied problems include computing a smallest MUS (SMUS) or computing all MUSes (AllMUS) of a given unsatisfiable formula. In this paper, we consider certificates to safety properties in the form of Minimal Safe Inductive Sets (MSISes), and we develop algorithms for exploring such certificates by computing a smallest MSIS (SMSIS) or computing all MSISes (AllMSIS) of a given safe inductive invariant. More precisely, we show how the well-known MUS enumeration algorithms CAMUS and MARCO can be adapted to MSIS enumeration.


Annals of Mathematics and Artificial Intelligence | 2018

Efficient suspect selection in unreachable state diagnosis

Ryan Berryhill; Andreas G. Veneris

In the modern hardware design cycle, correcting the design when verification reveals a state to be erroneously unreachable can be a time-consuming manual process. Recently-developed algorithms aid the engineer in finding the root cause of the failure in these cases. However, they exhaustively examine every design location to determine a set of possible root causes, potentially requiring substantial runtime. This work develops a novel approach that is applicable to practical diagnosis problems. In contrast to previous approaches, it considers only a portion of the design locations but still finds the complete solution set to the problem. The presented approach proceeds through a series of iterations, each considering a strategically-chosen subset of the design locations (a suspect set) to determine if they are root causes. The results of each iteration inform the choice of suspect set for the next iteration. By choosing the first iteration’s suspect set appropriately, the algorithm is able to find the complete solution set to the problem. Empirical results on industrial designs and standard benchmark designs demonstrate a 15x speedup compared to the previous approach, while considering only 18.7% of the design locations as suspects.


2017 IEEE 2nd International Verification and Security Workshop (IVSW) | 2017

Learning lemma support graphs in Quip and IC3

Ryan Berryhill; Neil Veira; Andreas G. Veneris; Zissis Poulos


ISAIM | 2016

Efficient Selection of Suspect Sets in Unreachable State Diagnosis.

Ryan Berryhill; Andreas G. Veneris


formal methods in computer-aided design | 2017

Learning support sets in IC3 and Quip: The good, the bad, and the ugly

Ryan Berryhill; Alexander Ivrii; Neil Veira; Andreas G. Veneris

Collaboration


Dive into the Ryan Berryhill's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Bao Le

University of Toronto

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Erhan Ergin

Advanced Micro Devices

View shared research outputs
Researchain Logo
Decentralizing Knowledge