System and method for aligning multi-channel coded data over multiple clock periods
First Claim
Patent Images
1. A system to align digital image data, comprising:
- a plurality of serial data channels, each channel transmitting corresponding serial data, the serial data on one serial channel having skew relative to the serial data on other serial channels;
a serial to parallel converter to convert the serial data on each of the plurality of serial data channels into parallel data on corresponding parallel data channels responsive to a serial reference clock; and
an alignment circuit adapted to align the parallel data such that no skew is present between the parallel data on one parallel channel and the parallel data on other parallel channels responsive to a pixel clock;
wherein the serial to parallel converter generates a pixel clock for each parallel data channel and a parallel reference clock;
wherein the alignment circuit comprises;
a queue circuit to store the parallel data on each of the parallel data channels responsive to the corresponding pixel clock; and
an alignment detection circuit to detect alignment of the parallel data stored in the queue circuit responsive to the parallel reference clock; and
wherein the queue circuit for each of the parallel data channels comprises;
a plurality of FIFO latches, each FIFO latch to store parallel data responsive to the corresponding pixel clock;
a compare circuit to generate a match bit for each word of parallel data by monitoring the parallel data for a code;
a register circuit to generate a leading edge signal responsive to the corresponding pixel clock;
a counter circuit to generate a write pointer responsive to the corresponding pixel clock;
a latch circuit to generate a leading edge pointer by latching the write pointer responsive to the leading edge signal and the corresponding pixel clock; and
a multiplexer circuit to receive parallel data stored in the plurality of FIFO latches and output aligned parallel data to a corresponding parallel data channel responsive to a corresponding read pointer.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method is provided for aligning multi-channel coded data over multiple clock periods. Data is received through a plurality of data channels and stored in a plurality of latches or queues. Data is scanned to determine whether a valid data transition has occurred. Once a valid transition is detected on all of the plurality of data channels, data is substantially simultaneously read out of the latches or queues resulting in synchronized or aligned data being provided at the output.
-
Citations
24 Claims
-
1. A system to align digital image data, comprising:
-
a plurality of serial data channels, each channel transmitting corresponding serial data, the serial data on one serial channel having skew relative to the serial data on other serial channels;
a serial to parallel converter to convert the serial data on each of the plurality of serial data channels into parallel data on corresponding parallel data channels responsive to a serial reference clock; and
an alignment circuit adapted to align the parallel data such that no skew is present between the parallel data on one parallel channel and the parallel data on other parallel channels responsive to a pixel clock;
wherein the serial to parallel converter generates a pixel clock for each parallel data channel and a parallel reference clock;
wherein the alignment circuit comprises;
a queue circuit to store the parallel data on each of the parallel data channels responsive to the corresponding pixel clock; and
an alignment detection circuit to detect alignment of the parallel data stored in the queue circuit responsive to the parallel reference clock; and
wherein the queue circuit for each of the parallel data channels comprises;
a plurality of FIFO latches, each FIFO latch to store parallel data responsive to the corresponding pixel clock;
a compare circuit to generate a match bit for each word of parallel data by monitoring the parallel data for a code;
a register circuit to generate a leading edge signal responsive to the corresponding pixel clock;
a counter circuit to generate a write pointer responsive to the corresponding pixel clock;
a latch circuit to generate a leading edge pointer by latching the write pointer responsive to the leading edge signal and the corresponding pixel clock; and
a multiplexer circuit to receive parallel data stored in the plurality of FIFO latches and output aligned parallel data to a corresponding parallel data channel responsive to a corresponding read pointer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An alignment circuit receiving input parallel data on a plurality of input parallel data channels and generating output parallel data transmissible on a plurality of output parallel data channels, the input parallel data on one input parallel data channel having skew relative to the input parallel data on other input parallel data channels, comprising:
-
an alignment detection circuit to generate a plurality of read pointers corresponding to the plurality of input parallel data channels responsive to a parallel reference clock signal; and
a plurality of FIFO circuits corresponding to the plurality of input parallel data channels to generate the output parallel data responsive to the plurality of read pointers;
wherein the output data on one output channel has no skew relative to the output data on other output channels;
wherein the alignment detection circuit comprises an alignment detection block for each input data channel, each alignment detection block to generate a read pointer for each input data channel responsive to the parallel reference clock;
wherein each alignment detection block comprises;
a read pointer generating circuit to receive a corresponding leading edge pointer and generate the corresponding read pointer responsive to a reload read pointer signal; and
a latch to receive a leading edge signal and generate a leading edge detect signal for the corresponding input data channel responsive to the reload read pointer signal. - View Dependent Claims (11, 12, 13)
-
-
14. An alignment circuit receiving input parallel data on a plurality of input parallel data channels and generating output parallel data transmissible on a plurality of output parallel data channels, the input parallel data on one input parallel data channel having skew relative to the input parallel data on other input parallel data channels, comprising:
-
an alignment detection circuit to generate a plurality of read pointers corresponding to the plurality of input parallel data channels responsive to a parallel reference clock signal; and
a plurality of FIFO circuits corresponding to the plurality of input parallel data channels to generate the output parallel data responsive to the plurality of read pointers;
wherein the output data on one output channel has no skew relative to the output data on other output channels;
wherein each FIFO circuit comprises;
a plurality of FIFO latches, each FIFO latch to store a word of input data responsive to a corresponding pixel clock;
a compare circuit to generate a match bit for each word of input data by monitoring the input data for a code;
a register circuit to generate a leading edge signal responsive to the corresponding pixel clock;
a counter circuit to generate a write pointer responsive to the corresponding pixel clock;
a latch circuit to generate a leading edge pointer by latching the write pointer responsive to the leading edge signal and the corresponding pixel clock; and
a multiplexer circuit to receive input data stored in the plurality of FIFO latches and output aligned input data to a corresponding input data channel responsive to a corresponding read pointer. - View Dependent Claims (15, 16, 17)
-
-
18. A method for aligning parallel image data, comprising:
-
receiving the data on a plurality of channels, the data on one channel having skew relative to the data on another channel;
storing the data in a plurality of queues;
detecting a valid data transition by checking the data for a predetermined code;
setting a read pointer for each channel responsive to the valid data transition; and
aligning the data by reading the plurality of queues once the read pointers for each of the channels point to a valid data transition;
wherein detecting a valid data transition comprises scanning each word of data for the code; and
wherein detecting a valid data transition comprises;
storing the code for a previous word of data;
storing the code for a present word of data; and
comparing the code for the previous with the code for the present word of data. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
Specification