The PCI Specification Project

Formal Specification of Interfaces

Goals

With this project, we aimed to write a formal specification of a well-used interface protocol. Our goals for such a specification are as follows,

PCI

As a case study, we chose PCI because of its relative simplicity and its popularity.

And as a specification style which can easily be analyzed, we chose the monitor style.

Results

We have formally specified a subset of the PCI bus protocol in this monitor style specification. The result is a concise, easily readable specification.

In addition, we have found several problems with the PCI protocol.

There were also other problems such as minor inconsistencies and confusing ambiguities in the PCI protocol. For example, in section 3.2.4, it is stated that TRDY# should use the address phase as a turnaround cycle (i.e. no agent is driving TRDY#), but for a back-to-back transaction, TRDY# will need to be driven (deasserted) during the address phase! ( more details).

Publications

"Monitor-Based Formal Specification of PCI", Kanna Shimizu, David L. Dill, and Alan J. Hu, FMCAD 2000
(PDF, Postscript, Bibliography Entry)

Presentation Slides

Here are the presentation slides from the FMCAD 2000 talk on this topic.

Tutorial

A tutorial on the monitor-style specification method we have developed.
  1. A brief overview of the monitor-style specification including applications of such a specification.
  2. How to write the monitor-style specification.

Download

Here is how you can obtain a copy of our formal PCI specification.

  1. Please read the Documentation first.
  2. Here are the Instructions .
If for some reason, the generator doesn't work, please fetch the main Verilog monitor file here. The only difference is, you won't be able to specify the number of agents and address ranges.

For Advanced Users

For fellow researchers working with PCI, here are some other files you might want to see.

Investigators

Kanna Shimizu
Professor David L. Dill

We would very much like feedback on this project. Please send any thoughts, comments, suggestions to kannas@ofb.net. If you know of any protocols which will challenge our method, we really want to know about them! Thank you.


Site Index
Last modified : June 20, 2000