Altifigence Academy

41 / 63 · 概念

区分周期延迟与吞吐率

确定 N 级延迟线的观察基准,定量计算延迟与吞吐率。

定义“N 个周期后”的起点

在边沿 k 首次捕获到 bit 0 的比特,会在边沿 k+N-1 到达 N 位移位寄存器寄存器 存储多位状态的电路。本课程中的同步寄存器在时钟边沿存储指定输入。了解更多的 bit N-1。从首次捕获到最后一级捕获,间隔为 N-1 个周期。

若前一级驱动输入的寄存器在边沿 k 产生新比特,移位寄存器通常在 k+1 才首次捕获。此时到输出的延迟为 N 个周期。两种说法的起点不同,并不矛盾。

按边沿编号定义 d[k] 为边沿 k 接受的输入,充分填充后满足以下关系。

qi[k]=d[k−i],qN−1[k]=d[k−N+1]q_i[k]=d[k-i],\qquad q_{N-1}[k]=d[k-N+1]

延迟较长,也能每周期产生结果

时钟周期为 T、每个边沿接收一位时,稳态吞吐率吞吐率 单位时间内接受或完成的工作数量。流水线即使不缩短单个任务的延迟,也可以提高吞吐率。为 1/T1/T 比特/秒。增大 N 会增加存储深度与延迟,但只要还能连续接收输入,吞吐率就保持不变。

四级延迟线使用 100MHz 时钟,则周期为 10ns,稳态吞吐率为 100Mbit/s。“一个比特通过需要时间”与“必须等它通过后才能输入下一位”是不同命题。

每列记录一个上升沿上升沿 时钟从 0 变为 1 的瞬间。它不同于表示整个 CLK=1 区间的电平。了解更多的观察结果。输入取自边沿前,名称带 after 的状态取自更新后。列的排列表示采样顺序,并非描绘物理传播延迟传播延迟 从输入变化到输出稳定为正确值所需的时间。逻辑表达式等价与时间特性是两回事。了解更多。在三级延迟线中,A 于 E0 进入第一级,在 E2 之后到达最后一级;同时后续数据 B、C 填入前面的级。破折号表示尚无有效数据的槽位。

从首次捕获到末级捕获
查看波形数据
波形数据:每个字符表示一个区间,点表示保持前一状态,p 表示一个时钟周期。
信号波形总线值
edge2345E0 → E1 → E2 → E3
accepted2345A → B → C → D
stage0 after2345A → B → C → D
stage1 after2345- → A → B → C
stage2 after2.34- → A → B

有暂停时,按有效移动次数计算

enable 或 accept 为 0 的边沿不会移动比特。此时无法给出固定的实际时间延迟,只能规定按接受边沿数计算的延迟。valid 位也必须按与数据相同的条件移动,才能知道输出何时有效。

若只把流水线流水线 用寄存器把计算划分为多个阶段,使多个输入能够重叠处理的结构。数据、valid 与控制信号必须在各级对齐。了解更多解释为降低延迟的技术,会产生误解。它常通过分割组合路径来提高时钟频率,同时增加寄存器级数与周期延迟。后续课程将进一步讨论面积、功耗与频率之间的权衡。

自己试试

五位延迟线中,在边沿 10 捕获到 bit 0 的比特,如果没有暂停,会在哪个边沿出现在 bit 4?中途有两个 enable=0 的边沿时呢?

阅读解释

没有暂停时为边沿 14,暂停两次时为边沿 16。首次捕获后需要四次额外移动。注意题目起点是捕获到 bit 0 的时刻,而不是外部输入寄存器的更新时间。

你的选择适用于此浏览器,可随时在页脚更改。