Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2009-9-17 02:02:15 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位好,小弟打算跑HSPICE改變一下cell library的資料
* G2 [8 K4 c: r/ W- U$ `+ s但有部分還是不太理解,以下是D-Flip Flop(DFF)接腳D及CLK部分
0 X* c' R5 ?7 b( |& v2 W/ u  u. p5 p( t3 l5 d3 D
4 H. B, w0 E& C! ^
  pin(D) {
, C( g; N# ]4 y+ y    nextstate_type : data;' ]! G! D/ y' f: X; q
    direction : input ;
$ \/ P) h  r0 x7 H% q    capacitance : 0.001165;8 [4 D; P) D) R, x1 t$ Q. |
    internal_power() {
/ ?; q( v7 l% G7 d1 x" _( A      when : "!CK";2 I" U  `! L! c* ?) M  d  W
      power(POWER_7x1) {
9 H+ }8 Z1 [* ]- x9 C6 ?" T% v3 L0 U        index_1("0.009652,0.016106,0.025992,0.046675,0.088958,0.216628,0.447814");
5 R6 v+ S: }) F1 z, t        values("0.003651,0.003635,0.003626,0.003611,0.003614,0.003725,0.004117");9 f0 L! V8 h8 Q8 b
      }
( |: Z. y# k- ?& p% k    }& b* s& y) u# c/ d2 r& C. Z: S
3 y2 V% ^* s7 ~/ P$ m* v
values值是指不同的D端電容(index_1)在CLK=0時的POWER值嗎?6 u' s! C% ]" O6 N
: c4 x1 T) |3 P) m8 V3 S* N
    internal_power() {
, J8 S. s! E' T      when : "CK";2 @' M6 J  T! t& A9 K" m5 u
      power(POWER_7x1) {! [$ d: R' k3 m# j; M
        index_1("0.009645,0.016106,0.025991,0.046674,0.088957,0.216628,0.447814");
/ L6 j: d: B. h# ^        values("0.000127,0.000122,0.000120,0.000119,0.000117,0.000116,0.000114");3 \7 r8 a+ z' `# S: L
      }
8 M  L2 M' D, `. m2 b: s    }, z/ C8 Q* c1 ]7 L+ k* m2 M9 c
    timing() {
, a5 u, t% S& i0 R7 L2 Z) m$ z0 m6 l  d      related_pin : "CK";
8 C1 a& t/ O5 m      sdf_edges   : both_edges;
# ]% k* U4 `5 R# F: P8 a      timing_type : setup_rising;; E' @% [' N/ W8 Y/ M
      rise_constraint(CONST_3x3) {" z6 h/ w0 ^4 `! P) W6 P4 ^
        index_1("0.006000,0.217000,0.434000");' D9 |3 G: u, r. o9 |
        index_2("0.006000,0.108000,0.217000");( D2 s2 I) ]) y9 p* e5 k
        values("0.029659,0.026470,0.036963",\
% J. D' M% g% Y' t2 x               "0.032032,0.023912,0.031939",\* Z  Z4 I4 }- S
               "0.004917,0.000010,0.004825");
5 U9 k& n6 w& H. Y      }
% h6 l4 d) C1 G7 F: T9 V! I% D1 o! T; ?& c
values是指DATA輸入transition time(index_1)跟CLK輸入transition time(index_2)不同時所得到的setup timing嗎?
) P: a6 H4 F* S0 d7 `7 s/ n( d2 m. _6 T2 |
, s0 T/ r1 T6 h
      fall_constraint(CONST_3x3) {
5 ?% J: N! p: y. f+ _8 a        index_1("0.006000,0.217000,0.434000");( t9 n9 p+ ]* A2 U' M
        index_2("0.006000,0.108000,0.217000");* ]9 O* x2 s/ t: l0 ?
        values("0.074043,0.058526,0.059156",\
( w) `6 a# i& v+ Q7 l2 D6 h' W               "0.152860,0.139810,0.137970",\/ `3 s8 J7 i7 i% C. Z- S
               "0.231770,0.216260,0.216890");
0 i) e$ P* ~* Z0 r, D      }
( A: \9 n) J/ r' M! s- W+ |- }    }
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂3 踩 分享分享
推薦
發表於 2009-9-28 21:40:26 | 只看該作者
internal_power() {
4 u3 `; z/ d6 Y# K+ y* l, ^* O7 o; H      power(POWER_7x1) {# T* N9 F! X6 R9 m" h( @0 }' ~
        index_1("0.009651,0.016105,0.025992,0.046675,0.088957,0.216628,0.447814");& ?8 {9 a7 Y5 Z1 C1 C( J
        values("0.004066,0.004029,0.004007,0.004000,0.004050,0.004346,0.005062");: X# O- z* e" Z. [' K* t$ }  e
values值是指不同的CLK端電容(index_1)在CLK=0時的POWER值嗎?
8 P$ ^3 r0 V% {$ \& i5 Z===> Wrong !
7 G) J5 ^) p  q& {===> they mean while different input slew (transition) of CK, results different internal power2 i8 m8 G+ n8 O" }: ?" C

8 q8 X$ f+ ^  ~; r4 lmin_pulse_width_high : 0.061268;
8 l9 H- {+ `9 o3 Omin_pulse_width_low  : 0.125320;2 o: b) M) _; f3 s* n. ~2 ]$ I4 t) w
CLK Hi/Low的長度?
( D# ~5 O! a& p====> No, these mean minimum possible of clock waveform to prevent functional fail, for high (1) and low (0)
% c' k' {) |+ q/ E+ g4 [) \, d
" ~& e; Z8 z  q2 a. |, J) R      index_1("0.009652,0.016106,0.025992,0.046675,0.088958,0.216628,0.447814");0 P* O1 }% o& M- S) P
        values("0.003651,0.003635,0.003626,0.003611,0.003614,0.003725,0.004117");
9 }2 J6 T8 J+ r7 e) B+ e, O, j      }; }" l% c, {& s6 u+ X
    }- N- {2 v) V# B: ~' Q$ w( D" _
8 M4 C* Y$ i4 i: x- N3 \
values值是指不同的D端電容(index_1)在CLK=0時的POWER值嗎?8 |" l  K# x( v7 A4 b
==> No, index1 is often input transition. here represents input slew of D pin( k* _  d% u) U

. T% \* X, {$ b. e        index_1("0.006000,0.217000,0.434000");* O. u: u' v$ j+ B3 a
        index_2("0.006000,0.108000,0.217000");2 V$ a  C$ n+ `+ j" ~% f2 b
        values("0.029659,0.026470,0.036963",\
4 j5 M& l7 P8 F/ t* d5 Y# }# O               "0.032032,0.023912,0.031939",\* |, C; K* v+ K( n4 ^, R5 _! p
               "0.004917,0.000010,0.004825");: Z. H* ~9 Z- ^6 ^6 g; C
      }) W, j4 R3 m* e3 \& S" w
& D" R! A; S: V+ X, |; g9 M
values是指DATA輸入transition time(index_1)跟CLK輸入transition time(index_2)不同時所得到的setup timing嗎?: q3 N1 Y# [' l( _2 |& |( L5 ?
- h$ z( Y2 ^9 ?: t# b
===> 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() {
5 j  O  D7 K! v' _      related_pin : "CK";
! S3 b) t8 d. O1 j' l      sdf_edges   : both_edges;
2 S! K( m' X4 k1 M. ?: n      timing_type : hold_rising;
1 b$ n; w" j% ?9 |; O- [      rise_constraint(CONST_3x3) {
) U8 ?. N/ j$ t0 f. e3 d        index_1("0.006000,0.217000,0.434000");0 i7 E3 l; w! b3 D/ S: r
        index_2("0.006000,0.108000,0.217000");, w( m- p6 n& J$ u5 I. f
        values("-0.005932,-0.005209,-0.015703",\
1 S% q/ ]; j4 \8 Z& Q2 m6 Y; p, Q               "0.013887,0.014610,0.004117",\
) l1 ^, C9 i9 w' W* z- z' ^' m               "0.060728,0.056519,0.043560");
' V5 P7 {; D( E6 t( z, A& T! F      }3 f! L$ v# f& s8 ]* g6 t
      fall_constraint(CONST_3x3) {
  E$ r" R. e% z6 z( r% M        index_1("0.006000,0.217000,0.434000");7 K. \2 u8 C" \, u" F3 C: ]; p. E. p
        index_2("0.006000,0.108000,0.217000");
; Y/ Q/ F! t2 i7 V+ i/ S        values("-0.018261,-0.002744,-0.005839",\( Z0 O$ e% [' n' b2 X2 g
               "-0.028829,-0.021521,-0.028745",\, X% d* `/ l$ ]) l! l
               "-0.004426,0.053203,-0.004342");
5 D9 R% r0 H- S4 d- S, _      }
2 X8 e3 W9 h0 v% j1 B  [6 o$ {* s* {    }4 ]8 g0 n3 l$ |$ t! Q
  }
8 w) ^# M7 ^: }0 m( D  pin(CK) {0 y. i: ]8 ~  P1 T
    direction : input ;: z4 \; i% L0 S" ^1 f7 r- ^" p
    capacitance : 0.001915;
7 _+ f7 g: r( w. M  C7 S' @& f" W# u    max_transition : 0.217000;: G2 Y$ @/ ?" \1 F
    clock : true;
5 H. V% @/ a2 X3 S# C4 a- n    internal_power() {
% s4 e3 N2 o0 G, b* ^      power(POWER_7x1) {7 U  S* v4 ]; V8 \, x4 J. |* O
        index_1("0.009651,0.016105,0.025992,0.046675,0.088957,0.216628,0.447814");3 {/ e+ D. `2 _3 K9 k8 p- m7 I
        values("0.004066,0.004029,0.004007,0.004000,0.004050,0.004346,0.005062");2 j" ]+ C! ^5 l" m. Z5 C; u# Y
      }, U' ]7 l  }# z6 q/ U) d. P
    }
, r$ a+ ]* ~/ g( l' N# r: j+ a- V
" @* [& |7 F! E  l0 g5 u. e: {/ ]8 ?' T  G# L
values值是指不同的CLK端電容(index_1)在CLK=0時的POWER值嗎?
6 p  X6 u+ K! _4 v1 a2 t) e6 ]
' l4 T& o( \  b3 A4 q+ ^& L    min_pulse_width_high : 0.061268;
# w( U- `$ C( C    min_pulse_width_low  : 0.125320;' Z/ @4 V" @. ^+ X

9 u8 J1 V5 B/ @CLK Hi/Low的長度?
% C" @- i# E5 ], H* X! G1 A  }4 y* A1 p+ c! B& g* `
}/ B  E4 j" Y3 f5 W

+ I. F6 R& Z, y2 K. r. a+ y) i) {. n' T8 @5 x" O# E

( I3 v0 G$ b. i* q: k; C5 Q1 G有觀念誤解的話希望幫忙修正..謝謝9 c$ D& z$ U& S* q; V% G# P
; r( J; _$ T" k7 g" k0 z
[ 本帖最後由 霜淇淋 於 2009-9-17 02:03 AM 編輯 ]
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2025-2-19 05:55 AM , Processed in 0.176010 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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