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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3781|回复: 8

[讨论] 时序约束求教

[复制链接]
发表于 2013-8-19 18:49:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
目前设计中存在两种情况,想请教一下大家应该如何处理。
1.与sdram通信的输出接口,此处有输出一个时钟信号,请问接口的时序约束应该怎样设置?

   目前查到的是在输出的时钟信号port上定义一个生成时钟(source为片上工作时钟),然后将其他输出数据的output delay以它为参考时钟设置。这里我想问一下,假设主时钟为clk1,生成时钟为clk2(未经过任何分频或反向处理),那么当数据输出时,若以clk1为参考时钟输出,那么在这个地方应该如何理解这些数据与clk2在输出到sdram时,两者间存在的延迟?对于这样的情况是无法去balance skew的吧?

2.假设输入时钟clk1在片内进行了分频产生了clk2,数据参考它输出到片外经过处理后,又输入到片内,那么这些数据能否仍用clk2来capture,并且应该怎样定义它们的输入延时?clk2是否也要输出到片外后再输入到片内?


纠结的头都大了,请各位指教!
发表于 2013-8-19 19:09:18 | 显示全部楼层
1.clk1到clk2的是Launch Clock Path,clk1到寄存器ck端是Capture Clock Path,后者加上Data Path再和前者对比作时序分析。这里Balance Skew会跑不快,因为输入数据时序不好。最优的方法是输出的时钟路径短,到控制器寄存器的时钟路径长。

2.外部兜一圈的话如果片外SI不好(阻抗匹配不好),内部逻辑就乱了,是下策。
 楼主| 发表于 2013-8-19 19:42:52 | 显示全部楼层
回复 2# Timme


   感谢回复!

可能我说的不是太清楚。。

关于第一点我不能理解的是:
假设clk2与clk1直连并输出到片外sdram作为其时钟(当然中间可能有buffer),而sdram的地址/数据信号在output时是clk1 launch的,这时如果按上述的定义方式,在port clk2处定义生成时钟,并将地址/数据信号的output delay参考它,这样的约束是否可行?

第二点中,clk2在外部是没有发生变化的,即若是将其输出后再输入,在chip级就是在两者pad上做一个短接。我也不太明白这个地方应该如何处理比较好,烦请指教。
发表于 2013-8-19 19:47:05 | 显示全部楼层
本帖最后由 Timme 于 2013-8-19 19:56 编辑




1.可行。input/output delay参考clk2,全世界都是这样做的。你参考clk1 PT直接报错。
2.不建议这样做。clk2有没有变化,取决于PCB设计。PCB设计阻抗匹配不好,在Pad上的方波就会变成三角波或振铃等。如果把这个不干净的波形引回片内,是个很大的隐患。如果要把控制器时钟往后推,请在片内完成。
 楼主| 发表于 2013-8-19 20:20:50 | 显示全部楼层
回复 4# Timme


   在这种约束下,CTS中必须进行clk1驱动的reg与clk2 port之间的skew balance是吧?
   此外还想请教下您,某些guide上讲的通过定义虚拟时钟来约束IO delay的方式与使用real clock约束有什么差别?具体到这个设计里面,我本意是觉得应该定义一个virtual clock,然后将data/address信号这些的output delay参考它。
发表于 2013-8-19 20:24:36 | 显示全部楼层
本帖最后由 Timme 于 2013-8-19 20:27 编辑


回复  Timme


   在这种约束下,CTS中必须进行clk1驱动的reg与clk2 port之间的skew balance是吧?
   ...
Numb 发表于 2013-8-19 20:20




你可以选择Balance Skew,但上面说了,这样跑不快。高性能的做法是把内部寄存器时钟往后推。(当然最高性能是用PLL,不过我相信没有哪个ASIC芯片会为了个SDRAM控制器加PLL)

在Encounter里,Balance的话把输出Pad的输入Pin设为Leaf Pin就可以了,如果要把往后推再加个MacroModel。ICC我不熟。。。

这里和虚拟时钟没有一毛钱关系。。。
 楼主| 发表于 2013-8-19 20:36:09 | 显示全部楼层
回复 6# Timme


    好吧。。似乎是我想多了。还想多嘴问下,您说的将内部寄存器时钟往后推是从设计上保证吗?
发表于 2013-8-19 20:37:53 | 显示全部楼层
本帖最后由 Timme 于 2013-8-19 20:39 编辑


回复  Timme


    好吧。。似乎是我想多了。还想多嘴问下,您说的将内部寄存器时钟往后推是从设计上保 ...
Numb 发表于 2013-8-19 20:36





   后端实现时保证。前端看不见。

如果注重高性能,往后推时关注共同时钟路径。
 楼主| 发表于 2013-8-19 20:41:58 | 显示全部楼层
回复 8# Timme


   真心感谢您!学到了很多
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-11-6 11:08 , Processed in 0.022502 second(s), 9 queries , Gzip On, Redis On.

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