HIGH-SPEED PSEUDO-RANDOM BIT SEQUENCE (PRBS) PATTERN GENERATOR, ERROR DETECTOR AND ERROR COUNTER
20170192830 ยท 2017-07-06
Inventors
Cpc classification
H03K3/84
ELECTRICITY
G06F2207/581
PHYSICS
International classification
G06F11/07
PHYSICS
H03K3/84
ELECTRICITY
Abstract
High-speed PRBS-N pattern generator, error detector and error counter circuits are provided that have relatively simple circuit configurations, that quickly synchronize and align the input data with the generated pattern, that easily and quickly detect the occurrence of a bit shifting event, and that quickly resynchronize and realign the input data with the generated pattern after a bit shifting event has occurred. The error counter may be implemented with low-speed circuitry even though the pattern generator and error detector operate at the same speed as the high-speed input data signal. This reduces the complexity and power consumption of the error counter.
Claims
1. A pseudo-random binary sequence (PRBS) pattern generator, error detector and counter circuit comprising: an input data port that receives a multi-bit input data signal; a PRBS pattern generator that is electrically coupled to the input data port; an error detector electrically coupled to the input data port, the error detector detecting if mismatches occur between bits output from the PRBS pattern generator and respective bits of the multi-bit input data signal received at the input data port, wherein the error detector outputs an output signal from an output node thereof having a state that indicates whether or not a mismatch has been detected; and a controller and error counter electrically coupled to the error detector and to the PRBS pattern generator, the controller and error counter outputting a control signal to the PRBS pattern generator to cause the PRBS pattern generator to either enter an initialization mode of operations or a comparison mode of operations, wherein during the initialization mode of operations, N bits of the multi-bit input data signal are loaded into the PRBS pattern generator, where N is a number of bits in a PRBS pattern, and wherein during the comparison mode of operations, the error detector detects if mismatches occur between bits output from the PRBS pattern generator and respective bits of the multi-bit input data signal, and wherein the controller and error counter counts the number of mismatches that are detected.
2. The PRBS pattern generator, error detector and counter circuit of claim 1, wherein the controller and error counter operates at a lower rate than a data rate of the multi-bit input data signal.
3. The PRBS pattern generator, error detector and counter circuit of claim 2, wherein the controller and error counter operates at a lower rate than a rate at which the PRBS pattern generator operates.
4. The PRBS pattern generator, error detector and counter circuit of claim 1, wherein during the comparison mode of operations, the controller and error counter determines a bit error rate (BER) corresponding to the number of mismatches that have occurred over time and compares the BER to a first predetermined threshold level to determine whether the PRBS pattern generator needs to be reinitialized.
5. The PRBS pattern generator, error detector and counter circuit of claim 4, wherein if the controller and error counter determines that the PRBS pattern generator needs to be reinitialized, the controller and error counter switches the PRBS pattern generator, error detector and error counter circuit from the comparison mode of operations to the initialization mode of operations to cause the PRBS pattern generator to be reinitialized by loading N bits of the multi-bit input data signal into the PRBS pattern generator.
6. The PRBS pattern generator, error detector and counter circuit of claim 5, wherein after the controller and error counter has caused the PRBS pattern generator to be reinitialized, the controller and error counter causes the PRBS pattern generator, error detector and error counter circuit to exit the initialization mode of operations and re-enter the comparison mode of operations.
7. The PRBS pattern generator, error detector and counter circuit of claim 1, wherein the PRBS pattern generator comprises: a shift register comprising N registers, each register having an input node, an output node and a clock signal node; a first modulo-2 (mod-2) adder employed in the shift register in between an output node of a first register of the N registers and an input node of a second register of the N registers, the first mod-2 adder having first and second input nodes and an output node; and a switch employed in the shift register in between the output node of the first mod-2 adder and the input node of the second register, the switch having first and second input nodes, an output node and a control node, the first input node of the switch being connected to the output node of the first mod-2 adder, the second input node of the switch being connected to the input data port.
8. The PRBS pattern generator, error detector and counter circuit of claim 7, wherein the error detector comprises: a second mod-2 adder having first and second input nodes and an output node, the first input node of the second mod-2 adder being connected to the input data port for receiving the multi-bit input data signal, the second input node of the second mod-2 adder being connected to the output node of the first mod-2 adder for receiving an output signal outputted from the first mod-2 adder; and an error trigger having a set node, a clear node and an output node, the set node of the error trigger being connected to the output node of the second mod-2 adder, and wherein an input node of the controller and error counter is connected to the output node of the error trigger, and wherein a first output node of the controller and error counter is connected to the control node of the switch.
9. The PRBS pattern generator, error detector and counter circuit of claim 8, wherein the controller and error counter causes the PRBS pattern generator, error detector and error counter circuit to enter the initialization mode of operations by outputting a deasserted control signal to the control node of the switch to cause the switch to connect the second input node of the switch to the output node of the switch such that the multi-bit input data signal is applied to the input node of the second register, wherein the initialization mode of operations continues until a clock signal received at the clock signal nodes of the registers has caused N bits of the multi-bit input data signal to be shifted into the N registers, respectively.
10. The PRBS pattern generator, error detector and counter circuit of claim 9, wherein the initialization mode of operations aligns the N-bit PRBS pattern produced by the PRBS pattern generator with the multi-bit input data signal.
11. The PRBS pattern error detector and counter of claim 9, wherein the controller and error counter operates at a lower frequency than a frequency of the clock signal received at the clock signal nodes of the registers.
12. The PRBS pattern generator, error detector and counter circuit of claim 9, wherein the controller and error counter causes the PRBS pattern generator, error detector and error counter circuit to exit the initialization mode of operations and enter the comparison mode of operations by outputting an asserted control signal to the control node of the switch to cause the switch to connect the first input node of the switch to the output node of the switch such that bit values contained in the respective registers are shifted through the shift register as the clock signal received at the clock signal nodes of the registers clocks the registers, and wherein during the comparison mode of operations, the first mod-2 adder performs an exclusive OR operation on a bit output from the first register and a bit output from a third register of the N registers to produce an output bit of the PRBS pattern generator at the output node of the first mod-2 adder, and wherein during the comparison mode of operations, the second mod-2 adder performs an exclusive OR operation on the output bit of the PRBS pattern generator and a bit of the multi-bit input data signal to produce an output bit of the second mod-2 adder, and wherein the output bit of the second mod-2 adder is received at the set node of the error trigger.
13. The PRBS pattern generator, error detector and counter circuit of claim 12, wherein if the output bit of the second mod-2 adder is asserted, a mismatch has occurred between the bits that were exclusively ORed by the second mod-2 adder, wherein a mismatch causes the error trigger to output an asserted error signal from the output terminal of the error trigger to the input terminal of the controller and error counter.
14. The PRBS pattern generator, error detector and counter circuit of claim 13, wherein if the output bit of the second mod-2 adder is deasserted, a match has occurred between the bits that were exclusively ORed by the second mod-2 adder, wherein a match causes the error trigger to output a deasserted error signal from the output terminal of the error trigger to the input terminal of the controller and error counter.
15. The PRBS pattern generator, error detector and counter circuit of claim 8, wherein the error trigger captures and holds the error signal for multiple cycles of the clock signal until the controller and error counter has had sufficient time to process the error signal, and wherein the controller and error counter counts a number of times that the error signal received at the input node of the controller and error counter was asserted to produce an error count that is output from the second output node of the controller and error counter.
16. The PRBS pattern generator, error detector and counter circuit of claim 15, wherein the third output node of the controller and error counter is connected to the clear node of the error trigger, and wherein after the controller and error counter has had sufficient time to process an asserted error signal and produce an error count, the controller and error counter outputs a reset signal from the third output node of the controller and error counter to the clear node of the error trigger to cause a state of the error trigger to be reset, wherein resetting of the state of the error trigger deasserts the error signal output from the output node of the error trigger.
17. The PRBS pattern generator, error detector and counter circuit of claim 16, wherein the controller and error counter uses the error count to generate a bit error rate (BER) and determines whether the BER is above a predetermined threshold value, wherein if the controller and error counter determines that the BER is above the predetermined threshold value, the controller and error counter reenters the initialization mode of operations and outputs the deasserted control signal to the control node of the switch to cause the switch to connect the second input node of the switch to the output node of the switch such that the multi-bit input data signal is applied to the input node of the second register, wherein the initialization mode of operations continues until N bits of the multi-bit input data signal have been shifted into the N registers, respectively.
18. A pseudo-random binary sequence (PRBS) pattern generator, error detector and counter circuit comprising: a PRBS pattern generator comprising: a shift register comprising N registers, each register having an input node, an output node and a clock signal node, a first bit comparator disposed in between an output node of one of the registers and an input node of another of the registers, and a 2-to-1 multiplexer (MUX) disposed in between an output node of the first bit comparator and the input node of one of the registers, a first input node of the MUX being connected to the output node of the first bit comparator, a second input node of the MUX being connected to the input data port, an output node of the MUX being connected to the input node of said another of the registers; an error detector comprising: a second bit comparator, a first input node of the second bit comparator being connected to the input data port for receiving the multi-bit input data signal, a second input node of the second bit comparator being connected to the output node of the first bit comparator for receiving an output signal outputted from the first bit comparator, and an error trigger, a set node of the error trigger being connected to the output node of the second bit comparator; and a controller and error counter, wherein an input node of the controller and error counter is connected to an output node of the error trigger, and wherein a first output node of the controller and error counter is connected to a control node of the MUX, the controller and error counter controlling operations of the PRBS pattern generator and of the error detector based on a state of an error trigger output signal output from the error trigger and received by the controller and error counter.
19. The PRBS pattern generator, error detector and counter circuit of claim 18, wherein the controller and error counter operates at a slower speed than the PRBS pattern generator and error detector.
20. The PRBS pattern generator, the error detector and counter circuit of claim 19, wherein the error trigger asserts the state of the error trigger output signal when a bit error is detected, and wherein the error trigger maintains the asserted state of the error trigger output signal for a time period that is sufficiently long for the controller and error counter to process the bit error.
21. The PRBS pattern generator, the error detector and counter circuit of claim 19, wherein the controller and error counter outputs a control signal from the first output node of the control and error counter to the control node of the MUX to control the operations of the PRBS pattern generator, the error detector and counter circuit of claim
22. A method for performing pseudo-random binary sequence (PRBS) pattern generation, bit error detection and bit error counting comprising: placing a PRBS pattern generator in an initialization mode of operations to cause N bits of a multi-bit input data signal to be loaded into N respective registers of a shift register of the PRBS pattern generator; after the N bits have been loaded into the shift register, placing the PRBS pattern generator in a comparison mode of operations; during the comparison mode of operations, comparing an output bit outputted from the PRBS pattern generator with a received bit of the multi-bit input data signal to determine if a mismatch occurs; with a bit error counter, if a mismatch occurs, counting the mismatch as a bit error to generate a bit error count; in a controller, using the bit error count to determine a bit error rate (BER); in the controller, determining whether the BER exceeds a predetermined threshold value, and if so, returning the PRBS pattern generator to the initialization mode of operations to reinitialize the PRBS pattern generator, wherein the PRBS pattern generator is reinitialized by loading N bits of a multi-bit input data signal into N respective registers of the shift register; and in the controller, after the PRBS pattern generator has been reinitialized, returning the PRBS pattern generator to the comparison mode of operations.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
WRITTEN DESCRIPTION
[0031] Illustrative embodiments of high-speed PRBS-N pattern generator, error detector and error counter circuits are described herein that have relatively simple circuit configurations, that quickly synchronize and align the input data with the generated pattern, that easily and quickly detect the occurrence of a bit shifting event, and that quickly resynchronize and realign the input data with the generated pattern after a bit shifting event has occurred. The error counter may be implemented with low-speed circuitry even though the pattern generator and error detector operate at the same speed as the high-speed input data signal. This reduces the complexity and power consumption of the error counter. For illustrative purposes, the high-speed PRBS-N pattern generator, error detector and error counter circuits will be described with reference to illustrative embodiments in which N=7. It should be noted, however, that N may be any value. The reduced complexity of the error counter circuitry provides it with the ability to work with very large N values.
[0032]
[0033] In accordance with this illustrative embodiment, the MUX 112 is located in between the mod-2 adder 19 and the register Q6 17, but in other embodiments it may be located at other positions in the pattern generator 110, as will be described below in more detail. The signal that is output from the MUX 112 is received at the input node of register Q6 17. The MUX 112 has a logic 1 input node and a logic 0 input node. The MUX 112 selects the signal at the logic 1 input node to be output to the input node of register Q6 17 when the state of a control signal PLKD is asserted, which corresponds to a logic 1 state in this illustrative embodiment. The MUX 112 selects the signal at the logic 0 input node to be output to the input node of register Q6 17 when the state of the control signal PLKD is deasserted, which corresponds to a logic 0 state in this illustrative embodiment. The events that cause the state of the control signal PLKD to be asserted and deasserted will be described below in more detail.
[0034] In a comparison mode of operations, the value of PLKD is a logic 1 and the multiplexer 112 sends the output of mod-2 adder 19 to register Q6 17. In this mode of operations, the registers Q1 12 through Q7 18 and mod-2 adder 19 are connected to form a typical PRBS-7 pattern generator that generates the correct pattern as the template for the comparison operation. The generated pattern is sent to mod-2 adder 42 to be compared with the incoming data signal INPUT DATA received at the input data port of the circuit 100. Thus, the mod-2 adder 42 acts as a bit error detector to extract a bit error signal ERR for further processing.
[0035] Before entering the comparison mode of operations, however, the pattern generator 110 needs to be initialized in order to synchronize and align the input data with the pattern generator 110. In the initialization mode, the value of PLKD is logic 0 and the multiplexer 112 sends the incoming data signal INPUT DATA to register Q6 17. The pattern generator 110 loads the INPUT DATA into its registers Q1 12 through Q7 18, thereby instantly initializing the pattern generator 110 in the same way that the circuitry shown in
[0036] In the comparison mode of operations, the error signal ERR output from the mod-2 adder 42 indicates the presence or absence of a bit error of the incoming data INPUT DATA. If any INPUT DATA bit does not match the locally-generated data bit, DATA, the ERR signal is set to 1 accordingly. If any bit shift happens during the comparison mode of operations, the INPUT DATA and the locally-generated data DATA become misaligned and all of the subsequent comparisons become invalid. The consequence is that the BER extracted from the ERR will be extremely high. Such a high BER is very easily detected by the digital controller and error detector block 130. If the digital controller and error detector block 130 detects that the extracted BER is above a predetermined threshold level, it will deassert the control signal PLKD to cause switch the MUX 112 into the initialization mode.
[0037] An error trigger block 120 captures any bit error indicated by the error signal ERR and holds the bit error until it has been processed by the digital controller and error counter block 130. This allows the digital controller and error counter block 130 to be implemented with low-speed circuitry, i.e., circuitry that operates at a speed that is lower than the speed of the input data signal and CLK, which are the same speed. The error trigger block 120 has SET and CLR as the input nodes and OUT as the output node.
[0038]
[0039] When there is no error in the INPUT DATA, the error signal ERR remains at logic 0 and the error trigger block 120 is not triggered. When there is an error event in the INPUT DATA, the error signal ERR becomes logic 1, causing the state of the error trigger block 120 and the error trigger signal ERRLS to be set to logic 1. When the error trigger signal ERRLS is received by the digital controller and error counter block 130, the digital controller and error counter block toggles the clear signal CLR to reset the state of the error trigger block 120 to logic 0. The purpose of the error trigger block 120 is to convert the high-speed error signal ERR to the low speed error trigger signal ERRLS. The error trigger block 120 can accomplish this using only a very small amount of high-speed circuitry. The high-speed error signal ERR is sampled and held until the low-speed digital controller and error counter block 130 have processed the bit error.
[0040] The error trigger block 120 can be implemented in many different ways, as will be understood by those of skill in the art.
[0041] The digital controller and error counter block 130 provides all of the control and counting functions for the circuit 100. It receives the low-speed error trigger signal ERRLS from the error trigger block 120, counts the number of bit errors that have been detected, and generates the CLR and PLKD signals based on that input. Each time the digital controller and error counter block 130 processes a bit error and increments the error counter, the CLR signal is toggled to cause the error trigger block 120 and the ERRLS signal to be set to logic 0.
[0042]
[0043] Based on the BER result, NBER, the digital controller 162 determines its own state and sends control signals BERRST and PLKD to blocks 160 and 161 and to the MUX 112 (
[0044] It should be noted that the blocks 160-163 may be implemented with a variety of logical configurations. The digital controller 162 is typically a processor programmed with software and/or firmware to carry out the control functions described above. For example, the digital controller 162 may be a microprocessor, a microcontroller, a field programmable gate array, or a digital signal processor (DSP). Any computer code that is executed by the digital controller 162 is stored in a computer-readable medium, which may be on board the digital controller 162 or some other memory device that is external to and accessible by the digital controller 162. Blocks 160 and 161 are typically implemented in hardware in the form of logic gates, but they could instead be implemented in a combination of hardware and software and/or firmware.
[0045]
[0046] Because the digital controller and error counter block 130 (
[0047] Although the proposed PRBS-N pattern generator, error detector and error counter circuit 100 has been described with reference to PRBS-7 patterns for exemplary purposes, the same principles can be easily applied to different lengths of PRBS-N patterns of different generation polynomials. In such other cases, the pattern comparison logic, error processing logic and control logic are similar to those described above, but the pattern generator portion is different due to the different generation polynomial that is used.
[0048] For example,
[0049] There are many other variations that may be made to PRBS-N pattern generator, error detector and error counter circuits described above with reference to
[0050]
[0051] In the above illustrative embodiments, it is assumed that the data is clocked by a full rate clock having a frequency that is equal to the data rate. In those cases, there is one bit of data available per clock cycle of the full rate clock. In many data communications systems, however, the clock is sub-data rate, i.e., the clock has a frequency that is less than the data rate. The frequency of a sub-data rate clock is equal to the data rate divided by some positive integer, M, where M is greater than one. Therefore, there are M bits of data in one clock cycle of an M sub-rate data clock. It is not difficult to convert the circuits 100, 200 or 300 similar circuits of the M sub-rate clock variant, as will now be described with reference to
[0052]
[0053] The PRBS-7 pattern generator 410 operates in the manner described above with reference to
[0054] For example, block 430 shown in