|
各位好,小弟打算跑HSPICE改變一下cell library的資料
" p' v, K7 g% Y l! \但有部分還是不太理解,以下是D-Flip Flop(DFF)接腳D及CLK部分
; [2 {1 @, U. G1 ~8 `- e: _4 s9 R4 d2 B7 z
) x! \8 a2 i3 [
pin(D) {0 J+ S1 t y7 A6 h2 l: ?; ~
nextstate_type : data;
: A# s1 {( y# I6 e6 k* D# f direction : input ;8 ~: R: y/ S1 M. U3 v$ j1 P
capacitance : 0.001165;
$ r5 E5 b( ? Z. M* k- f/ X internal_power() {! Z: R3 j2 w; R- _" Y C) b
when : "!CK";2 P. t$ `3 U! d7 ~
power(POWER_7x1) {
6 s& @9 y* J! c8 ?; O3 v- @ index_1("0.009652,0.016106,0.025992,0.046675,0.088958,0.216628,0.447814");
$ N4 {& I6 Q& c' r) W# r values("0.003651,0.003635,0.003626,0.003611,0.003614,0.003725,0.004117");' s; K3 X& H) ?
}* c1 T4 ?3 ]! M1 |
}7 K. m% Y* g1 Q) k
# }( g, g% S2 h- @" i3 K2 d' Xvalues值是指不同的D端電容(index_1)在CLK=0時的POWER值嗎?
2 G' b4 h0 w$ I5 ^& @4 s7 D2 q& k" I
internal_power() {
: b' M' \: f; x/ c- r% @) O |0 V when : "CK";
* e8 \& Q1 z8 [% b" c& K% w. m power(POWER_7x1) {
9 @$ M. x% k. n# ^! Q3 h7 h index_1("0.009645,0.016106,0.025991,0.046674,0.088957,0.216628,0.447814");
: Q2 C9 D6 M; n values("0.000127,0.000122,0.000120,0.000119,0.000117,0.000116,0.000114");
' ?/ ~3 U& x' u9 V) H) Z" s( O }
2 S: w* _3 q* C$ i }0 h$ B% R" d& Q6 [
timing() {9 m2 ~, V+ }7 R0 U+ @
related_pin : "CK";4 ^2 Q, v- p( f W5 j+ a
sdf_edges : both_edges;- O8 t A$ G; [. m- Y' I
timing_type : setup_rising;
2 G! {/ l" t5 U6 _2 i5 E9 ?* l2 v rise_constraint(CONST_3x3) {
7 w5 Y: h7 l5 w' P% q3 ? index_1("0.006000,0.217000,0.434000");
: J- ?0 g0 x( y3 O7 K! ]7 Z index_2("0.006000,0.108000,0.217000");9 m! I, z9 r |+ ?+ y
values("0.029659,0.026470,0.036963",\
4 m+ I: L4 B1 W9 ` "0.032032,0.023912,0.031939",\! S1 B7 s- V- N5 J, n
"0.004917,0.000010,0.004825");
: w" W" s" B' q2 s& }7 |9 m }
, | k3 H& f! _' O( i! V/ M/ k) T; Q' ? W+ k0 q9 A, r6 k
values是指DATA輸入transition time(index_1)跟CLK輸入transition time(index_2)不同時所得到的setup timing嗎?
- ~/ r8 T- w! p7 j
2 p6 w4 ?/ {; p* h" g
' X' m8 b" f7 x; U) q fall_constraint(CONST_3x3) {3 W/ { t* }+ t/ A
index_1("0.006000,0.217000,0.434000");
1 \5 M, W: @9 [7 b, A3 l index_2("0.006000,0.108000,0.217000");! A; i/ Z$ `+ ^
values("0.074043,0.058526,0.059156",\8 X5 S6 F& v: @# e$ G
"0.152860,0.139810,0.137970",\
% j. _- j. f$ E3 S. s& } "0.231770,0.216260,0.216890");0 V0 F/ Z4 t. X& c5 Y1 j
}8 B( q3 t: H$ S C0 I- V
} |
|