关于Virtual clock

Virtual Clock是指没有时钟源的时钟,常用于接口时序约束,允许在不影响真实时钟的情况下指定时钟网络延迟。使用Virtual Clock的好处在于可以避免在时钟树存在时对路径检查过于严格,尤其是在时钟网络延迟为0的场景下。通过设置Virtual Clock的延迟,可以精确控制路径时序,而在真实时钟(Real Clock)中,这可能导致不必要的时序影响。在集成电路设计中,Virtual Clock提供了一种更灵活的时序约束方法,特别是在时钟树合成(CTS)后调整时钟延迟的场景。
部署运行你感兴趣的模型镜像

什么是virtual clock

指的是没有定义source(时钟源)的时钟。通常用于对interface timing的约束,相关的sdc命令为set_input_delay set_output_delay。(相对应,定义了source(时钟源)的时钟,就是real clock)

示例:

create_clock -name VCLK -period 10

为什么要用virtual clock

简单的说,设置virtual clock的好处就是可以在不影响real clock的情况下,指定clock的clock network delay。

我们知道,clock latency包括了clock source latency和clock network delay。当BLOCK中没有做clock tree 的时候,clock network delay 等于0, 这时候,RegA到PORT这个path来说,用virtual clock还是用real clock, 效果都是一样的。

但是,当BLOCK到了CTS阶段后,因为有BLOCK内部有clock network delay的存在,而RegB仅仅是个虚拟的寄存器,他的clock tree是不存在的,因此,clock network delay也就是0,这就会导致 RegA 到 PORT的timing path变得过于严格(与之相反,input 到 内部寄存器的path的setup check就会过于乐观)。那么我们可以对RegB设source latency。然而不幸的是,如果用的是real clock, 那么必然会导致RegA的clock的source latency也相应的改变。这时候就体现出了virtual clock的好处。

示例:用virtual clock对PORT加约束

set_output_delay -clock [get_clocks VCLK] -max 1 [get_port PORT] -add

假设我们对于RegB 是用的virtual clock(如示例),在CTS之后,就可以对VCLK加上latency:set_clock_latency -clock VCLK $clock_network_delay。

而对于real clock,在CTS之后,都要由ideal clock设为propgated     clock(set_propagated_clock), 这样,对于real clck,是不能够用set_clock_latency设置clock network delay的。

当然,用real clock也是有办法解决这个问题的,那就是修改input delay或者output delay。对于Figure1, 可以将output delay 减少 clock network delay一样的数值。

由于现在的PR工具都会在CTS之后自动进行update io latency的动作,我们完全没有非要用一个real clock,然后自己去在CTS之后去修正port的input delay或者output delay。

以上就是我们需要用virtual clock的目的。

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值