Patent ID: 7720107
Filing Date: 2010-05-18
Classification: G06F,H04J,H04L

Abstract:
1. A system comprising: a transmitter comprising: Tx core logic utilizing a transmitter core clock (TCC); a transmitter interface module adapted to be coupled to a parallel bus, with the parallel bus including first and second clock groups, with each clock group including a set of data lines and an associated clock line, with the data lines and associated clock line in a clock group located physically close to one another to minimize skew between the data signals and the clock signal carried on the lines of the clock group, with the transmitter interface module configured to clock data onto the data lines of the first and second clock groups in synchronism with first and second transmit clock copies, respectively, derived from the TCC, and with the transmitter interface further configured to transmit a single initial value having a first logic value only on a selected data line of each of the first and second clock groups and subsequently to simultaneously transmit a single training sequence value having a second logic value different from the first logic value only on the selected data line in each of the first and second clock groups, where the single initial value and single training sequence value are transmitted only once when the transmitter is initialized; a receiver comprising: Rx core logic utilizing a receiver core clock (RCC); a first deskew state machine adapted to receive the first transmit clock copy and the initial value and training sequence value on the selected data line of the first clock group, with the first deskew state machine adapted to assert a first write restart signal when the training sequence value is received; a first synchronizer, clocked by the RCC, coupled to receive the first write restart signal and assert a first read ready signal after a delay of a selected number of RCC cycles from the assertion of the first write restart signal; a second deskew state machine, coupled to receive the second transmit clock copy and the initial value and training sequence value on the selected data line of the second clock group, with the second deskew state machine adapted to assert a second write restart signal when the training sequence value is received where the first and second write restart signals will be asserted at different times if there is skew between the first and second associated clock groups; a second synchronizer, clocked by RCC, coupled to receive the second write restart signal and assert a second read ready signal after the delay of the selected number of RCC cycles from the assertion of the second write restart signal; read restart logic, coupled to receive the first and second read ready signals, adapted to assert a read restart signal when both the first and second read ready signals are asserted, where assertion of the read restart signal indicates that both the first and second associated clock groups are initialized and ready to read out data; a first FIFO having a data input adapted to sample data from the data lines of the first clock group in synchronism with the first transmit clock copy received on the clock line of the first clock group, with the first FIFO including write logic, coupled to the first deskew state machine to receive the first write restart signal, with the write logic configured to start writing data to the first FIFO when the first write restart signal is asserted and the first FIFO including read logic, coupled to the read restart logic to receive the read restart signal, and with the read logic configured to start reading data from the first FIFO when the read restart signal is asserted; and a second FIFO having a data input adapted to sample data from the data lines of the second clock group in synchronism with the second transmit clock copy received on the clock line of the second clock group, with the second FIFO including write logic, coupled to the second deskew state machine receive the second write restart signal, with the write logic configured to start writing data to the second FIFO when the second write restart signal is asserted and with the second FIFO including read logic, coupled to the read restart logic to receive the read restart signal, with the read logic configured to start reading data from the second FIFO when the read restart signal is asserted where writing data to the first and second FIFOs will begin at different times if the there is skew between the first and second clock groups but reading data will begin at the same time.