Altifigence Academy

5 / 20 · 概念

单个上升沿的行为约定

明确时钟沿编号、寄存器转发、累加和初始化优先级。

本课程统一使用的时间约定

复位和清零在 E0 之前完成,E0 是第一个使用数据的上升沿。输入在 E_t 到来前立即处于稳定状态。在该时钟沿,PE 根据沿前输入累加乘积,并将相同输入存入向右和向下的转发寄存器。新的累加器值和转发值在 E_t 之后立即可观察。相邻 PE 在 E_(t+1) 使用这些寄存器值。

此基础设计没有独立输入寄存器、流水线乘法器或输出串行化级。增加任何一项,都需要重新审视调度和结果延迟。“时钟沿零的结果”表示 时钟沿零之后更新的累加器,而不是之前的值。初始化时钟沿不计入计算时钟沿数。clear 优先于 MAC,因此将 clear 与第一对数据同时置位会丢弃该对数据;应先清零,再于下一个时钟沿输入数据。

一个 PE 的两项职责

在 E0,A=1、B=5 时,PE(0,0) 将累加器更新为五,并把操作数转发到寄存器。在 E1,边界操作数 2 和 7 增加十四,得到十九。同一个时钟沿,相邻 PE 可以使用第一对已寄存的操作数。如果允许令牌在一个时钟沿内跨越两个 PE,后续的输入错位方程就会失效。

非阻塞赋值表达这种沿前读取、沿后写入行为。测试平台也必须在状态更新后保持一致地采样,使用适当的时钟块或仿真器采样区域。不要依赖活动区域进程偶然的执行顺序。

优先级与全局暂停

优先级依次为 reset、clear、advance。reset 和 clear 清空累加器及有效状态。advance=0 时,所有 PE 都保持累加器、转发值、有效标志和标签。边界调度器也保持不变。一次 advance 时钟沿执行一个逻辑步骤。有效的零是真实操作数;无效令牌无论数据位如何都被忽略。

如果累加器为五,阵列暂停两个实际时钟沿后,它仍然为五。下一个 advance 时钟沿执行下一个逻辑步骤。应分别报告实际时钟沿和逻辑推进步骤。初始化在暂停期间仍然生效,防止陈旧令牌泄漏到下一个任务。

自己试试

清零在 E−1 完成。在 E0 使用 (1,5),E1 暂停,E2 使用 (2,7)。给出各沿后的累加器值和逻辑步骤编号。

阅读解释

E0 后 acc=5,逻辑步骤零完成。E1 保持 acc=5。E2 后 acc=19,逻辑步骤一完成。共经过三个实际时钟沿,其中两个是推进时钟沿。

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