IP Library Granted Patent US 9,097,755
Granted Patent B2
US 9,097,755 · App. 13/781,676 · Granted Aug 4, 2015

Generating transmission-code compliant test sequences

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,097,755
App. No.
13/781,676
Granted
Aug 4, 2015
Kind
B2
Abstract

Disclosed herein are exemplary methods, apparatus, and systems for generating test sequences that can be used to evaluate high-speed circuit pathways. The disclosed methods, apparatus, and systems can be used, for example, in a printed circuit board or integrated circuit design flow to analyze signal integrity or other electrical behavior. For example, in one exemplary embodiment, a sequence of code words to be input on a circuit channel is determined in a nonrandom manner. In this embodiment, the sequence of code words complies with a transmission code (for example, the 8b10b transmission code) and is designed to cause the output voltage of the channel to be reduced during a time period in which the channel outputs a logic high value.

Claims (39)

1. A method comprising:

sampling, by a computing system, a response of a circuit channel to an input pulse;

nonrandomly determining, by the computing system, a sequence of code words configured to comply with a transmission code for the circuit channel by:

dividing the sampled pulse response for the circuit channel into bit groups,

identifying possible code word types for the bit groups of the divided sampled pulse response, and

selecting one of the possible code word types for each bit group to include in the sequence of code words based, at least in part, on the sampled pulse response of the circuit channel; and

transmitting, by the computing system, the sequence of code words as input on the circuit channel, which causes the output voltage of the circuit channel to be reduced during a time period in which the circuit channel outputs a logic high value.

2. The method of claim 1 , wherein the bit groups each include multiple bits and have lengths complying with the transmission code.

3. The method of claim 2 , wherein the possible code word types for the bit groups of the divided sampled pulse response comply with the transmission code for the circuit channel.

4. The method of claim 3 , wherein the act of nonrandomly determining the sequence comprises computing a value indicative of the impact a candidate code word has on reducing the output voltage of the circuit channel when the candidate code word is included in the sequence.

5. The method of claim 1 , wherein the act of nonrandomly determining the sequence comprises computing a value indicative of the impact a subsequence of code words has on reducing the output voltage of the circuit channel when the subsequence of code words is included in the sequence.

6. The method of claim 2 , wherein the act of nonrandomly determining the sequence comprises:

evaluating a code word in the sequence; and

selecting a sequence of code words to precede the code word from among multiple possible sequences of code words, the selection being based at least in part on the impact a respective one of the multiple possible sequences has on the output voltage of the circuit channel when the respective one of the multiple possible sequences is included in the sequence.

7. The method of claim 3 , wherein the act of nonrandomly determining the sequence comprises:

evaluating individual code words for possible inclusion in the sequence; and

selecting one or more of the code words for inclusion in the sequence based at least in part on the effect the one or more of the code words have on the output voltage of the circuit channel when the code words are included in the sequence.

8. The method of claim 4 , wherein the transmission code is the 8b10b transmission code.

9. The method of claim 5 , wherein the sequence of code words is the worst case sequence.

10. The method of claim 1 , wherein the sequence of code words minimizes an eye opening of an eye diagram that displays a representation of the circuit channel's response to the sequence of code words.

11. An apparatus including one or more computer-readable memory devices storing computer-executable instructions configured to cause a computer to perform operations comprising:

nonrandomly determining a sequence of code words configured to comply with a transmission code for a circuit channel by:

dividing a sampled pulse response for the circuit channel into bit groups,

identifying possible code word types for the bit groups of the divided sampled pulse response, and

selecting one of the possible code word types for each bit group to include in the sequence of code words based, at least in part, on a sampled pulse response of the circuit channel; and

transmitting the sequence of code words as input on the circuit channel, which causes the output voltage of the circuit channel to be reduced during a time period in which the circuit channel outputs a logic high value.

12. The apparatus of claim 11 , wherein the bit groups each include multiple bits and have lengths complying with the transmission code.

13. The apparatus of claim 12 , wherein the possible code word types for the bit groups of the divided sampled pulse response comply with the transmission code for the circuit channel.

14. The apparatus of claim 11 , wherein the act of nonrandomly determining the sequence comprises computing a value indicative of the impact a candidate code word has on reducing the output voltage of the circuit channel when the candidate code word is included in the sequence.

15. The apparatus of claim 12 , wherein the act of nonrandomly determining the sequence comprises computing a value indicative of the impact a subsequence of code words has on reducing the output voltage of the circuit channel when the subsequence of code words is included in the sequence.

16. The apparatus of claim 13 , wherein the act of nonrandomly determining the sequence comprises:

evaluating a code word in the sequence; and

selecting a sequence of code words to precede the code word from among multiple possible sequences of code words, the selection being based at least in part on the impact a respective one of the multiple possible sequences has on the output voltage of the circuit channel when the respective one of the multiple possible sequences is included in the sequence.

17. The apparatus of claim 14 , wherein the act of nonrandomly determining the sequence comprises:

evaluating individual code words for possible inclusion in the sequence; and

selecting one or more of the code words for inclusion in the sequence based at least in part on the effect the one or more of the code words have on the output voltage of the circuit channel when the code words are included in the sequence.

18. The apparatus of claim 15 , wherein the transmission code is the 8b10b transmission code.

19. The apparatus of claim 11 , wherein the sequence of code words is the worst case sequence.

20. The apparatus of claim 12 , wherein the sequence of code words minimizes an eye opening of an eye diagram that displays a representation of the circuit channel's response to the sequence of code words.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Jun 29, 2021
From: MENTOR GRAPHICS CORPORATION; SIEMENS INDUSTRY SOFTWARE INC.
To: SIEMENS INDUSTRY SOFTWARE INC.
Reel/Frame 056702/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2019
From: DMITRIEV-ZDOROV, VLADIMIR
To: MENTOR GRAPHICS CORPORATION
Reel/Frame 048167/0378 →