|
各位好,小弟打算跑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
} |
|