标准单元库---线负载模型(WLM,Wireload Models)

线负载模型( Wireload Models)

   在布图规划(Floorplan)布局(Layout)之前,线负载模型可以用来估计电容、电阻和互连线的面积开销。可以用线负载模型(Wireload Model)基于扇出的数量估计线的长度。线负载模型依赖于块(Block)的面积不同面积的设计可以采用不同的线负载模型。线负载模型也可以把预估的线长映射为电阻、电容以及由于走线产生的面积开销。
   块(block)内的平均线长和块的大小密切相关,块尺寸增加,平均线长相应增加。图4-7表示对于不同的面积(芯片或者块的尺寸),通常用不同的线负载模型来决定寄生参数。所以,图中描述了较小尺寸的块有较小的电容。
在这里插入图片描述


   下面是一个线负载模型的例子
在这里插入图片描述

  • Resistance是指每单位长度互连线的电阻
  • capacitance是指每单位长度互连线的电容
  • area是指每单位长度互连线的面积开销
  • Slope是在数据点超出扇出长度表(Fan-out LengthTable)时所使用的外推斜率。
       线负载模型说明了线长是如何作为扇出的函数被描述的。上面的例子在图4-8中有描述。对于任何没有明确在表中列出的扇出值,通过线性外推法用指定斜率计算得到互连长度。比如,8扇出的互连长度如图4-8所示

在这里插入图片描述
在这里插入图片描述


互连树(Interconnect Trees)

   一旦预估了电阻和电容,我们可以说预布局阶段互连线的Rwire和Cwire就确定了,下一个问题就是互连线的结构。互连线RC结构相对于驱动单元是如何分布的?这很重要,因为从1个驱动引脚到负载引脚的互连延迟依赖于互连线的结构。通常来说,互连延迟依赖于路径上的互连电阻和互连电容。因此,线的假想拓扑结构不同,延迟就不同。
   在预布局阶段的估计,互连RC树可以用以下3种方式来表示(如图4-9所示)。注意,总互连长度在3种情况下都是一样的。(所以预估电阻和电容也是一致的)。

  • 1)最佳情况树(Best-Case Tree):在最佳情况树中,假设终点(负载)引脚在物理位置上和驱动是紧邻的。所以,到终点引脚是没有线电阻的。所有其他扇出引脚的线电容和引脚电容,依然作为驱动引脚的负载起作用。
  • 2)平衡树(Balanced tree):在这种情况下,假设每个终点引脚都分别处在互连线的一部分上。每条到终点的线路都有等分的线电阻和线电容。
  • 3)最差情况树(Worst-Case Tree):在这种情况下,假设所有的终点引脚都聚集在线的最远端。所以每个终点引脚都看到了总的线电阻和总的线电容。
    在这里插入图片描述

指定线负载模型(Specifying Wireload Models)

set_wire_load_model “wlm_cons” -library “lib_stdcell”
# Says to use the wireload model wlm_cons present in the
# cell library lib_stdcell.

在这里插入图片描述
   当线穿过层次边界(Hierarchical Boundary)时,可以基于不同的线负载模式(Wireload Mode),在每个层次边界使用不同的线负载模型。这些线负载模式有如下三种。

  • i.top
  • ii.enclosed
  • iii.segmented

   线负载模式可以用命令set_wire_load_mode来指定,如下所示:
在这里插入图片描述
   在top线负载模式下,所有在这个层次的线继承顶层的线负载模型,也就是说,所有在低层次指定的线负载模型都会被忽略。所以,顶层线负载模型有最高优先级。如图4-10中所示的例子,在B1块中指定的线负载模型wlm_cons比在B2、B3和B4块中指定的线负载模型优先级高。
在这里插入图片描述


   在enclosed线负载模式下,如果块完全包含了线,那该块的线负载模型将应用到整条线上。如图4-11中所示的例子,线NETQ完整包含在B2块中,所以B2块的线负载模型wlm、light将应用到整条线上。其他完整包含在B3块的线将应用wlm_aggr线负载模型,完整包含在B5块的线将应用wlm_typ线负载模型。
在这里插入图片描述


   在segmented线负载模式下,线的每个片段将应用包含这个片段的块的线负载模型。线的每部分都使用该级别的恰当的线负载模型。在图4-12所示的例子中,线NETQ在3个块中都有片段。该线在B3块中的片段使用wlm_aggr线负载模型,该线在B4块中的片段使用wlm_typ线负载模型,该线在B2块中的片段使用wlm_light线负载模型。
在这里插入图片描述


   通常线负载模型的选择是基于块的芯片面积。但是模型的选择可以由客户自行判断来更改。比如,可以为面积为0-400的块选择wlm_aggr线负载模型,为面积为400~1000的块选择wlm_typ线负载模型,为面积为1000或更高的块选择wlm_cons线负载模型。线负载模型通常定义在单元库,但是用户也可以自定义线负载模型。1个默认的线负载模型可以选择定义在单元库中,如下所示:
在这里插入图片描述


   1个线负载模型选择组(Wireload Selection Group),是基于面积来选择线负载模型的,定义在单元库中。例子如下:
在这里插入图片描述
1个单元库可以包含多个这样的选择组(Selection Group)。在STA中具体使用哪个选择组,可以用以下命令来指定:
在这里插入图片描述

WLM 局限性

   线1和线2 扇出相同,但线长其实差距很大,这样线上延时和功耗差距其实很大,但是wire load model给出的结果却是相同的。
在这里插入图片描述

本节描述了在物理实现之前,也就是在预布局阶段,预估寄生参数的建模。


DC

DC WLM(误差大)

  • 综合人员可以通过命令set_wire_load_model命令明确声明了综合过程使用的线性负载模型,使用set_wire_load_mode 命令明确声明使用何种模式

  • 如果综合人员没有声明,那么DC会到逻辑库中寻找,如果该逻辑库支持自动根据面积来选择线性负载模型,那么DC采用这种自动匹配方式 (可以通过设置变量auto_wire_load_selection值为false来关闭模型的自动选择功能),如果逻辑库不支持该方式,那么DC根据逻辑库中的默认参数default_wire_load_modeldefault_wire_load_mode来设置。


DC 拓扑模式(Topographical mode)

  • 为解决线负载模型这一弊端**(线1和线2 扇出相同,但线长其实差距很大)**,DC中可以启用topographic模式。主要流程如下,DC会对设计进行initial systhesis,得到初步的ddc文件后进行FloorPlan,由得根据器件位置得到大致的线负载模型。

  • 目标就是在DC阶段就可以将时序预估的更加准确

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值