设计选择、时钟与复位控制
本文定义 FrameTop 可综合的设计选择、时钟和复位控制契约。
外部契约
reset高电平有效,必须相对clock同步拉高和释放。- 每次拉高
reset都会开始一个新的设计选择周期。 reset必须至少保持 20 个时钟上升沿。- 释放复位前,
user_io[6:0]必须至少跨越两个时钟上升沿保持稳定。 - 释放复位后再修改
user_io[6:0],不会影响正在运行的设计。
选择时序
复位有效期间,两级同步器持续采样 user_io[6:0]。所有设计时钟关闭,所有设计 保持复位,payload 的输出使能强制为低。
外部复位释放后,控制逻辑按以下顺序工作:
- 将同步后的 design ID 解码为 one-hot 选择信号。
- 只在源时钟为低电平时打开被选设计的时钟门。
- 被选设计至少收到两个完整时钟边沿,同时内部复位继续保持有效。
selection_valid置位,释放被选设计的复位,其 IO 输出使能才可以到达 payload 引脚。
未选设计始终停钟并保持复位。重新拉高外部复位会让所有 payload 引脚回到高阻, 并允许重新采样 design ID。
时钟门映射
rtl/FrameClockGate.sv 是 lint 和仿真使用的工艺无关行为模型。它只在源时钟低电平 期间锁存 enable,避免 enable 变化产生过短的高电平脉冲。进入流片阶段后,必须 将该模块映射到目标工艺的集成时钟门控单元(ICG)。
验证
运行专用控制回归:
sh
make control-test该回归覆盖 design 0、1 和 127、运行期选择隔离、复位后重新选择、one-hot 选择、 复位约束、IO 隔离、未选设计停钟和门控时钟脉宽。