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
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