Abstract:
A rate adaptation system includes a barrel shift slot register and a rate adaptation register. The barrel shift slot register includes a plurality of slots with one of a valid read request or a dummy read request. A rate adaptation register is configured to sequentially cycle through the slots of the barrel shift register in response to a clock providing valid read requests to a FIFO buffer and to skip provision of valid read requests for clock cycles of the first clock associated with slots that include dummy read requests. The rate adaption register may also receive data blocks from the FIFO buffer and provide those data blocks to another FIFO buffer.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of pending U.S. patent application Ser. No. 14/629,190 filed Feb. 23, 2015, which application is a continuation of U.S. patent application Ser. No. 13/087,027, filed Apr. 14, 2011, and issued as U.S. Pat. No. 8,964,578 on Feb. 24, 2015, which application is a divisional of U.S. application Ser. No. 12/012,725, filed Feb. 1, 2008, now abandoned, which claims priority to provisional application No. 60/900,180, filed Feb. 7, 2007. These prior applications and patent are incorporated herein by reference, in their entirety, for any purpose. 
    
    
     FIELD OF THE INVENTION 
     The invention relates generally to electronic communication systems. More particularly, the invention relates to a training pattern to enable recognition of proper wire-pair orientation and correction in electronic communication systems. 
     BACKGROUND 
     In Ethernet 10GBase-T cabling, the data is sent over four pairs of wires. Between the transmitter and receiver, the pairs can be swapped with each other, and the wires in a pair can be swapped. These reconfigurations can result in an inverted signal or the latency of the four pairs can differ. 10GBASE-T, or IEEE 802.3an-2006, is a standard to provide 10 gigabit/second connections over conventional unshielded or shielded twisted pair cables, over distances up to 100 m. This standard mandates specific training patterns to enable recognition of the proper correction, but does not provide a means to find the proper corrections from all the possibilities. Accordingly, there is a need to develop an algorithm to efficiently search the possible corrections and identify the correct one. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Features, aspects and potential advantages of the present disclosure will become apparent from the following detailed description of various embodiments, when taken in conjunction with the accompanying drawings, in which: 
         FIGS. 1 and 2  are block diagrams of example systems in accordance with embodiments of the present disclosure. 
     
    
    
     DETAILED DESCRIPTION 
     Details of various embodiments of the present invention are disclosed in the following appendices: 
     Appendix A. 
     Appendix B. 
     Appendix C. 
       FIG. 1  depicts a rate adaptation system that includes a barrel shift slot register and a rate adaptation register.  FIG. 2  depicts an embodiment of the barrel shift slot register in accordance with the rate adaptation system of  FIG. 1 . In the example, the 10 Gpbs bandwidth corresponds to an input bandwidth of 10000 Mbps. An XGT interface may be based on an XGT clock of 800 MHz. In the example, an XGT clock may include a derivative or divided clock. For example, a PCS-AN interface may include a 400 MHz clock. As depicted in  FIG. 1 , the XGT interface is divided to support a 400 MHz clock. In an example, the 800 MHz clock on the XGT interface may be divided by a divide-by- 2  of the 800 MHz clock. Both the PCS-AN interface and XGT interface represent interfaces that may provide data according to different 10GBASE-T standard protocols. 
     When using the 400 MHz clock of XGT interface, the output bandwidth may not correspond to the input bandwidth under some circumstances. In an example, a 32-bit wide datapath, a 400 MHz clock, and a 100000 Mbps bandwidth, a 128000 Mbps bandwidth may be outputted as an output bandwidth. This may not allow the system to adapt to a higher bandwidth. The XGT interface may have more data than it can handle. Accordingly,  FIG. 1  depicts a rate adaptation system that supports an input bandwidth of 10000 Mbps and an output bandwidth of 10000 Mbps. 
     The rate adaptation system described herein may adapt a clock rate difference (e.g., ppm difference) across different clock domains (e.g., asynchronous clock domains differing in frequency and phase) without using a PLL or other clock generation circuit to create same frequency clocks. The rate adaptation system described here in utilizes the fact that different clock frequencies include a whole number ratio. For example a clock frequency with a whole number ratio may be deployed in circuitry, such as the XGT interface or the XGXS interface. Accordingly, a 32-bit wide databus can be manipulated to maintain bandwidth at both ends of the rate adaptation system. In an example, an input bandwidth may be required to equal the output bandwidth except for the standard allowed ppm. 
     As depicted in  FIG. 1 , the rate adaptation (“RA”) system may include a slotting scheme employed to match the bandwidth across the rate adaptation FIFOs. The slotted scheme and the addition of the Stack FIFO does not increase or decrease performance of the rate adaptation engine. The supported clock difference may be 200 ppm. As illustrated in  FIG. 1 , a 32 bit data signal is received at a 10 Gbps bandwidth from an XGT interface. The datapath may include a datapath from the XGT interface (e.g., PCS-AN) to the XGXS. As illustrated in  FIG. 1 , a 32 bit data signal is sent at a 10 Gbps bandwidth to the XGXS interface. The clock rate of the PCS-AN may be 400 MHz. The clock rate of the XGXS may be 312.5 MHZ. 
       FIG. 1  depicts the rate adaptation between the XGXS and the PCS-AN. The rate adaptation system may utilize a slotted scheme of reading from the synchronizing FIFO to limit the XGT interface bandwidth to 10000 Mbps (e.g., 10 Gbps). In an example, the scheme may rate adapt data from the XGXS interface to the XGT interface, or vice versa. As depicted, incoming 32-bit data signal is received at the Stack FIFO. The stack FIFO receives a read signal. The stack FIFO outputs the 32-bit data signal to the Rate Adapt (“RA”) delete. The RA receives slotted read/writes from the barrel shift slot register. As described herein, the barrel shift slot register may allow other components (e.g., the RA delete block) of  FIG. 1  to read valid read requests or dummy read requests (e.g., invalid read requests). The RA delete block sends a write signal to the synchronizing FIFO. 
     The synchronizing FIFO of  FIG. 1  includes slots for Delete, from Full to Upper Water Mark (“UWM”); slots for No Action; and slots for Insert, from Lower Water Mark (“LWM”) to Empty. The RA delete block provides the data signal to the synchronizing FIFO according to the output received from the barrel shift slot register. Accordingly the RA delete block provides data that was received at a first clock rate (e.g., 400 MHz) to the synchronizing FIFO, which, in turn, may provide data at a second clock rate (e.g., 312.5 MHz). The synchronizing FIFO provide a 32 bit data signal to a RA Insert, which, in turn, outputs the 32 data bit signal to the XGXS interface at a 10 Gbps rate. The RA Insert may send a Read Enable signal to the synchronizing FIFO. 
       FIG. 2  depicts an embodiment of the barrel shift slot register in accordance with the rate adaptation system of  FIG. 1 . RA delete may be configured to shift slotted read/writes from the barrel shift slot register at every clock of the first clock rate (e.g., 400 MHz) of the first interface. The barrel shift register may include Read slots (denoted as ‘R’ in  FIG. 2 ).  FIG. 2  depicts 25 read slots with read requests. The barrel shift slot register also includes dummy slots (denoted as black boxes in  FIG. 2 ), which include no read or write request.  FIG. 2  depicts  7  dummy slots. In the example, 25 valid-read requests of 32 available slots corresponds to a number of read requests that a 312.5 MHz clock may process in the same time that a 400 MHz clock processes 32 read requests (e.g., 25/32=second clock rate/first clock rate). That is, for every 32 clocks of the 400 MHz first clock rate, seven reads are invalidated. The seven dummy reads may be distributed to avoid any temporary surges or falls in the FIFO levels. In some cases, dummy reads may not be distributed evenly for the FIFO thresholds, and the distribution of the dummy reads and dummy slots may be adjusted. For example, the barrel shift register may shift dummy slots seven times, as  FIG. 2  depicts seven dummy slots. The rate adaptation engine taps any one of the slots while the barrel shift slot register shifts by one every clock at 400 MHz (supplied by XGT). 
     In an example, a phase locked loop (“PLL”) with a clock multiplier can be used to generate a clock that is PPM matched to the destination clock domain but is frequency synchronous to the source clock domain. 
     As one of ordinary skill in the art will appreciate, various changes, substitutions, and alterations could be made or otherwise implemented without departing from the principles of the present invention. Accordingly, the examples and drawings disclosed herein including the appendix are for purposes of illustrating the preferred embodiments of the present invention and are not to be construed as limiting the invention.