Network


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

Hotspot


Dive into the research topics where Michal Rimon is active.

Publication


Featured researches published by Michal Rimon.


Ai Magazine | 2007

Constraint-based random stimuli generation for hardware verification

Yehuda Naveh; Michal Rimon; Itai Jaeger; Yoav Katz; Michael Vinov; Eitan Marcus; Gil Shurek

We report on random stimuli generation for hardware verification at IBM as a major applica-tion of various artificial intelligence technologies, including knowledge representation, expert systems, and constraint satisfaction. For more than a decade we have developed several related tools, with huge payoffs. Research and development around this application are still thriving, as we continue to cope with the ever-increasing complexity of modern hardware systems and demanding business environments.


design automation conference | 2004

Industrial experience with test generation languages for processor verification

Michael L. Behm; John M. Ludden; Yossi Lichtenstein; Michal Rimon; Michael Vinov

We report on our experience with a new test generation language for processor verification. The verification of two superscalar multiprocessors is described and we show the ease of expressing complex verification tasks. The cost and benefit are demonstrated: training takes up to six months; the simulation time required for a desired level of coverage has decreased by a factor of twenty; the number of escape bugs has ken reduced.


design automation conference | 2011

Learning microarchitectural behaviors to improve stimuli generation quality

Yoav Katz; Michal Rimon; Avi Ziv; Gai Shaked

Microarchitectural information regarding various aspects of instruction execution can help processor-level stimuli generators more easily reach verification goals. While many such aspects are based on common microarchitectural concepts, their specific manifestations are highly design-specific. We propose using an automatic method for acquiring such microarchitectural knowledge and integrating it into the stimuli generator. We start by extracting microarchitectural data from simulation traces. This data is fed to a decision tree learning algorithm that produces rules for microarchi-tectural behavior of instructions; these rules are then integrated into the testing knowledge of the stimuli generator. This testing knowledge can provide users with the ability to better control the microarchitectural behavior of generated instructions, leading to higher quality test cases. Experimental results on the POWER7 processor showed that our proposed method can improve the microarchitectural cover-age of the design


haifa verification conference | 2010

Advances in simultaneous multithreading testcase generation methods

John M. Ludden; Michal Rimon; Bryan G. Hickerson; Allon Adir

Many modern microprocessor architectures utilize simultaneous multithreading (SMT) for increased performance. This trend is exemplified in IBMs Power series of high-end microprocessors which steadily increased the number of threads in a system in its POWER5, POWER6 and POWER7 designs. In this paper we discuss the steady increase in functional verification complexity introduced by each of these designs and the corresponding improvements to SMT verification methods that were necessary in order to cope with the growing verification challenge. We review three different verification technologies which were specifically developed to target SMT aspects of processor designs, and compare their relative advantages and drawbacks. Our focus is on the novel Thread Irritation technique - we demonstrate its effectiveness in finding high quality SMT bugs early in the verification cycle, and show how it was adopted to the post-silicon platform.


high level design validation and test | 2001

Improving test quality through resource reallocation

Allon Adir; Eitan Marcus; Michal Rimon; Amir Voskoboynik

Test program generation typically involves the resolution of constraints to make the tests legal and interesting for verification. This is often achieved through the values of resources used by the instructions in the test. The difficulty is that the number of available resources is limited, and there may be fewer available resources than needed values (especially in long tests). One way to get a large number of values from a limited number of resources, is to insert value-assigning instructions into the test before the instruction that is to use the resources value. We refer to this as resource reloading. This paper presents a reloading technique that minimizes the interference caused. by the reloading instructions and avoids fixed code patterns by distancing the reloading instruction from the instruction that uses the resource value. The basic technique is presented along with several useful extensions and is compared with other reloading approaches.


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.


design, automation, and test in europe | 2012

Generating instruction streams using abstract CSP

Yoav Katz; Michal Rimon; Avi Ziv

One of the challenges that processor level stimuli generators are facing is the need to generate stimuli that exercise microarchitectural mechanisms deep inside the verified processor. These scenarios require specific relations between the instructions participating in them. We present a new approach for processor-level scenario generation. The approach is based on creating an abstract constraint satisfaction problem, which captures the essence of the requested scenario. The generation of stimuli is done by interleaving between progress in the solution of the abstract CSP and generation of instructions. Compared with existing solutions of scenario generation, this approach yields improved coverage and reduced generation fail rate.


high level design validation and test | 2006

Addressing Test Generation Challenges for Configurable Processor Verification

Michal Rimon; Yossi Lichtenstein; Allon Adir; Itai Jaeger; Michael Vinov; S. Johnson; D. Jani

Having only recently entered the mainstream, configurable processor technology already provides practical automated hardware design. In this paper, we address the challenges of verifying these software-constructed hardware artifacts and show that sophisticated automation is mandatory. We describe how a model-based test generation technology was integrated into the verification flow of a configurable processor design. We report on experiments with two complex verification tasks. In both experiments, the model-based technology has achieved much higher coverage than standard verification tools and required considerably fewer engineering resources. We conclude that processor-oriented test generation technology addresses well the challenges of verifying automated hardware design


design automation conference | 2005

VLIW: a case study of parallelism verification

Allon Adir; Y. Arbetman; B. Dubrov; Y. Liechtenstein; Michal Rimon; Michael Vinov; M.A. Calligaro; A. Cofler; G. Duffy

Parallelism in processor architecture and design imposes a verification challenge as the exponential growth in the number of execution combinations becomes unwieldy. In this paper we report on the verification of a very large instruction word processor. The verification team used a sophisticated test program generator that modeled the parallel aspects as sequential constraints, and augmented the tool with manually written test templates. The system created large numbers of legal stimuli, however the quality of the tests was proved insufficient by several post silicon bugs. We analyze this experience and suggest an alternative, parallel generation technique. We show through experiments the feasibility of the new technique and its superior quality along several dimensions. We claim that the results apply to other parallel architectures and verification environments.


haifa verification conference | 2012

A novel approach for implementing microarchitectural verification plans in processor designs

Yoav Katz; Michal Rimon; Avi Ziv

The ever-growing microarchitecture complexity of processors creates a widening gap between the verification plan and the test generation technologies used in its implementation. This gap impacts the cost and quality of the verification process. To overcome this, we introduce a novel test generation platform for processor verification. This approach is based on a scenario description language that is close to the microarchitecture verification plan, and uses new test generation algorithms and a microarchitectural model to support this higher level of abstraction. Initial results on a high end industrial design show our approach reduces the effort of implementing a microarchitectural verification plan and improves the quality of verification.

Researchain Logo
Decentralizing Knowledge