

## Exercise
- Experiment with these in Logisim
- How can you get it to store a 1 in the latch?
- How can you get it to store a 0 in the latch?


## D Flip Flop
- A (falling edge-triggered) **D flip flop** can be implemented with two D latches in series
- This configuration creates a **delay** so that the output is only changed on the **falling edge** of the clock

- a rising edge-triggered flip flop can be constructed similarly
## Registers
- A **register** is a multi-bit memory component
- Registers are commonly implemented with an array of D flip flops
## Register Files
- A **register file** consists of an array of registers that can be read and written to

## Register Files
- **Reading** is implemented with multiplexers

## Register Files
- **Writing** is implemented with a decoder

## Exercise: Build a register File in Logisim
- 32 bits
- at least 4 registers



