Method, apparatus, and system for enabling a deterministic interface
AssigneeIntel Corporation
InventorsBibbin Chacko, Guadalupe J. Garcia, Saurabh Upadhyay
Life of this patent
Estimating the term…
Abstract
To address the need for efficient and reliable testing of integrated devices, system on chips, and computers, deterministic behavior for an interface is accomplished by fixing variation in latency associated with receiver and transmitter data stream. The interface may be a serial interface that is PCIe compliant and corrects latency variations in the receiver that consequently results in deterministic transmit data. Consequently, the data received and/or transmitted is predictable with respect to time and facilitates testing and validation of the devices and logic associated with the interface.
Claims21
A method for facilitating deterministic data at an interface comprising:
- starting a link clock after a predetermined time after a common clock;
- initiating a counter based on the link clock;
- restarting the counter on every rising edge of the common clock for clock ratios with respect to the link clock to common clock;
- and
- adjusting an output point of a latency buffer in response to detecting a skip ordered set to match an entry that corresponds to the counter being equal to a value in a register and wherein the latency buffer is to be integrated into a physical data path of the interface,
- wherein the register is to be programmed to vary based on at least one of:
- routing, protocol, semiconductor processing, and a particular design implementation,
- wherein adjusting the latency buffer output point is performed based on an output of a multiplexer,
- wherein an output selector of the multiplexer is incremented in response to the detection of the skip ordered set and a determination that a value stored in the counter is not equal to a value stored in the register.
An interface to facilitate deterministic data comprising:
- a receiver to receive a serial data stream;
- a symbol boundary circuit to receive the serial data stream and to determine a symbol boundary from the serial data stream based at least in part on a skip ordered set;
- a decoder to receive the serial data stream from an output of the symbol boundary circuit;
- a first buffer to receive an output of the decoder and to compensating clock frequency differences between a recovered clock from the serial data stream and a transmit link clock;
- a second buffer to receive the output of the first buffer and to compensate for lane-to-lane skew;
- a third buffer to adjust a pointer in response to detecting a skip ordered set to match;
- and
- an entry that corresponds to a counter being equal to a value in a register that results in the received serial data stream being deterministic, wherein the third buffer is to be integrated into a physical data path of the interface,
- wherein the register is to be programmed to vary based on at least one of:
- routing, protocol, semiconductor processing, and a particular design implementation,
- wherein adjusting the latency buffer output point is to be performed based on an output of a multiplexer,
- wherein an output selector of the multiplexer is to be incremented in response to the detection of the skip ordered set and a determination that a value stored in the counter is not equal to a value stored in the register.
A physical layer of a serial data interface comprising:
- a receiver to receive a serial data stream;
- a symbol boundary circuit to receive the serial data stream and to determine a symbol boundary from the serial data stream based at least in part on a skip ordered set;
- a decoder to receive the serial data stream from an output of the symbol boundary circuit;
- a first buffer to receive an output of the decoder and to compensating clock frequency differences between a recovered clock from the serial data stream and a transmit link clock;
- a second buffer to receive the output of the first buffer;
- a logic control to receive an output of the second buffer and to control a third buffer, wherein the third buffer is to adjust a pointer in response to detecting a skip ordered set to match;
- and
- an entry that corresponds to a counter being equal to a value in a register that results in the received serial data stream being deterministic, wherein the third buffer is to be integrated into a physical data path of the interface,
- wherein the register is to be programmed to vary based on at least one of:
- routing, protocol, semiconductor processing, and a particular design implementation,
- wherein adjusting the latency buffer output point is to be performed based on an output of a multiplexer,
- wherein an output selector of the multiplexer is to be incremented in response to the detection of the skip ordered set and a determination that a value stored in the counter is not equal to a value stored in the register.
Dependencies are inferred from the claim text.