Test mode for multifunction PCI device
First Claim
1. A method of testing a device connected to a first bus and to a plurality of additional buses, the method comprising:
- selecting a bus from the plurality of additional buses as a primary bus, leaving a plurality of unselected buses within the plurality of additional buses;
receiving data in parallel from the plurality of unselected buses;
comparing data received in parallel from the plurality of unselected buses to data from the primary bus; and
detecting differences between data from the primary bus and data from the plurality of unselected buses.
4 Assignments
0 Petitions
Accused Products
Abstract
In a multifunction PCI device containing identical backend functions or other large, redundant functional blocks, a single backend function is selected as a primary function while in test mode. All backend I/O channels are then simultaneously tested in parallel, with the same data and control signals from a PCI local bus being driven to all backend channels during the same test clock cycle. A single backend channel is designated as the primary for providing requisite handshaking signals during output to the backend I/O channels. Input data from each backend channel is received in parallel and compared, with miscompares being flagged to allow testing of the input data path from the respective backend I/O channel. Only signals from the primary backend I/O channel are designated for transmission to the PCI local bus. Signals from the remaining backend channels are received in parallel with and compared to the signals from the primary channel, and miscompare flags are generated for any discrepancies identified. The resulting parallel testing of all backend I/O channels within the multifunction device reduces the number of test vectors needed to achieve fault grade goals.
-
Citations
34 Claims
-
1. A method of testing a device connected to a first bus and to a plurality of additional buses, the method comprising:
-
selecting a bus from the plurality of additional buses as a primary bus, leaving a plurality of unselected buses within the plurality of additional buses; receiving data in parallel from the plurality of unselected buses; comparing data received in parallel from the plurality of unselected buses to data from the primary bus; and detecting differences between data from the primary bus and data from the plurality of unselected buses. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A multifunction device, comprising:
-
a first interface to a first bus; a plurality of additional interfaces connected to additional buses; a multiplexer selecting a primary bus from the additional buses and leaving a plurality of unselected buses within the additional buses, the multiplexer selecting the primary bus for testing data transfers from the additional buses to the first bus, the multiplexer routing data transfers from the primary bus through an interface within the plurality of additional interfaces and the first interface to the first bus; and a comparator comparing data received in parallel through the plurality of additional interfaces from the plurality of unselected buses to data received through one of the plurality of additional interfaces from the primary bus. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A multifunction device, comprising:
-
a first interface to a first bus, wherein the first interface comprises an interface to a PCI local bus; a plurality of additional interfaces connected to additional buses; a multiplexer selecting a primary bus from the additional buses and leaving a plurality of unselected buses within the additional buses, the multiplexer selecting the primary bus for testing data transfers from the additional buses to the first bus, the multiplexer routing data transfers from the primary bus through an interface within the plurality of additional interfaces and the first interface to the first bus; and a comparator comparing data received in parallel through the plurality of additional interfaces from the plurality of unselected buses to data received through one of the plurality of additional interfaces from the primary bus.
-
-
21. A multifuntion device, comprising:
-
a first interface to a first bus; a plurality of additional interfaces connected to additional buses; a multiplexer selecting a primary bus from the additional buses and leaving a plurality of unselected buses within the additional buses, the multiplexer selecting the primary bus for testing data transfers from the additional buses to the first bus, the multiplexer routing data transfers from the primary bus through an interface within the plurality of additional interfaces and the first interface to the first bus; a comparator comparing data received in parallel through the plurality of additional interfaces from the plurality of unselected buses to data received through one of the plurality of additional interfaces from the primary bus and a plurality of backend functions between the plurality of additional interfaces and the multiplexer, each backend function within the plurality of backend functions converting data from a first protocol for the first bus to a second protocol for the primary bus.
-
-
22. A multifunction device, comprising:
-
a first interface to a first bus; and a plurality of backend interfaces to backend buses, wherein the multifunction device has a first mode of operation in which data is transferred from the first interface to a single, selected backend interface within the plurality of backend interfaces and from the single, selected backend interface within the plurality of backend interfaces to the first interface; and wherein the multifunction device has a second mode of operation in which data is transferred simultaneously from the first interface to each backend interface within the plurality of backend interfaces, return data from the single selected backend interface within the plurality of backend interfaces is compared to return data received in parallel from plurality of unselected backend interfaces within the plurality of backend interfaces, a flag is generated upon detection of differences between return data from the single selected backend interface and return data from the plurality of unselected interfaces, and return data is transferred from the single selected backend interface to the first interface. - View Dependent Claims (23, 24, 25)
-
-
26. A data processing system comprising:
-
a processor connected to a local bus; a multifunction device connected to the local bus and to a plurality of backend I/O buses, the multifunction device including; an interface to the local bus; a plurality of backend interfaces to a plurality of backend I/O buses; a multiplexer selecting a primary bus from the plurality of backend buses for testing data transfers from the plurality of backend buses to the local bus, the multiplexer routing data transfers form the primary bus to the local bus through an interface within the plurality of backened interfaces and the interface; and a comparator comparing data received in parallel through the plurality of backend interfaces, the comparator detecting differences between data received from any other bus within the plurality of backend I/O buses. - View Dependent Claims (27)
-
-
28. A data processing system comprising:
-
a processor connected to a local bus, wherein the local bus is a PCI local bus; a multifunction device connected to the local bus and to a plurality of backend I/0 buses, the multifunction device including; an interface to the local bus; a plurality of backend interfaces to a plurality of backend I/0 buses; a multiplexer selecting a primary bus from the plurality of backend buses for testing data transfers from the plurality of backend buses to the local bus, the multiplexer routing data transfers form the primary bus to the local bus through an interface within the plurality of backened interfaces and the interface; and a comparator comparing data received in parallel through the plurality of backend interfaces, the comparator detecting differences between data received from any other bus within the plurality of backend I/O buses.
-
-
29. An apparatus comprising:
-
an interface to a first bus; a plurality of backend functions; a primary backend function; a plurality of interfaces providing communication between primary backend function and the plurality of functions and a plurality of buses; and a multiplexer and comparator unit connected to the primary backend function and a plurality of backend functions, wherein during a test mode, the multiplexer and comparator unit performs a data comparison of data received in parallel from all of the plurality of backend functions to data received from the primary backend function to determine if a difference in data is present and wherein the multiplexer and comparator unit generates a signal indicating the difference in data in response to a determination that the difference in data is present. - View Dependent Claims (30, 31, 32, 33)
-
-
34. A method for testing a multifunction device having a plurality of backend functions used to transfer data top and from input/output channels connected to the multifunction device, the method comprising:
-
selecting a backend function from the plurality of backend functions as a primary backend function, wherein remaining backend functions other than the primary backend function are secondary backend functions; simultaneously testing all of the input/output channels in parallel by sending test data to all of the input/output channels through the primary backend function and the secondary backend functions during a clock cycle; and receiving input data from the input/output channels in parallel and comparing the input data from the input/output channels associated with the secondary backend functions to the input data from the input/output channel associated with the primary backend function to determine whether a difference in the input data occurs.
-
Specification