Network


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

Hotspot


Dive into the research topics where Viresh Paruthi is active.

Publication


Featured researches published by Viresh Paruthi.


design automation conference | 2001

Circuit-based Boolean Reasoning

Andreas Kuehlmann; Malay K. Ganai; Viresh Paruthi

Many tasks in CAD, such as equivalence checking, property checking, logic synthesis, and false paths analysis require efficient Boolean reasoning for problems derived from circuit structures. Traditionally, canonical representations, e.g., BDDs, or SAT-based search methods are used to solve a particular class of problems. In this paper we present a combination of techniques for Boolean reasoning based on BDDs, structural transformations, and a SAT procedure natively working on a shared graph representation of the problem. The described intertwined integration of the three techniques results in a robust summation of their orthogonal strengths. Our experiments demonstrate the effectiveness of the approach.


formal methods in computer aided design | 2004

Scalable Automated Verification via Expert-System Guided Transformations

Hari Mony; Jason R. Baumgartner; Viresh Paruthi; Robert L. Kanzelman; Andreas Kuehlmann

Transformation-based verification has been proposed to synergistically leverage various transformations to successively simplify and decompose large problems to ones which may be formally discharged. While powerful, such systems require a fair amount of user sophistication and experimentation to yield greatest benefits – every verification problem is different, hence the most efficient transformation flow differs widely from problem to problem. Finding an efficient proof strategy not only enables exponential reductions in computational resources, it often makes the difference between obtaining a conclusive result or not. In this paper, we propose the use of an expert system to automate this proof strategy development process. We discuss the types of rules used by the expert system, and the type of feedback necessary between the algorithms and expert system, all oriented towards yielding a conclusive result with minimal resources. Experimental results are provided to demonstrate that such a system is able to automatically discover efficient proof strategies, even on large and complex problems with more than 100,000 state elements in their respective cones of influence. These results also demonstrate numerous types of algorithmic synergies that are critical to the automation of such complex proofs.


Ibm Journal of Research and Development | 2002

Functional verification of the POWER4 microprocessor and POWER4 multiprocessor systems

John M. Ludden; Wolfgang Roesner; G. M. Heiling; J. R. Reysa; Jonathan R. Jackson; B.-L. Chu; Michael L. Behm; Jason R. Baumgartner; R. D. Peterson; J. Abdulhafiz; W. E. Bucy; J. H. Klaus; D. J. Klema; T. N. Le; F. D. Lewis; P. E. Milling; L. A. McConville; B. S. Nelson; Viresh Paruthi; T. W. Pouarz; A. D. Romonosky; Jeffrey A. Stuecheli; K. D. Thompson; D. W. Victor; Bruce Wile

This paper describes the methods and simulation techniques used to verify the microarchitecture design and functional performance of the IBM POWER4 processor and the POWER4-based Regatta system. The approach was hierarchical, based on but considerably expanding the practice used for verification of the CMOS-based IBM S/390 Parallel Enterprise Server™ G4. For POWER4, verification began at the abstract, high-level design phase and continued throughout the designer and unit levels, the multi-unit level, and finally the multiple-chip system level. The abstract (high-level design) phase permitted early validation of the POWER4 processor design prior to its commitment to HDL. The designer and unit-level stages focused on ensuring the correctness of the microarchitectural components. Multiunitlevel verification, performed on storage and I/O components as well as on the processor, confirmed architectural compliance for each of the chips and subsystems. Finally, systemlevel verification tested multiprocessor coherence and system-level function, including processor-to-I/O communication and validation of multiple hardware configurations. In parallel with design and functional validation, verification of reliability functions, performance, and degraded configurations was also performed at most of the levels in the hierarchy.


international conference on computer design | 2000

Equivalence checking combining a structural SAT-solver, BDDs, and simulation

Viresh Paruthi; Andreas Kuehlmann

This paper presents a verification technique for functional comparison of large combinational circuits using a novel combination of known approaches. The idea is based on a tight integration of a structural satisfiability (SAT) solver, BDD sweeping, and random simulation; all three working on a shared graph representation of the circuit. The BDD sweeping and SAT solver are applied in an inter-twined manner both controlled by resource limits that are successively increased during each iteration. In this cooperative setting the BDD sweeping incrementally reduces the search space for the SAT solver until the problem is solved or the resource limits are exhausted. This approach improves on previous work in several ways: The integral application of the SAT solver significantly enhances the capacity and efficiency of BDD sweeping and extends its suitability for miscomparing designs. Further, the random simulation algorithm works on the compressed circuit graph and thus runs more efficiently. Our experiments demonstrate that the outlined approach is effective for a large class of equivalence checking instances by automatically adapting to the difficulty of the problem.


international conference on computer design | 2006

Scalable Sequential Equivalence Checking across Arbitrary Design Transformations

Jason R. Baumgartner; Hari Mony; Viresh Paruthi; Robert L. Kanzelman; Geert Janssen

High-end hardware design flows mandate a variety of sequential transformations to address needs such as performance, power, post-silicon debug and test. Industrial demand for robust sequential equivalence checking (SEC) solutions is thus becoming increasingly prevalent. In this paper, we discuss the role of SEC within IBM. We motivate the need for a highly-automated scalable solution, which is robust against a variety of design transformations - including those that alter initialization sequences. This motivation has caused us to embrace the paradigm of SEC with respect to designated initial states. We furthermore describe the diverse set of algorithms comprised within our SEC framework, which we have found necessary for the automated solution of the most complex SEC problems. Finally, we provide several experiments illustrating the necessity of our diverse algorithm flow to efficiently solve difficult SEC problems involving a variety of design transformations.


design automation conference | 2005

Exploiting suspected redundancy without proving it

Hari Mony; Jason R. Baumgartner; Viresh Paruthi; Robert Kanzelman

We present several improvements to general-purpose sequential redundancy removal. (1) We propose using a robust variety of synergistic transformation and verification algorithms to process the individual proof obligations. This enables greater speed and scalability, and identifies a significantly greater degree of redundancy, than prior approaches. (2) We generalize upon traditional redundancy removal and utilized the speculatively-reduced model to enhance bounded search, without needing to complete any proofs.


design, automation, and test in europe | 2005

Automatic Formal Verification of Fused-Multiply-Add FPUs

Christian Jacobi; Kai Weber; Viresh Paruthi; Jason R. Baumgartner

In this paper we describe a fully-automated methodology for formal verification of fused-multiply-add floating point units (FPU). Our methodology verifies an implementation FPU against a simple reference model derived from the processors architectural specification, which may include all aspects of the IEEE specification including denormal operands and exceptions. Our strategy uses a combination of BDD- and SAT-based symbolic simulation. To make this verification task tractable, we use a combination of case-splitting, multiplier isolation, and automatic model reduction techniques. The case-splitting is defined only in terms of the reference model, which makes this approach easily portable to new designs. The methodology is directly applicable to multi-GHz industrial implementation models (e.g., HDL or gate-level circuit representations) that contain all details of the high-performance transistor-level model, such as aggressive pipelining, clocking, etc. Experimental results are provided to demonstrate the computational efficiency of this approach.


international conference on computer design | 1998

Automatic data path abstraction for verification of large scale designs

Viresh Paruthi; Nazanin Mansouri; Ranga Vemuri

The state space explosion problem is a hurdle in the acceptance of model checking as a viable tool for verification of large-scale designs. Abstractions may be used to simplify designs, while preserving target verification properties. We propose a simple methodology for abstracting away portions of the data path, thus rendering a large state-space model of the design amenable for verification using model checking. The spatial abstractions developed reduce the bit-width complexity of the designs while retaining the controllers intact. The methodology uses interval computation techniques to determine the bounds on the allowable range of values the data path resources can assume. The approach is embedded in a tool that performs automatic data path abstraction on a RTL specification of a design.


Ibm Journal of Research and Development | 2011

Functional verification of the IBM POWER7 microprocessor and POWER7 multiprocessor systems

Klaus-Dieter Schubert; Wolfgang Roesner; John M. Ludden; Jonathan R. Jackson; Jacob Buchert; Viresh Paruthi; Michael L. Behm; Avi Ziv; John Schumann; Charles Meissner; Johannes Koesters; James P. Hsu; Bishop Brock

This paper describes the methods and techniques used to verify the POWER7® microprocessor and systems. A simple linear extension of the methodology used for POWER4®, POWER5®, and POWER6® was not possible given the aggressive design point and schedule of the POWER7 project. In addition to the sheer complexity of verifying an eight-core processor chip with scalability to 32 sockets, central challenges came from the four-way simultaneous multithreading processor core, a modular implementation structure with heavy use of asynchronous interfaces, aggressive memory subsystem design with numerous new reliability, availability, and serviceability (RAS) advances, and new power management and RAS mechanisms across the chip and the system. Key aspects of the successful verification project include a systematic application of IBMs random-constrained unit verification, unprecedented use of formal verification, thread-scaling support in core verification, and a consistent use of functional coverage across all verification disciplines. Functional coverage instrumentation, which is combined with the use of the newest IBM hardware simulation accelerator platform, enabled coverage-driven development of postsilicon exercisers in preparation of bring-up, a foundation for the desired systematic linkage of presilicon and postsilicon verification. RAS and power management verification also required new approaches, extending these disciplines to span all the way from the unit level to the end-to-end scenarios using the hardware accelerators.


Ibm Journal of Research and Development | 2015

Solutions to IBM POWER8 verification challenges

Klaus-Dieter Schubert; John M. Ludden; S. Ayub; J. Behrend; Bishop Brock; Fady Copty; S. M. German; Oz Hershkovitz; Holger Horbach; Jonathan R. Jackson; Klaus Keuerleber; Johannes Koesters; Larry Scott Leitner; G. B. Meil; Charles Meissner; Ronny Morad; Amir Nahir; Viresh Paruthi; Richard D. Peterson; Randall R. Pratt; Michal Rimon; John Schumann

This paper describes methods and techniques used to verify the POWER8™ microprocessor. The base concepts for the functional verification are those that have been already used in POWER7® processor verification. However, the POWER8 design point provided multiple new challenges that required innovative solutions. With approximately three times the number of transistors available, compared to the POWER7 processor chip, functionality was added by putting additional enhanced cores on-chip and by developing new features that intrinsically require more software interaction. The examples given in this paper demonstrate how new tools and the continuous improvement of existing methods addressed these verification challenges.

Collaboration


Dive into the Viresh Paruthi's collaboration.

Researchain Logo
Decentralizing Knowledge