# US 5,347,276 A · Serial binary pattern generator

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 5,347,276 A
- Document ID: US5347276A
- Status: Granted
- Kind: A
- Application number: 07/912,385
- Filed: 1992-07-13
- Granted: 1994-09-13
- Earliest claimed: 1992-07-13
- Assignees: TRW Inc.
- Inventors: Stephen C. Gilardi
- Web page: https://patentgrep.com/patent/US5347276A

## CPC

- H03K 3/78: Generating a single train of pulses having a predetermined pattern, e.g. a predetermined number
- H03K: PULSE TECHNIQUE (measuring pulse characteristics G01R; modulating sinusoidal oscillations with pulses H03C; transmission of digital information H04L; discriminator circuits detecting phase difference between two signals by counting or integrating cycles of oscillation H03D3/04; automatic control, starting, synchronisation or stabilisation of generators of electronic oscillations or pulses where the type of generator is irrelevant or unspecified H03L; coding, decoding or code conversion, in general H03M)

## Abstract

The disclosed invention is a digitally configurable sequential logic circuit which produces serial binary data patterns. The circuit is configured by specifying two non-negative integers A and B. For given values of A and B, the circuit produces a serial binary data pattern with the following properties: 1) in every consecutive (A+B) bits of the pattern, there are A ones and B zeros, 2) the ones in the pattern are maximally spread apart from one another, and 3) the zeros in the pattern are maximally spread apart from one another. The patterns so produced are useful in a variety of applications.

## Claims

### Claim 1

A circuit for generating serial binary patterns, said circuit comprising:
a first data source means for generating a first digital word having a given binary value A;
a second data source means for generating a second digital word having a given binary value B; and
a processing means for producing a continuous serial stream of binary data including A one and B zeros in successive (A+B) bit-length words, wherein said successive (A+B) bit-length words include at least one multi-bit word, and wherein the occurrences of the ones in said multi-bit word are maximally spread apart and the occurrences of the zeros in said multi-bit word are maximally spread apart.

### Claim 2 (depends on 1)

The circuit of claim 1 wherein the length of the multi-bit word is equal to ((A+B)/gcd(A,B)) , where gcd(A,B) denotes the greatest common divisor of A and B.

### Claim 3 (depends on 2)

The circuit of claim 2 wherein processing means further comprises:
a configuration means for sampling and holding said first and second digital words;
a generator means for producing a carry output and an auxiliary output as a function of signals applied to first, second, and carry in inputs thereto;
an output means coupled to the carry output of the generator means.

### Claim 4 (depends on 3)

The circuit of claim 3 wherein the configuration means comprises:
a first register having a D input coupled to the first data source means; and
a second register having a D input coupled to the second data source means.

### Claim 5 (depends on 4)

The circuit of claim 4 wherein said generator means comprises:
a multiplexer means having a select input, as well as first and second inputs coupled respectively to a Q-bar output of the first register of said configuration means and a Q output of the second register of said configuration means;
an adder means having a first output and carry output, as well as a first input, a second input, and a carry in input, said first input coupled to the output of said multiplexer means, and said carry output being the carry output of the generator means;
a third register having an input coupled to the first output of said adder means, a Q output coupled to the second input of said adder means, and a Q-bar output, said output being the auxiliary output of the generator means.

### Claim 6 (depends on 5)

The circuit of claim 5 wherein said output means comprises:
a digital inverter having its input coupled to the carry output of the generator means; and
a first flip-flop having an input coupled to an output of the digital inverter, and Q and Q-bar outputs, said Q-bar output being coupled to said carry in input of said adder means and to said select input of said multiplexer means, and said Q output being the main output of the circuit.

### Claim 7 (depends on 6)

The circuit of claim 6 further comprising:
logic means for indicating the start and end of each said multi-bit digital word.

### Claim 8 (depends on 7)

The circuit of claim 7 wherein said logic means comprises:
an AND gate having M inputs connected to said auxiliary output of said generator means and providing an output indicated by a value of one the end of each said multi-bit digital word; and
a second flip-flop coupled to the output of the AND gate and providing an output indicating by a value of one the start of each said multi-bit digital word.

### Claim 9 (depends on 8)

The circuit of claim 8 further comprising:
a clock source means for driving sequential logic components within the processing means;
a load source means for indicating that the values of the first and second data source means should be sampled to configure the processing means; and
a reset source means for indicating that the processing means should be reset to begin a new multi-bit word.

### Claim 10 (depends on 9)

The circuit of claim 9 further comprising:
a reset means for forcing said generator means to start a new multi-bit digital word when either:
1) a rising edge on a signal produced by the load source means occurs indicating new configuration values should be sampled from first and second data source means, or
2) a rising edge on a signal produced by the reset source means occurs indicating that the processing means should be reset.

### Claim 11 (depends on 10)

The circuit of claim 10 wherein reset means comprises:
an OR gate whose inputs are coupled to the load source means and the reset source means, and an output.

### Claim 12 (depends on 11)

The circuit of claim 11 wherein the load source means is coupled to the clock inputs of the first and second registers of said configuration means.

### Claim 13 (depends on 12)

The circuit of claim 12 wherein the third register and first and second flip-flops all:
have clock inputs coupled to the clock source means; and
have asynchronous reset inputs coupled to the output of the reset means.

### Claim 14

A method for generating binary patterns, said method comprising:
a) generating a first non-negative integer having a given binary value A;
b) generating a second non-negative integer having a given binary value B; and
c) producing an output that is a continuous stream of binary data including A ones and B zeros in successive (A+B) bit-length words, wherein each successive (A+B) bit-length words include at least one multi-bit word, and wherein the occurrences of the ones in said multi-bit word are maximally spread apart and the occurrences of the zeros in said multi-bit word are maximally spread apart.

### Claim 15 (depends on 14)

The method of claim 14 wherein the length of the multi-bit word is equal to ((A+B)/gcd(A,B)), where gcd(A,B) denotes the greatest common divisor of A and B.

### Claim 16 (depends on 15)

The method of claim 15 wherein an accumulator is provided and updated once for each bit produced.

### Claim 17 (depends on 16)

The method of claim 16 wherein the accumulator and the output are first initialized to zero.

### Claim 18 (depends on 11)

The method of claim 11 generating each successive bit in the multi-bit word, which further includes:
a) determining if the current output value is a 1, in which case the value held in the accumulator is augmented by the value B;
b) determining if the current output value is a 0, in which case the value held in the accumulator is diminished by the value A;
c) determining if the new value held by the accumulator is negative, in which case the new output is a 1, otherwise the new output is a 0.

### Claim 19 (depends on 18)

The method of claim 18 wherein steps a), b), and c) are repeated indefinitely, producing repetitions of the multi-bit word.

### Claim 20 (depends on 19)

The method of claim 19 wherein the accumulator and the output can be forced at any time to have the value 0, creating the beginning of a new multi-bit word.

### Claim 21 (depends on 20)

The method of claim 20 where processing can be monitored by two auxiliary outputs wherein:
an "End of Pattern" output is a 1 if and only if the value held in the accumulator is a 0; and
a "Start of Pattern" output is always equal to the value of the "End of Pattern" output associated with the previous bit.
