maisfly 2022-08-23 09:49 采纳率: 100%
浏览 19
已结题

vivado中如何约束值不变的信号

设计中存在初始化后值就不再改变的信号,比如上位机配置的参数。
该怎么约束这样的信号,才能获得更好的时序?
平台:vivado

  • 写回答

1条回答 默认 最新

  • 老皮芽子 2022-08-24 09:03
    关注

    这个问题可不是几句话就能说清楚。
    我以我所设计过的视频产品为例,唠叨几句。不见的正确,最少可以有个参考。
    在一个设计中,上位机配置的参数几乎就是这个设计中 FPGA 内部的全局变量,而 FPGA 又没有全局变量这个概念。比较麻烦。
    1:这些全局参数写入 FPGA 时会有个操作时钟,可能通过网络,SPI,I2C,内存总线等等,我们假设这个写入FPGA参数的操作时钟是 param_clk
    2:在视频设备中,视频输入,视频进入 SDRAM ,视频输出显示这几个阶段会跨越多个时钟域。
    3:上面 1 说的全局参数会出现在 2 中的各时钟域中。这些参数多数是永远不变的,及个别是几个小时才会变化一下。

    这些参数如果不做任何约束,这些参数会默认按 param_clk 去约束。这些参数跨时钟域传输时如果不做特殊处理,很可能会爆红,会出一堆跨越时钟域的超时错误。
    可以用 xpm_cdc_single 去跨时钟域
    也可以在约束文件里用 set_false_path 去忽略跨时钟域的错误。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月19日
  • 已采纳回答 10月11日
  • 创建了问题 8月23日