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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: insunshinecn

[原创] 时序问题

[复制链接]
 楼主| 发表于 2015-1-28 17:20:27 | 显示全部楼层
回复 10# wgej1987


   谢谢,谢谢。
发表于 2015-1-29 15:14:07 | 显示全部楼层



multicycle和推时钟树、PIPELINE是不同的概念
发表于 2015-1-29 15:15:46 | 显示全部楼层
1、pipeline方式提频



是通过将关键路径的长组合逻辑用寄存器隔离打散,变成可收敛的非关键路径(也即不再成为整个系统频率提升的短板),从而可将系统的整体工作频率提高,使所有的时序path受益
发表于 2015-1-29 15:17:41 | 显示全部楼层
2、推时钟树



通常是在不改变系统时钟频率的情况下,对前后级寄存器之间的收敛窗口进行微调以修复时序违反的方法。对于大型设计,手工做树的工作量太大,不要妄图通过这种方式解决所有的时序违反以提高系统频率,否则会有人吐血。小范围的修timing还可以接受。
发表于 2015-1-29 15:18:58 | 显示全部楼层
3、multicycle

在功能上,必须保证设置multicycle的路径,确实是可以多周期之后采样的,即:逻辑上不关系中间的跳变,只要最后采样时的值正确即可。



通常考虑设置multicycle,还是因为寄存器间组合逻辑太长,导致单周期无法收敛。

要么是发现vio后,分析逻辑功能发现确实不需要单周期收敛

要么就是对超长路径做了特殊的控制和处理,功能上保证可以延迟采样并保证功能正确



这实际上也是将原来的关键路径转化为非关键路径,通过multicycle约束告诉STA工具,这条路径的时序检查标准可以放松,使之不再成为关键路径,从而可以继续考虑提高系统工作频率
发表于 2015-1-29 15:47:41 | 显示全部楼层
本帖最后由 maoqiu 于 2015-1-29 16:05 编辑

不知道说清楚了没有

还是那句话
同步电路的基础是所有的寄存器都是同沿采样,单周期收敛

所谓时序逻辑,前后级寄存器之间行为是有明确的次序

举例

reg1 -------> reg2---------->reg3

爷爷            爸爸                   孙子

reg1输出的数据,经过1个时钟周期的计算后,作为reg2的输入被寄存,同时reg2的输出被刷新,再经过一个时钟 周期后,被reg3寄存
也就是先要有爸爸,才会有儿子

所有的寄存器的CP时钟沿对齐,才能够完美的保证这种传递次序。(当然实际电路中不会完全对齐,不同寄存器时钟是有一定的skew)

reg2的时钟如果向后调1个周期以上,就是爸爸和孙子称兄道弟了,那样爷爷肯定会胃疼。

楼主好好想想
 楼主| 发表于 2015-1-29 15:58:37 | 显示全部楼层
回复 16# maoqiu


   感谢你写了这么多。受益匪浅
发表于 2018-12-24 12:07:50 | 显示全部楼层
发表于 2020-11-8 20:42:13 | 显示全部楼层
感谢分享!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-25 04:09 , Processed in 0.019082 second(s), 6 queries , Gzip On, Redis On.

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