Pipelining#
Pipelining is a technique which allows us to increase clock frequencies. It works by splitting long combinational paths using registers. By doing this split correctly, it is often possible to increase clock frequencies because the slowest combinational paths between each stage of registers become shorter than the original slowest combinational path. Therefore, the setup constraint is weakened.