FPGA时序约束中xdc约束优先级是什么

今天小编给大家分享一下FPGA时序约束中xdc约束优先级是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

xdc约束优先级

  在xdc文件中,按约束的先后顺序依次被执行,因此,针对同一个时钟的不同约束,只有最后一条约束生效。

  虽然执行顺序是从前到后,但优先级却不同;就像四则运算一样,+-x÷都是按照从左到右的顺序执行,但x÷的优先级比+-要高。

时序例外的优先级从高到低为:

  1. Clock Groups (set_clock_groups)

  2. False Path (set_false_path)

  3. Maximum Delay Path (set_max_delay) and Minimum Delay Path (set_min_delay)

  4. Multicycle Paths (set_multicycle_path)

set_bus_skew约束并不影响上述优先级且不与上述约束冲突。原因在于set_bus_skew并不是某条路径上的约束,而是路径与路径之间的约束。

  对于同样的约束,定义的越精细,优先级越高。各对象的约束优先级从高到低为:

  1. ports->pins->cells

  2. clocks。

  路径声明的优先级从高到低为:

  1. -from -through -to

  2. -from -to

  3. -from -through

  4. -from

  5. -through -to

  6. -to

  7. -through

优先考虑对象,再考虑路径。

  Example1:

set_max_delay 12 -from [get_clocks clk1] -to [get_clocks clk2]
set_max_delay 15 -from [get_clocks clk1]

该约束中,第一条约束会覆盖第二条约束。

  Example2:

set_max_delay 12 -from [get_cells inst0] -to [get_cells inst1]
set_max_delay 15 -from [get_clocks clk1] -through [get_pins hier0/p0] -to
[get_cells inst1]

该约束中,第一条约束会覆盖第二条约束。

  Example3:

set_max_delay 4 -through [get_pins inst0/I0]
set_max_delay 5 -through [get_pins inst0/I0] -through [get_pins inst1/I3]

这个约束中,两条都会存在,这也使得时序收敛的难度更大,因为这两条语句合并成了:

set_max_delay 4 -through [get_pins inst0/I0] -through [get_pins inst1/I3]

以上就是“FPGA时序约束中xdc约束优先级是什么”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注蜗牛博客行业资讯频道。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论Telegram