在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 14313|回复: 35

[求助] 求详解.lib组成结构

[复制链接]
发表于 2012-9-13 10:25:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
/* $Id$
* Copyright (c) 2005 Artisan Components, Inc.  All Rights Reserved.
*
* CONFIDENTIAL AND PROPRIETARY SOFTWARE/DATA OF ARTISAN COMPONENTS, INC.
*
* This file has been provided pursuant to a License Agreement containing
* restrictions on its use.  This file contains valuable trade secrets and
* proprietary information of Artisan Components, Inc., and is protected by
* U.S. and international laws and/or treaties.
*
* The copyright notice(s) in this file does not indicate actual or intended
* publication of this file.
*
* artix(v4.38.09)-artichar(v3.68.31)-syntech(1.63.2.11)
*
* process (tt), voltage (1.2v), temp (25)
*
* com1_tt_n_n/DFFX1/ - Thu Jan 20 19:11:04 2005
*/
cell (DFFX1) {
  cell_footprint : dff;
  area : 27.158400;
  pin(D) {
    direction : input;
    nextstate_type : data;
    capacitance : 0.001334;
    internal_power() {
      rise_power(passive_energy_template_1x7) {
        index_1 ("0.028, 0.044, 0.076, 0.138, 0.264, 0.516, 1.02");
        values ("0.006225, 0.006210, 0.006192, 0.006183, 0.006247, 0.006543, 0.007410");
      }
      fall_power(passive_energy_template_1x7) {
        index_1 ("0.028, 0.044, 0.076, 0.138, 0.264, 0.516, 1.02");
        values ("0.008685, 0.008664, 0.008638, 0.008615, 0.008655, 0.008953, 0.009882");
      }
    }
    timing() {
      related_pin : "CK";
      timing_type : setup_rising;
      rise_constraint(setup_template_3x3) {
        index_1 ("0.028, 0.264, 1.02");
        index_2 ("0.028, 0.264, 0.516");
        values ( \
          "0.066406, 0.046875, 0.050781", \
          "0.089844, 0.066406, 0.066406", \
          "0.089844, 0.058594, 0.058594");
      }
      fall_constraint(setup_template_3x3) {
        index_1 ("0.028, 0.264, 1.02");
        index_2 ("0.028, 0.264, 0.516");
        values ( \
          "0.160156, 0.121094, 0.109375", \
          "0.210937, 0.167969, 0.156250", \
          "0.359375, 0.320313, 0.308594");
      }
    }
    timing() {
      related_pin : "CK";
      timing_type : hold_rising;
      rise_constraint(hold_template_3x3) {
        index_1 ("0.028, 0.264, 1.02");
        index_2 ("0.028, 0.264, 0.516");
        values ( \
          "-0.046875, -0.031250, -0.035156", \
          "-0.070312, -0.050781, -0.054688", \
          "-0.062500, -0.039062, -0.039062");
      }
      fall_constraint(hold_template_3x3) {
        index_1 ("0.028, 0.264, 1.02");
        index_2 ("0.028, 0.264, 0.516");
        values ( \
          "-0.070312, -0.035156, -0.019531", \
          "-0.121094, -0.082031, -0.070312", \
          "-0.269531, -0.234375, -0.218750");
      }
    }
  }
  pin(CK) {
    direction : input;
    clock : true;
    capacitance : 0.002003;
    max_transition : 0.516000;
    min_period : 0.666667;
    internal_power() {
      when : "D";
      rise_power(passive_energy_template_1x7) {
        index_1 ("0.028, 0.044, 0.076, 0.138, 0.264, 0.516, 1.02");
        values ("0.008427, 0.008403, 0.008368, 0.008362, 0.008518, 0.009094, 0.010617");
      }
      fall_power(passive_energy_template_1x7) {
        index_1 ("0.028, 0.044, 0.076, 0.138, 0.264, 0.516, 1.02");
        values ("0.016131, 0.016096, 0.016067, 0.016087, 0.016294, 0.016969, 0.018638");
      }
    }
    internal_power() {
      when : "!D";
      rise_power(passive_energy_template_1x7) {
        index_1 ("0.028, 0.044, 0.076, 0.138, 0.264, 0.516, 1.02");
        values ("0.009071, 0.009046, 0.009006, 0.009001, 0.009162, 0.009748, 0.011290");
      }
      fall_power(passive_energy_template_1x7) {
        index_1 ("0.028, 0.044, 0.076, 0.138, 0.264, 0.516, 1.02");
        values ("0.017707, 0.017673, 0.017653, 0.017689, 0.017912, 0.018579, 0.020194");
      }
    }
    timing() {
      related_pin : "CK";
      timing_type : "min_pulse_width";
      fall_constraint(minpw-inactive_template_1x7) {
        index_1 ("0.028, 0.044, 0.076, 0.138, 0.264, 0.516, 1.02");
        values ("0.146861, 0.147293, 0.143841, 0.174225, 0.333300, 0.651450, 1.287750");
      }
      rise_constraint(minpw-active_template_1x7) {
        index_1 ("0.028, 0.044, 0.076, 0.138, 0.264, 0.516, 1.02");
        values ("0.103226, 0.103836, 0.105528, 0.174225, 0.333300, 0.651450, 1.287750");
      }
    }
  }
  ff(IQ,IQN) {
    clocked_on : "CK";
    next_state : "D";
  }
  pin(Q) {
    direction : output;
    capacitance : 0.0;
    function : "IQ";
    internal_power() {
      related_pin : "CK";
      equal_or_opposite_output : "QN";
      rise_power(energy_template_7x3x3) {
        index_1 ("0.028, 0.044, 0.076, 0.138, 0.264, 0.516, 1.02");
        index_2 ("0.00079, 0.010112, 0.08532");
        index_3 ("0.00079, 0.010112, 0.08532");
        values ( \
          "0.011039, 0.012019, 0.012379", "0.012269, 0.012369, 0.012654", "0.013421, 0.013449, 0.013599", \
          "0.011043, 0.012020, 0.012379", "0.012272, 0.012372, 0.012656", "0.013421, 0.013491, 0.013602", \
          "0.011049, 0.012029, 0.012386", "0.012279, 0.012380, 0.012662", "0.013406, 0.013460, 0.013609", \
          "0.011066, 0.012048, 0.012401", "0.012298, 0.012403, 0.012678", "0.013439, 0.013488, 0.013633", \
          "0.011104, 0.012066, 0.012435", "0.012340, 0.012417, 0.012716", "0.013492, 0.013531, 0.013675", \
          "0.011179, 0.012146, 0.012500", "0.012415, 0.012507, 0.012784", "0.013577, 0.013669, 0.013771", \
          "0.012324, 0.012458, 0.012585", "0.012697, 0.012822, 0.012882", "0.013690, 0.013781, 0.013886");
      }
      fall_power(energy_template_7x3x3) {
        index_1 ("0.028, 0.044, 0.076, 0.138, 0.264, 0.516, 1.02");
        index_2 ("0.00079, 0.010112, 0.08532");
        index_3 ("0.00079, 0.010112, 0.08532");
        values ( \
          "0.012178, 0.012924, 0.014229", "0.012408, 0.013025, 0.014275", "0.013019, 0.013330, 0.014262", \
          "0.012175, 0.012919, 0.014224", "0.012405, 0.013021, 0.014254", "0.013017, 0.013326, 0.014258", \
          "0.012157, 0.012902, 0.014219", "0.012391, 0.013008, 0.014256", "0.012994, 0.013313, 0.014241", \
          "0.012130, 0.012878, 0.014184", "0.012362, 0.012981, 0.014226", "0.012967, 0.013278, 0.014221", \
          "0.012120, 0.012876, 0.014164", "0.012341, 0.012963, 0.014217", "0.012954, 0.013281, 0.014214", \
          "0.012355, 0.012957, 0.014252", "0.012354, 0.013003, 0.014261", "0.012984, 0.013318, 0.014259", \
          "0.012957, 0.013302, 0.014329", "0.013006, 0.013335, 0.014356", "0.013118, 0.013431, 0.014416");
      }
    }
    timing() {
      related_pin : "CK";
      timing_type : rising_edge;
      timing_sense : non_unate;
      cell_rise(delay_template_7x7) {
        index_1 ("0.028, 0.044, 0.076, 0.138, 0.264, 0.516, 1.02");
        index_2 ("0.00079, 0.002054, 0.00474, 0.010112, 0.020856, 0.042186, 0.08532");
        values ( \
          "0.188738, 0.196351, 0.210920, 0.238422, 0.291708, 0.395036, 0.602983", \
          "0.192248, 0.199860, 0.214427, 0.241933, 0.295221, 0.398540, 0.606489", \
          "0.199213, 0.206828, 0.221396, 0.248898, 0.302189, 0.405510, 0.613457", \
          "0.211520, 0.219127, 0.233703, 0.261205, 0.314497, 0.417817, 0.625761", \
          "0.228377, 0.235992, 0.250562, 0.278072, 0.331370, 0.434684, 0.642620", \
          "0.245072, 0.252686, 0.267262, 0.294774, 0.348073, 0.451387, 0.659331", \
          "0.253545, 0.261171, 0.275766, 0.303291, 0.356602, 0.459921, 0.667802");
      }
      rise_transition(delay_template_7x7) {
        index_1 ("0.028, 0.044, 0.076, 0.138, 0.264, 0.516, 1.02");
        index_2 ("0.00079, 0.002054, 0.00474, 0.010112, 0.020856, 0.042186, 0.08532");
        values ( \
          "0.035507, 0.045529, 0.067734, 0.116072, 0.210290, 0.400624, 0.788150", \
          "0.035508, 0.045526, 0.067734, 0.116073, 0.210290, 0.400610, 0.788150", \
          "0.035508, 0.045504, 0.067737, 0.116074, 0.210294, 0.400610, 0.788150", \
          "0.035507, 0.045525, 0.067752, 0.116073, 0.210228, 0.400610, 0.788162", \
          "0.035513, 0.045584, 0.067744, 0.116075, 0.210286, 0.400610, 0.788150", \
          "0.035524, 0.045544, 0.067754, 0.116091, 0.210270, 0.400604, 0.788282", \
          "0.035569, 0.045668, 0.067831, 0.116108, 0.210286, 0.400432, 0.788364");
      }
      cell_fall(delay_template_7x7) {
        index_1 ("0.028, 0.044, 0.076, 0.138, 0.264, 0.516, 1.02");
        index_2 ("0.00079, 0.002054, 0.00474, 0.010112, 0.020856, 0.042186, 0.08532");
        values ( \
          "0.138012, 0.145555, 0.159135, 0.181897, 0.220127, 0.283940, 0.403108", \
          "0.141563, 0.149106, 0.162684, 0.185444, 0.223674, 0.287490, 0.406659", \
          "0.148568, 0.156083, 0.169677, 0.192438, 0.230673, 0.294483, 0.413655", \
          "0.160645, 0.168155, 0.181744, 0.204505, 0.242749, 0.306568, 0.425723", \
          "0.176720, 0.184257, 0.197858, 0.220659, 0.258922, 0.322783, 0.441952", \
          "0.191599, 0.199189, 0.212845, 0.235756, 0.274167, 0.338092, 0.457329", \
          "0.197295, 0.204972, 0.218807, 0.241978, 0.280653, 0.344813, 0.464125");
      }
      fall_transition(delay_template_7x7) {
        index_1 ("0.028, 0.044, 0.076, 0.138, 0.264, 0.516, 1.02");
        index_2 ("0.00079, 0.002054, 0.00474, 0.010112, 0.020856, 0.042186, 0.08532");
        values ( \
          "0.035702, 0.043345, 0.058102, 0.086003, 0.132880, 0.221832, 0.414758", \
          "0.035703, 0.043346, 0.058093, 0.086004, 0.132879, 0.221832, 0.414756", \
          "0.035690, 0.043317, 0.058105, 0.086006, 0.132882, 0.221834, 0.414756", \
          "0.035698, 0.043326, 0.058114, 0.086025, 0.132895, 0.221796, 0.414996", \
          "0.035931, 0.043587, 0.058341, 0.086200, 0.133002, 0.222090, 0.414636", \
          "0.036462, 0.044104, 0.058872, 0.086725, 0.133382, 0.222104, 0.414722", \
          "0.037925, 0.045495, 0.060192, 0.087941, 0.134316, 0.222742, 0.415154");
      }
    }
    max_capacitance : 0.085320;
  }
  pin(QN) {
    direction : output;
    capacitance : 0.0;
    function : "IQN";
    timing() {
      related_pin : "CK";
      timing_type : rising_edge;
      timing_sense : non_unate;
      cell_rise(delay_template_7x7) {
        index_1 ("0.028, 0.044, 0.076, 0.138, 0.264, 0.516, 1.02");
        index_2 ("0.00079, 0.002054, 0.00474, 0.010112, 0.020856, 0.042186, 0.08532");
        values ( \
          "0.198511, 0.206306, 0.220846, 0.247657, 0.300100, 0.403321, 0.611281", \
          "0.202060, 0.209863, 0.224390, 0.251210, 0.303648, 0.406881, 0.614818", \
          "0.209056, 0.216858, 0.231390, 0.258207, 0.310636, 0.413879, 0.621756", \
          "0.221116, 0.228920, 0.243432, 0.270267, 0.322700, 0.425940, 0.633882", \
          "0.237216, 0.245023, 0.259558, 0.286373, 0.338808, 0.442013, 0.649922", \
          "0.252221, 0.260040, 0.274581, 0.301402, 0.353814, 0.457057, 0.664933", \
          "0.258346, 0.266185, 0.280762, 0.307576, 0.359996, 0.463206, 0.671121");
      }
      rise_transition(delay_template_7x7) {
        index_1 ("0.028, 0.044, 0.076, 0.138, 0.264, 0.516, 1.02");
        index_2 ("0.00079, 0.002054, 0.00474, 0.010112, 0.020856, 0.042186, 0.08532");
        values ( \
          "0.032799, 0.042352, 0.063383, 0.108987, 0.204718, 0.396278, 0.784456", \
          "0.032797, 0.042368, 0.063379, 0.108945, 0.204654, 0.396232, 0.784448", \
          "0.032799, 0.042370, 0.063381, 0.108947, 0.204648, 0.396410, 0.784622", \
          "0.032805, 0.042372, 0.063347, 0.108992, 0.204654, 0.396236, 0.784432", \
          "0.032812, 0.042355, 0.063404, 0.109000, 0.204654, 0.396330, 0.784610", \
          "0.032930, 0.042484, 0.063457, 0.109038, 0.204628, 0.396276, 0.784398", \
          "0.033134, 0.042663, 0.063589, 0.109078, 0.204672, 0.396364, 0.784608");
      }
      cell_fall(delay_template_7x7) {
        index_1 ("0.028, 0.044, 0.076, 0.138, 0.264, 0.516, 1.02");
        index_2 ("0.00079, 0.002054, 0.00474, 0.010112, 0.020856, 0.042186, 0.08532");
        values ( \
          "0.249194, 0.256026, 0.267897, 0.287025, 0.319197, 0.376708, 0.489233", \
          "0.252704, 0.259537, 0.271412, 0.290536, 0.322713, 0.380222, 0.492748", \
          "0.259666, 0.266503, 0.278347, 0.297502, 0.329675, 0.387187, 0.499711", \
          "0.271977, 0.278812, 0.290656, 0.309792, 0.341984, 0.399496, 0.512019", \
          "0.288843, 0.295676, 0.307556, 0.326687, 0.358839, 0.416361, 0.528881", \
          "0.305542, 0.312377, 0.324246, 0.343309, 0.375454, 0.433014, 0.545520", \
          "0.314076, 0.320884, 0.332778, 0.351867, 0.384041, 0.441588, 0.554103");
      }
      fall_transition(delay_template_7x7) {
        index_1 ("0.028, 0.044, 0.076, 0.138, 0.264, 0.516, 1.02");
        index_2 ("0.00079, 0.002054, 0.00474, 0.010112, 0.020856, 0.042186, 0.08532");
        values ( \
          "0.028912, 0.035233, 0.047076, 0.069295, 0.113058, 0.202976, 0.392562", \
          "0.028910, 0.035233, 0.047078, 0.069295, 0.113056, 0.202972, 0.392572", \
          "0.028909, 0.035232, 0.047034, 0.069294, 0.113057, 0.202974, 0.392562", \
          "0.028863, 0.035232, 0.046976, 0.069238, 0.113057, 0.202974, 0.392560", \
          "0.028917, 0.035234, 0.047076, 0.069296, 0.113056, 0.202972, 0.392560", \
          "0.028910, 0.035185, 0.047039, 0.069251, 0.113177, 0.203014, 0.392500", \
          "0.028914, 0.035237, 0.047084, 0.069297, 0.113059, 0.202974, 0.392562");
      }
    }
    max_capacitance : 0.085320;
  }
  cell_leakage_power : 1385.052000;
  leakage_power() {
    when :"!D & !CK & !Q & QN";
    value : 1192.358400;
  }
  leakage_power() {
    when :"!D & !CK & Q & !QN";
    value : 1243.692000;
  }
  leakage_power() {
    when :"!D & CK & !Q & QN";
    value : 1189.944000;
  }
  leakage_power() {
    when :"!D & CK & Q & !QN";
    value : 1213.740000;
  }
  leakage_power() {
    when :"D & !CK & !Q & QN";
    value : 1355.892000;
  }
  leakage_power() {
    when :"D & !CK & Q & !QN";
    value : 1152.206400;
  }
  leakage_power() {
    when :"D & CK & !Q & QN";
    value : 1385.052000;
  }
  leakage_power() {
    when :"D & CK & Q & !QN";
    value : 1204.944000;
  }
}
如题,以DFFX1的.lib文件为例,求详解 谢谢
发表于 2012-9-13 11:01:30 | 显示全部楼层
同问呀!
发表于 2012-9-13 11:13:37 | 显示全部楼层
去看library compiler的timing部分
发表于 2012-9-13 12:07:55 | 显示全部楼层
请看教科书
《Static Timing Analysis for Nanometer Designs》

Chapter 3
Standard Cell Library
所有你想要知道的都写得很明白

不要上来就贴一大堆东西,请就细节提问。
发表于 2012-9-13 22:44:55 | 显示全部楼层
liberty官方文档就有吧
发表于 2012-9-13 22:53:49 | 显示全部楼层
西电出了一本教材介绍过.lib的东西,看个大概,然后再来看英文的比较好,毕竟英文的对于我这种人来说太费劲了,
发表于 2013-7-4 18:38:38 | 显示全部楼层
ding!!!
发表于 2013-9-11 21:28:42 | 显示全部楼层
回复 6# TomPaul

在吗 帅哥  请问那本书的名字叫什么啊
发表于 2013-9-12 11:24:54 | 显示全部楼层
回复 8# pengyong820954


   嗨,靓妹,我回去给你看看
发表于 2013-9-12 14:11:24 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-12-27 04:14 , Processed in 0.022190 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表