关于vivado之中set_multicycle_path时钟约束设计的问题

    在设计时钟约束问题之前,需要注意两个概念,一个是建立时间、一个保存时间。建立时间是指,对于一个D触发器来说,时钟到达之前,数据应该保持稳定的时间。保持时间是指,时钟到达之后,数据应该保持稳定的 时间。

     我对于这个问题的理解是,建立时间,是在D触发器之前,需要进行组合逻辑计算的时间,包括线路的传输时间。

     保持时间是指,当上升沿到达之后,需要多少时间保持数据的稳定,相关数据才能被稳定准确地输出。

      在set_multicycle_path命令,需要明确两个概念,一个是setup requirement,建立时间需求。一个是hold requirement保持时间需求。建立时间需求很好理解,就是在源时钟控制寄存器到目的时钟寄存器之间传输数据的所用的时间。而然,一个源时钟发送数据的上升沿必须对应目的时钟接受数据的唯一一个上升沿。这就需要保持需求来维持。保持需要有以下两个原则:

1)当前发起沿发送的数据不能被前一个捕捉沿捕捉。

2)下一发起沿发送的数据不能被当前捕捉沿捕捉。

如下图所示,建立时间以及保持时间的组合,约束了目的时钟可以对数据进行捕捉的范围。

123 

约束指令:

  set_multicycle_path -from [get_clocks clk1] -to [get_clocks clk2] -setup -end 3

set_multicycle_path -from [get_clocks clk1] -to [get_clocks clk2] -hold -end 2

上述的两个约束,一个(-setup)是建立时间,一个(-holf)是保持时间。

-end以目的端口时钟作为时钟周期计数基准,如果是-start 表示以源时钟作为时钟周期计数标准。

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值