Calculate Delay from .Lib file

A

Ali Arabi

Guest
Dear Friends
How can we calculate Delay of each cell, in Artisan .LIB file?
we havenĄŚt any formula to calculate delay from lookup table timing
of
cell.

t typical=t intrinsic + (k load *C load)

In lib file for example in 4 different states we have like this lookup
table , and in PDF file that explain cell we have for example this
table

AND2(XL)
Intrinsic Delay Kload(ns/pF)
A->Y up 0.0841 6.274
A->Y down 0.1006 3.4200
B->Y up 0.0923 6.2745
B->Y down 0.1126 3.4246

timing() {
related_pin : "A";
timing_sense : positive_unate;
cell_rise(delay_template_7x7) {
index_1 ("0.03, 0.1, 0.4, 0.9, 1.5, 2.2, 3");
index_2 ("0.000175, 0.0105, 0.01925, 0.042, 0.0735, 0.1155,
0.15575");
values ( \
"0.080607, 0.150106, 0.205288, 0.347674, 0.544107, 0.805701,
1.056285", \
"0.092210, 0.161200, 0.216270, 0.358643, 0.555134, 0.816778,
1.067389", \
"0.112858, 0.182922, 0.237694, 0.379680, 0.576040, 0.837712,
1.088363", \
"0.111214, 0.184757, 0.239252, 0.380505, 0.576823, 0.838233,
1.088781", \
"0.090919, 0.168979, 0.224332, 0.366194, 0.561995, 0.823386,
1.073944", \
"0.056146, 0.138642, 0.195301, 0.338845, 0.535911, 0.797161,
1.047540", \
"0.008458, 0.095244, 0.153515, 0.298830, 0.498188, 0.760983,
1.011433");
}
rise_transition(delay_template_7x7) {
index_1 ("0.03, 0.1, 0.4, 0.9, 1.5, 2.2, 3");
index_2 ("0.000175, 0.0105, 0.01925, 0.042, 0.0735, 0.1155,
0.15575");
values ( \
"0.042321, 0.151954, 0.250093, 0.507235, 0.863538, 1.338583,
1.793845", \
"0.042829, 0.152011, 0.250100, 0.507260, 0.863535, 1.338584,
1.793845", \
"0.048219, 0.154139, 0.251460, 0.507370, 0.863538, 1.338584,
1.793840", \
"0.057045, 0.159433, 0.253617, 0.508984, 0.864706, 1.338869,
1.793844", \
"0.065497, 0.168310, 0.260115, 0.512225, 0.865917, 1.340145,
1.794842", \
"0.074833, 0.178598, 0.268261, 0.520047, 0.870877, 1.341815,
1.795897", \
"0.084218, 0.189854, 0.277514, 0.529231, 0.881000, 1.348090,
1.798778");
}
cell_fall(delay_template_7x7) {
index_1 ("0.03, 0.1, 0.4, 0.9, 1.5, 2.2, 3");
index_2 ("0.000175, 0.0105, 0.01925, 0.042, 0.0735, 0.1155,
0.15575");
values ( \
"0.087344, 0.134763, 0.166237, 0.241997, 0.344630, 0.481154,
0.611946", \
"0.105535, 0.152875, 0.184365, 0.260149, 0.362789, 0.499316,
0.630109", \
"0.178071, 0.228516, 0.260849, 0.336985, 0.439534, 0.575983,
0.706742", \
"0.268932, 0.324313, 0.358480, 0.436243, 0.539164, 0.675576,
0.806192", \
"0.363057, 0.423664, 0.460117, 0.540220, 0.643491, 0.779892,
0.910664", \
"0.462961, 0.528881, 0.567910, 0.651651, 0.756655, 0.893396,
1.024021", \
"0.569940, 0.640736, 0.682483, 0.770481, 0.878383, 1.016849,
1.147930");
}
fall_transition(delay_template_7x7) {
index_1 ("0.03, 0.1, 0.4, 0.9, 1.5, 2.2, 3");
index_2 ("0.000175, 0.0105, 0.01925, 0.042, 0.0735, 0.1155,
0.15575");
values ( \
"0.033109, 0.088035, 0.131503, 0.250086, 0.420233, 0.649117,
0.868716", \
"0.033668, 0.088061, 0.131613, 0.250088, 0.420232, 0.649120,
0.868715", \
"0.041242, 0.093877, 0.135425, 0.251087, 0.420372, 0.649123,
0.868719", \
"0.051760, 0.104890, 0.144704, 0.256058, 0.422661, 0.649901,
0.868827", \
"0.063366, 0.117463, 0.156189, 0.262657, 0.425283, 0.651777,
0.870387", \
"0.074639, 0.131292, 0.170108, 0.273798, 0.431797, 0.654301,
0.871924", \
"0.086110, 0.145777, 0.185386, 0.288006, 0.443365, 0.661865,
0.876196");
}
}

I will be very appreciating if you can help me in this information.

Sincerely yours,
Ali Arabi
 

Welcome to EDABoard.com

Sponsor

Back
Top