ToB企服应用市场:ToB评测及商务社交产业平台

标题: 静态时序分析:线负载模型的选择机制 [打印本页]

作者: 大号在练葵花宝典    时间: 2025-1-2 08:48
标题: 静态时序分析:线负载模型的选择机制
相干阅读
静态时序分析
https://blog.csdn.net/weixin_45791458/category_12567571.html


线负载模型及其选择

        线负载模型仅在Design Compiler线负载模式(非拓扑模式)下时使用,它估算了导线长度和扇出对网线的电阻、电容和面积的影响,Design Compiler使用这些物理值来盘算导线耽误和电路速度。
        半导体供应商根据其工艺的统计信息开辟线负载模型。这些模型包罗单位长度的面积、电容和电阻系数,而且还包含一个扇出与长度的表,用于估算网线的长度(扇出数量决定了一个标称长度)。
        在没有反标导线耽误的情况下,Design Compiler使用线负载模型来估算网线的长度和耽误。Design Compiler根据以下优先顺序来确定使用哪个线负载模型:
1、由用户显式指定的模型

        使用set_wire_load_model命令即可使用任意一个已加载到内存的逻辑库中的线负载模型(这里需要注意,正如链接(link)库的具体解析一文所说,link_library变量或local_link_library属性(两者统称为link_path)指定的逻辑库会在须要时自动加载)。

2、基于计划面积自动选择的模型

        在auto_wire_load_selection变量没有被设置为false的前提下:
        在主库,即link_path中的第一个逻辑库(local_link_library属性优先级更高)中存在一个线负载模型选择组(wire_load_selection),Design Compiler根据该选择组中的“单位面积-线负载模型”关系自动选择线负载模型;假如主库中存在不止一个线负载模型选择组,则逻辑库中肯定同时界说了库属性default_wire_load_selection,Design Compiler根据该默认选择组中的“单位面积-线负载模型”关系自动选择线负载模型。
        使用set_wire_load_selection_group命令即可使用任意一个已加载到内存且在link_path中指定的逻辑库中线负载模型选择组。

3、逻辑库中的默认指定的模型

        假如主库中界说了库属性default_wire_load,Design Compiler选择该默认线负载模型。

        假如以上三种情况都不满意,Design Compiler将不使用线负载模型。在没有线负载模型的情况下,Design Compiler无法获取目标工艺的完整信息,无法盘算互连耽误,因此,时序信息将显得过于乐观。

举例阐明

        假设逻辑库typical.lib(同时作为主库)中有以下界说:
  1.   wire_load("tsmc090_wl10") {
  2.     resistance        : 8.5e-8;
  3.     capacitance        : 1.5e-4;
  4.     area        : 0.7;
  5.     slope        : 66.667;
  6.     fanout_length        (1,66.667);
  7.   }
  8.   wire_load("tsmc090_wl20") {
  9.     resistance        : 8.5e-8;
  10.     capacitance        : 1.5e-4;
  11.     area        : 0.7;
  12.     slope        : 133.334;
  13.     fanout_length        (1,133.334);
  14.   }
  15.   wire_load("tsmc090_wl30") {
  16.     resistance        : 8.5e-8;
  17.     capacitance        : 1.5e-4;
  18.     area        : 0.7;
  19.     slope        : 200.001;
  20.     fanout_length        (1,200.001);
  21.   }
  22.   default_wire_load :tsmc090_wl30;
  23.   wire_load_selection(pes) {
  24.   wire_load_from_area(0,100,tsmc090_wl10);
  25.   wire_load_from_area(101,200,tsmc090_wl20);
  26.   wire_load_from_area(201,300,tsmc090_wl30);
  27. }
  28.   wire_load_selection(opt) {
  29.   wire_load_from_area(0,100,tsmc090_wl30);
  30.   wire_load_from_area(101,200,tsmc090_wl20);
  31.   wire_load_from_area(201,300,tsmc090_wl10);
  32. }
  33.   default_wire_load_selection :opt;
复制代码
1、由用户显式指定的模型(常用)
        使用set_wire_load_model命令可以使用任意一个已加载到内存的逻辑库中的线负载模型,图1是report_design命令的结果。
  1. set_wire_load_model -name tsmc090_wl10 -library typical
复制代码

图1 手动选择线负载模型


        假如不指定-library选项,则Design Compiler会在link_path指定的逻辑库中从左至右进行搜索指定的线负载模型;假如在-library选项中指定了多个逻辑库,则Design Compiler会在这些指定的逻辑库中从左至右进行搜索指定的线负载模型。

2、基于计划面积自动选择的模型
        假设auto_wire_load_selection变量没有被设置为false。
        某个计划的总单位面积为18,则Design Compiler根据主库的默认选择组opt自动选择线负载模型tsmc090_wl30,图2是report_design命令的结果。

图2 基于面积自动选择线负载模型(默认)

        也可以使用set_wire_load_selection_group命令使用任意一个已加载到内存且在target_library或link_library中指定的逻辑库中的线负载模型选择组,图3是report_design的结果。
  1. set_wire_load_selection_group pes -library typical
复制代码

图3 基于面积自动选择线负载模型(指定)

        需要注意的是,与set_wire_load_model命令不同的是,假如一个逻辑库使用read_db或read_file -format db命令手动加载到内存中但并未在target_library或link_library中指定,则无法指定此中的线负载模型选择组。                                                                      
        假如不指定-library选项,则Design Compiler会在target_library指定的第一个逻辑库(优先级更高)或link_library中指定的第一个逻辑库中搜索指定的线负载模型选择组;假如在-library选项中指定了多个逻辑库(需要在target_library或link_library中指定),则Design Compiler会在这些指定的逻辑库中从左至右进行搜索指定的线负载模型选择组。

3、逻辑库中的默认指定的模型
        假设auto_wire_load_selection变量被设置为false。
        Design Compiler根据主库自动选择默认线负载模型tsmc090_wl30,图4是report_design命令的结果。

图4 线负载模型(默认)


        最后谈一下report_wire_load命令可以陈诉已设置的线负载模型大概link_path指定逻辑库中的所有线负载模型;remove_wire_load_model命令可以用于移除已设置的线负载模型;set_wire_load_model除了设置当前计划的线负载模型外,还可以设置其它模型、层次单位以及端口的线负载模型,再次不具体阐明。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4