Retiming
Retiming: Rearrange storage elements
- To optimize performance
- Minimize critical path
- Optimize logic across register boundaries
- Reduce register count
- Without altering functionality
Pipelining adds registers
- To increase the clock speed
Retiming moves registers around