ICC - Route

qianbinbin / 2023-08-25 / 原文

1. 关于 Route

  • Route的主要目标
    • 满足timing的要求,如setup/hold/removal/recovery等。
    • 满足DRC的要求,例如:transition/capacitance,以及不能有short/open。
  • Route 绕线规则
    • standard cell 的 pg rail可以采用M1,M2,M3。standard cell 的pin脚一般采用M1.

    • Width and Spacing Rule

      • 原有一个最小宽度和间距对应的规则要求,如下图蓝色模块所示。
        • 但是若两侧金属宽度增加,那么间距也需要相对应的增加。即Width-Based Spacing。
    • 需要满足DRC。

  • Pre - Route 基本过程
    • (1)Global Route

      • Router会将整个区域划分为若干个大小相等的小格子GRC(Global Routing Cell),每个小格子能通过的绕线资源是有限的。 如果超过这个能承受的值,就认为是发生阻塞。
      • GR阶段,router会绕开congested区域,而且也会绕开P/G-Shape(Rings/Straps/Rails)和Routing Blockages。
    • (2)Track Assign

      • 分配track,并尽量走较长的直线,避免多处拐弯。尽量减少通孔数量。
      • TA这步并不做DRC检查或修正。
    • (3)Detail Route

      • 主要修复TA阶段产生的physical drc violation。
        • route通过遍历一个个特定大小的区域(SBox)去修复drc。
    • (4)Search & Repair

      • 主要用于修剩下的drc Violation。算法是不断的增加SBox的Size,去遍历修。
      • 即使Route的DRC Violation都清掉了,之后还是需要做Signoff的DRC。原因有下面三点:
        • Routing DRC是complete technology DRC的子集。
        • 我们需要统一Routing DRC和complete technology DRC的版本,可能存在两个版本不一致的情况。
        • ICC中placement和routing使用的都是一个FRAM view,而不是CEL view,可能有些细节并没有被检查到,所以之后还需要CEL View进行signoff DRC检查。

2. Crosstalk

  • Crosstalk的危害
    • delta delay
      • 如下图所示,串扰可能会影响受害者信号,导致增加/减小延时。

      • 延时的改变可能会导致setup/hold出现违例,使电路无法正常工作。所以无论是ICC/PT,都需要将delta delay的延时考虑在内。

      • 可以使用下面指令查看delta_delay值的大小。

        report_timing -crosstalk_delta ...
        
      • 可能Launch路和Capture路都有delta delay的影响,工具会根据是setup/hold分析,决定一个最保守的加/减法运算于原先时序路径上。

    • glitch/bump
      • Crosstalk导致的glich/bump可能会出现Logic Failure,可能会进一步导致芯片功能的错误。
      • 所以在PT的时候,需要去考虑signal integrity。在后面的文章有详细介绍。
  • 如何修复Crosstalk