Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 6486|回復: 3
打印 上一主題 下一主題

[問題求助] library compiler建DFF cell的疑問

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2009-9-17 02:02:15 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位好,小弟打算跑HSPICE改變一下cell library的資料# U: Y+ K2 o, p4 \/ @& v  x
但有部分還是不太理解,以下是D-Flip Flop(DFF)接腳D及CLK部分
7 `9 E0 C  r* y0 z% Q
0 F, T; o8 E+ J
0 ?# h% h5 r2 N5 `0 t+ N/ \& [' t  pin(D) {' u* u  v4 I: \5 q$ w% j6 d
    nextstate_type : data;
2 e+ w* H9 P6 r    direction : input ;& L" @0 Z  M4 q* M
    capacitance : 0.001165;
6 p! d: t; A( {' v0 N    internal_power() {- w& O- n& v+ t1 V. g, s
      when : "!CK";9 ?7 h5 L( k, Q7 F( K* v5 r
      power(POWER_7x1) {
8 t( R4 D  n3 _. s/ H6 h- s4 x        index_1("0.009652,0.016106,0.025992,0.046675,0.088958,0.216628,0.447814");3 W! _* f' }  ]3 y. j" f
        values("0.003651,0.003635,0.003626,0.003611,0.003614,0.003725,0.004117");- A3 O5 N8 e0 Q: B
      }8 d; P+ I5 s8 l$ {- {
    }) z( J  z9 |1 y  Y) K& {

8 x7 K% ~5 o) \  \+ R& I8 kvalues值是指不同的D端電容(index_1)在CLK=0時的POWER值嗎?5 _) m& a1 _0 w# D% |5 v
5 i, p5 M5 h. f# i% G
    internal_power() {
8 m$ q6 R9 O$ M3 R- m7 `      when : "CK";8 P( T9 g- }6 z
      power(POWER_7x1) {& ]# @" a* J5 e4 M9 h
        index_1("0.009645,0.016106,0.025991,0.046674,0.088957,0.216628,0.447814");% e: o/ ]9 A! @
        values("0.000127,0.000122,0.000120,0.000119,0.000117,0.000116,0.000114");
3 R, g/ Y; [, Q      }
! Z" P7 q; o2 M: l$ l2 k; f! ?2 w8 ]    }
; v( R1 w+ K! A+ _# L) _    timing() {5 {  f/ ?  \4 Z
      related_pin : "CK";
7 h2 {$ h# X/ w: ^8 B      sdf_edges   : both_edges;1 T  M# r; _  C
      timing_type : setup_rising;
- X* U, }* K: j      rise_constraint(CONST_3x3) {' m8 F: b8 ]' E  d7 c
        index_1("0.006000,0.217000,0.434000");
1 D9 g# W; V- [9 d+ @        index_2("0.006000,0.108000,0.217000");
3 i! }- \- @; j3 k3 W        values("0.029659,0.026470,0.036963",\) W# }7 ^7 @0 W! J+ ~" i8 Z8 o
               "0.032032,0.023912,0.031939",\
+ J5 g2 u9 `0 f7 [               "0.004917,0.000010,0.004825");8 ]3 M3 p6 ]% y2 w! i& l5 {! G* Q3 C! M
      }
3 G  U, W* W4 x2 V2 j6 W  t/ e0 _3 x8 e
values是指DATA輸入transition time(index_1)跟CLK輸入transition time(index_2)不同時所得到的setup timing嗎?
7 I& N# s' b* J5 s8 Q2 F  b7 e- ~5 ]* e! `

3 G' c" ^: T  m4 s! P% f/ S      fall_constraint(CONST_3x3) {
% b1 }' I8 f' v8 t        index_1("0.006000,0.217000,0.434000");' s# c- K) K4 v9 `  f4 t
        index_2("0.006000,0.108000,0.217000");
& N) n8 P7 p5 E0 s& A$ ]8 `        values("0.074043,0.058526,0.059156",\
: h* _, O) z, c8 g               "0.152860,0.139810,0.137970",\
; v- J7 S$ F% \. m6 b" C! v               "0.231770,0.216260,0.216890");
  |8 ?) l. X5 G% |0 y, N: _      }
2 ?. u% e/ v$ b9 H% R; j2 R1 @1 V4 h. g; y    }
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂3 踩 分享分享
推薦
發表於 2009-9-28 21:40:26 | 只看該作者
internal_power() {, a  B+ x/ k0 V
      power(POWER_7x1) {
/ c1 ^3 J+ W! `        index_1("0.009651,0.016105,0.025992,0.046675,0.088957,0.216628,0.447814");2 L: C. i1 [( @- H
        values("0.004066,0.004029,0.004007,0.004000,0.004050,0.004346,0.005062");
5 U; K1 W: A  C2 ~2 g' p4 Cvalues值是指不同的CLK端電容(index_1)在CLK=0時的POWER值嗎?
7 {" e/ V  K3 D* y8 z===> Wrong !: P$ D, K9 R. _0 P
===> they mean while different input slew (transition) of CK, results different internal power
( L6 l0 _. N% b8 F: h" E6 z8 Q* p( w: I: B
min_pulse_width_high : 0.061268;
5 G, N- W# p/ R& lmin_pulse_width_low  : 0.125320;
/ v' F3 [9 q# C; d, \CLK Hi/Low的長度?' `8 {# \" A8 N! e/ E- R: S
====> No, these mean minimum possible of clock waveform to prevent functional fail, for high (1) and low (0)
' e, x5 O8 E8 k! z+ i7 Y+ H3 q  \( z: z( {0 y; `
      index_1("0.009652,0.016106,0.025992,0.046675,0.088958,0.216628,0.447814");6 _- z9 L& d5 o2 Z) p' f4 ]
        values("0.003651,0.003635,0.003626,0.003611,0.003614,0.003725,0.004117");
: }7 r3 O3 l5 w      }: F8 @2 v5 k# h* t
    }7 P& l( O; W/ ?, ~% Z8 G- R
5 o# S$ i& m0 L0 D8 H5 G9 ^
values值是指不同的D端電容(index_1)在CLK=0時的POWER值嗎?
& E. p/ i, H& u  F. O  S+ N==> No, index1 is often input transition. here represents input slew of D pin
) b" l* O  u- N" `& o5 a& M6 ^: p- b7 i1 x
        index_1("0.006000,0.217000,0.434000");
1 j7 i  \4 U1 y        index_2("0.006000,0.108000,0.217000");
7 O/ [5 [& r2 i2 t6 O0 ]        values("0.029659,0.026470,0.036963",\
* W9 ^- M3 ]7 ~. d, t5 Y               "0.032032,0.023912,0.031939",\
  |# M5 x/ H' o" h0 E" u8 X) Q( j# m1 W& K               "0.004917,0.000010,0.004825");! B5 q; {: q' x9 `6 F
      }* A% |) c" r. m8 Y$ G
& k8 t0 W) F& J$ h! y) x
values是指DATA輸入transition time(index_1)跟CLK輸入transition time(index_2)不同時所得到的setup timing嗎?
$ l5 _: O7 ^! `; X4 _$ P) ~, a: L" V" Z* c6 x$ p; D
===> yes, but you have to refer index_2 definition in the front of liberty file to make sure.

評分

參與人數 1 +10 收起 理由
霜淇淋 + 10 謝謝您啦^^

查看全部評分

回復 支持 1 反對 0

使用道具 舉報

2#
 樓主| 發表於 2009-9-17 02:02:27 | 只看該作者
timing() {$ u' L, {- K' W: H
      related_pin : "CK";, S; G/ a8 a' u  b* l
      sdf_edges   : both_edges;  D8 h; W& C% y4 J% o' Z3 O, s! z
      timing_type : hold_rising;7 J6 ^; \( q5 Y  _" A
      rise_constraint(CONST_3x3) {  E  L, D- n! w4 i# X* Z' K
        index_1("0.006000,0.217000,0.434000");( O: z5 n# [; E. Q
        index_2("0.006000,0.108000,0.217000");- W" c1 l2 {# d, q) ?
        values("-0.005932,-0.005209,-0.015703",\8 r  K5 U( |5 _/ l( K: ?
               "0.013887,0.014610,0.004117",\
- z1 G& O2 J% |1 T. k. W/ I               "0.060728,0.056519,0.043560");8 X/ n5 T9 [# K! t/ }
      }; Z# z" w! |3 t
      fall_constraint(CONST_3x3) {1 A/ ^- l7 y& @8 w
        index_1("0.006000,0.217000,0.434000");( v. b6 ]# [3 B# n( `
        index_2("0.006000,0.108000,0.217000");- @6 D& g' E" ?  k3 t/ v3 A/ r
        values("-0.018261,-0.002744,-0.005839",\
0 d( M2 O4 S6 h% [& @9 s- Q               "-0.028829,-0.021521,-0.028745",\
9 J2 K% ]. J$ r& o# f& O7 j8 B$ g               "-0.004426,0.053203,-0.004342");
! G3 L7 ~4 j$ B- P      }5 y7 {" M9 T" ?5 b
    }/ ?! Q# v, G% Y& v5 v3 b
  }* ~( q# r0 b+ l
  pin(CK) {
7 u3 _3 G5 Y8 g( c    direction : input ;! s" X6 v; G7 T: c* y! X
    capacitance : 0.001915;
6 `$ n7 Y  z5 b. Z    max_transition : 0.217000;2 X3 p/ R- _# E. a& T5 x2 w) n
    clock : true;% y8 y, i% S* ]: s
    internal_power() {
5 N) e: P+ i  V. `$ R      power(POWER_7x1) {: j  ~7 _8 b8 y
        index_1("0.009651,0.016105,0.025992,0.046675,0.088957,0.216628,0.447814");
; p% g& H) ]8 N/ I( Y4 E* T1 t- z        values("0.004066,0.004029,0.004007,0.004000,0.004050,0.004346,0.005062");
2 y( M4 u$ m! a2 t: ?/ @      }
/ C+ w9 h3 C6 L, G+ G, Q0 N    }
- v1 ]% j8 U7 F& H7 v  p. _' H8 `7 B  [; i8 `5 h
& t+ Z+ k8 j" c9 }, q
values值是指不同的CLK端電容(index_1)在CLK=0時的POWER值嗎?) c' Q, O; ]% z' T

+ m) D' {# P* b" H+ s    min_pulse_width_high : 0.061268;
0 W8 q0 }" j. W4 C- u6 g! u: r    min_pulse_width_low  : 0.125320;9 F+ D6 V/ o: k( V& C
  n8 c" L- N) A3 h
CLK Hi/Low的長度?
7 K. [0 @: r$ s, J. U  }
3 o0 Q4 @8 C! y3 g' H' |}
2 f1 a$ l7 v! e) d
, ?* @  a0 x6 r$ ^4 l4 ?  M! j+ c% a- ?7 Q

( \: H, o4 ~# a- H; j9 r+ V有觀念誤解的話希望幫忙修正..謝謝* C) V6 c3 B! b1 l6 _

' b! e7 z0 W, p[ 本帖最後由 霜淇淋 於 2009-9-17 02:03 AM 編輯 ]
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-6-1 09:21 PM , Processed in 0.124015 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表