Richard Raimi

dblp:44/636 · DBLP profile ↗
← Back
8ranked-venue papers
4as first author
0since 2021 · last 2002
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 5 · 3 first-authorTheory of computation · 3 · 1 first-authorSoftware engineering, systems software and programming languages · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
4 papers
Electronic design automation · 92% Memory systems · 4% Processor architecture and microarchitecture · 3%
Theoretical computer science
1 paper
Automated reasoning and model checking · 100%

Topics — the 13 heaviest of 13, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Electronic design automation › hardware verification and test
formal verification
0.021997
Formal Verification of Content Addressable Memories Using Symbolic Trajectory Evaluation · DAC 1997
Formal Verification of PowerPC Arrays Using Symbolic Trajectory Evaluation · DAC 1996
Electronic design automation
hardware verification and test
0.021997
Formal Verification of Content Addressable Memories Using Symbolic Trajectory Evaluation · DAC 1997
Formal Verification of PowerPC Arrays Using Symbolic Trajectory Evaluation · DAC 1996
Electronic design automation › hardware verification and test › formal verification
symbolic trajectory evaluation
0.021997
Formal Verification of Content Addressable Memories Using Symbolic Trajectory Evaluation · DAC 1997
Formal Verification of PowerPC Arrays Using Symbolic Trajectory Evaluation · DAC 1996
Electronic design automation › hardware verification and test
hardware verification
0.021999
Detecting False Timing Paths: Experiments on PowerPC Microprocessors · DAC 1999
Verifiying Safety Properties of a Power PC Microprocessor Using Symbolic Model Checking without BDDs · CAV 1999
Electronic design automation › timing analysis › false path analysis
false path detection
0.011999
Detecting False Timing Paths: Experiments on PowerPC Microprocessors · DAC 1999
Electronic design automation › timing analysis
static timing analysis
0.011999
Detecting False Timing Paths: Experiments on PowerPC Microprocessors · DAC 1999
Electronic design automation
timing analysis
0.011999
Detecting False Timing Paths: Experiments on PowerPC Microprocessors · DAC 1999
Automated reasoning and model checking › model checking
bounded model checking
0.011999
Verifiying Safety Properties of a Power PC Microprocessor Using Symbolic Model Checking without BDDs · CAV 1999
Automated reasoning and model checking › model checking
symbolic model checking
0.011999
Verifiying Safety Properties of a Power PC Microprocessor Using Symbolic Model Checking without BDDs · CAV 1999
Processor architecture and microarchitecture
microprocessor design
0.011999
Detecting False Timing Paths: Experiments on PowerPC Microprocessors · DAC 1999
Electronic design automation › hardware verification and test
processor verification
0.011999
Verifiying Safety Properties of a Power PC Microprocessor Using Symbolic Model Checking without BDDs · CAV 1999
Memory systems › memory architecture
memory array
0.011997
Formal Verification of Content Addressable Memories Using Symbolic Trajectory Evaluation · DAC 1997
Memory systems › cache
on-chip cache
0.011996
Formal Verification of PowerPC Arrays Using Symbolic Trajectory Evaluation · DAC 1996

Methods — techniques the papers use, named apart from their topics

symbolic trajectory evaluation · 0.0symbolic function justification across latch boundaries · 0.0boolean encoding · 0.0state-holding element identification · 0.0
YearPublicationVenuePosition
2002 Silicon Debug of a PowerPC[tm] Microprocessor Using Model Checking
Richard Raimi, James Lear
Formal Methods Syst. Des.1
2001 Bounded Model Checking Using Satisfiability Solving
Edmund M. Clarke, Armin Biere, Richard Raimi, Yunshan Zhu
Formal Methods Syst. Des.3
2000 Environment modeling and language universality
abstract
In this paper we outline a theory for the environment-modeling problem , the problem of abstracting component finite state machines (FSMs)bordering a particular FSM of interest within a network of interacting FSMs. The goal is to lay a theoretical foundation for the automatic state reduction of large FSM networks. We feel this is a prerequisite for the efficient use of many verification techniques. We focus on computing conditions for the safe removal of a component FSM in a FSM network, where removal is safe if it preserves a certain well-defined trace equivalence. We present an optimized algorithm for determining language universality of a FSM, as well as determining independence of a FSM from those of its inputs connected to outputs of neighboring FSMs. These two properties, input independence and language universality, provide the necessary and sufficient conditions for safe removal. In addition, we show how simulation relations can be utilized, both to reduce the cost of computing safe removal and to create an appropriate abstract FSM when safe removal is not possible.
Richard Raimi, Ramin Hojati, Kedar S. Namjoshi
ACM Trans. Design Autom. Electr. Syst.1
1999 Verifiying Safety Properties of a Power PC Microprocessor Using Symbolic Model Checking without BDDs
Armin Biere, Edmund M. Clarke, Richard Raimi, Yunshan Zhu
CAV3
1999 Detecting False Timing Paths: Experiments on PowerPC Microprocessors
abstract
We present a new algorithm for detecting both combinationally and sequentially false timing paths, one in which the constraints on a timing path are captured by justifying symbolic functions across latch boundaries.We have implemented the algorithm and we present, here, the results of using it to detect false timing paths on a recent PowerPC microprocessor design.We believe these are the first published results showing the extent of the false path problem in industry.Our results suggest that the reporting of false paths may be compromising the effectiveness of static timing analysis.
Richard Raimi, Jacob A. Abraham
DAC1
1997 Formal Verification of Content Addressable Memories Using Symbolic Trajectory Evaluation
abstract
In this paper we report on new techniques for verifying contentaddressable memories (CAMs), and demonstrate that these techniqueswork well for large industrial designs. It was shown in [Formal verification of PowerPC(TM) arrays using symbolic trajectory evaluation], that theformal verification technique of symbolic trajectory evaluation (STE)could be used successfully on memory arrays. We have extended thatwork to verify what are perhaps the most combinatorially difficultclass of memory arrays, CAMs. We use new Boolean encodings toverify CAMs, and show that these techniques scale well, in that spacerequirements increase linearly, or sub-linearly, with the various CAMsize parameters.In this paper, we describe the verification of two CAMs froma recentPowerPC microprocessor design, a Block Address Translation unit(BAT), and a Branch Target Address Cache unit (BTAC). The BATis a complex CAM, with variable length bit masks. The BTAC is a64-entry, 64-bits per entry, fully associative CAM and is part of thespeculative instruction fetch mechanism of the microprocessor. Webelieve that ours is the first work on formally verifying CAMs, and webelieve our techniques make it feasible to efficiently verify the varietyof CAMs found on modern processors.
Richard Raimi, Randal E. Bryant, Magdy S. Abadir
DAC2
1997 Analyzing a PowerPCTM620 Microprocessor Silicon Failure Using Model Checking
abstract
When silicon is available, newly designed microprocessors ore tested in specially equipped hardware laboratories, where real applications can be run at hardware speeds. However, the large volumes of code being run, plus the limited access to the internal nodes of the chip, make it extraordinarily difficult to characterize the nature of any failures that occur. In this paper, we describe how the formal verification technique of temporal logic model checking was used to quickly characterize a design error exhibited during hardware testing of the PowerPC 620 microprocessor. We claim that model checking can efficiently characterize such failures when certain pre-conditions are met. We also show how the same error could have been revealed early in the design cycle, by model checking a short and simple correctness specification. We discuss the implications of this for verification methodologies over the full design cycle.
Richard Raimi, James Lear
ITC1
1996 Formal Verification of PowerPC Arrays Using Symbolic Trajectory Evaluation
abstract
Verifying memory arrays such as on-chip caches and register files is a difficult part of designing a microprocessor.Current tools cannot verify the equivalence of the arrays to their behavioral or RTL models, nor their correct functioning at the transistor level.It is infeasible to run the number of simulation cycles required, and most formal verification tools break down due to the enormous number of state-holding elements in the arrays.The formal method of symbolic trajectory evaluation (STE) appears to offer a solution, however.STE verifies that a circuit satisfies a formula in a carefully restricted temporal logic.For arrays, it requires only a number of variables approximately logarithmic in the number of memory locations.The circuit is modeled at the switch level, so the verification is done on the actual design.We have used STE to verify two arrays from PowerPC microprocessors: a register file, and a data cache tag unit.The tag unit contains over 12,000 latches.We believe it is the largest circuit to have been formally verified, without abstracting away significant detail, in the industry.We also describe an automated technique for identifying state-holding elements in the arrays, a technique which should greatly assist the widespread application of STE.
Richard Raimi, Derek L. Beatty, Randal E. Bryant
DAC2