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