路科验证的个人空间 https://blog.eetop.cn/1561828 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

时钟问题知道多少?

已有 26986 次阅读| 2018-12-1 19:58 |个人分类:验证前沿资讯|系统分类:芯片设计

  

rockeric.com

时钟耗电又占面积,并且很难按可控的方式去分布。它就像笨拙的野兽,我们该做些什么来统治这些野兽呢?


同步数字设计范例使我们能够设计出良好的可控电路,但这只有在时钟本身受到良好控制的情况下才能实现。


裕量设计技术(overdesign techniques)确保了早期ASIC的开发,但放到今天,或许太过于奢侈了。如今追求更低功耗和更高工作频率时钟已成为设计的关键因素。不过即使使用现代设计技术,时钟网络仍旧占用着大部分布线资源,占总设计功率的30%至40%


ASIC开发的早期阶段,进行了许多假设和简化。例如门上才有延迟,电源完全稳定且未切换,时钟完美分布。这些假设许多都反映在我们今天使用的设计语言中,例如Verilog和VHDL,并且设计文件必须补充诸如电源意图和布局后时序之类信息的附加数据。


其他信息的需要工具去提取。时钟的很多领域都非常复杂,时钟树综合(CTS:Clock tree synthesis)就是其中之一,它依赖于设计方法、工具、手动干预以及前端和后端团队中不同组之间传递的大量信息的组合。


项目期间,设计团队花费大量时间来设计符合时序和功率标准的时钟树,时钟树的复杂度取决于设计架构和最终应用。


但是并非所有设计都具有相同复杂度的时钟。首先,时钟数量会影响时钟树设计,有些设计有数百个时钟和各种偏差约束(skew constraints),其他设计只有扫描和功能时钟。其次,性能目标也是一个重要因素,松散的偏差和转换约束可实现更高功效的时钟。除此之外,其他因素包括技术节点的特征布图规则单元库行为也会影响时钟树。


自动化的加入

时钟偏差对于复杂的设计来说一直是个问题。自定义或半定制处理器设计在同一时钟上就有数百万个门,因此它们存在这种偏差问题,为了解决这种灾难,我们常常采用了矫枉过正的方案。目前有使用结构化技术例如在电源轨之后拉低时钟,然后加入结构化的H树或网格时钟


时钟树综合的发展,尽可能地避免了这种矫枉过正。早期的工具只假设了一个时钟,但如今,时钟门控(clock gate)成为节省功耗的普遍方式,工具也必须能够处理多个子树(sub_trees)才行了,随着时间的推移,这些子树也将变得层次化


关于时钟的一个难点是它们在流程中所处的位置。它们既不算前端,也不属于后端,更恰当地说,他们处在分界线上。我们可以在流程中的任何环节解决时序、偏差和面积的问题,但设计节能时钟树应该在设计的最初就去构思,这样的成本才是最小的


在大多数情况下,拿到的RTL网表并不会模拟出时钟偏差(clock skew),尽管我们已经在物理综合之前做好了偏差预算。CTS必须实现偏差预算,并且争取用最小的功率实现,经常会通过驱动来加速某些节点,或者增加其他路径的延时。慢时钟比加快时钟要容易一些,比如在较大距离上平衡低偏差时钟时,只需要增加串联缓冲区的数量,这意味着从树顶部的源到它到达叶子的延时(插入延时)会增加。要想偏差越小,时钟树就需要越深。


构建时钟树本质上是一种迷你的物理综合(P&R)流程。需要智能地放置时钟单元,优化单元大小和网络缓存,计算时钟时间,提取线路以及路由时钟网络。因此,时钟树综合中使用的算法范围跨越了大量的物理设计


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 253

    粉丝
  • 25

    好友
  • 33

    获赞
  • 45

    评论
  • 访问数
关闭

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

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

GMT+8, 2024-3-29 20:40 , Processed in 0.023144 second(s), 12 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部