1. Technical Field of the Invention
The present invention relates to synchronizing multiplexers, and particularly to a method and apparatus for synchronizing multiple-stage multiplexers.
2. Description of Related Art
A multiplexer is a device that combines multiple streams of data into a single, higher speed stream of data. Some multiplexers can be viewed as parallel-to-serial converters. An N:1 multiplexer, shown in
For reasons of practicality, multiplexers are typically implemented using smaller sized multiplexer circuits.
In the multiple-stage multiplexer illustrated in
When power is first applied to a multiple-stage multiplexer, the internal (N-state) counters initially assume random states. Consequently, the multiplexer circuits in the first stage of a multiple-stage multiplexer will not be initially synchronized with each other. A conventional approach for synchronizing the internal counters in a multiple-stage multiplexer implements the internal counters with reset capability so that the internal counters may be reset simultaneously with a single reset signal This conventional synchronization approach, however, requires that the reset signal have relatively precise timing for each internal counter in order to comport with necessary set-up and hold times relative to the clock signal applied to the internal counters. In instances in which the multiplexer circuits in the first stage are implemented in more than one integrated circuit chip, the conventional synchronization approach becomes less effective as speeds increase.
Another prior synchronization approach places the multiplexer circuits of a multiple-stage multiplexer in random states until the carry output signals generated by the internal counters occur at the same time. The multiplexer circuits may be placed in random states by, for example, connecting the reset input of each multiplexer circuit to a pseudo-random pulse generator, as shown in
Other prior synchronization techniques utilize built-in-test-equipment (BITE) for applying test patterns to the multiple-stage multiplexer and monitoring the value of each bit in the output generated by the multiple-stage multiplexer. As the output data rate of the multiple-stage multiplexers increases, more sophisticated BITE must be utilized in order to monitor the bit values generated by the multiple-stage multiplexers. Sophisticated BITE is undesirable because it is expensive.
Based upon the foregoing, there is a need for synchronizing multiplexers in a relatively accurate and inexpensive manner.
The present invention overcomes shortcomings in prior synchronization techniques and satisfies a significant need for a method and apparatus for synchronizing multiple-stage multiplexers. According to exemplary embodiments of the present invention, multiplexer circuits in the multiple-stage multiplexer are synchronized or made to appear to be synchronized based upon a frequency response of the output of the multiplexer. A spectral component of the multiplexer output, such as the output power level of the multiple-stage multiplexer, is monitored at a frequency corresponding to the input data rate of the multiple-stage multiplexer. A test pattern is sent through the multiple-stage multiplexer during the time the output power level is monitored.
In an exemplary embodiment of the present invention, multiplexer circuits forming the multiple-stage multiplexer are individually placed in different states in successive fashion until the power level of the output of the multiple-stage multiplexer at the frequency of the input data rate is minimized or otherwise falls below a predetermined level. The multiple-stage multiplexer is synchronized when the power level is minimized.
In another exemplary embodiment of the present invention, a test pattern is applied to the data inputs of the multiplexer circuits forming the multiple-stage multiplexer. The timing and ordering of bits of the test pattern applied to multiplexer circuits are changed until the power level of the output of the multiple-stage multiplexer reaches a minimum. The particular timing and ordering of the test pattern bits that produce the minimum power level are maintained for use by the multiple-stage multiplexer during normal (i.e., non-test) operation. In this way, the data input to the multiple-stage multiplexer is modified to compensate for the multiple-stage multiplexer being out of synch.
By monitoring the power level of the output signal of the multiple-stage multiplexer, embodiments of the present invention can relatively efficiently cause the multiple-stage multiplexer to operate as a synchronized multiple-stage multiplexer without having to perform computations at the output data rate of the multiple-stage multiplexer.
Furthermore, the invention provides embodiments with other features and advantages in addition to or in lieu of those discussed above. Many of these features and advantages are apparent from the description below with reference to the following drawings.
A more complete understanding of the method and apparatus of the invention may be obtained by reference to the following Detailed Description when taken in conjunction with the accompanying Drawings wherein:
Referring to
Multiple-stage multiplexer 2 is shown in
Synchronization device 1 synchronizes multiple-stage multiplexer 2 by sending static test patterns, i.e., test patterns that do not vary over time, through multiple-stage multiplexer 2 and monitoring the multiplexer output. The basic principle upon which synchronization device 1 is based is that there are static data patterns that exhibit near complete cancellation of the power level at certain frequencies, and exhibit substantially larger power levels at the certain frequencies when the bit positions of the static data patterns are switched. These static data patterns are used by synchronization device 1 to identify when multiple-stage multiplexer 2 is synchronized.
Synchronization device 1 includes a controller 5 that provides test patterns to multiple-stage multiplexer 2. In accordance with an exemplary embodiment of the present invention, controller 5 selectively places multiplexer circuits 3 in different states until the test patterns sent through multiple-stage multiplexer 2 yield, at the output thereof, a predetermined or minimum power level at a frequency that is harmonically related to the data input rate, such as the frequency corresponding to the data input rate. The test patterns provided by controller 5 are static test patterns that result in multiple-stage multiplexer 2 generating data patterns of the type described above.
In placing multiplexer circuits 3 in different states, controller 5 may, for example, place multiplexer circuits 3 in substantially random states. In this case, controller 5 includes random pulse generator circuitry 15 which asserts reset signals R1–R4 at substantially random times, similar to the reset circuitry shown in
Synchronization device 1 further includes switching circuitry 6 disposed between test pattern outputs of controller 5 and data inputs of multiple-stage multiplexer 2. Switching circuitry 6 allows controller 5 to select between test patterns generated by controller 5 and data generated by other circuitry during a normal (i.e., non-test) mode of operation. The output of switching circuitry 6 is connected to the data inputs of multiple-stage multiplexer 2.
As stated above, controller 5 places multiplexer circuits 3 in substantially random states until the test pattern sent through multiple-stage multiplexer 2 produces a predetermined or a minimum power level at the output thereof Controller 5 monitors the power level appearing at the output of multiple-stage multiplexer 2 using feedback circuitry 7. Feedback circuitry 7 includes a coupler 8 that diverts a relatively small amount of the signal appearing at the output of multiple-stage multiplexer 2. A filter 9, such as a band pass filter, is connected to an output of coupler 9. Filter 9 filters the signal diverted by coupler 8 so that only frequency components of the pass band appear at the output of filter 9. In this case, the pass band center frequency of filter 9 is the input data rate to multiple-stage multiplexer 2. Feedback circuitry 7 further includes a power detector 10 which receives the output of filter 9 and measures the amount of power in the spectral component at the center frequency of filter 9. The output of power detector 10 is fed back to an input of controller 5 so as to complete the feedback loop formed by feedback circuitry 7.
It is understood that filter 9 and power detector 10 may be implemented as analog circuitry. Although filter 9 is described in synchronization device 1 as a band pass filter, it is understood that filter 9 may be a low pass filter that passes the input data rate frequency while suppressing the harmonics thereof. It is further understood that in the event only relative power levels are needed to be provided by power detector 10, it is unnecessary for power detector 10 to be linear or otherwise have any particular absolute calibration capability.
As stated above, there are static data patterns that exhibit near complete cancellation of the power level at certain frequencies, and exhibit substantially larger power levels at the certain frequencies when the bits of the static data patterns are scrambled. One data pattern is serial data pattern “1001000101000100”, which would require a static test pattern of “1000001100001100” to be applied in parallel to the input of multiple-stage multiplexer 2 in order for the data pattern to appear at the output thereof The test pattern is shown being applied to multiple-stage multiplexer 2 in
Suppose multiplexer circuit 3 appearing at the top in
It is noted, however, that the particular test pattern “1000001100001100” results in the third multiplexer circuit 3 from the top in
The operation of synchronization device 1 to synchronize multiple-stage multiplexer 2 will be described with reference to
In the event the measured power level does not fall below the predetermined level, the second multiplexer circuit 3 (from the top as shown in
In the event the measured power level does not fall below the predetermined level, the fourth multiplexer circuit 3 (from the top as shown in
It is understood that instead of placing the second and fourth multiplexer circuits 3 in different states until the output power level falls below the predetermined level, synchronization device 1 may place the second and fourth multiplexer circuits 3 in a number different states and thereafter identify the state producing the smallest or minimum output power level.
When the second and fourth multiplexer circuits 3 have been synchronized with the first multiplexer circuit 3, the test pattern “0110100000110000”, which is test pattern “1000001100001100” delayed by one-period of the multiplexer clock, is continuously sent through multiple-stage multiplexer 2 at step 46. The power level of the multiplexer output is measured at 47. In the event the measured power level does not fall below a second predetermined level, the third multiplexer circuit 3 is placed in a different state, such as a substantially random state, at 48. Steps 47 and 48 are repeated until the measured power level falls below the second predetermined level, at which point controller 5 determines that all multiplexer circuits 3 are synchronized with each other.
It is understood that instead of placing the third multiplexer circuit 3 in different states until the output power level falls below the second predetermined level, synchronization device 1 may place the third multiplexer circuit 3 in a number of different states and thereafter identify the state producing the smallest or minimum output power level.
It is understood that test pattern “1000001100001100” can be delayed at step 46 by clock periods other than one clock period. For instance, test pattern “1000001100001100” can also be delayed by a number of clock periods between two and 15. It is further understood that test patterns other than “1000001100001100” may be used in synchronizing multiplexer circuits 3. For instance, test pattern “100011010010110” may be sent through multiple-state multiplexer 3. Test pattern “100011010010110” provides a null depth of approximately 20 dB at the output of multiple-stage multiplexer 2.
As stated above, the operation of synchronization device 1 to synchronize multiple-stage multiplexer 2 may require the capability to place multiplexer circuits 3 in substantially random states. It has been observed, however, that sometimes there are states into which a multiplexer circuit 3 is rarely randomly placed. The exact understanding of and fixes for this phenomenon is not well understood. Because some multiplexer circuits 3 may rarely be substantially randomly placed in a certain state, synchronization device 1 sometimes may ineffectively synchronize multiple-stage multiplexer 2.
Specifically, compensation device 100 includes a controller 101 and a data correction block 102. Controller 101 is capable of determining the state of each multiplexer circuit 3 based upon the data generated by multiple-stage multiplexer 2. Controller 101 controls data correction block 102 so as to provide the necessary correction of the data generated by multiple-stage multiplexer 2. Although, in theory, compensation device 100 is capable of compensating for multiple-stage multiplexer 2 being out of synch, compensation device 100 is generally impractical because any post-processing corrections occur at higher speeds, i.e., at the data rate of the output of multiple-stage multiplexer 2.
Compensation circuit 200 includes a pre-corrector 202 disposed between the data output of controller 201 and the data inputs of multiple-stage multiplexer 2. Pre-corrector 202 performs as a switch in allowing controller 201 to select for application to multiple-stage multiplexer 2 test patterns provided by controller 201 and data provided by other data sources during a normal mode of operation. In addition, pre-corrector 202 receives pre-correction settings from controller 201 and performs pre-correction operations on patterns (test or data) sent through multiple-stage multiplexer 2 in order to compensate for multiplexer circuits 3 being out of synch.
With regard to the types of pre-correction operations pre-corrector 202 selectively performs, consideration is first given to pre-corrections for static test patterns, i.e., test patterns that do not vary over time. For exemplary reasons, each multiplexer circuit 3 is described as sequentially transferring its input data bits in order from the top input data bit to bottom input data bit. For multiple-stage multiplexer 2 to be synchronized, the data bit at the top of each multiplexer circuit 3 is provided to multiplexer circuit 4 during the same clock cycle of the multiplexer clock.
Suppose, however, the second multiplexer circuit 3 from the top in
It is understood that pre-corrector 202 may shift input data bits by two and three input data bit locations in the event that the corresponding multiplexer circuit 3 is two and three clock cycles, respectively, ahead of the other multiplexer circuits 3.
With further regard to the types of pre-correction operations pre-corrector 202 selectively performs, consideration is now given to pre-corrections of dynamic data patterns, i.e., data patterns that change over time. A multiplexer circuit 3 is refreshed or otherwise loaded with new data after the last data bit stored in the multiplexer circuit 3 is connected to the output thereof. Unlike in instances during which the patterns provided by controller 201 are static patterns, it is important for multiplexer circuits 3 of multiple-stage multiplexer 2 to be refreshed during the same clock period of the multiplexer clock when dynamic patterns are utilized. If a multiplexer circuit 3 is not synchronized relative to the other multiplexer circuits 3 in multiple-stage multiplexer 2, the refresh time for the out-of-synch multiplexer circuit 3 will occur an integer number of multiplexer clock periods from the refresh time of the other multiplexer circuits 3. It is thus necessary to advance or delay the arrival of the input data provided to the out-of-synch multiplexer circuit 3 by an amount corresponding to the number of multiplexer clock periods by which the out-of-synch multiplexer circuit 3 is out of synch. It can be seen that in order to be able to synchronize multiple-stage multiplexer 2, compensation circuit 200 requires the capability to modify the timing (i.e., delay) of the data inputs of multiplexer circuits 3.
As mentioned above, it may be necessary to both advance and delay the timing of data input signals applied to a multiplexer circuit 3. Because a timing advance cannot be directly implemented, a delay of four clock periods is introduced to each data input of each multiplexer circuit 3. In the exemplary embodiment of pre-corrector 202 in
Consider again the situation shown in
It is understood that instead of implementing pre-corrector 202 in hardware, pre-corrector 202 may be implemented in software executed by controller 201. In this case, the software instructions for performing the timing delays and signal shifting operations may be stored in memory within the controller.
The operation of compensation circuits 200 and 300 will be described with reference to
It is understood that instead of providing pre-corrections to the second, third and fourth multiplexer circuits 3 until the output power level falls below the predetermined levels, compensation circuits 200 and 300 may provide pre-corrections to the second, third and fourth multiplexer circuits 3 and thereafter identify the state producing the smallest or minimum output power level.
Depending upon the interface between data source 5 and multiple-stage multiplexer 2, there is a possibility of an ambiguity occurring during the operation of
A dynamic test pattern that detects the occurrence of an 180 degree out-of-synch multiple-stage multiplexer having incorrect pre-correction settings is illustrated in
During test, the power level of the output of multiple-stage multiplexer 2 is monitored at the frequencies of the input data rate and half of the input data rate. If an ambiguity error is detected, the delay for the bits applied to the 180 degree out-of-synch multiplexer circuit 3 is changed by four clock periods. At this point, multiple-stage multiplexer 2 is suitably compensated for being out of synch without any 180 degree ambiguities.
It is understood that instead of providing synchronization or pre-correction operations as described above, the present invention may be utilized to merely identify whether a multiple-stage multiplexer 2 is out of synch. For instance, controllers 5, 101, 201 and 301 may generate a signal SYNCH (seen in
As stated above, certain test patterns exhibit substantially complete cancellation of the spectral component of the test pattern when the test pattern bits are correctly ordered, and exhibit sizeable spectral components when the test pattern bits are incorrectly ordered. In determining the particular test patterns to apply to multiple-stage multiplexer 2, multiple-stage multiplexer 2 is viewed as a linear superposition model. An analogous linear superposition model 400 is shown in
However, if a multiplexer circuit 3 is one clock period ahead, its corresponding vector will advance by 90 degrees. This may result, for example, a vector sum of approximately 1.4 (shown in
Since the vectors are of equal magnitude, it is seen that the derivation of appropriate test patterns includes selecting vectors that are substantially equally spaced about 360 degrees.
Although various embodiments of the method, system, and apparatus of the present invention have been illustrated in the accompanying Drawings and described in the foregoing Detailed Description, it will be understood that the invention is not limited to the embodiments disclosed, but is capable of numerous rearrangements, modifications and substitutions without departing from the scope of the invention as set forth and defined by the following claims.
| Number | Name | Date | Kind |
|---|---|---|---|
| 4276642 | Siglow et al. | Jun 1981 | A |
| 5182467 | Taylor et al. | Jan 1993 | A |
| 5265102 | Saito | Nov 1993 | A |
| 5608343 | Ojima et al. | Mar 1997 | A |
| 5619509 | Maruyama et al. | Apr 1997 | A |
| 5726990 | Shimada et al. | Mar 1998 | A |
| 5856753 | Xu et al. | Jan 1999 | A |
| 5969655 | Imai | Oct 1999 | A |
| 6201829 | Schneider | Mar 2001 | B1 |
| 6442085 | Fragano et al. | Aug 2002 | B1 |
| Number | Date | Country |
|---|---|---|
| 0 435 311 | Dec 1990 | EP |
| 0 493 001 | Dec 1991 | EP |
| 0 759 664 | Feb 1997 | EP |
| Number | Date | Country | |
|---|---|---|---|
| 20030063626 A1 | Apr 2003 | US |