IP Library › Granted Patent US 11,283,589
Granted Patent B2
US 11,283,589 · App. 17/128,720 · Granted Mar 22, 2022

Deskewing method for a physical layer interface on a multi-chip module

Inventors: Varun Gupta (San Jose, CA); Milam Paraschou (Santa Clara, CA); Gerald R. Talbot (Boxborough, MA); Gurunath Dollin (Santa Clara, CA); Damon Tohidi (Markham, CA); Eric Ian Carpenter (Fort Collins, CO); Chad S. Gallun (Austin, TX); Jeffrey Cooper (Fort Collins, CO); Hanwoo Cho (Santa Clara, CA); Thomas H. Likens, III (Austin, TX); Scott F. Dow (Fruita, CO); Michael J. Tresidder (Austin, TX)
Assignees: Advanced Micro Devices, Inc.; ATI Technologies ULC
H04L7/04H04L7/0008
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 11,283,589
App. No.
17/128,720
Granted
Mar 22, 2022
Kind
B2
Abstract

Systems, apparatuses, and methods for implementing a deskewing method for a physical layer interface on a multi-chip module are disclosed. A circuit connected to a plurality of communication lanes trains each lane to synchronize a local clock of the lane with a corresponding global clock at a beginning of a timing window. Next, the circuit symbol rotates each lane by a single step responsive to determining that all of the plurality of lanes have an incorrect symbol alignment. Responsive to determining that some but not all of the plurality of lanes have a correct symbol alignment, the circuit symbol rotates lanes which have an incorrect symbol alignment by a single step. When the end of the timing window has been reached, the circuit symbol rotates lanes which have a correct symbol alignment and adjusts a phase of a corresponding global clock to compensate for missed symbol rotations.

Claims (34)

1. A circuit comprising:

first circuitry configured to synchronize a local clock of each of a plurality of communication lanes with a global clock;

second circuitry configured to:

symbol rotate each lane of the plurality of lanes that has an incorrect alignment, responsive to a determination that one or more of the plurality of communication lanes have an incorrect symbol alignment; and

check symbol timing of each of the plurality of lanes, responsive to detecting the end of a timing window.

2. The circuit as recited in claim 1 , wherein responsive to detecting the end of the timing window, the circuit is configured to symbol rotate each lane of the plurality of lanes that has a correct symbol alignment.

3. The circuit as recited in claim 1 , wherein to synchronize the local clock of each of the plurality of communication lanes with the global clock, the first circuitry is configured to sweep the local clock across multiple phases while sampling the local clock with the global clock.

4. The circuit as recited in claim 1 , wherein the first circuitry is configured to determine the local clock is aligned with the global clock responsive to detection of an edge transition during the sweep of the local clock.

5. The circuit as recited in claim 4 , wherein subsequent to the local clock being aligned with the global clock, a phase of the local clock is adjusted to meet setup and hold timing requirements.

6. The circuit as recited in claim 1 , wherein subsequent to the local clock being synchronized with the global clock, the circuit is configured to sample data on a communication lane of the plurality of communication lanes with the local clock.

7. The circuit as recited in claim 1 , wherein data sampled on a communication lane with the local clock is conveyed to a deserializer.

8. A method comprising:

synchronizing a local clock of each of a plurality of communication lanes with a global clock;

symbol rotating each lane of the plurality of lanes, responsive to a determination that none of the plurality of communication lanes have a correct symbol alignment; and

checking symbol timing of each of the plurality of lanes, responsive to detecting the end of a timing window.

9. The method as recited in claim 8 , wherein responsive to detecting the end of the timing window, the method comprises symbol rotating each lane of the plurality of lanes that has a correct symbol alignment.

10. The method as recited in claim 8 , wherein to synchronize the local clock of each of the plurality of communication lanes with the global clock, the method comprises sweeping the local clock across multiple phases while sampling the local clock with the global clock.

11. The method as recited in claim 8 , further comprising determining the local clock is aligned with the global clock responsive to detection of an edge transition during the sweep of the local clock.

12. The method as recited in claim 11 , wherein subsequent to the local clock being aligned with the global clock, the method comprises adjusting a phase of the local clock to meet setup and hold timing requirements.

13. The method as recited in claim 8 , wherein subsequent to the local clock being synchronized with the global clock, the method comprises sampling data on a communication lane of the plurality of communication lanes with the local clock.

14. The method as recited in claim 8 , further comprises conveying data sampled on a communication lane with the local clock is conveyed to a deserializer.

15. A system comprising:

a first functional unit;

a channel with a plurality of communication lanes; and

a second functional unit coupled to the first functional unit via the channel, wherein the second functional unit is configured to convey a first global clock and a first data signal to the first functional unit via the channel;

wherein the first functional unit is configured to:

synchronize a local clock of each of a plurality of communication lanes with the global clock;

symbol rotate each lane of the plurality of lanes that has an incorrect alignment, responsive to a determination that one or more of the plurality of communication lanes have an incorrect symbol alignment; and

check symbol timing of each of the plurality of lanes, responsive to detecting the end of a timing window.

16. The system as recited in claim 15 , wherein responsive to detecting the end of the timing window, the first functional unit is configured to symbol rotate each lane of the plurality of lanes that has a correct symbol alignment.

17. The system as recited in claim 15 , wherein to synchronize the local clock of each of the plurality of communication lanes with the global clock, the first functional unit is configured to sweep the local clock across multiple phases while sampling the local clock with the global clock.

18. The system as recited in claim 15 , wherein the first functional unit is configured to determine the local clock is aligned with the global clock responsive to detection of an edge transition during the sweep of the local clock.

19. The system as recited in claim 18 , wherein subsequent to the local clock being aligned with the global clock, a phase of the local clock is adjusted to meet setup and hold timing requirements.

20. The system as recited in claim 15 , wherein subsequent to the local clock being synchronized with the global clock, the first functional unit is configured to sample data on a communication lane of the plurality of communication lanes with the local clock.

Continuity (3)
Continuation 16709472 · Dec 10, 2019
Continuation 16397848 · Apr 29, 2019
Related Publication 20210111861A1 · Apr 15, 2021
Cited By (1)
US 12,710,783