UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

取消
显示结果 
搜索替代 
您的意思是: 
Highlighted
Visitor cameracz
Visitor
765 次查看
注册日期: ‎01-14-2020

在vivado 时钟约束和实现后的 时间报告中,不显示松弛(slack)数值,而是inf

我使用的是vivado2018.3.用vhdl语言,进行时序分析的过程中,在经过时钟约束和实现后,得到的 时间报告中的 松弛值是inf,请问这是为什么?
Y)01P]C9%YP]}LUJ[]W$4VX.png
0 项奖励
14 条回复14
Moderator
Moderator
683 次查看
注册日期: ‎11-05-2010

回复: 在vivado 时钟约束和实现后的 时间报告中,不显示松弛(slack)数值,而是inf

Hi, @cameracz ,

这说明时序约束并没有生效.

你可以打开综合设计,查看一下设计中是否创建了clock :

TCL CONSOEL: report_clocks 

估计应该是时序约束写得有问题,同时你可以看看有没有和时序约束相关的warning.

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Visitor cameracz
Visitor
663 次查看
注册日期: ‎01-14-2020

回复: 在vivado 时钟约束和实现后的 时间报告中,不显示松弛(slack)数值,而是inf

您好,我创建了100M时钟,用这个时钟来作为pll的时钟输入,然后让pll输出的200M作为我的网络频率。我没有设置输入输出延迟,请问会有什么影响吗?

clocks.png
0 项奖励
Moderator
Moderator
656 次查看
注册日期: ‎11-05-2010

回复: 在vivado 时钟约束和实现后的 时间报告中,不显示松弛(slack)数值,而是inf

Hi, @cameracz ,

PLL 可以只约束输入时钟,输出时钟会自动生成,在report_clocks 命令下,应该同时会显示,你这里能看见吗?

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Visitor cameracz
Visitor
655 次查看
注册日期: ‎01-14-2020

回复: 在vivado 时钟约束和实现后的 时间报告中,不显示松弛(slack)数值,而是inf

补充一下未上传的图片:

创建时钟.png
输入输出延迟.png
0 项奖励
Visitor cameracz
Visitor
648 次查看
注册日期: ‎01-14-2020

回复: 在vivado 时钟约束和实现后的 时间报告中,不显示松弛(slack)数值,而是inf

您好,报告了之后是这样的,见附件。楼上还有另几张图片,您可以看一看。

clocks.png
0 项奖励
Xilinx Employee
Xilinx Employee
469 次查看
注册日期: ‎07-17-2008

回复: 在vivado 时钟约束和实现后的 时间报告中,不显示松弛(slack)数值,而是inf

从你贴出的图来看,顶层有设100MHz的时钟约束,如果如你所说,PLL的输出驱动逻辑,理论上输出时钟是工具自动创建的,200MHz时钟域应该有路径覆盖到才对。

inf的含义是没有约束,或者被set_false_path做了人为忽略。

如Hong所说,你可以把report_clocks的完整输出附上,report_clocks -file clocks.txt。

另外,你的timing constraints窗口里面的Exceptions > Set False Path部分有无约束?

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Xilinx Employee
Xilinx Employee
461 次查看
注册日期: ‎07-17-2008

回复: 在vivado 时钟约束和实现后的 时间报告中,不显示松弛(slack)数值,而是inf

另,请不要在中英文版块重复发帖,

https://forums.xilinx.com/t5/Simulation-and-Verification/vhdl-timing-simulation-time-summary-result-is-inf/td-p/1064322

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Visitor cameracz
Visitor
436 次查看
注册日期: ‎01-14-2020

回复: 在vivado 时钟约束和实现后的 时间报告中,不显示松弛(slack)数值,而是inf

您好,我这部分除了创建有时钟,像Set False Path 这些都没有创建约束。详情可以见贴图。

另外,我还上传了clock-report,您可以看看。

0 项奖励
Moderator
Moderator
422 次查看
注册日期: ‎11-05-2010

回复: 在vivado 时钟约束和实现后的 时间报告中,不显示松弛(slack)数值,而是inf

Hi, @cameracz ,

1. 你说PLL输出的200M作为我的网络频率, 你实际的设置输出还是100Mhz, 请查一下PLL 的配置.

2. PLL自带的XDC约束可以先disable 掉

3. 我怀疑你设计中连接有点问题,PLL 的输出时钟并没有连接到设计中, 方便的话,请提供综合后网表. (打开综合设计, write_checkpoint synth.dcp)

 

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Visitor cameracz
Visitor
412 次查看
注册日期: ‎01-14-2020

回复: 在vivado 时钟约束和实现后的 时间报告中,不显示松弛(slack)数值,而是inf

您好,我的pll之前修改成过100M输出了,我忘记了,抱歉,但这应该不会导致我的报告没有数值。

我把综合后的网表数据也上传了,您可以看看,谢谢。

0 项奖励
Xilinx Employee
Xilinx Employee
408 次查看
注册日期: ‎05-15-2008

回复: 在vivado 时钟约束和实现后的 时间报告中,不显示松弛(slack)数值,而是inf

一个可能的原因,是设计里没有被时钟约束覆盖的timing path,是不是都是

IPAD -> register -> OPAD

这样的结构?

-vivian

-------------------------------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------
Moderator
Moderator
382 次查看
注册日期: ‎11-05-2010

回复: 在vivado 时钟约束和实现后的 时间报告中,不显示松弛(slack)数值,而是inf

Hi, @cameracz ,

设计中clock还是成功创建了, 但是你的设计中逻辑基本都是

  input port -> LUT...LUT -> FF -> Output port 

(和Vivian 的猜测很接近)

这些路径不受当前周期约束的覆盖. 

你可以设置set_input_delay 约束,来验证输入的数据都能被寄存器正确采样. 同时report_timing_summary 中slack也不会是无限大.

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Visitor cameracz
Visitor
377 次查看
注册日期: ‎01-14-2020

回复: 在vivado 时钟约束和实现后的 时间报告中,不显示松弛(slack)数值,而是inf

那请问是不是input delay 和output delay 都要设置?一般设置数值是参照什么原则呢?

另,是不是我可以直接用时钟约束创建的时钟来驱动网络左时序仿真,就不必通过pll来做时序仿真了?

0 项奖励
Moderator
Moderator
368 次查看
注册日期: ‎11-05-2010

回复: 在vivado 时钟约束和实现后的 时间报告中,不显示松弛(slack)数值,而是inf

Input delay 和output delay 是根据你FPGA外部输入输出的实际情况设置, 像你这样输入结构不稳定的设计建议还是加一下set_input_delay 确认一下,详情可以参考UG903.

正确设置的时序报告可以保证数据在FPGA传输的可靠性, 关于逻辑功能正确性还是需要做仿真来确保.

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励