[ Team LiB ] Previous Section Next Section

Exercising: In-Depth Verification

One of the most problematic issues developers have is to test, or characterize, their products in such a way that they can be sure they work in all expected conditions and with all other products. A common and easy way of testing is to have a few different other products available and test various combinations to verify the interoperability.

The problem with this common technique is that there is no assurance that all or even a small percentage of the possible expected conditions have been tested for. In most test cases, configurations cannot represent the conditions experienced when the system encounters high data traffic, errors or various termination responses.

The Bus Exerciser represents a premier tool that allows developers to test their new product beyond the typical limitations. Exercisers can generate errors, generate high throughput traffic, and even generate various different responses to transaction requests to verify that a new design can accommodate all expected conditions and that the system can properly recover.

A PCI Express bus Exerciser that can accommodate most of these requirements thta has an easy programming interface for all layers, and that allows users to fully manipulate the data would prove to be a useful tool for verifying and testing PCI Express products.

Samples taken from the PX-4, a Catalyst PCI Express bus Exerciser, are presented and explained here to indicate how this type of tool may be applied during test, debug and verification phases.

The Exerciser can also be used to verify various compliance requirements, as defined by the specifications.

To review the complete menus and features, you may download and try the software from catalyst web site www.getcatalyst.com

Figure A-17. Exerciser Covering All Possible Commands

graphics/ap01fig17.jpg

The PX-4 Exerciser interface indicates all possible commands and Ordered Sets in physical layer, data link layer and transactions layer packets.

Figure A-18. Exerciser Bit Level Manipulation Allowing Various Options

Setup for a TS1 packet, in a X4 link configuration, allowing the user various options to define the symbol values in the packet and change the bits within the symbols.

This packet can be sent to the device repeatedly in a predefined loop up to 4096 times or infinitely. By setting various available options users can test all possible responses.

graphics/ap01fig18.jpg

Figure A-19. Supporting All Layers, Simultaneously

Several multi-layer commands may be defined to create a more in-depth program, such as Link training, Posted and Non-posted Transactions, or other various specific sequences.

graphics/ap01fig19.jpg

Commands associated with different layers may be mixed, and each may be set with a different option and a number of loops. The commands may be issued immediately after each other or after a defined delay.

These packets and commands may also be sent as a pattern generator without considering the response and proper handshake. In this case the user may generate and repeat a pattern to measure the response of the device regardless of integrity of the response. In a more typical system, unless the response is accurate, the initiator may not repeat or continue.

    [ Team LiB ] Previous Section Next Section