IBM Israel
Skip to main content
 
Search IBM Research
   Home  |  Products & services  |  Support & downloads  |  My account
Select a Country Select a country
IBM Research Home IBM Research Home
IBM Haifa Labs Homepage IBM Haifa Labs Home

Piparazzi

Coverage-driven Generation
Project Homepage
 ·Verification Background
 ·General Structure
 ·Example
 ·Piparazzi Publications
 ·Piparazzi Functionality
 ·Piparazzi Features
 ·Piparazzi Presentation
 ·Contact & Support
Feedback


Piparazzi
Piparazzi - A Test Generator for Micro-architecture Flow Verification

Piparazzi is a tool that generates test programs for pipelined microprocessors. It is an automatic test generator that uses the description of a coverage model (scenario requirements) as input in order to produce a set of tests covering the model. There are several dedicated test generators currently being developed in Haifa, each focusing on a different processor area. These "deep knowledge" generators possess internal knowledge regarding the area for which they generate tests. Piparazzi is a deep-knowledge test generator dedicated to testing the flow of instructions in processors.

In the early phases of a design project, a randomized test generator such as Genesys is efficient in finding many bugs. However, these tools lack both focus and internal knowledge of the pipeline domain, rendering them insufficient for providing a full solution to the pipeline verification problem.

Examination of bug classification data has demonstrated that bugs generally arise when several events occur simultaneously. The exact combination of these events is difficult to generate using random-biased test generators. Piparazzi, on the other hand, uses a declarative model of the micro-architecture, and is designed to hit these specific events.

Piparazzi is not limited to a particular architecture or design. The architectural and micro-architectural model is part of the tool's configuration.

The verification process is commonly defined and monitored through a verification plan, which leads to multiple verification tasks. It is Piparazzi's general purpose to provide a convenient platform for performing these tasks, both qualitatively and quantitatively. On the one hand, it should be able to fulfill micro-architecture and architecture requirements involving sets of constraints on the pipeline under test, and on the other hand, it should automatically generate an unlimited number of different random cases based on general knowledge about verification of micro-processors pipeline.

As a micro-architectural verification tool, Piparazzi also exposes micro-architectural performance problems in the pipeline which can not be detected by pure architectural tools.

 

  About IBM  |  Privacy  |  Terms of use  |  Contact