Vivado 时序约束的完整作战地图(二)

Vivado 时序约束的完整作战地图(二)


文章目录

  • [Vivado 时序约束的完整作战地图(二)](#Vivado 时序约束的完整作战地图(二))
  • [从"四条路"到"四步曲":Vivado 时序约束的完整作战地图](#从“四条路”到“四步曲”:Vivado 时序约束的完整作战地图)
    • [一、4 种时序路径------告诉工具"我要看哪里"](#一、4 种时序路径——告诉工具“我要看哪里”)
    • [二、4 个步骤完成时序约束](#二、4 个步骤完成时序约束)

从"四条路"到"四步曲":Vivado 时序约束的完整作战地图


一、4 种时序路径------告诉工具"我要看哪里"

当你学会四种时序约束,再看这张图的大概和细节,如果看懂了没有个线和箭头,时序约束你就学会了!!!

  • 帮助理解的关键1 :必须理解三个关键字:时序路径都有起点终点约束命令
  • 帮助理解的关键2 :时序路径的起点大多为时钟端口 而不是输出端口,也就是时序路径是从上一个触发器的C端开头,再到下一个触发器的D端,这是一条路径。在vivado软件分析时序时,也是如此设定的,看vivado时序报告中的路径尾部(起点和终点),是C->D 或者是C->R,具体路径具体分析。主要搞清楚这个起点一般是时钟C
  • 后面的时序路径分析都是基于上面两个关键,后面的分析都要带入
路径名称 真实物理轨迹 工具视角起点→终点 必须回答的时序问题 对应 XDC 命令
① 输入→内部 板级芯片→PCB 走线→FPGA 引脚→第一级寄存器 clk port(external) → reg/D "数据比时钟晚到多久?" set_input_delay
② 内部→内部 寄存器→组合逻辑→寄存器 reg/CLK → reg/D "一个时钟周期内能不能算完?" create_clock 周期约束
③ 内部→输出 末级寄存器→引脚→PCB→下游芯片 reg/CLK → output port "数据离开 FPGA 多久后有效?" set_output_delay
④ 输入→输出 纯组合:引脚→组合逻辑→引脚 input port → output port "横穿 FPGA 的组合延迟上限?" set_max_delay

记忆口诀:"进-游-出-穿"

数据从板级"进"来→芯片内部"游"走→"出"口离开→也可能直接"穿"堂过。


二、4 个步骤完成时序约束

  • 第1步针对片内时序路径。时钟周期约束即可覆盖这些路径。这些时钟包括从全局时钟引脚进入的时钟、MMCM/PLL生成的时钟、高速收发器提供的时钟,以 及用户逻辑生成的时钟。
  • 第2步针对输入/输出延迟约束,可能会涉及虚拟时钟。
  • 第3步针对跨时钟域路径约束。
  • 第4步针对多周期路径/伪路径约束。
  • Xilinx建议采用Constraints Wizard创建约束
  • 通 过report_clock_networks或check_timing等命令验证约束是否已经生效

相关推荐
ALINX技术博客10 小时前
【黑金云课堂】FPGA技术教程Vitis开发:PS端DP接口解析
fpga开发·fpga
FakeOccupational11 小时前
fpga系列 HDL:跨时钟域同步 shift register同步(CDC)毛刺滤除&解码前去抖动滤波模块
fpga开发
小眼睛FPGA13 小时前
【紫光HiYou开源入门轻量级PCIE开发板PG2L25G】实验例程6-基于UDP 的以太网传输实验例程
fpga开发
高速上的乌龟14 小时前
Lattice LFCPNX-100 HSB+Fpga开发详解: MAC+PCS以太网SFP光口传输
单片机·嵌入式硬件·fpga开发
ALINX技术博客16 小时前
【黑金云课堂】FPGA技术教程Linux开发:电压温度检测/USB/eMMC
linux·fpga开发
小眼睛FPGA16 小时前
【紫光HiYou开源入门轻量级PCIE开发板PG2L25G】实验例程3-基于紫光FPGA 的UART 串口通信
fpga开发
liuluyang53017 小时前
SV 时钟移位示例代码解析
fpga开发·sv
dadaobusi18 小时前
100MHz/125MHz
fpga开发
unicrom_深圳市由你创科技18 小时前
如何做FPGA的模块划分?
fpga开发
szxinmai主板定制专家1 天前
RK3568 + CODESYS+实时系统运动控制器PLC,支持 AI 视觉目标检测,预测性维护,混合多系统部署,多路模拟量采集
arm开发·人工智能·嵌入式硬件·fpga开发