vivado时序方法检查1
TIMING-1
:
时钟修改块上的时钟波形无效
在
<cell_type>
输出
<pin_name>
上指定的时钟
<clock_name>
的时钟波形无效
,
与时钟修改块
(CMB)
设置不匹配。该时钟波形为 <VALUE>
。期望的波形为
<VALUE>
。
描述
Vivado Design Suite
会根据
CMB
设置和传入主时钟的特性
,
在
CMB
输出上自动衍生时钟。如果用户在
CMB
输出上定义生成时钟,
那么
Vivado
不会在同一定义点
(
信号线或管脚
)
上自动衍生生成时钟。
DRC
警告报告称用户定义的生成时钟与 Vivado
将自动创建的自动衍生时钟不匹配。这可能导致硬件故障
,
因为设计的时序约束与器件上所发生的约束不匹配。
解决方案
如果无需用户定义的生成时钟
,
请移除约束并改为使用自动衍生时钟。如果需要约束
,
请验证生成时钟约束与自动衍生时钟波形是否匹配,
或者修改
CMB
属性以与期望的时钟波形相匹配。如果要强制设置自动衍生时钟的名称
,
建议使用仅定义 -name
选项的
create_generated_clock
约束以及定义该时钟的对象
(
通常为
CMB
的输出管脚
)
的名称。
示例
在下图中
,
在
MMCM
实例管脚
CLKOUT0
上定义了
create_generated_clock
约束
,
但此约束与
Vivado
从MMCM 属性设置生成的自动衍生波形不匹配。如需仅对自动衍生时钟进行重命名,
请在约束文件中的主时钟定义后使用以下约束
:
create_generated_clock -name clkName [get_pins clk_gen_i0/clk_core_i0/inst/
mmcme3_adv_inst/CLKOUT0]

TIMING-2
:
基准时钟源管脚无效
在错误的管脚
<pin_name>
上创建了基准时钟
<clock_name>
。建议仅在适当的时钟根
(
不含时序弧的输入端口或原语输出管脚)
上创建基准时钟。
描述
基准时钟必须在时钟树的源时钟上定义。例如
,
源时钟可能是设计的输入端口。如果在逻辑路径中间定义基准时钟
,
时序分析准确性可能降低,
因为它会忽略位于基准时钟源点之前的插入延迟
,
从而导致无法正确执行偏差计算。因此
,
最好不要在内部驱动程序管脚上创建基准时钟。否则可能导致硬件故障。
解决方案
修改
create_clock
约束以使用实际时钟树源。
示例
在下图中
,
基准时钟定义
create_clock
约束布局在
IBUFCTRL
实例的输出管脚上。如果使用
clk_pin_p
时钟对输入或输出端口路径进行定时,
则裕量将不准确
,
因为将缺失时钟树插入延迟部分。差分输入缓冲器的基准时钟定义应布局在顶层端口 clk_pin_p
上。

TIMING-3
:
时钟修改块上的基准时钟无效
在时钟修改块的输出管脚或信号线
<pin/net_name>
上会创建基准时钟
<clock_name>
。
描述
Vivado
会根据
CMB
设置和传入主时钟的特性
,
在
CMB
输出上自动衍生时钟。如果用户在
CMB
输出上定义基准时钟,
那么
Vivado
不会在相同输出上自动衍生时钟。此
DRC
报告显示在
CMB
的输出上已创建基准时钟
,
导致与传入时钟之间的联系中断,
并阻碍时钟插入延迟的正常计算。不建议如此行为
,
因为它可能导致时序分析不准确和硬件行为错误。
解决方案
修改约束以移除
CMB
输出上的
create_clock
约束。如需强制设置自动生成时钟的名称
,
AMD
建议使用create_generated_clock 约束
,
其中仅含
-name
选项和
CMB 输出管脚。
示例
在下图中
,
在
MMCM
实例管脚
CLKOUT0
上已定义
create_clock
约束。这将覆盖由
Vivado
创建的自动衍生时钟,
导致与传入时钟之间的所有关系丢失。如需仅对自动衍生时钟进行重命名,
请在约束文件中的主时钟定义后使用以下约束
:
create_generated_clock -name clkName [get_pins clk_gen_i0/clk_core_i0/inst/
mmcme3_adv_inst/CLKOUT0]
