Patent ID: 11972154
Assignee: ALLEGRO MICROSYSTEMS, LLC
Field: Computer technology (Electrical engineering)
Classification: CPC G  H | IPC G  H

Claim 22:
23. A configurable variable-length shift register integrated circuit (IC) for adjusting an output data format to a desired bit-length for data communication, the IC comprising:
a plurality of flip-flops connected in a serial configuration, wherein the plurality of flip-flops is connected to a serial-in line and a clock line having, wherein in each flip-flop includes a data input, a clock input configured to receive a clock signal from the clock line, and a data output, and wherein the plurality of flip-flops includes a serial-out line;
a plurality of multiplexers connected to the plurality of flip-flops, wherein each multiplexor includes first and second data inputs and a control input, wherein the control input selects between the data inputs, and wherein each multiplexer includes an output connected to the input of a respective flip-flop;
a nonvolatile memory connected to the plurality of multiplexers and configured to enable one or more flip-flops by configuration of the plurality of multiplexers, wherein the register-length indication corresponds to a selected number of flip-flops selected for enablement;
a programming interface connected to the nonvolatile memory and configured to allow a user to input the register-length indication; and
an interface driver configured to communicate with the plurality of flip-flops and one or more device registers, wherein the interface driver is connected to the output of each flip-flop, and wherein the interface driver is configured to move data between the plurality of flip-flops and the one or more device registers;
wherein the nonvolatile memory is operative to configure the plurality of multiplexers to enable a plurality of enabled flip-flops having a number of enabled flip-flops corresponding to the register-length indication, and
wherein the plurality of enabled flip-flops of the variable-length register is configured to produce a data output with an output data format having a desired bit-length corresponding to the number of enabled flip-flops.