在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: nicholas08

[原创] 陈版主请教如果约束interface timing

[复制链接]
 楼主| 发表于 2011-11-27 20:22:19 | 显示全部楼层
谢谢版主回复.那如果我这样子没有在source create clock.而还是create在clock module的output会如何?因为这个clock moudle并不是像clock divider一类的逻辑,只是做clock selection和enable作用.

我们公司以前的flow都是,clock module不参与综合,设置了dont_touch.已经自己手写了netlist,到时候会再放进去.每个clock module都完全一样,都是mux加flop的结构.为了保证逻辑一样..
发表于 2011-11-27 23:30:20 | 显示全部楼层
可以吧 clock module放到数字模块一起 综合,考虑时序啊, 就看成是放大的digital部分啊,

省的烦,

难道这个clockgen 是独立在模拟和数字模块之间的另外的模块么,
发表于 2011-11-28 00:57:29 | 显示全部楼层
DC综合时可以从clock module的output定义create clock,
但是在APR时,按照你#1贴说的要求,应该从source clock定义create clock,
除非你要求后端手动摆放所有clock module的instance,并且明确告诉他们你的时序要求。个人认为那样做的话,你是同时给自己和后端增加不必要的负担。结论就是,你的方法不是不行,但不是最好的。
 楼主| 发表于 2011-11-28 08:50:27 | 显示全部楼层
回复 12# icfbicfb


   谢谢回复.因为我在我原公司以前的做法都是clock module不综合.都自己手写netlist,这样保证用的cell一样,然后里面的timing也可能让所有的clock module都一样.所以这个时候的clock都设在clock module的output上. 最主要的问题是我们同一个source clk会有七八种频率.然后某些module只工作在某一频率下.如果从source设最快的clock freq.很多module都被over constraint了..而且我们也不喜欢在综合的时候设set case.所以才一个source clk经过clock module分出几十甚至上百个clock..从这里开始create clock.
 楼主| 发表于 2011-11-28 08:58:28 | 显示全部楼层
回复 13# 陈涛


    谢谢陈版主回复.我在DC的时候这么设clock主要原因就是刚刚我回复icfb的.
    我现在这个样子的话是不是就只能按照你说的,先让后端balance从source clk到clk module的output的这段delay...然后再开始从clk module的output开始balance到芯片内部其他的flop间的delay吗?

    那我如果这样子做了.还是继续按照你之间和我讲的方法设set_input_delay 吗?谢谢.
 楼主| 发表于 2011-11-28 09:25:08 | 显示全部楼层
本帖最后由 nicholas08 于 2011-11-28 09:31 编辑

回复 13# 陈涛


    bbb.JPG
陈版主还有个问题要问一下,我这个input delay是按照如下的设法吗
set_input_delay -clock clk -max [get_pins data ]
如上图所示,那个mux还有一路输入是从另一个clk domain来,loopback mode.那个mode下面并没有input delay.

还有个问题,如果analog里出data和clk的时差差有可能是正,有可能是负,该怎么设max和min?

谢谢
发表于 2011-11-28 10:39:44 | 显示全部楼层
回复 14# nicholas08


    你可以 source端 create_clock  -name master_clock  -period  10   [get_pins  master_source_pin]

然后在output 端 create_generated_clock -source  [get_pins master_source_pin] -divide_by 4   -name div4_clock [get_pins \
XXXoutput pin ]

每个generated clock都可以用 -divide_by , -multiple_by  声明和master clock的关系啊,

这样比较清楚,你们综合的时候也不用手动例化, dont touch,   

如何balance source clock和generated clock 完全是后端的工作, cts的时候可以balance各个 分频时钟,

其实也就是clockgen模块会有些clk buffer的调整变化,


问一个: 你source clock还去DATA模块么 ,还有leaf cell么,如果没有,  那source clock的意义不大了,
完全是generated clock在起作用,
发表于 2011-11-28 10:41:28 | 显示全部楼层
回复 15# nicholas08


    balance是你理解的这样,

balance clock和对数字port设 input,output delay是2码事情,

balance clocks只是为了各个clock domain的 之间的时序关系好,


input、output delay还是要设的, 是约束数字模块的DATA端的,
发表于 2011-11-28 11:10:46 | 显示全部楼层
本帖最后由 icfbicfb 于 2011-11-28 11:12 编辑

回复 16# nicholas08


    对,哦,没错,你就把数字当做大触发器好了, 就是check data和clk之间的边沿关系,


max、min应该可以模拟 你那个模拟和数字之间的关系吧, input /output delay ,


max/min说的就是2个极端情况,分别检查setup/hold timing, 你可以考虑2个极端情况,

比如正负的差值,
 楼主| 发表于 2011-11-28 11:44:29 | 显示全部楼层
回复 17# icfbicfb


    谢谢.source不去任何data,只去clock module经过一堆control,gating 而已.clock module的output才是去内部flop驱动data的..所以确实像你说的那样,只有generated clock 在起作用.

我的source clk关键是有七种频率,如果直接create在source的话,肯定只能create最快的一种频率吧..
比如我的source clk,可以是600MH\s, 500,300,100四种频率,然后芯片内部,A,B,C module跑在600,D跑在500,..E跑在100..这样子我通过clock module可以直接定义给各个module用的clock啊.

如果像版主你说的那样直接定义在source,再设generated clock,是不是就不太好处理这种关系呢,因为并不是divided_by或者multiply_by的关系啊..
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-2-14 05:36 , Processed in 0.022468 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表