流水线思想在电路设计中十分重要。一方面在cpu的五级流水设计中,采用pipeline实现同周期指令重叠,(多周期机制划分并插入寄存器。在周期1发起指令1,在进程发起后,周期2再次发起指令1,使得最大程度达到一个周期支持五条指令的执行,基本认为一个周期完成一个指令)增加数据吞吐量;另一方面在复杂组合逻辑单元的采样中,插入寄存器使得单周期内关键路径与延时降低。每一拍进行一次寄存器的更新。
下面贴一个流水线加法器的设计:
本设计的实现为四个输入相加作为加法器的输入,其中两两相加,分别寄存,最后再加一级寄存算两个寄存器的求和。
首次输出在3个clk之后,之后的输出为一拍一个输出,实现流水输出。
下面两图的区别在于,图一没有反压最后一级寄存器的o_rdy(此例为rdy_o2)信号至前级寄存器;加了反压后,当最后一级接收到下一级的i_rdy(此例为rdy_s2)为低时,也就是逐级反压现象,则输出ready信号到前级,阻塞执行进程,图2在反压10ns后,输出也阻塞10ns。