vivado时钟约束之set_multicycle_path

一、同频时钟

        对于同频率的多周期电路约束,不需要用-start和-end,先设置setup的周期数,假设setup周期数是X,那么如果想要check最worst的hold情况,就要把hold的周期数设为X-1,即:

set_multicycle_path X   -setup  -from CLK1 -to CLK2
set_multicycle_path X-1 -hold   -from CLK1 -to CLK2

二、慢时钟到快时钟

        对于慢时钟到快时钟,如果多周期是针对快时钟的,对于setup可以加-end也可以不加,假设setup周期数是X,而对于hold如果想check沿对齐的情况,必须加-end选项,周期数为X-1。

 

set_multicycle_path X   -setup  -end   -from CLK1 -to CLK2
set_multicycle_path X-1 -hold   -end   -from CLK1 -to CLK2

三、快时钟到慢时钟

        对于从快时钟到慢时钟,如果多周期是针对快时钟的,对于hold可以加-start也可以不加,但是对于setup周期数一定要加-start。

set_multicycle_path X   -setup  -start   -from CLK1 -to CLK2
set_multicycle_path X-1 -hold   -start   -from CLK1 -to CLK2

 

set_multicycle_path命令用于设置时序约束中的多周期路径。在多周期设计中,某些信号不仅可以在一个时钟周期内到达目的地,而且可能需要多个时钟周期。在这种情况下,就需要使用set_multicycle_path命令来设置多周期路径的时序约束set_multicycle_path命令的语法格式如下: ``` set_multicycle_path -setup|-hold|-recrem <value> [-from <start_point>] [-to <end_point>] [-rise|-fall] [-through <through_point>] [-end [<max_paths>]] [-start [<max_paths>]] [-name <path_name>] [-setup_rising|-setup_falling|-hold_rising|-hold_falling] ``` 其中,选项说明如下: - -setup: 设置多周期路径的setup时序约束。 - -hold: 设置多周期路径的hold时序约束。 - -recrem: 设置多周期路径的recovery/removal时序约束。 - <value>: 多周期路径的时序约束值。 - -from <start_point>: 指定多周期路径的起始点。 - -to <end_point>: 指定多周期路径的结束点。 - -rise|-fall: 指定多周期路径的信号变化类型。 - -through <through_point>: 指定多周期路径的中间点。 - -end [<max_paths>]: 限制最大终止点数。 - -start [<max_paths>]: 限制最大起始点数。 - -name <path_name>: 设置多周期路径的名称。 - -setup_rising|-setup_falling|-hold_rising|-hold_falling: 指定时序约束时钟边沿类型。 需要注意的是,set_multicycle_path命令设置的多周期路径时序约束会在后续的时序分析中起作用,因此在设计中合理使用set_multicycle_path命令非常重要,能够有效提高设计的时序性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值