vivado 时序多条路径

2023-12-25 23:16:12

移动设置

以下示例显示了移动设置的结果:

?示例一:设置=5/保持相应移动

?示例二:设置=5/保持=4

示例一:设置=5/保持相应移动

让我们假设设置路径乘数设置为五(5)。因为保持路径乘数是未指定,保持关系源自设置启动和捕获边缘:

set_multicycle_path 5 -setup -from [get_pins data0_reg/C] -to [get_pins
data1_reg/D]

默认情况下,根据捕获时钟应用设置乘数。这导致移动沿捕获时钟前进。设置捕获边缘出现在五个时钟周期之后只有一个。因为没有指定保持乘法器,所以用于保持检查停留在用于设置的活动边之前一个周期到达的边检查。

启动时钟上的边缘不会因设置和保持关系而改变。

对于四个周期的保持要求,定时驱动的实现工具通常必须在数据路径中插入大量延迟,以满足慢速和快速的保持时间定时角。这会导致不必要的面积和功耗。因此重要的是尽可能放宽持有要求。在该示例设计中,时钟使能信号提供了不必将数据保持在data0_reg持续四个循环而不存在亚稳态风险。

示例二:设置=5/保持=4

描述了如何放宽持有要求。

示例二:设置=5/保持=4

本例假设定义了以下内容:

?五(5)的设置乘数

?四(4)的保持倍数(即5-1)

这对应于当启动新数据时两个顺序单元之间的传输,并且每五(5)个周期捕获一次。

set_multicycle_path 5 -setup -from [get_pins data0_reg/C] -to [get_pins
data1_reg/D]
set_multicycle_path 4 -hold -from [get_pins data0_reg/C] -to [get_pins
data1_reg/D]

默认情况下,设置乘数是针对目标时钟应用的,在这种情况下会产生将捕获边缘向前移动到第五周期而不是第一周期。因此,默认情况下,保持检查在设置检查之后。在指定第二个命令时,对源时钟应用保持乘法器在这种情况下导致将发射边缘向前移动到第四周期。

由于源时钟和目的时钟都具有相同的波形并且相位对准,图66相当于图67。

set_multicycle_path N -setup -from [get_pins data0_reg/C] -to [get_pins
data1_reg/D]
set_multicycle_path N-1 -hold -from [get_pins data0_reg/C] -to [get_pins
data1_reg/D]

文章来源:https://blog.csdn.net/cckkppll/article/details/135207054
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。