Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2009-9-17 02:02:15 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位好,小弟打算跑HSPICE改變一下cell library的資料" D  A- v9 |4 D8 M! {$ y) f
但有部分還是不太理解,以下是D-Flip Flop(DFF)接腳D及CLK部分
1 D" M( W5 j$ A
: _8 s5 R; K9 i, [
: G# o+ [/ H2 G8 \( ~  pin(D) {
! \4 {% W7 @9 d2 {( r1 q0 ]    nextstate_type : data;
# W6 I; i( O) }' I/ m8 I9 N    direction : input ;! q  D' ^: H) K
    capacitance : 0.001165;
" a0 e* Q0 q- Q# l/ R! K) H    internal_power() {2 O  ?. n0 X" g) d' y
      when : "!CK";1 ]3 u  r$ I4 G/ L3 n9 V$ X
      power(POWER_7x1) {
7 h, w2 _% c& }- H        index_1("0.009652,0.016106,0.025992,0.046675,0.088958,0.216628,0.447814");- ]$ l. O/ @$ m2 `+ _& X
        values("0.003651,0.003635,0.003626,0.003611,0.003614,0.003725,0.004117");  @: Q, @7 H1 X- n# C% O
      }
& ^2 X: [8 {) F    }5 @, y/ p; r1 q4 m& D8 A
; P9 e5 C7 E; L  U
values值是指不同的D端電容(index_1)在CLK=0時的POWER值嗎?
0 z9 h. U# }4 ?4 S7 O
; Q7 L* h& W% T* \( q  B    internal_power() {7 U. i) V2 _: O" I" w
      when : "CK";  O) S$ d5 n7 O, k
      power(POWER_7x1) {
8 k* o  g, x3 A2 L        index_1("0.009645,0.016106,0.025991,0.046674,0.088957,0.216628,0.447814");0 {1 g% I8 w: ~) E! K+ p& Z1 \
        values("0.000127,0.000122,0.000120,0.000119,0.000117,0.000116,0.000114");
" Z8 x/ X, D% d7 L      }  x, B' K7 M! z% P
    }! G9 R4 F/ q, o8 H2 c' L: @
    timing() {% V/ g  a0 ^/ c# w& w
      related_pin : "CK";0 R" N5 a8 P" ^: G- B4 j
      sdf_edges   : both_edges;( F2 B; Z. t+ X, O0 D8 l
      timing_type : setup_rising;
0 V, C  f; p5 Y' P' {$ H      rise_constraint(CONST_3x3) {( o( f# C$ ]0 L, ^
        index_1("0.006000,0.217000,0.434000");# T4 K" |; H1 {$ j4 @, E  q  [
        index_2("0.006000,0.108000,0.217000");
9 G* y7 q  x/ e1 X        values("0.029659,0.026470,0.036963",\
" J. {2 ~) K& M; Y* n               "0.032032,0.023912,0.031939",\/ ]+ r% T3 O6 b$ f  G3 C( d
               "0.004917,0.000010,0.004825");/ P9 Y1 t* J. W4 `
      }
/ c, e& A9 j# {! M! z
# I/ P7 f- s0 A( o" ^0 evalues是指DATA輸入transition time(index_1)跟CLK輸入transition time(index_2)不同時所得到的setup timing嗎?
/ U/ R- X* C" h( S8 w
$ ]% Q* t% O; X! i6 V* [& [, x# |3 }; @3 g! b7 E" p
      fall_constraint(CONST_3x3) {* ?* f0 f* q+ u: M  \
        index_1("0.006000,0.217000,0.434000");
* o1 [& C& i8 p        index_2("0.006000,0.108000,0.217000");: j' u; R+ F8 v
        values("0.074043,0.058526,0.059156",\
/ x1 z( s2 Z- x1 T5 c7 Z               "0.152860,0.139810,0.137970",\4 L3 d8 j. W/ i( _0 k
               "0.231770,0.216260,0.216890");
3 z5 y8 O2 T2 R5 i; ^5 ~. w8 ?2 G      }1 K* V2 R; K/ Z! b
    }
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂3 踩 分享分享
推薦
發表於 2009-9-28 21:40:26 | 只看該作者
internal_power() {$ J) y, T/ H' N9 G  f6 w* {. R
      power(POWER_7x1) {, y8 C* b9 G: |" H5 I% h( y
        index_1("0.009651,0.016105,0.025992,0.046675,0.088957,0.216628,0.447814");
4 I& N' I; a3 D, U' O- B$ i9 l        values("0.004066,0.004029,0.004007,0.004000,0.004050,0.004346,0.005062");
( o# f' ^1 p7 r( S- W6 t& u8 Jvalues值是指不同的CLK端電容(index_1)在CLK=0時的POWER值嗎?
5 J9 I! k! B1 t1 q===> Wrong !
( }/ x, W3 _# G5 X===> they mean while different input slew (transition) of CK, results different internal power
/ S% W* [. [- y; W) H
1 i( n1 v( O7 P: t1 K" vmin_pulse_width_high : 0.061268;
; s# d, E# }2 |; J2 |" |2 ?: hmin_pulse_width_low  : 0.125320;
: p8 M$ p9 T! z( e" X# X& RCLK Hi/Low的長度?
7 B; K4 {; d; b====> No, these mean minimum possible of clock waveform to prevent functional fail, for high (1) and low (0)
; Z( b* G. B3 F( {9 s- j1 k/ L1 U7 `( l  C( S5 z
      index_1("0.009652,0.016106,0.025992,0.046675,0.088958,0.216628,0.447814");
* ?9 W4 S) T7 D0 a- K        values("0.003651,0.003635,0.003626,0.003611,0.003614,0.003725,0.004117");( i# H5 w9 }. T0 d, p5 F8 Z1 M
      }. L5 C" o1 x& e0 C5 {
    }9 y0 {: M: j) V/ g1 E* n! H

8 c2 _, r$ d' ~  t" _2 qvalues值是指不同的D端電容(index_1)在CLK=0時的POWER值嗎?6 t6 P- d( z9 m2 I/ x- Q) y8 S( w
==> No, index1 is often input transition. here represents input slew of D pin
* Z$ k! f  H$ T5 K! X
6 b  U5 q# _0 c" o  D) ~- c        index_1("0.006000,0.217000,0.434000");; g( S8 |  C: q; j8 t4 i
        index_2("0.006000,0.108000,0.217000");6 j/ g. A6 f; I. I! B4 H. z$ [) @( s
        values("0.029659,0.026470,0.036963",\
: {8 x7 b& r( {7 c               "0.032032,0.023912,0.031939",\
/ e) h& x5 p) ^  z               "0.004917,0.000010,0.004825");' T# U) A6 E+ N, Z: j, H) U, Z
      }
3 s3 @* O  U, [  I
2 V0 ~/ F$ ^1 a4 F- }0 _; K5 Ovalues是指DATA輸入transition time(index_1)跟CLK輸入transition time(index_2)不同時所得到的setup timing嗎?  L( D: D* S7 r7 \

1 l& N* j. j5 E9 \/ L" P===> 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() {
. v' `4 ^  M; h) E; S, q+ C      related_pin : "CK";4 d9 {' x9 A. O& O( e3 Z
      sdf_edges   : both_edges;: x7 f0 A) g5 m* g& W& m: N  r: U
      timing_type : hold_rising;- M, s0 ^& K! a8 M) B/ p  I
      rise_constraint(CONST_3x3) {
  g+ \$ B+ Q/ Y6 ^  R+ x- g. j        index_1("0.006000,0.217000,0.434000");
( a' f% r# }) e0 B! h0 T        index_2("0.006000,0.108000,0.217000");
6 f; [1 x: x. o: y        values("-0.005932,-0.005209,-0.015703",\
; V! N  J- W3 Z1 f+ g% K( v4 q, }               "0.013887,0.014610,0.004117",\
- W8 ?7 ?7 G8 A7 ?               "0.060728,0.056519,0.043560");
8 I" M8 G, n" K& N) u: d( Y      }
: D/ A" B  O( S0 E0 @' A      fall_constraint(CONST_3x3) {  V4 ^0 ~/ Q/ E
        index_1("0.006000,0.217000,0.434000");& N( ~1 S" ]$ I7 K
        index_2("0.006000,0.108000,0.217000");
/ W9 G9 U" E) B8 U) `: W5 ~( P        values("-0.018261,-0.002744,-0.005839",\; t0 G& K4 `( }4 {( Q1 E
               "-0.028829,-0.021521,-0.028745",\
5 e, k% n. _# I  f2 |               "-0.004426,0.053203,-0.004342");4 I" C7 t9 L9 [, e
      }
' l* V% B" P( ~/ j0 d* u  z    }
3 x$ G) `7 `1 F  f' N, |  }
6 R! H, ^, a* [# b4 e  pin(CK) {/ r& e' G/ X4 {1 N5 b! N
    direction : input ;$ }4 ?! s8 z3 L: e
    capacitance : 0.001915;& B# |% a, y" |# X
    max_transition : 0.217000;
. H! o- L) v0 [& a$ o4 V# _    clock : true;
- K9 S* r3 L. k    internal_power() {$ e2 O6 M! ?& T4 k
      power(POWER_7x1) {# g! |7 h( W4 i5 E4 H' g" u, o
        index_1("0.009651,0.016105,0.025992,0.046675,0.088957,0.216628,0.447814");
' s" z# @0 A# B9 p3 u& b        values("0.004066,0.004029,0.004007,0.004000,0.004050,0.004346,0.005062");* I+ b5 ~8 s  J! Z
      }
0 C( ]- J% W* \; A, l; i/ K  @    }' R+ h& I0 h" K$ e  U( x8 Q5 U

! j- k3 ?  |" i, J: r7 {! S8 h
4 A: Y4 W5 Q& dvalues值是指不同的CLK端電容(index_1)在CLK=0時的POWER值嗎?5 t, t6 \: {2 p) v! S

8 @/ `* h" s3 d8 N! X    min_pulse_width_high : 0.061268;2 R: g& @+ D( q) ^
    min_pulse_width_low  : 0.125320;
9 W1 V8 V; J& J% q( ?  p5 @9 [" J( q) D' B9 F; W$ Y) ^
CLK Hi/Low的長度?2 e1 k: h  q3 T6 y( _% M
  }: K' |7 T- |  d" l) G/ R
}
* n' S' ~0 t  p; }/ A1 o+ a$ r+ E

- q  [9 M+ {) P# i- z5 M3 X7 Z: C; o2 T) d, D* o' y/ D
有觀念誤解的話希望幫忙修正..謝謝! I$ t' }) h0 g/ p6 m

. o2 H$ m# m1 z( I' P* m[ 本帖最後由 霜淇淋 於 2009-9-17 02:03 AM 編輯 ]
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-20 03:13 AM , Processed in 0.114514 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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