数字IC后端设计实现之分段长clock tree经典案例

最近发现很多读者问到分段长clock tree的做法,小编今天给大家分享几个SoC芯片中复杂时钟结构设计的分段长clock tree的应用案例。希望对各位的学习和工作有所助益。

数字后端设计实现之时钟树综合实践篇

数字IC后端实现专家都具备哪些技能?(附后端面试宝典)

分段长clock tree案例一:

下图所示为大型SoC芯片典型时钟设计结构图。晶振IO会给整个SoC芯片提供24M参考时钟,再进入各个PLL进行时钟倍频,无毛刺时钟切换clock mux,clock gating,分频电路以及OCC电路,最终送到各个模拟IP或数字IP。

我们写sdc时会在晶振XIN_24M的输出XC端创建时钟(create_clock)。但它要去的地方有很多,default做clock tree时所有clock path分支都需要做balance的。这种工具行为肯定是不符合咱们设计预期的。因此,该案例需要使用分段长clock tree的方法来把整体clock tree长度做短。

这个话题之前在咱们社区知识星球上讨论过。小编把参考答案分享给大家。

主要处理方式是在各个功能模块最后一级的时钟输出端create_clock,create_generated_clock,并且在这些cell的输入端设置特殊的clock tree sink type,比如stop pin,ignore pin,floating pin,exclude pin等。

即便这样处理后我们发现**OCC(On Chip Controller)**电路中的occ controller的clock tree也会被拖得特别长,最终导致timing问题。

数字IC后端时钟树综合专题(OCC电路案例分享)

合理的时钟结构能够加速Timing收敛(时钟树综合中级篇)

因此,对于设计中的OCC电路,我们还需要按照下图所示的分段长clock tree的方式来处理。

这里需要重点指出的是图中第二个Mux的输出端创建时钟后,我们还可以进一步在occ controller电路的前面添加一个clock guide buffer,用来隔离这个电路的reg和IP那路的reg。

分段长clock tree案例二:

要求以下几路做到等长,clock skew控制在50ps以内,clock tree insertion delay做到800ps!

1)from FF/Q to FF1_1/D through the FF1 CK

2)from FF/Q to FF2_1/D through the FF2 CK

3)from FF/Q to FF3_1/D through the FF3 CK

4)from FF/Q to FF3_1/D through the FF4 CK

这个案例特殊之处在于这思路要求做等长的path不仅有clock path,还有data path。由于寄存器的时钟端CK是default的clock tree终点,所以这里的典型处理方法也是采用分段长clock tree。

这里分享一个咱们社区复杂时钟clock gen设计时钟树训练营学员的解答,欢迎大家参与讨论。

分段长clock tree案例三:

这个案例来自典型SoC芯片中DDRPHY和Memory Controller dfi接口的时序问题。它们的时钟源头都是来自于同一个PLL,但各自的DIVIDER是不同的,而且这里涉及到Memory Controller,LPDDR4PHY和SoC Top的clock tree。clk_dfi clock tree的长度需要根据LPDDR4PHY内部的clock tree长度来做调整。

为了实现方便我们通常会在时钟进入DDRPHY之前创建一个clock guide buffer,用来分段长clock tree。

分段长clock tree案例四:

下图所示时钟结构设计,当我们长clock tree后会发现在scan mode模式下会有比较的hold violation。此时我们可以在scan mux的I1端创建一个clock guide buffer来分段长clock tree,从而实现灵活控制这路的clock tree长度的目的。

相关推荐
IC拓荒者5 小时前
数字后端实现之Innovus中open net原因解析及解决方案
时钟树·ic后端培训·clock tree·innovus零基础·后端项目实战·open net·skiprouting
IC拓荒者2 个月前
数字IC后端设计实现十大精华主题分享
数字ic后端·数字后端培训·calibre lvs·clock tree·clock gating时序·innovus案例
IC拓荒者2 个月前
芯片Tapeout power signoff 之IR Drop Redhawk Ploc文件格式及其意义
数字后端培训·ic后端培训·innovus零基础·io ring·pad ring·redhawk·ir drop
IC拓荒者2 个月前
芯片级IO (Pad) Ring &IP Checklist
esd·数字ic后端·ic后端培训·innovus零基础·io ring·pad ring·checklist
IC拓荒者3 个月前
数字IC后端实现之PR工具中如何避免出现一倍filler的缝隙?
数字ic后端·placement·ic后端培训·innovus零基础lab·innovus零基础·spacing rule·innnovus place
IC拓荒者3 个月前
数字IC后端设计实现之Innovus place报错案例 (IMPSP-9099,9100三种解决方案)
数字后端·数字ic后端·ic后端培训·innovus零基础lab·innovus place·innovus零基础·scan chain
IC拓荒者3 个月前
Innovus Flexible H-tree and Multi-tap Clock Flow Lab实操系列教程(Day1)
数字ic后端·数字后端培训·时钟树综合·innovus零基础入门·flexible htree·clock tree·multi-tap clock
IC拓荒者3 个月前
物理验证Calibre LVS | SMIC Process过LVS时VNW和VPW要如何做处理?
lvs·数字ic后端·物理验证·ic后端培训·calibre lvs·vnw vpw·衬底接触
IC拓荒者4 个月前
数字后端零基础入门系列 | Innovus零基础LAB学习Day7
数字后端·数字ic后端·数字后端培训·innovus零基础lab·ic后端·时钟树综合·clock tree spec