6 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]

个人网站:http://www.technomania.cn/

微信公众号:Quant_Times
      Reading_Times

FPGA时序约束教程所有文章:

1 FPGA时序约束理论篇之建立保持时间
2 FPGA时序约束理论篇之时序路径与时序模型
3 FPGA时序约束理论篇之IO约束
4 FPGA时序约束理论篇之时钟周期约束
5 FPGA时序约束理论篇之两种时序例外
6 FPGA时序约束理论篇之xdc约束优先级
7 FPGA时序约束实战篇之梳理时钟树
8 FPGA时序约束实战篇之主时钟约束
9 FPGA时序约束实战篇之衍生时钟约束
10 FPGA时序约束实战篇之延迟约束
11 FPGA时序约束实战篇之伪路径约束
12 FPGA时序约束实战篇之多周期路径约束
13 FPGA时序约束之Vivado辅助工具
14 FPGA时序约束之Tcl命令的对象及属性

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值