PCI bus system testing and verification apparatus and method
First Claim
Patent Images
1. A method for the automatic testing of a PCI bus system in an information handling system, comprising the steps of:
- (a) selecting a PCI command to be tested;
(b) programming a PCI master to exhibit predetermined functional behavior during a PCI transaction;
(c) asserting said PCI command to initiate a PCI transaction, said transaction comprising transfer of data over said PCI bus;
(d) transferring at least a portion of said data;
(e) monitoring and recording the behavior of said PCI bus system;
(f) determining whether a PCI protocol error has occurred;
(g) if an error has occurred in step (f), logging said error and halting execution;
(h) repeating steps (c) through (g) until it is determined that an error has occurred in step (t) or until said PCI transaction is complete; and
(i) if said PCI transaction is complete;
(j) writing data from a first memory location to a second memory location;
(k) reading data from said second memory location; and
(l) comparing data from said first memory location to data from said second memory location.
5 Assignments
0 Petitions
Accused Products
Abstract
An improved PCI verification method and apparatus provides iterative testing of all desired conditions or protocol combinations in a PCI system. One or more commands may be tested in combination with one or more functional behavior parameters throughout a desired range of variable parameter values. In one aspect, an apparatus and method for testing a PCI device for compliance under the PCI specification in target operation is provided. In another aspect, an apparatus and method for testing a PCI device for compliance under the PCI specification in master operation is provided.
37 Citations
40 Claims
-
1. A method for the automatic testing of a PCI bus system in an information handling system, comprising the steps of:
-
(a) selecting a PCI command to be tested;
(b) programming a PCI master to exhibit predetermined functional behavior during a PCI transaction;
(c) asserting said PCI command to initiate a PCI transaction, said transaction comprising transfer of data over said PCI bus;
(d) transferring at least a portion of said data;
(e) monitoring and recording the behavior of said PCI bus system;
(f) determining whether a PCI protocol error has occurred;
(g) if an error has occurred in step (f), logging said error and halting execution;
(h) repeating steps (c) through (g) until it is determined that an error has occurred in step (t) or until said PCI transaction is complete; and
(i) if said PCI transaction is complete;
(j) writing data from a first memory location to a second memory location;
(k) reading data from said second memory location; and
(l) comparing data from said first memory location to data from said second memory location. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for the automatic testing of a PCI bus system in an information handling system, comprising the steps of:
-
(a) initializing a PCI target device, said target device programmable to exhibit predetermined functional behavior during a PCI transaction;
(b) programming said PCI target device to exhibit said predetermined functional behavior during said PCI transaction;
(c) providing a PCI master device, said PCI master device comprising configuration address space, said configuration address space programmable to configure said PCI master device;
(d) programming said configuration address space to provide a first set of PCI bus utilization properties for said PCI master device;
(e) after said PCI target device is programmed to exhibit said predetermined functional behavior, initiating said PCI transaction, said transaction comprising transfer of data over said PCI bus;
(f) transferring at least a portion of said data;
(g) monitoring and recording the behavior of said PCI bus system;
(h) determining whether a PCI protocol error has occurred;
(i) if an error has occurred in step (h), logging said error and halting execution;
(j) repeating steps (e) through (i) until it is determined that an error has occurred in step (h) or until said PCI transaction is complete; and
(k) if said PCI transaction is complete;
(l) writing data from a first memory location to a second memory location;
(m) reading data from said second memory location; and
(n) comparing data from said first memory location to data from said second memory location. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. In an information handling system, an apparatus for the automatic testing and verification of a PCI bus system, comprising:
-
(a) means for selecting a PCI command to be tested;
(b) means for programming a PCI master to exhibit predetermined functional behavior during a PCI transaction;
(c) means for asserting said PCI command to initiate a PCI transaction, said transaction comprising transfer of data over said PCI bus;
(d) means for transferring at least a portion of said data;
(e) means for monitoring and recording the behavior of said PCI bus system;
(f) means for determining whether a PCI protocol error has occurred;
(g) means for logging an error and halting execution if an error has occurred in step (f);
(h) means for repeating steps (c) through (g) until it is determined that an error has occurred in step (f) or until said PCI transaction is complete; and
(i) if said PCI transaction is complete;
(j) means for writing data from a first memory location to a second memory location;
(k) means for reading data from said second memory location; and
(l) means for comparing data from said first memory location to data from said second memory location. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. In an information handling system, an apparatus for the automatic testing and verification of a PCI bus system, comprising:
-
(a) means for initializing a PCI target device, said target device programmable to exhibit predetermined functional behavior during a PCI transaction;
(b) means for programming said PCI target device to exhibit said predetermined functional behavior during said PCI transaction;
(c) means for providing a PCI master device, said PCI master device comprising configuration address space, said configuration address space programmable to configure said PCI master device;
(d) means for programming said configuration address space to provide a first set of PCI bus utilization properties for said PCI master device;
(e) means for initiating said PCI transaction after said PCI target device is programmed to exhibit said predetermined functional behavior, said transaction comprising transfer of data over said PCI bus;
(f) means for transferring at least a portion of said data;
(g) means for monitoring and recording the behavior of said PCI bus system;
(h) means for determining whether a PCI protocol error has occurred;
(i) means for logging an error and halting execution if an error occurs in step (h);
(j) means for repeating steps (e) through (i) until it is determined that an error has occurred in step (h) or until said PCI transaction is complete; and
(k) if said PCI transaction is complete;
(l) means for writing data from a first memory location to a second memory location;
(m) means for reading data from said second memory location; and
(n) means for comparing data from said first memory location to data from said second memory location. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. In an information handling system, an apparatus for the automatic testing and verification of a PCI bus system, comprising:
-
(a) control logic for selecting a PCI command to be tested;
(b) control logic for programming a PCI master to exhibit predetermined functional behavior during a PCI transaction;
(c) control logic for asserting said PCI command to initiate a PCI transaction, said transaction comprising transfer of data over said PCI bus;
(d) control logic for transferring at least a portion of said data;
(e) control logic for monitoring and recording the behavior of said PCI bus system;
(f) control logic for determining whether a PCI protocol error has occurred;
(g) control logic for logging said error and halting execution if an error has occurred in step (f);
(h) control logic for repeating steps (c) through (g) until it is determined that an error has occurred in step (f) or until said PCI transaction is complete; and
(i) if said PCI transaction is complete;
(j) control logic for writing data from a first memory location to a second memory location;
(k) control logic for reading data from said second memory location; and
(l) control logic for comparing data from said first memory location to data from said second memory location.
-
-
38. In an information handling system, an apparatus for the automatic testing and verification of a PCI bus system, comprising:
-
(a) control logic for initializing a PCI target device, said target device programmable to exhibit predetermined functional behavior during a PCI transaction;
(b) control logic for programming said PCI target device to exhibit said predetermined functional behavior during said PCI transaction;
(c) control logic for providing a PCI master device, said PCI master device comprising configuration address space, said configuration address space programmable to configure said PCI master device;
(d) control logic for programming said configuration address space to provide a first set of PCI bus utilization properties for said PCI master device;
(e) control logic for initiating said PCI transaction after said PCI target device is programmed to exhibit said predetermined functional behavior, said transaction comprising transfer of data over said PCI bus;
(f) control logic for transferring at least a portion of said data;
(g) control logic for monitoring and recording the behavior of said PCI bus system;
(h) control logic for determining whether a PCI protocol error has occurred;
(i) control logic for logging an error and halting execution if an error occurs in step (h);
(j) control logic for repeating steps (e) through (i) until it is determined that an error has occurred in step (h) or until said PCI transaction is complete; and
(k) if said PCI transaction is complete;
(l) control logic for writing data from a first memory location to a second memory location;
(m) control logic for reading data from said second memory location; and
(n) control logic for comparing data from said first memory location to data from said second memory location.
-
-
39. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for testing and verification of a PCI bus system in an information handling system, said method steps comprising:
-
(a) selecting a PCI command to be tested;
(b) programming a PCI master to exhibit predetermined functional behavior during a PCI transaction;
(c) asserting said PCI command to initiate a PCI transaction, said transaction comprising transfer of data over said PCI bus;
(d) transferring at least a portion of said data;
(e) monitoring and recording the behavior of said PCI bus system;
(f) determining whether a PCI protocol error has occurred;
(g) if an error has occurred in step (f), logging said error and halting execution;
(h) repeating steps (c) through (g) until it is determined that an error has occurred in step (f) or until said PCI transaction is complete; and
(i) if said PCI transaction is complete;
(j) writing data from a first memory location to a second memory location;
(k) reading data from said second memory location; and
(l) comparing data from said first memory location to data from said second memory location.
-
-
40. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for testing and verification of a PCI bus system in an information handling system, said method steps comprising:
-
(a) initializing a PCI target device, said target device programmable to exhibit predetermined functional behavior during a PCI transaction;
(b) programming said PCI target device to exhibit said predetermined functional behavior during said PCI transaction;
(c) providing a PCI master device, said PCI master device comprising configuration address space, said configuration address space programmable to configure said PCI master device;
(d) programming said configuration address space to provide a first set of PCI bus utilization properties for said PCI master device;
(e) after said PCI target device is programmed to exhibit said predetermined functional behavior, initiating said PCI transaction, said transaction comprising transfer of data over said PCI bus;
(f) transferring at least a portion of said data;
(g) monitoring and recording the behavior of said PCI bus system;
(h) determining whether a PCI protocol error has occurred;
(i) if an error has occurred in step (h), logging said error and halting execution;
(j) repeating steps (e) through (i) until it is determined that an error has occurred in step (h) or until said PCI transaction is complete; and
(k) if said PCI transaction is complete;
(l) writing data from a first memory location to a second memory location;
(m) reading data from said second memory location; and
(n) comparing data from said first memory location to data from said second memory location.
-
Specification