EETOP 创芯网论坛 (原名:电子顶级开发网)

标题: vivado时序分析 [打印本页]

作者: IC.Michael    时间: 2019-3-5 16:44
标题: vivado时序分析
以前除了看看setup hold之外,也就只报报端口时序了,最近一个项目时序一直收不掉,学着用一些命令去报时序,分析分析。
想请问下各位大侠,report_design_analysis -congesion 命令报的拥塞情况,对于这张图里的有些内容不甚理解。比如,RPM Grid是啥?Congestion in Window的这个数值是啥意思?以及后面这个Cell Name下的百分比数值是什么意思,和前面的Congestion in Window数值是什么关系呢?

( , 下载次数: 51 )
作者: IC.Michael    时间: 2019-3-8 21:06
人工顶帖,最近看了一些资料,发现以前对vivado工具的使用真的太肤浅了。
作者: IC.Michael    时间: 2019-3-9 16:30
回复 2# IC.Michael

中文版的UG949 官方出品。https://china.xilinx.com/support/documentation/sw_manuals/c_ug949-vivado-design-methodology.pdf

另外还有一个,《VIVADO使用误区与进阶》也很不错,只不过里面对于端口IO约束那块还没看懂。
作者: IC.Michael    时间: 2019-3-13 17:18
回复 3# IC.Michael

Vivado中几种时序约束的方法,对于基于skew的方法还是不甚了解,另外,-min设置为负值,在input/output下各自的含义是不同的,这块还是有点迷糊。
    ( , 下载次数: 45 )
作者: asic_service    时间: 2019-3-13 18:57
回复 4# IC.Michael


看个腾讯课堂的课程,可以简答你的问题。min为负数的理解,你可以看这个课程的第二课(此课免费,你的问题在最后15分钟有答案):https://ke.qq.com/course/379407
作者: IC.Michael    时间: 2019-3-13 21:41
回复 5# asic_service


   感谢老哥,刚看了最后15钟左右的位置,讲到三种情况,①set在时钟沿前,hold在后;②set hold都在后;③set hold都在前;但是其窗口是固定大小的。我觉得,这是工艺制程的因素吧,讲的是器件的set hold要求,跟我这里讲的端口delay -min设置为负好像不太一样,不知道我理解是否正确。
作者: asic_service    时间: 2019-3-13 22:34
回复 6# IC.Michael

请举一反三。器件IO定义-min, -max就是定义输入/输出信号在哪儿时间窗口内稳定。注意:信号变化时,稳定窗口不是一个时钟周期,应该比一个时钟周期短(如果这个不明白,自己去看DDR等芯片的datasheet,或深入理解skew)。所以-min为啥可以为负数,跟DFF setup/hold类似。data path跟clock path上的delay不一样,导致芯片外面看上去是负数。


回答完,照例发个数字IC设计课程的广告,希望能让大家明白更多数字设计的原理,朝专家级迈进。
https://ke.qq.com/course/379407?tuin=64ce5e2a
作者: IC.Michael    时间: 2019-3-14 09:52


   
回复  IC.Michael

请举一反三。器件IO定义-min, -max就是定义输入/输出信号在哪儿时间窗口内稳定。注意 ...
asic_service 发表于 2019-3-13 22:34




   多谢老哥。这里讲到的【所以-min为啥可以为负数,跟DFF setup/hold类似。data path跟clock path上的delay不一样,导致芯片外面看上去是负数。】明白了。另外有个问题想请教下哦,为什么io delay约束的时候,既可以基于setup/hold来约束,也可以基于skew来约束,并且我看的vivado官方文档上说,这两种约束所达到的效果是一致的,其实我对于这个基于skew的约束不是特别理解。skew指的是,data相对于clk的skew,为何可以在时钟沿前后变化呢,这种画法不就是类似了setup/hold的数据有效窗口吗?还请指点一下,多谢啊。(图片抽风上传不了了哭唧唧,文档是《vivado使用误区与进阶》,I/O约束篇)
作者: asic_service    时间: 2019-3-15 09:00
我在chrip IO上通常用set_input_delay/set_output_delay -min/-max。没有用过skew。
作者: IC.Michael    时间: 2019-3-15 09:07
回复 9# asic_service


   对的,是set_input_delay/set_output_delay,我看的这个文档上,它对于这个delay值有两种计算方法,一种是基于setup/hold得到的,另一种是基于data相对于clk沿的skew值得到的,后者我实在是有点难以理解。(可惜公司图片好像没法上传 哎)
作者: IC.Michael    时间: 2019-3-19 22:06
时序分析之useful skew的作用分析》,《A Practical Approach to FPGA Clock Skew Optimization》,《Useful Skew》。贴几个useful skew的帖子,MARK下timing borrow,改天学习下。

作者: IC.Michael    时间: 2019-3-27 15:04
all_latchs all_clocks 可以查看设计中的锁存器或者所有时钟
report_timing -from [get_cells -filter {NAME !~ "*xxx*[*]*"}] -delay_type min_max -max_paths 1000 -sort_by group -input_pins -routable_nets -name timing_xxx 筛选报告时序路径

作者: 东方之子yj    时间: 2019-4-26 13:51
资料不错。。。。。。。。
作者: IC.Michael    时间: 2019-5-24 10:10
UltraFast 设计方法时序收敛快捷参考指南 (UG1292) 中文版的UG1292,分享下,对于赛灵思FPGA设计很有参考意义。

作者: synopsys552015    时间: 2019-5-24 20:12
Thanks
作者: a798279714    时间: 2021-10-18 10:03
11111111111
作者: zs_fly    时间: 2024-5-28 17:10
很不错,学习一下
作者: xiaoxiaohe    时间: 2025-1-25 08:03
非常详细




欢迎光临 EETOP 创芯网论坛 (原名:电子顶级开发网) (https://bbs.eetop.cn/) Powered by Discuz! X3.5