fpga.love
EN App
知识库›Vivado 报错:时序不满足 WNS 为负怎么办? · FPGA 知识库

Vivado 报错:时序不满足 WNS 为负怎么办?

Vivado

FPGA 时序违例(WNS 为负)原理示意封面

图:FPGA 关键路径时序违例示意——建立时间余量不足,WNS 为负

分析时序违例的原因,给出优化思路:流水线、约束、逻辑化简、资源分配等常用方法。

时序违例原理Timing Violation Fundamentals

WNS(Worst Negative Slack)为负,表示数据未能在时钟沿到来前的建立时间窗口内稳定到达目的寄存器。常见成因包括:组合逻辑级数过长、布线拥塞、时钟偏移(clock skew)以及约束设置不合理。

FF1 启动寄存器 组合逻辑 路径过长 / 拥塞 FF2 捕获寄存器 Tdata 过长 时钟周期 Tclk:数据必须在建立时间 Tsu 之前稳定到达,否则 WNS < 0

图:关键路径数据到达过晚,建立时间余量(slack)为负,即 WNS < 0

优化时优先压缩关键路径:插入流水线寄存器拆分长路径、调整物理约束与布线策略、对多周期路径使用 set_multicycle_path、对伪路径使用 set_false_path,并配合逻辑化简与资源分配降低单级延迟。

相关视频

更多 FPGA 实战讲解,前往 fpga.love 视频专区观看

视频即将上线

订阅 fpga.love

每日快报 · 每周精选 · 每月深度刊