Ravi Hosabettu

Learn More
We present a systematic approach to decompose and incrementally build the proof of correctness of pipelined microprocessors The central idea is to construct the abstraction function using comple tion functions one per un nished instruction each of which specify the e ect on the observables of completing the instruction In addition to avoiding term size and(More)
This dissertation addresses the problem of formally verifying the orre tness of pipelined mi ropro essors at the mi ro-ar hite tural level of abstra tion. Contemporary pro essor designs are highly omplex, employing sophisti ated performan e enhan ing te hniques su h as supers alar pipelining, out-of-order exe ution, bran h predi tion and spe ulative exe(More)
The Completion Functions Approach was proposed in HSG98] as a systematic way to decompose the proof of correctness of pipelined microprocessors. The central idea is to construct the abstraction function using completion functions, one per unnnished instruction, each of which speciies the eeect (on the observables) of completing the instruction. In this(More)
This paper addresses the problem of formally verifying the correctness of a complex pipelined microprocessor at the micro-architectural level of abstraction. The design verified is an example out-of-order execution processor with a reorder buffer, a store buffer, branch prediction, speculative execution and exceptions. We propose a systematic approach(More)
The transaction ordering problem of the original PCI 2.1 standard bus speciication violates the desired correctness property of maintaining the so called`Producer/Consumer' relationship between writers and readers. In 3], a correction to this ordering problem was proposed and informally proved (called the \HP solution" here). In this paper, we present a(More)
The transaction ordering problem of the original PCI 2.1 standard bus speciication violates the desired correctness property of maintaining the so called`Producer/Consumer' relationship between writers and readers of data. This violation stems mainly from the so called completion stealing problem, rst identiied and solved by Corella et al 4], and supported(More)
The degree to which formal veriication methods are adopted in practice depends on concrete demonstrations of their applicability on real-world examples. In this paper, we present our eeorts in this regard involving a commercial high-speed split-transaction bus called the Runway. Modern busses such as the Runway deal with so many intertwined and complex(More)