Serial links are advantageous when signals need to be transmitted long distances. Using a serial means to transmit information requires fewer wires than a parallel scheme. A clock wire can be avoided by using clock recovery techniques. A system where both sender and receiver have clocks with nearly identical clock frequencies is called plesiochronous. The receiver can take advantage of the fact that it knows the approximate data rate and can then extract the data from the incoming signal. This is the scenario in which many of the serial links described in the literature are designed to be used.
The scenario in which the serial link for this project will be used is different, however, and has guided many of our design decisions. This serial link will be used for low latency, interchip communication and for data transfer to disk. For communication to disk, an interface chip which will communicate to the disks using the appropriate protocol (FCAL) will be required. We are currently pursuing the possibilities of this interface chip with interested industrial partners, as the design of a very complicated interface chip is not a project we wish to undertake. Assuming this chip is available, the serial link will only need to communicate to other neighboring integrated circuits on the same printed circuit board. Minimizing pin count is still a desirable goal, however, so expandable, high speed serial links fit the application well. Because communication will only occur on a single PCB, we now have a mesochronous system. That is, both sender and receiver share the same clock. Once this assumption has been made, interchip communication with clock recovery becomes a simper issue because the differences in the local clocks of the various ICs will be absolutely static with the exception of very minor phase drift. The only causes of clock drift will now be due to temperature variations and low frequency supply noise.
There are two basic methods which can be used to recover the clock of the incoming data: oversampling and tracking. Oversampling techniques require at least 3 samples per bit. The samples are compared with neighboring samples using a majority voting logic block to determine the correct data, as in [Lee95]. Tracking schemes adjust the phase of the sampling clocks so that the edge clocks align with the edge of the data eye and the data clocks align with the center of the data eye. Tracking schemes therefore require 2 samples per bit - one for data and one for edges between data bits [Dal97]. Edge and data samples are compared with their neighboring samples to determine which direction to adjust the receive clocks. The two schemes are compared in figure 1.1.1.
In general, oversampling is preferred if the high-frequency jitter that will be rejected by the oversampling receiver is greater than the quantization jitter that oversampling introduces [Dal97]. However, in our case both sender and receiver will be sharing the same system clock. This means little jitter will be injected by the clock itself. The other source of jitter could be the DLL. As long as the DLL is broadbanded and made to track all low frequency jitter, only a small amount of high frequency jitter will be allowed. Thus the high frequency jitter on the data stream should be small and the tracking scheme is preferrable. In addition, the design and power consumption of the large (but digital) oversampling logic block is avoided.