微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 关于create_clock和create_generated_clock的约束问题?

关于create_clock和create_generated_clock的约束问题?

时间:10-02 整理:3721RD 点击:

大家好,我们现在用SMIC0.18工艺做项目,图1是逻辑综合时对jtag_clk的约束,分别有latency、uncertainty、gating_check和transiton。小弟想咨询如下问题:
1)、图1中对clock的transition的约束是不是有点紧啊,还有,hold的gating_check的余度为0,大家说合适吗?
2)、假如芯片有一个生成时钟(gen_clk),它的source就是jtag_clk,如果我的jtag_clk如图1所设置,那么,gen_clk还有必要设置latency、uncertainty、gating_check和transition吗?如果我参照图2的意思的话,我怎么感觉不用设置呢。
谢谢各位了。

图1


图2

1.transition应该还可以吧(个人感觉)transition和你cell的驱动能力有关吧,与时钟关系不是很大,hold可以适当加大些,你的模块不大可以多试几次看下结果如何
2.不需要设置,cts时generated clock会和source clock在一起compile和optimize

transition太小了,hold可以加大到0.3左右

先谢谢楼上二位,自己再顶。

对小编的第2问表示关注~
有人有不同观点么?刚才问了个朋友,他就是不同的观点,说从时钟继承不到这些约束。现在有点糊涂,不知道谁是对的了

你的朋友是对的。gen_clk只继承master_clk的latency属性。不继承uncertainty、clock gating什么的。但是它们是属于同一时钟域的同步时钟。除了latency外,你可以认为他们是不同的时钟,没有任何关系。

请问什么是继承master clock的latency属性?时序报告中能显示出来吗?谢谢


您好,不知道您对generated_clock怎么约束理解了没有。先附上一张时序报告图,图中clk2是clk经过32分频得到的,在顶层约束中对clk2的约束是:create_generated_clock -name clk2 -source clk -divide_by 32 [get_pins d1/clk2_reg/Q]
set_clock_latency1 [get_clocks clk2]
set_clock_latency-source 1 [get_clocks clk2]
像图上的一样,clk2的network_delay为2,没有继承clk的source_latency。请问这是为什么啊?

我现在也是同样的问题,在做cts的时候,master clock的latency并没有传给generated clock,所以generated clock的latency还是从DFF的Q端开始算起的
Clock Tree Name: "clk4m"
Clock Period: 243.00000
Clock Tree root pin: "U_clk_gen/clk4m_reg/Q"
Number of Levels: 10
Number of Sinks: 398
Number of CT Buffers: 51
Number of CTS added gates: 0
Number of Preexisting Gates: 1
Number of Preexisting Buf/Inv: 2
Total Number of Clock Cells: 54
Total Area of CT Buffers: 603.68005
Total Area of CT cells: 667.34094
Max Global Skew: 0.09076
Number of MaxTran Violators: 0
Number of MaxCap Violators: 0
Number of MaxFanout Violators: 0

Operating Conditionworst
Clock global Skew0.091
Longest path delay1.336
Shortest path delay1.245
The longest path delay end pin: U_tranceiver/U_demod_top/U_slic_intpol/dc_delay_reg_15_/CK
The shortest path delay end pin: U_tranceiver/U_demod_top/U_slic_intpol/bpktctl_syn_reg/CK
The longest Path:
PinCapFanoutTransIncrArri
--------------------------------------------------------------------------------
U_clk_gen/clk4m_reg/Q
0.01320.1720.0000.000r
U_clk_gen/U24/A
0.01310.1720.0000.000r
U_clk_gen/U24/Y
0.00920.0830.0790.079f
U_clk_gen/U29/B
0.00910.0830.0000.079f
U_clk_gen/U29/Y
0.01610.1160.2380.317f
U_clk_gen/CTSCLKINV_X40_A7TR_G4B1I11/A
0.01610.1160.0000.318f
U_clk_gen/CTSCLKINV_X40_A7TR_G4B1I11/Y
0.02510.1060.0940.411r
U_clk_gen/CTSCLKINV_X40_A7TR_G4B1I1/A
0.02510.1060.0000.412r
U_clk_gen/CTSCLKINV_X40_A7TR_G4B1I1/Y
0.07310.1150.1010.512f
U_clk_gen/U41/A
0.07310.1150.0010.514f
U_clk_gen/U41/Y
0.09720.0960.0920.605r
U_tranceiver/U_demod_top/CTSCLKINV_X12_A7TR_G5B4I1/A
0.09710.0960.0070.612r
U_tranceiver/U_demod_top/CTSCLKINV_X12_A7TR_G5B4I1/Y
0.05610.0700.0710.683f
U_tranceiver/U_demod_top/CTSCLKINV_X24_A7TR_G5B3I1/A
0.05610.0700.0010.684f
U_tranceiver/U_demod_top/CTSCLKINV_X24_A7TR_G5B3I1/Y
0.48450.3710.2360.920r
U_tranceiver/U_demod_top/CTSCLKINV_X12_A7TR_G5B2I4/A
0.48410.3710.0240.944r
U_tranceiver/U_demod_top/CTSCLKINV_X12_A7TR_G5B2I4/Y
0.186100.2010.1881.132f
U_tranceiver/U_demod_top/U_slic_intpol/CTSCLKINV_X3_A7TR_G5B1I36/A
0.18610.2010.0131.145f
U_tranceiver/U_demod_top/U_slic_intpol/CTSCLKINV_X3_A7TR_G5B1I36/Y
0.064110.2180.1901.335r
U_tranceiver/U_demod_top/U_slic_intpol/dc_delay_reg_15_/CK
0.06400.2180.0011.336r
[clock delay]1.336
--------------------------------------------------------------------------------

反了吧 继承uncertainty 不继承latency吧


上善若水8888 :你好
我也遇到了同样的问题 不知道你理解了generated_clock的含义没有
我使用了下面的约束语句:
create_clock -name clk -period 10 [get_ports clk]
set_clock_latency 1 [get_clock clk]
create_generated_clock -name clk_4div -divide_by 4 -source [get_ports clk] [get_pins clk_4div_reg/Q]
按照帖子中说的,不需要指定generated_clock的latency
但是在我使用report_timing指令报告clk_4div的路径时,它的clock network delay为0,也就是说 master clk 的 clock_latency并没有传递过来
不知道后来你是怎么解决这个问题的,望指教!

同问

同问。latency的确没有继承,timing分析就不准确了呀

同问,哪位大神帮忙解说一下?

只有当master clock具有propagated属性,并且generated clock未定义source latency时,从时钟才会继承主时钟的latency属性。详细man set_clock_latency.我把那段截出来放这里好了


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top