IP Library Granted Patent US 7,324,421
Granted Patent B1
US 7,324,421 · App. 10/218,313 · Granted Jan 29, 2008

Method and apparatus for data bit align

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 7,324,421
App. No.
10/218,313
Granted
Jan 29, 2008
Kind
B1
Abstract

An invention is provided for data bit align. The invention includes a multiplexer that receives a data sample word as data input and also receives a clock sample word as select input. The multiplexer selects a data bit from the data sample word based on the clock sample word. Generally, the multiplexer can select the data bit from the data sample word corresponding to a position of the clock edge in the clock sample word. The invention also includes an output register, which is coupled to the multiplexer. The output register stores the selected data bit from the multiplexer and provides the selected data bit to remaining system components.

Claims (31)

1. An apparatus for data bit align, comprising:

a pipeline sample word aligner for a time frame alignment of a clock sample word with a time frame alignment of a data sample word;

a multiplexer that receives the data sample word, the data sample word including a plurality of data bits, as data input and that receives the clock sample word from the pipeline sample word aligner, the clock sample word including a plurality of clock bits wherein a bit state of one of the plurality of clock bits represents a clock edge, as select input,

wherein the multiplexer selects a data bit from the plurality of data bits in the data sample word based on a position of the clock edge in the clock sample word, the data sample word and the clock sample word are of same size and if the clock sample word includes the clock edge, the selected data bit is a bit in the data sample word corresponding to a bit representing the clock edge in the clock sample word, and if the clock sample word does not include the clock edge, the selected data bit is NULL.

2. An apparatus as recited in claim 1 , wherein the clock sample word indicates the position of the clock edge.

3. An apparatus as recited in claim 2 , wherein the position of a clock edge is indicated by a bit state in the clock sample word.

4. An apparatus as recited in claim 3 , wherein the position of a clock edge is indicated by a TRUE bit value.

5. An apparatus as recited in claim 4 , wherein a TRUE bit value is indicated by a bit having a value of “1.”

6. An apparatus as recited in claim 1 , wherein the multiplexer selects a data bit from the data sample word based on a position of a clock edge in the clock sample word.

7. An apparatus as recited in claim 6 , wherein the multiplexer selects the data bit from the data sample word corresponding to the position of the clock edge in the clock sample word.

8. An apparatus as recited in claim 7 , wherein the clock edge is indicated by a bit having a value of “1” and remaining bits of the clock sample word have a value of “0.”

9. An apparatus as recited in claim 1 , further comprising an output register coupled to the multiplexer, the output register storing the selected data bit from the multiplexer and providing the selected data bit to remaining system components.

10. An apparatus as recited in claim 9 , wherein remaining system components ignore data bits stored in the output register when the clock sample word comprises only bits having a value of “0.”

11. A method for providing data bit align, comprising the operations of:

receiving a data sample word comprising a plurality of data bits;

receiving a clock sample word comprising a plurality of clock bits wherein a bit state of one of the plurality of clock bits represents a clock edge;

determining a position of the clock edge within the clock sample word when the clock edge is present in the clock sample word; and

selecting a data bit from the data sample word based on the position of the clock edge within the clock sample word when the clock edge is present in the clock sample word,

wherein the data sample word and the clock sample word are of same size and if the clock sample word includes the clock edge, the selected data bit is a bit in the data sample word corresponding to a bit representing the clock edge in the clock sample word, and if the clock sample word does not include the clock edge, the selected data bit is NULL.

12. A method as recited in claim 11 , wherein the bit state having a value of TRUE indicates the clock edge.

13. A method as recited in claim 12 , wherein the clock sample word comprises all bits having a value of FALSE when a clock edge is not present in the clock sample word.

14. A method as recited in claim 13 , further comprising the operation of selecting the data bit from the data sample word in the same bit position as the bit having a value of TRUE in the sample clock word when the clock edge is present in the clock sample word.

15. A method as recited in claim 11 , further comprising the operation of providing the selected data bit to remaining system components when the clock edge is present in the clock sample word.

16. A method as recited in claim 15 , wherein the remaining system components ignore the selected data bit when the clock edge is not present in the clock sample word.

17. A system for data bit align, comprising:

a multiplexer that receives a data sample word, the data sample word including a plurality of data bits, as data input and that receives a clock sample word the clock sample word including a plurality of clock bits wherein a bit state of one of the plurality of clock bits represents a clock edge, as select input, wherein the multiplexer selects a data bit from the plurality of data bits in the data sample word based on a position of the clock edge in the clock sample word; and

an output register directly coupled to the multiplexer, the output register storing the selected data bit from the multiplexer during an internal clock cycle and providing the selected data bit to remaining system components during the next internal clock cycle,

wherein the data sample word and the clock sample word are of same size and if the clock sample word includes the clock edge, the selected data bit is a bit in the data sample word corresponding to a bit representing the clock edge in the clock sample word, and if the clock sample word does not include the clock edge, the selected data bit is NULL.

18. A system as recited in claim 17 , wherein the multiplexer selects the data bit from the data sample word corresponding to a position of the clock edge in the clock sample word.

19. A system as recited in claim 18 , wherein the clock edge is indicated by a bit having a value of “1” and remaining bits of the clock sample word have a value of “0.”

20. A system as recited in claim 19 , wherein remaining system components ignore data bits stored in the output register when the clock sample word comprises only bits having a value of “0.”

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 046486/0433 →
MERGER AND CHANGE OF NAME Recorded May 30, 2018
From: ADPT CORPORATION; ADAPTEC, INC.
To: ADPT CORPORATION
Reel/Frame 046268/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2012
From: HUPPER ISLAND LLC
To: RPX CORPORATION
Reel/Frame 028142/0922 →