Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2009-9-17 02:02:15 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位好,小弟打算跑HSPICE改變一下cell library的資料
' a7 U& W) c  S! o3 b但有部分還是不太理解,以下是D-Flip Flop(DFF)接腳D及CLK部分2 k- M. v0 N7 q9 o

/ b2 ^. n( x% D, k# d6 p9 v+ c) G% i8 j- R# ^
  pin(D) {
+ Y0 y3 X  b/ M2 L4 ]8 ]( L9 d    nextstate_type : data;
& x9 F1 a) ?! D; X8 K, B    direction : input ;
# a6 [) s2 _' ~4 Q# ~    capacitance : 0.001165;; C0 ^0 x7 U( u% p/ f* p' Q
    internal_power() {
: _: m6 F8 W( }% p" z+ |      when : "!CK";0 c. \9 F2 {( M8 G6 B0 K! u2 C
      power(POWER_7x1) {. H8 n% P2 d% }& L4 a
        index_1("0.009652,0.016106,0.025992,0.046675,0.088958,0.216628,0.447814");/ A, ]5 p8 |' q6 i
        values("0.003651,0.003635,0.003626,0.003611,0.003614,0.003725,0.004117");
+ |1 A2 e* M" O  H  t      }
, ~* b% g  V& e- d7 c' ]+ c0 F) E    }0 M( ]& g/ ~) I  q9 V3 M) p/ @
0 ^( x( g2 S! {# U0 S% p
values值是指不同的D端電容(index_1)在CLK=0時的POWER值嗎?% O1 w5 V% k; j3 g  i) N3 b: [

! {4 t- \4 \9 t" Y5 X7 F    internal_power() {
$ }; i3 a# C0 l( o      when : "CK";$ u( u6 i' d) b& i* b
      power(POWER_7x1) {1 a( f% t% _2 R
        index_1("0.009645,0.016106,0.025991,0.046674,0.088957,0.216628,0.447814");
+ j6 O0 x( x  v$ j6 A/ g        values("0.000127,0.000122,0.000120,0.000119,0.000117,0.000116,0.000114");
! v  d7 b% o- O# S/ `6 O      }+ V  |& P5 ~4 u/ M4 a
    }9 h3 Q9 v" i3 B
    timing() {% o0 ~1 o  f' L: ?& _: S3 P/ o
      related_pin : "CK";
4 u% b% F6 q6 }) B+ ~6 @0 \      sdf_edges   : both_edges;9 D& ?$ K  T- P& m! ~9 f# |
      timing_type : setup_rising;$ l- s% E- ^1 X8 f0 l6 Z
      rise_constraint(CONST_3x3) {5 I/ i" V, ^; v2 ]
        index_1("0.006000,0.217000,0.434000");$ A2 `$ Y2 I5 V
        index_2("0.006000,0.108000,0.217000");
* }  {4 H) W7 @# C& ?        values("0.029659,0.026470,0.036963",\
7 r. I. e1 p& E& @- N; Q+ _               "0.032032,0.023912,0.031939",\9 l$ j) E! L4 @7 z& X) g/ X0 \! [
               "0.004917,0.000010,0.004825");- S' V' W  r' d5 M" w7 t
      }
; \/ Q. |7 O' K$ w" j+ B* F- q0 p& U5 a  X2 z& }
values是指DATA輸入transition time(index_1)跟CLK輸入transition time(index_2)不同時所得到的setup timing嗎?
. E$ u! n& e- g. i! _7 T
' a" ?/ J0 ]% K, h* R; m. w( [4 j. x: P& S
      fall_constraint(CONST_3x3) {1 y5 x+ G4 f2 i) {# x
        index_1("0.006000,0.217000,0.434000");+ L2 {: X, Q6 ?. H
        index_2("0.006000,0.108000,0.217000");$ g' p- y+ Z! w, t
        values("0.074043,0.058526,0.059156",\
( r  J2 O3 I  E! k& D! ?               "0.152860,0.139810,0.137970",\
# |* P6 {0 S7 L8 {               "0.231770,0.216260,0.216890");  I1 U1 O* H% x0 }$ X0 x- W
      }# C7 _$ B5 R+ ^- ^1 y4 L
    }
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂3 踩 分享分享
推薦
發表於 2009-9-28 21:40:26 | 只看該作者
internal_power() {& V0 `( R$ v; d0 M, \3 O
      power(POWER_7x1) {
- V; y  o, @. Q* L' z7 K        index_1("0.009651,0.016105,0.025992,0.046675,0.088957,0.216628,0.447814");
! L6 y4 l2 D7 V  k        values("0.004066,0.004029,0.004007,0.004000,0.004050,0.004346,0.005062");7 Z% a' [2 A9 G3 m! T* R+ d
values值是指不同的CLK端電容(index_1)在CLK=0時的POWER值嗎?  g* O0 I  u2 O+ \& x
===> Wrong !
9 [# I. Q+ r! u5 g) s$ Q6 W===> they mean while different input slew (transition) of CK, results different internal power2 I) D$ Q7 \5 d2 S' e$ e1 t' Q

/ ?. `4 o2 x2 i8 ^. B, ]9 gmin_pulse_width_high : 0.061268;
, R* e5 W" x" |# U& K6 nmin_pulse_width_low  : 0.125320;
" P- t5 P1 x- [CLK Hi/Low的長度?: @# w$ \$ [) c
====> No, these mean minimum possible of clock waveform to prevent functional fail, for high (1) and low (0)
& [/ v0 H9 H5 P& c2 b6 y8 l' f3 |# ^! r- K" I$ c2 |
      index_1("0.009652,0.016106,0.025992,0.046675,0.088958,0.216628,0.447814");' r$ G% U& V: v% L' _
        values("0.003651,0.003635,0.003626,0.003611,0.003614,0.003725,0.004117");4 r" b9 ^/ C; p
      }9 [5 w, O$ ]# M' Q
    }
. e, e. |( F. Z# H+ {, h0 p/ \4 ?6 |# w' G4 A" N6 h6 F7 \, S9 e) z
values值是指不同的D端電容(index_1)在CLK=0時的POWER值嗎?
/ e7 M) |+ J! {8 i==> No, index1 is often input transition. here represents input slew of D pin4 d% J% c( Y4 t/ e0 c8 P
4 ?# K# W7 D7 o& z' Y
        index_1("0.006000,0.217000,0.434000");
: s( r8 p- @- S        index_2("0.006000,0.108000,0.217000");
) i# O8 f6 W+ {6 T        values("0.029659,0.026470,0.036963",\
; `  p1 r& ]. i) G               "0.032032,0.023912,0.031939",\+ X9 b1 E/ G& c; x
               "0.004917,0.000010,0.004825");
. `- l8 X! j7 A( h, h* M& t      }# x7 v3 ~/ [$ _& M5 l0 G1 k+ J3 U
, Q2 k/ L7 L: z5 w! v2 ?
values是指DATA輸入transition time(index_1)跟CLK輸入transition time(index_2)不同時所得到的setup timing嗎?8 h5 ^% U3 O. E* k: H$ Q; v4 Y

  U! i7 b$ e# Q1 q===> 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() {
1 I& U, w8 V8 W- {7 c% J, m4 w7 c      related_pin : "CK";& A* ?9 {6 u9 l0 t
      sdf_edges   : both_edges;: V% {! t! s' l9 \  t8 r, X! h  `
      timing_type : hold_rising;0 N" J2 U- T1 C9 p
      rise_constraint(CONST_3x3) {' a: G& N2 U  h: x# h: J# F  w! W2 |# y
        index_1("0.006000,0.217000,0.434000");  Y6 ?/ X* v* a" s
        index_2("0.006000,0.108000,0.217000");2 C% A/ W0 ~$ ~$ ^+ g7 P9 L
        values("-0.005932,-0.005209,-0.015703",\
5 j' Y5 k! L  {2 i* x1 y, j               "0.013887,0.014610,0.004117",\) N/ B6 k  O5 P" \
               "0.060728,0.056519,0.043560");
  @" Z5 b6 r8 j( Y/ i      }
1 p1 S& ?" M2 t  r      fall_constraint(CONST_3x3) {
2 O" p( P7 G5 Q. L+ k/ Z" n7 l        index_1("0.006000,0.217000,0.434000");0 ~7 D5 L1 C5 ?4 c
        index_2("0.006000,0.108000,0.217000");
1 u) V! d5 w" I        values("-0.018261,-0.002744,-0.005839",\
" N3 l) a1 O8 A/ O& W6 Z$ t9 i7 ]& |               "-0.028829,-0.021521,-0.028745",\
+ E0 x. ]9 [. v  ^4 A$ T& d               "-0.004426,0.053203,-0.004342");8 f) U( v8 ?, C, E" b
      }
+ h/ B: {6 L% S. V9 Y: ^+ @    }
! `% L7 A( y6 G7 }  }
$ [+ |1 p5 x' h. v; _, c2 P  pin(CK) {) A" i4 |" r6 o5 `8 y, Z5 I+ Z4 V
    direction : input ;
! k4 ~4 J4 G& ^( r" U$ j  G4 b- K    capacitance : 0.001915;
/ P* J& h6 ^: \+ P. i    max_transition : 0.217000;4 h2 e# u( P2 E% H' [
    clock : true;: T! d5 O* u" K; @
    internal_power() {" T2 s) j: _  O+ }
      power(POWER_7x1) {
* n# o# E1 c; R2 [4 [( E! y" P        index_1("0.009651,0.016105,0.025992,0.046675,0.088957,0.216628,0.447814");0 N" o7 i$ W( I% j2 G3 X
        values("0.004066,0.004029,0.004007,0.004000,0.004050,0.004346,0.005062");
* D$ Z* w( r: r      }3 A* F. ^3 y( _
    }5 j+ j2 c+ y: {6 m7 f! g' a+ F

7 d8 D* e( T- B1 A
7 ]; N) x5 y. c$ ~- [( h% H, ?& \: bvalues值是指不同的CLK端電容(index_1)在CLK=0時的POWER值嗎?8 y5 Q9 G% p1 N9 f& ]3 E/ S' k
8 O$ F3 ^; [2 R8 L" N  y
    min_pulse_width_high : 0.061268;
( |: x! ~  i$ q% `# ^    min_pulse_width_low  : 0.125320;3 v) B$ w/ }0 t5 R0 O, R- p

+ o; `) E. A9 g) G# B- hCLK Hi/Low的長度?
2 x( E# G! J' y! ?6 `; d9 l  }
6 n  ^6 b3 Q* V" \  ?$ j4 y' V}' ?( j7 b3 N. i
/ Z( @, s2 y# F9 D, ]: n) E

) u+ Y, [* i3 P% d* a8 ^
1 }9 t) i7 A, L; d9 l( o; J, c9 |' D有觀念誤解的話希望幫忙修正..謝謝
7 L9 p" J3 x4 y( H) N& K' p
/ g% P9 X) W) g) z+ s! b[ 本帖最後由 霜淇淋 於 2009-9-17 02:03 AM 編輯 ]
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-6-2 02:26 PM , Processed in 0.116515 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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