原创 dc概论之virtual clock

2009-6-29 16:53 4340 2 2 分类: 工程师职场

virtual clock一般用在没有时钟的路径上或者不是与系统同时钟的约束中。
这里不讨论一般情况,嘿嘿。
可以看下,下面设计中经常会遇到的情况:




如何约束路径,从而使综合工具正确分析,这里就要用到virtual clock
观察这两个电路,不难发现。经过选择器的2个路径不会同时出现的。
基于此,我们可以利用virtual clock来分析各自的路径。
如下图:
对于每一个路径我们设计一个virtual clock,然后对输入或者输出增量约束


create_clock -name VClk_Pos -period $ppos
create_clock -name VClk_Neg -period $pneg

set_output_delay -add 4 -clock VClk_Pos Dout
set_output_delay -add 6 -clock  VClk_Neg Dout -clock_fall


 


点击看大图


create_clock -name VClk_Com -period $pcom 
create_clock -name VClk_Seq -period $pseq

set_input_delay 4 -add -clock VClk_Com Din
set_input_delay 5 -add -clock VClk_Seq Din

set_output_delay 6 -add -clock VClk_Com Dout
set_output_delay 5 -add -clock VClk_Seq Dout

用过dc综合工具的基本都会知道建立时间的检查是在最小的launch和capture间检查的。
所以上面的约束中会有一些false path,因此我们要filter掉这些路径。


set_false_path -from Clk_Pos -to VClk_Neg
set_false_path -from Clk_Neg -to VClk_Pos


点击看大图


set_false_path -from VClk_Com -to VClk_Seq
set_false_path -from VClk_Com -to Clk

set_false_path -from VClk_Seq -to VClk_Com
set_false_path -from VClk_Seq -to VClk_Seq

set_false_path -from Clk -to VClk_Com


至此,就ok了。
其实上面的情况还可以用set_max_delay来约束,但是set_max_delay通常会打断时序路径,
造成dc再分析setup time的时候比较乐观,分析hold time又比较悲观。

文章评论0条评论)

登录后参与讨论
相关推荐阅读
change2009 2010-03-21 18:01
VLSI interview questions
1/ What is latch up? Latch-up pertains to a failure mechanism wherein a parasitic thyristor (such as...
change2009 2009-10-28 01:36
source insight 快捷键
退出程序                                : Alt+F4重画屏幕                                : Ctrl+Alt+Space完成语法...
change2009 2009-10-28 01:08
AT命令介绍
AT命令最常见的应用场景: 1。智能手机:一般智能手机都是一个主芯片控制一个通信模块,这个通信模块就是一个完整的、简单的手机,包括手机应该有的射频、基带等部分,还有GSM协议栈,完全可以独立打电话、发...
change2009 2009-10-16 13:42
msdev及devenv 命令行
为加快编译速度,命令行编译。msdev是visual studio 6.0的IDE程序, devenv是visual studio 2005的IDE程序两种IDE程序, 既可以工作在图形模式下,也可以...
change2009 2009-10-12 13:28
MTK环境中如何新增语言
vendor\font\MTK\official\project\plutommi\content\src\MainLcd240X320\FontRes.c //以lcd为 240X320 为例.pl...
change2009 2009-08-21 09:47
后端时序修复_Fixing hold violation after P&R using perl
布局布线后端时序修复Fixing hold violation after P&R using perl1, 在每一个触发器的D或者SI引脚前加一个DELAY cell以避免Hold viol...
我要评论
0
2
1
2
3
4
5
6
7
8
9
0
关闭 热点推荐上一条 /4 下一条