FPGA线上课程平台|最全栈的FPGA学习平台|FPGA工程师认证培训
登录
首页-所有问题-技术分享-正文

Vivado普通IO引脚约束为时钟时报错

eeoseeos
技术分享
17天前
0
0
26

Vivado普通IO引脚约束为时钟时报错?

eeos

eeos

初级工程师
这家伙真懒,几个字都不愿写!
源自: 课程-初级 | FPGA工程师基础启航(含板卡+证书)
2821.62K
分享:
Vivado代码没错但是综合不成功
Vivado代码没错但是综合不成功上一篇
报错信息[Synth 8-1751]下一篇
报错信息[Synth 8-1751]
回答列表总数:1
  • 二牛学FPGA

    二牛学FPGA

    初级工程师

    原因:Xilinx Vivado开发环境编译HDL时,对时钟信号设置了编译规则,如果时钟由于硬件设计原因分配到了普通IO上,而非_SRCC或者_MRCC专用时钟管脚上时,编译器就会提示错误。

    措施:可在XDC引脚约束中添加一条语句:

    set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets 对应的信号]

    ——————————

    在 Xilinx Vivado 设计套件中,使用 set_property 命令配合 CLOCK_DEDICATED_ROUTE 属性和 BACKBONE 值是为了指定时钟信号的布线策略。

    set_property CLOCK_DEDICATED_ROUTE BACKBONE

    这条命令的含义如下:

    set_property: 这是 Vivado 中用于设置属性的命令,可以对特定的设计对象(如单元、引脚、端口等)设置特定的属性。

    CLOCK_DEDICATED_ROUTE: 这是一个属性,用于定义时钟信号的布线方式。当设置为 BACKBONE 时,它指示 Vivado 在布局布线时,将该时钟信号视为主干时钟,并使用专用的时钟布线通道(通常在 FPGA 内部有专门的时钟布线网络)进行布线。

    BACKBONE: 这是 CLOCK_DEDICATED_ROUTE 属性的一个值,意味着该时钟信号将通过 FPGA 芯片内的主干时钟网络进行布线。这通常用于确保时钟信号能够以最小的延迟和最大的可靠性传输到目标位置。

    应用场景:

    使用 BACKBONE 布线策略通常适用于以下情况:

    • 主要时钟信号,需要高可靠性和最小的时序不确定性。
    • 跨越 FPGA 芯片多个区域的时钟信号,需要保证时钟的一致性和同步性。
    • 需要避免时钟信号受到其他信号布线拥塞影响的情况。

    示例:

    在约束文件中,这条命令通常与特定的时钟信号相关联,如下所示:

    set_property CLOCK_DEDICATED_ROUTE BACKBONE [get_pins -hier -filter {NAME =~ */u_ddr4_infrastructure/gen_mmcme*.u_mmcme_adv_inst/CLKIN1}]

    在这个示例中,命令设置了名为 CLKIN1 的时钟输入引脚的布线策略,使其通过主干时钟网络进行布线。

    在这个示例中,命令设置了名为 CLKIN1 的时钟输入引脚的布线策略,使其通过主干时钟网络进行布线。


    注意事项:

    • 使用 BACKBONE 布线策略可能会限制布局布线工具的灵活性,因此需要根据实际的时序要求和 FPGA 芯片的特性来决定是否使用。
    • 在使用 BACKBONE 布线时,应仔细考虑 FPGA 芯片的时钟资源和布线能力,以确保设计能满足时序要求。
    • 在设计中,并非所有的时钟信号都需要使用 BACKBONE 布线,通常只有关键的、对时序要求严格的时钟信号才需要这种策略。

    通过这种方式,设计师可以对 FPGA 设计中的时钟布线进行精细控制,以满足特定的时序和性能要求。

    17天前
我要回答
回答被采纳奖励100个积分
FPGA线上课程平台|最全栈的FPGA学习平台|FPGA工程师认证培训
请先登录