fpga.love首页资讯期刊视频工具Wiki
首页 / 期刊 / 202608 期 / 新手学院
新手学院

时序约束入门:从 create_clock 到 false path

本刊编辑部 · 202608 期 · 高速接口与系统设计

时序约束是 FPGA 从「能跑」到「可靠跑」的分水岭:本文用最小必要集讲清约束原理,让新手第一次写出正确的约束文件。

1. 为什么必须写约束

工具默认"不知道"你的时钟是多少——没有约束,时序分析没有参考基准,报告毫无意义。约束的本质是告诉工具:哪些信号是时钟、频率多少、数据何时有效,让工具据此优化并报告真实时序余量。

2. 四条核心命令

  • create_clock:定义主时钟(端口/引脚),指定周期与波形;
  • create_generated_clock:描述 MMCM/PLL 分频倍频后的时钟,让工具理解相位关系;
  • set_input_delay / set_output_delay:告诉工具接口数据的到达/输出时间窗口,是外部时序(如 ADC/DDR)正确的关键;
  • set_false_path / set_multicycle_path:声明无需时序分析的路径(异步信号、静态配置)或跨多个周期的路径,避免误报与过度优化。

3. 读懂时序报告

重点关注三个值:WNS(最差负余量,全局最紧路径)、TNS(负余量总和,路径数量)、WHS(保持时间余量)。修复顺序:先 WNS 后 TNS,先时序后面积。

4. 两个高频坑

① 约束遗漏:上板偶发错误,仿真却全绿——八成是接口约束缺失;② 跨时钟域未分组:不同频率的时钟应划分时钟组,否则工具误报海量虚假违例。

← 上一篇 · 加入 SGET oHFM 标准工作组:FPGA 平台走向开放模块化下一篇 · 安路科技:ELF5 与 IPO 之间的低功耗突围 →
← 返回本期目录