2021-11-02 19:15:01 +00:00
|
|
|
= 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
|
2021-11-02 19:30:01 +00:00
|
|
|
determine how info is moved in/out of the register.
|
2021-11-02 19:15:01 +00:00
|
|
|
|
|
|
|
== 4 bit register ==
|
|
|
|
|
|
|
|
* Group of 4 [[D-flip-flop]]
|
2021-11-02 19:30:01 +00:00
|
|
|
* Change on CLK positive edge
|
|
|
|
* Has a clear_b signal that sets all registers to zero before the clock
|
|
|
|
operates
|
2021-11-02 19:15:01 +00:00
|
|
|
|
2021-11-02 19:30:01 +00:00
|
|
|
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 ==
|
2021-11-02 19:45:01 +00:00
|
|
|
|
|
|
|
* 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
|