= Registers = A register is a group of [[Flip-flop]]s. * Each flip flop shares a common clock * Each flip flop is capable of storing 1bit of info In general _a n-bit register is a group of n-flip-flops_ Registers with combinational gates hold binary info, and the gates can determine how info is moved in/out of the register. == 4 bit register == * Group of 4 [[D-flip-flop]] * Change on CLK positive edge * Has a clear_b signal that sets all registers to zero before the clock operates How to change only some bits? * All gates need to change in parallel * Sync the registers by directing control via the D-inputs of the flip flops * Add a load line, which can toggle if output of flip flop feeds back into D - By doing this we can keep the state of the flip flop == 4 bit shift register == * Register that can shift the binary info held in each cell to its neighbor in a selected direction * Implementation - Cascade of flip flops - Output of a flip flop is connected to the D-input of the flip-flop at its right - Each clock pulse shifts the contents of the register on the bit position to its rights - The serial inputs determins the input into the left most flip-flop