Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2009-9-17 02:02:15 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位好,小弟打算跑HSPICE改變一下cell library的資料
  R. v) S4 O2 d; j8 f# r但有部分還是不太理解,以下是D-Flip Flop(DFF)接腳D及CLK部分
9 J. n/ ~# Y  ?
' p0 e! A3 r! [9 s' D6 _( r' v
& t6 ]  ~3 Y  w( W7 Q4 }( Z  U  pin(D) {2 Z% H3 s& B+ t* K+ z) o- _
    nextstate_type : data;+ {! C/ _' f' E$ ]+ a5 F9 O! a
    direction : input ;# N! z3 b, u  l/ k) U4 U0 ?
    capacitance : 0.001165;, h: r; B# E: C! t0 T8 t% q
    internal_power() {
, a7 b% _) Z; J. N      when : "!CK";
+ {- t& ^5 y9 @% E      power(POWER_7x1) {% y6 D( c" P( d, l
        index_1("0.009652,0.016106,0.025992,0.046675,0.088958,0.216628,0.447814");( z. L9 V& e  {' Q8 b0 P' _
        values("0.003651,0.003635,0.003626,0.003611,0.003614,0.003725,0.004117");' f6 t+ t( k' l; e& Q# q
      }
+ F  f0 _- R9 x+ u$ r    }; p7 A! c8 F; R
. \  ?7 z) o0 Y' H5 t& L5 n+ r
values值是指不同的D端電容(index_1)在CLK=0時的POWER值嗎?
& O" z4 L6 n' V/ ]2 c9 o
" N. ^2 {$ l" v) w4 A/ g    internal_power() {; B7 [% l+ ^; @/ J& A  s6 h
      when : "CK";
) v* @& h3 f; @      power(POWER_7x1) {0 Z2 @0 G( V, X$ V+ ?
        index_1("0.009645,0.016106,0.025991,0.046674,0.088957,0.216628,0.447814");! i4 v3 Q" |7 x. g
        values("0.000127,0.000122,0.000120,0.000119,0.000117,0.000116,0.000114");
, Z$ f5 ]! P/ l/ l0 O5 z      }. P" L6 \) k5 S- c1 \8 M
    }
5 b7 C- O! g7 j, d& B0 z    timing() {
& Y( l) R8 j! g, t! ^! m! ^      related_pin : "CK";7 x( A3 A8 k$ N, F1 d
      sdf_edges   : both_edges;1 F9 l6 I( C, U! m8 L2 W; t
      timing_type : setup_rising;8 y3 g& ~3 p5 M6 f" ?- X0 ?
      rise_constraint(CONST_3x3) {$ w; X. G0 m6 d; r+ G# b
        index_1("0.006000,0.217000,0.434000");5 D0 s0 b' T) }9 Z& v2 B; i' t1 s
        index_2("0.006000,0.108000,0.217000");, P) O/ q& i) [4 j
        values("0.029659,0.026470,0.036963",\: ~7 S# P7 d4 Q4 U( F+ ?; I
               "0.032032,0.023912,0.031939",\
9 x6 W- q0 e" h  Q               "0.004917,0.000010,0.004825");
7 @- K6 D5 ?1 j( O      }( l3 s' g! h) g! Z" e$ y9 S

0 s3 m" L6 w/ l* ]  q5 ?values是指DATA輸入transition time(index_1)跟CLK輸入transition time(index_2)不同時所得到的setup timing嗎?. k6 ^$ Q+ B1 z& |0 C' r9 @6 U

* \$ r5 ]* H. w% d2 S/ E  F" H# E8 u- U
      fall_constraint(CONST_3x3) {3 E$ D$ z+ o  S' ~" ?; c/ j
        index_1("0.006000,0.217000,0.434000");) O& c9 J; h0 v5 ]& K; t
        index_2("0.006000,0.108000,0.217000");% y% Z5 l: H* ^& E1 C4 {
        values("0.074043,0.058526,0.059156",\1 g7 P8 ^9 i5 t. H
               "0.152860,0.139810,0.137970",\
1 @5 R3 X7 Q, X0 T' C1 p: ?/ o               "0.231770,0.216260,0.216890");6 `7 d1 N: O" i7 j3 b, R: w/ i2 M9 K
      }
  v3 }; l% B4 M% x( p% l/ G    }
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂3 踩 分享分享
推薦
發表於 2009-9-28 21:40:26 | 只看該作者
internal_power() {
! y* p! Y) ~) T# t      power(POWER_7x1) {9 F+ R5 F% y" s) _# |
        index_1("0.009651,0.016105,0.025992,0.046675,0.088957,0.216628,0.447814");
8 t+ E- X' b+ c        values("0.004066,0.004029,0.004007,0.004000,0.004050,0.004346,0.005062");
' n( R- z2 D6 c1 v: _1 v9 Dvalues值是指不同的CLK端電容(index_1)在CLK=0時的POWER值嗎?
- b- V1 K" S# G8 j% Z8 b/ h3 U8 i===> Wrong !
) X& H/ d0 ^1 S& X/ w  {  L===> they mean while different input slew (transition) of CK, results different internal power
/ U" \  I  z6 I) `0 X: \  D$ p( i
$ M( S+ O* q/ ]6 m* x, s3 E6 Smin_pulse_width_high : 0.061268;
, a/ y0 ]3 Q9 S+ G; vmin_pulse_width_low  : 0.125320;" j4 z, |' ?+ D# i* H3 i1 H- a
CLK Hi/Low的長度?6 n1 ~+ |! p- m" ^( _) P. T
====> No, these mean minimum possible of clock waveform to prevent functional fail, for high (1) and low (0)
5 V; z' a: H) _9 F9 |8 H8 r/ g& z$ H
      index_1("0.009652,0.016106,0.025992,0.046675,0.088958,0.216628,0.447814");
, H8 I( i% e/ x; |5 K4 }" N5 i, ~) \        values("0.003651,0.003635,0.003626,0.003611,0.003614,0.003725,0.004117");0 {4 i  g: z! M/ t8 h
      }$ D# S" P4 S$ l2 D5 d
    }
, \0 n1 I( k, `; [% ?. k6 U0 p3 u6 p; n( ~$ H8 ?+ Z
values值是指不同的D端電容(index_1)在CLK=0時的POWER值嗎?" [) M/ Y7 B/ |- O* D  C
==> No, index1 is often input transition. here represents input slew of D pin
! m" j1 [* y1 u* A' ^/ k/ o( V* E' k( V/ ~9 v
        index_1("0.006000,0.217000,0.434000");4 E+ m0 H" M0 e1 `/ o9 V- h
        index_2("0.006000,0.108000,0.217000");
" ]4 h# @, [1 r8 f& b        values("0.029659,0.026470,0.036963",\" R) Q7 q7 n% k$ C0 }5 b
               "0.032032,0.023912,0.031939",\
# ?$ A# s( u" q7 y% [1 ]1 p               "0.004917,0.000010,0.004825");" b5 L% y5 H1 h& i) q, Q5 k( o
      }/ L! M+ U, Y+ J( U' d- {2 B

  z$ O6 o  k! x8 _/ o6 [values是指DATA輸入transition time(index_1)跟CLK輸入transition time(index_2)不同時所得到的setup timing嗎?7 J. k0 O7 X7 k7 j

: y9 b% Q7 c/ x" C1 T9 L, J6 T===> 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() {! t; _# l7 h' @0 E1 }8 a& m0 v1 x
      related_pin : "CK";! p) @# G- {* u% t: k$ l5 P, @0 j0 C
      sdf_edges   : both_edges;4 i! c- M+ z: x0 {
      timing_type : hold_rising;3 P2 H/ x* W$ |3 o9 \  j
      rise_constraint(CONST_3x3) {
+ s0 \) f) \8 z' n5 D+ X) _5 S        index_1("0.006000,0.217000,0.434000");' r4 e# W) N* C
        index_2("0.006000,0.108000,0.217000");4 J3 O# X3 N! I
        values("-0.005932,-0.005209,-0.015703",\9 c& q1 V$ H; y+ z
               "0.013887,0.014610,0.004117",\
" W  e# l. ?) n4 z/ U               "0.060728,0.056519,0.043560");9 y6 ^' `, a7 }
      }# h. K* d0 g( K0 ~! B
      fall_constraint(CONST_3x3) {- T$ x4 V7 F! R6 l* T6 V
        index_1("0.006000,0.217000,0.434000");
6 X$ `- k7 |2 W" f        index_2("0.006000,0.108000,0.217000");
' j; v  a: g5 N0 W# v. w( p: m        values("-0.018261,-0.002744,-0.005839",\2 w1 `4 p  ?4 r7 r
               "-0.028829,-0.021521,-0.028745",\
& `3 }. V- _* q3 W$ ^; a               "-0.004426,0.053203,-0.004342");: ^* m% K1 u/ m8 V
      }
# S$ w1 m( z0 f4 G7 G5 o0 O+ s8 {    }' y* \, d5 i" \* E; J
  }+ W9 G3 ]( F% P6 v" P1 p5 b& H
  pin(CK) {& e# D. ^7 a% {5 R
    direction : input ;
7 y4 w7 {. s, Z0 j+ g8 f    capacitance : 0.001915;
+ V1 q  j* {5 `" h3 g) K    max_transition : 0.217000;
* H* j3 S  ^8 F    clock : true;
8 i( D1 z1 `8 w, q6 v' r$ [% x" L) Q/ D( z    internal_power() {0 @5 Q0 [7 h: w
      power(POWER_7x1) {! ]7 R" @( N8 B3 ^8 Z+ A: M
        index_1("0.009651,0.016105,0.025992,0.046675,0.088957,0.216628,0.447814");
; H6 D& G/ b/ M        values("0.004066,0.004029,0.004007,0.004000,0.004050,0.004346,0.005062");
) x+ k1 z0 u1 z# ?; E& m) [6 \! C& B      }( h6 D8 k5 F6 y
    }/ T+ S/ ]% W! V( e& T
' s4 H/ X" l: i) |  R6 D! d# L4 {

3 h& X: C4 J4 _' R# bvalues值是指不同的CLK端電容(index_1)在CLK=0時的POWER值嗎?# R; H$ P1 g( z* R
* P  }# d6 s5 U
    min_pulse_width_high : 0.061268;
7 _/ I' G& @" {0 t( M    min_pulse_width_low  : 0.125320;7 t- ]! ?- O4 O
! ]) e4 r8 u; W; K0 t; d
CLK Hi/Low的長度?
+ d0 e: J" y* m( v  }
% b# c$ J: k9 l3 Q) X9 |3 _6 R8 l}0 O# y- |7 o( S3 {2 [" B( c8 {

& C7 M. V( Y8 }8 @4 m! {
" Z/ f; k, @' f. m5 P! Z5 i$ k4 f) b$ M+ I
有觀念誤解的話希望幫忙修正..謝謝
4 H5 d4 s- o8 m% B5 `: }- o0 _) {7 g! C7 l* Y7 K
[ 本帖最後由 霜淇淋 於 2009-9-17 02:03 AM 編輯 ]
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-9-28 04:23 AM , Processed in 0.187010 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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