set_clock_restriction命令在AC scan pattern中的功能解析

基于存在路径交互的寄存器之间,如果两个寄存器的时钟来源于两个不同源时钟,capture寄存器能捕获到lauch寄存器的数据,则需要对其做时钟兼容性检查。

-on

只生成含有单个触发时钟的pattern

-off

在生成pattern时,仅根据pattern的时钟需要启动时钟,不考虑时钟兼容性,会出现多个触发时钟,也就是在launch过程中、capture过程中以及两者之间都会出现不兼容时钟同时触发的情况。

例1:

上图中clka与clkb互相不兼容,当选项为off时,工具生成pateern时不考虑时钟兼容性,在lacuh clock中会同时出现clka和clkb,在capture clock中也会同时出现clka和clkb,且会出现clkb捕获由clka lauch的数据。

使用report_patterns可以报告每个pattern中的lauch clk与capture clk,得到的报告也可以验证上述结果。

例2:

domain_clock 在没有指定set_clock_restriction off的情况下,这个选项都会保持打开,但是包含两个选项-edge_interaction,-any_interaction,表示工具基于哪种标准做时钟的兼容性检查,基于时钟边沿交互还是任何交互。基于any_interaction更为严格。

-compatible_clocks_between_loads off

在生成patttern时,分别在lauch过程和capture过程的时钟都为兼容性时钟,但在lauch与capture之间存在非兼容性时钟。

-compatible_clocks_between_loads on

在lauch过程、capture过程与在lauch与capture之间都为兼容性时钟,且这个选项还会影响时钟兼容性分析的标准。选项打开时,domain_clock基于any_interaction,关闭时,基于edge_interaction。

例3:

如上图,clk11与clk12兼容,clk12 和clk11可以互相capture。也可以同时出现在pattern 的lauch和capture clock中。

-same_clocks_between_loads on

测试时lauch时钟与capture时钟为相同时钟,都发生在一个时钟域内,即不存在跨时钟域capture的情况

例4:每个capture clk只能捕获由同一时钟lauch的数据

-same_clocks_between_loads off -compatible_clocks_between_loads off

在生成patttern时,分别在lauch过程和capture过程的时钟都为兼容性时钟,但在lauch与capture之间可能存在非兼容性时钟。

例5:

如上图clk11与clk12互相兼容,clk21与clk22互相兼容,但clk11、clk12与clk21、 clk22互相不兼容。如图,可以看到在lauch clock中只有两种组合(clk11,clk12)和(clk21,clk22),capture clock也是如此,也就是不兼容的时钟不能同时出现在lauch clock中,也不能同时出现在capture clock中。但是lauch clock与capture clock可以不兼容。

例6:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值