Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

  [複製鏈接]
跳轉到指定樓層
1#
發表於 2009-9-17 02:02:15 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位好,小弟打算跑HSPICE改變一下cell library的資料4 _. w: ~6 ^- T& P* s
但有部分還是不太理解,以下是D-Flip Flop(DFF)接腳D及CLK部分
% g1 F+ M- E, `$ j4 P$ u7 g, O# j3 n$ Z" ?% b) F8 s
/ \. X0 P' T/ E7 I
  pin(D) {
3 h& _7 G' y6 O: j: g6 b' B    nextstate_type : data;, j: w  a0 ]& s3 c2 q, R
    direction : input ;
1 F2 Y- g0 G- c, j    capacitance : 0.001165;
, l, q* |5 X9 T5 l7 `    internal_power() {$ X  P" U5 N/ e; }) U/ f
      when : "!CK";: z5 a) K( \- m+ O
      power(POWER_7x1) {
2 q, A, Y" j; X1 a8 |, g7 s7 j        index_1("0.009652,0.016106,0.025992,0.046675,0.088958,0.216628,0.447814");7 V# f8 R' D# E4 L0 ?. m. u/ P
        values("0.003651,0.003635,0.003626,0.003611,0.003614,0.003725,0.004117");
% C* M+ g9 Y+ F, Z9 E2 U! D      }/ v6 `( X/ W) K7 Z
    }# w8 W; M& H6 m5 l3 N

% R+ H& [  M; w3 X, T4 yvalues值是指不同的D端電容(index_1)在CLK=0時的POWER值嗎?
$ ~, K2 z( g1 v* I. x; c8 P7 E! k- x% ~
    internal_power() {: r4 _2 W- U: y, J+ b# N4 n
      when : "CK";
' Y) _3 t: R7 D+ y/ R      power(POWER_7x1) {
) n" Y' ^9 W7 w2 O- k8 ^" y! z        index_1("0.009645,0.016106,0.025991,0.046674,0.088957,0.216628,0.447814");. P! r7 L' {8 y6 V0 B
        values("0.000127,0.000122,0.000120,0.000119,0.000117,0.000116,0.000114");
! Z9 |3 g2 o. |4 D      }
/ O& u& r; N0 M    }
1 H7 q2 I6 `3 V& @8 Y, W    timing() {' A& `( D0 a$ V" W' d) i
      related_pin : "CK";
+ [$ B$ U6 O! |' }      sdf_edges   : both_edges;
+ V8 ?" h; d& }; j1 M( F      timing_type : setup_rising;8 C$ n& K2 i' R. M0 G( g$ o, T
      rise_constraint(CONST_3x3) {
: z) }3 \& F' I) F" U9 }* B        index_1("0.006000,0.217000,0.434000");
" o/ m# D2 |: c: w: B7 k3 y        index_2("0.006000,0.108000,0.217000");4 H; D1 M% S0 o0 F& j
        values("0.029659,0.026470,0.036963",\! C/ e7 e4 w8 K5 J
               "0.032032,0.023912,0.031939",\
! c' f. T# O+ X( L               "0.004917,0.000010,0.004825");7 f; r. Z$ T5 _) J+ b6 V/ D
      }" c* M0 d$ b$ G
1 K% c- L2 z; y9 ]/ T
values是指DATA輸入transition time(index_1)跟CLK輸入transition time(index_2)不同時所得到的setup timing嗎?  B* T, I4 b2 _& i
, i9 F( I# |/ T+ Y5 r" c, a
% U4 z" J3 w6 v! a2 D, r3 j5 |: ^) ?3 t
      fall_constraint(CONST_3x3) {
: Y) {7 E' [1 ]8 s        index_1("0.006000,0.217000,0.434000");& J8 \- d4 y- x, V% q
        index_2("0.006000,0.108000,0.217000");
" y* U8 _% |7 S, v& _        values("0.074043,0.058526,0.059156",\+ I9 D. p8 h8 C2 G2 i) R
               "0.152860,0.139810,0.137970",\
. ?8 O  [2 h6 r* D. k. j               "0.231770,0.216260,0.216890");- [% L7 {; W0 p9 q& p$ ?, p4 M, p# L
      }
( |/ L& m3 W4 l2 q' ?! `( U, i! m    }
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂3 踩 分享分享
推薦
發表於 2009-9-28 21:40:26 | 只看該作者
internal_power() {
) L9 B) J- ]6 m  o0 A$ w      power(POWER_7x1) {
: u5 U8 k2 s# [        index_1("0.009651,0.016105,0.025992,0.046675,0.088957,0.216628,0.447814");6 ?6 b* S& T9 D' l
        values("0.004066,0.004029,0.004007,0.004000,0.004050,0.004346,0.005062");
1 ^+ @. P* E2 C8 N* h% R& _* fvalues值是指不同的CLK端電容(index_1)在CLK=0時的POWER值嗎?- P- z- I/ K( x2 G
===> Wrong !
: T" ?2 |1 x: a===> they mean while different input slew (transition) of CK, results different internal power
6 F( S* B) E- D: J+ z
1 Z& g4 ~" a. F( g5 s. {min_pulse_width_high : 0.061268;' R2 `4 i/ I% o. W+ v# j
min_pulse_width_low  : 0.125320;. d5 y. {* s* g; Z
CLK Hi/Low的長度?
5 _% s$ N, z+ |9 f* U====> No, these mean minimum possible of clock waveform to prevent functional fail, for high (1) and low (0)- e8 B! R; n% A" H$ P- w* i
( F7 Z( u1 i8 o7 R( k1 h: C) t
      index_1("0.009652,0.016106,0.025992,0.046675,0.088958,0.216628,0.447814");# {+ G$ h2 J* W. n
        values("0.003651,0.003635,0.003626,0.003611,0.003614,0.003725,0.004117");# p2 `; ^7 c) S& a5 a/ F; n
      }
6 }% O1 M5 H" g8 R' d    }2 N1 d1 C5 {) {: X6 m7 q
3 _; ^9 @) |3 Q
values值是指不同的D端電容(index_1)在CLK=0時的POWER值嗎?
) ^* @  {1 U3 F! K( ~==> No, index1 is often input transition. here represents input slew of D pin5 o2 t( ~: Q+ _6 _0 }# R) h

3 p  p1 S, N8 ?+ ~! T3 G' l' U        index_1("0.006000,0.217000,0.434000");& _0 c: D( D% t/ K  P" R
        index_2("0.006000,0.108000,0.217000");
! G& @( Y( v# D        values("0.029659,0.026470,0.036963",\  p' i8 ?& u. L- e' R) m( X3 y
               "0.032032,0.023912,0.031939",\1 V6 A4 f6 ^: N% z' B5 Z
               "0.004917,0.000010,0.004825");; N: O7 X, m' h% V% d- i) y+ x
      }: o; z7 H# c5 p1 S# l

& W6 K3 S. v0 s: O" Wvalues是指DATA輸入transition time(index_1)跟CLK輸入transition time(index_2)不同時所得到的setup timing嗎?
) ?4 |2 i( l2 _5 G* B$ [- i% s& P7 a# t! N1 f) g% c
===> 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() {# e" {( q" l0 |: x( E( p" g
      related_pin : "CK";: h& d/ R0 V& o5 ~  T
      sdf_edges   : both_edges;- @" }! J- q+ R, r2 Y9 O9 S
      timing_type : hold_rising;
0 \* Q3 C! u* i! |      rise_constraint(CONST_3x3) {
6 r& E; h( J4 `        index_1("0.006000,0.217000,0.434000");7 |' K6 g+ L5 ^6 Z$ [
        index_2("0.006000,0.108000,0.217000");+ m3 X1 c; J! ?* s
        values("-0.005932,-0.005209,-0.015703",\
  A. [8 [0 W" j% I- Y" Y               "0.013887,0.014610,0.004117",\+ A1 B1 \! k( }0 h" c& [
               "0.060728,0.056519,0.043560");7 s7 i! P) j9 K% |4 l
      }+ O9 ^/ [2 Y2 h
      fall_constraint(CONST_3x3) {# _1 W' C) T* O
        index_1("0.006000,0.217000,0.434000");$ S* ^% N$ c* j( P0 y1 v$ V8 h
        index_2("0.006000,0.108000,0.217000");5 D1 N6 w) H2 G0 w
        values("-0.018261,-0.002744,-0.005839",\
: i1 y7 r( I4 A' x+ l+ F) P               "-0.028829,-0.021521,-0.028745",\
; ~+ S( q0 Y0 N# A) N( i7 E7 M% E  L               "-0.004426,0.053203,-0.004342");: O: J- ?) V% m" m
      }
* ^* r, |2 u) m+ K" B    }# L! `+ x3 g3 s" j5 Z& }
  }0 I- G4 ~: |3 P/ Q
  pin(CK) {; v2 k; ]' s  `5 ^, H" s& v
    direction : input ;
) e  p" Z1 B# ]4 e. _    capacitance : 0.001915;
: E: K* e7 B- u9 e" P    max_transition : 0.217000;- a; p5 x% f: {. i0 `
    clock : true;: p. I& Z. q$ H+ W7 k
    internal_power() {
# U& F! I+ s1 a* H- X      power(POWER_7x1) {
0 @3 y- C1 P: c" z0 p* v7 ]        index_1("0.009651,0.016105,0.025992,0.046675,0.088957,0.216628,0.447814");% s. g& T9 d4 G4 n
        values("0.004066,0.004029,0.004007,0.004000,0.004050,0.004346,0.005062");
1 T1 N. p6 U) T% ?2 W6 P1 \      }
) k! _1 U9 P. d' H: s8 W    }; O* l# L( _; e
- R  Z# _% m& d3 v1 g/ J  h6 u

# v; P: ?/ _9 M5 |" ]) X9 A$ qvalues值是指不同的CLK端電容(index_1)在CLK=0時的POWER值嗎?7 R1 I# z- [4 B# o# v& \4 U! I1 S
( @, l. ?/ n/ A% U3 f
    min_pulse_width_high : 0.061268;* f+ u+ }  K# C- }% Q& s
    min_pulse_width_low  : 0.125320;
" P) }& g" S6 D
3 }/ d+ J& Y, F; FCLK Hi/Low的長度?
% }, a6 G3 r, C) a! O' y- i6 |% I  }! d" E& s1 I1 [( |; r8 R
}7 U, K/ Z6 u/ e8 `- ?1 j: p8 G4 V

( T- \3 G# s) U& `( ^
2 C9 P- n8 k) y+ z# `/ u
' R! L- v3 Y$ b9 w' ]; k  G  ^7 s  X% D有觀念誤解的話希望幫忙修正..謝謝
& P. D" M+ W& ?! r
" q" u: F: A1 k. A[ 本帖最後由 霜淇淋 於 2009-9-17 02:03 AM 編輯 ]
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-11-16 06:46 AM , Processed in 0.172010 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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