DiuR21Laonnu

Verilog Pipeline

2017/12/11

前言

​ Piple - line 广泛应用于CPU & 高性能 DSP中。

​ 参考:《Verilog数字系统设计教程》

某乎

概念

​ 流水线设计:把规模较大、层次较多的组合逻辑电路分为几个级,在每一级插入寄存器组并暂存中间数据。K级的流水线就是从组合逻辑的输入到输出恰好有K个寄存器组。上一级的输出是下一级的输入而又无反馈的电路。

pic1

​ 如上图电路,组合逻辑部分可划分为两级。第一级的延迟是T1和T3中的最大值。第二级的延迟等于T2的延迟。因而该组合逻辑的传播延迟为:

​ [max(T1,T3) + T2]

​ 加入流水线后,第一级寄存器具有的总延迟:

​ max(max(T1,T3) + Tco, (T2 + Tco))

​ Tco为寄存器的触发时间。

流水线的优势:提高吞吐量 How ?

​ Ans: 假设T1、T2和T3有同样的传播延迟 Tpd。这对于组合逻辑设计,总延迟为 2 * Tpd。对于流水线设计来说,计算周期为( Tpd + Tco )。

首次延迟:从最长的路径进行初始化所需要的时间总量

吞吐延迟 :执行一次重复性操作所需要的时间总量

组合逻辑的首次延迟吞吐延迟同为 2 * Tpd

流水线设计中,首次延迟为 2 * (Tpd + Tco),吞吐延迟为 Tpd + Tco

总结

改善整个系统的吞吐量,但不能改善甚至会恶劣单个任务的执行速度。

在分割组合逻辑时,使分割后的每段处理时间尽量相同,因为系统时钟是由最慢的那段决定的

pic2