Michal Rimon
IBM
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Michal Rimon.
Ai Magazine | 2007
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
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
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
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
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
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
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
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
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
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.