/* Small lib file sample */
library(foo) {
time_unit : "1ps";
voltage_unit : "1V";
current_unit : "1mA";
pulling_resistance_unit : "1kohm";
leakage_power_unit : "1nW";
capacitive_load_unit (1,pf);
slew_upper_threshold_pct_rise : 80;
slew_lower_threshold_pct_rise : 20;
slew_upper_threshold_pct_fall : 80;
slew_lower_threshold_pct_fall : 20;
nom_process : 1;
nom_voltage : 5;
nom_temperature : 25;
operating_conditions ( typical ) {
process : 1;
voltage : 5;
temperature : 25;
}
default_operating_conditions : typical;
lu_table_template(delay_template_5x5) {
variable_1 : input_net_transition;
variable_2 : total_output_net_capacitance;
index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0");
index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0");
}
power_lut_template(energy_template_5x5) {
variable_1 : input_transition_time;
variable_2 : total_output_net_capacitance;
index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0");
index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0");
}
lu_table_template(hold_template_5x3) {
variable_1 : constrained_pin_transition;
variable_2 : related_pin_transition;
index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0");
index_2 ("1000.0, 1001.0, 1002.0");
}
power_lut_template(passive_energy_template_5x1) {
variable_1 : input_transition_time;
index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0");
}
lu_table_template(recovery_template_5x3) {
variable_1 : constrained_pin_transition;
variable_2 : related_pin_transition;
index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0");
index_2 ("1000.0, 1001.0, 1002.0");
}
lu_table_template(removal_template_5x3) {
variable_1 : constrained_pin_transition;
variable_2 : related_pin_transition;
index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0");
index_2 ("1000.0, 1001.0, 1002.0");
}
lu_table_template(setup_template_5x3) {
variable_1 : constrained_pin_transition;
variable_2 : related_pin_transition;
index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0");
index_2 ("1000.0, 1001.0, 1002.0");
}
lu_table_template(width_template_5x1) {
variable_1 : related_pin_transition;
index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0");
}
/* -------------- *
* Design : DCBX1 *
* -------------- */
cell (DCBX1) {
cell_footprint : dffb;
area : 18;
cell_leakage_power : 0.464382;
ff (DS0000,DS0001) {
next_state : "D";
clocked_on : "(!(!CLK))";
clear : "(!CLR)";
}
pin(CLK) {
direction : input;
capacitance : 0.0159909;
rise_capacitance : 0.0159909;
fall_capacitance : 0.0159762;
rise_capacitance_range ( 0.0159555, 0.0160263) ;
fall_capacitance_range ( 0.0159743, 0.0159782) ;
clock : true;
internal_power() {
rise_power(passive_energy_template_5x1) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
values ("1.58266, 1.61871, 1.78774, 1.94208, 2.52771");
}
fall_power(passive_energy_template_5x1) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
values ("2.78296, 2.8309, 3.01231, 3.17747, 3.75503");
}
}
timing() {
related_pin : "CLK";
timing_type : min_pulse_width;
rise_constraint(width_template_5x1) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
values ("0.784637, 0.849532, 0.989096, 1.09011, 1.3948");
}
fall_constraint(width_template_5x1) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
values ("0.866652, 0.940744, 1.08699, 1.18893, 1.49889");
}
}
}
pin(CLR) {
direction : input;
capacitance : 0.0159753;
rise_capacitance : 0.0159548;
fall_capacitance : 0.0159753;
rise_capacitance_range ( 0.0159548, 0.0159548) ;
fall_capacitance_range ( 0.0159721, 0.0159786) ;
internal_power() {
rise_power(passive_energy_template_5x1) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
values ("0.998572, 1.03003, 1.16559, 1.29914, 1.77921");
}
fall_power(passive_energy_template_5x1) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
values ("0.672526, 0.713454, 0.866412, 1.00552, 1.50235");
}
}
timing() {
related_pin : "CLR";
timing_type : min_pulse_width;
fall_constraint(width_template_5x1) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
values ("0.822025, 0.895906, 1.04269, 1.14794, 1.46983");
}
}
timing() {
related_pin : "CLK";
timing_type : recovery_rising;
when : "D";
sdf_cond : "D == 1'b1";
rise_constraint(recovery_template_5x3) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.06, 0.3, 0.6");
values ( \
"0.15, -0.03, -0.18", \
"0.24, 0.06, -0.09", \
"0.345, 0.165, 0.015", \
"0.48, 0.3, 0.15", \
"0.705, 0.6, 0.375");
}
}
timing() {
related_pin : "CLK";
timing_type : removal_rising;
when : "D";
sdf_cond : "D == 1'b1";
rise_constraint(removal_template_5x3) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.06, 0.3, 0.6");
values ( \
"0, 0.18, 0.33", \
"-0.09, 0.09, 0.24", \
"-0.195, -0.015, 0.135", \
"-0.255, -0.15, 0", \
"-0.555, -0.45, -0.225");
}
}
}
pin(D) {
direction : input;
capacitance : 0.0250575;
rise_capacitance : 0.0250551;
fall_capacitance : 0.0250575;
rise_capacitance_range ( 0.0236734, 0.0264367) ;
fall_capacitance_range ( 0.0236244, 0.0264906) ;
internal_power() {
rise_power(passive_energy_template_5x1) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
values ("0.909494, 0.934955, 1.07787, 1.21606, 1.74448");
}
fall_power(passive_energy_template_5x1) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
values ("1.39746, 1.40851, 1.54776, 1.68646, 2.20605");
}
}
timing() {
related_pin : "CLK";
timing_type : hold_rising;
when : "CLR";
sdf_cond : "CLR == 1'b1";
rise_constraint(hold_template_5x3) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.06, 0.3, 0.6");
values ( \
"0, 0.105, 0.255", \
"-0.015, 0.09, 0.24", \
"-0.12, -0.015, 0.135", \
"-0.18, -0.075, 0.075", \
"-0.33, -0.225, -0.15");
}
fall_constraint(hold_template_5x3) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.06, 0.3, 0.6");
values ( \
"0.075, 0.18, 0.33", \
"-0.015, 0.09, 0.315", \
"-0.12, -0.015, 0.135", \
"-0.255, -0.15, 0.075", \
"-0.63, -0.45, -0.3");
}
}
timing() {
related_pin : "CLK";
timing_type : setup_rising;
when : "CLR";
sdf_cond : "CLR == 1'b1";
rise_constraint(setup_template_5x3) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.06, 0.3, 0.6");
values ( \
"0.075, -0.03, -0.105", \
"0.165, 0.06, -0.09", \
"0.27, 0.09, 0.015", \
"0.33, 0.15, 0.075", \
"0.48, 0.375, 0.225");
}
fall_constraint(setup_template_5x3) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.06, 0.3, 0.6");
values ( \
"0.375, 0.195, 0.045", \
"0.39, 0.285, 0.135", \
"0.57, 0.39, 0.24", \
"0.63, 0.525, 0.375", \
"1.005, 0.825, 0.675");
}
}
}
pin(Q) {
direction : output;
capacitance : 0;
rise_capacitance : 0;
fall_capacitance : 0;
rise_capacitance_range ( 0, 0) ;
fall_capacitance_range ( 0, 0) ;
max_capacitance : 0.279925;
function : "DS0000";
timing() {
related_pin : "CLK";
timing_sense : non_unate;
timing_type : rising_edge;
cell_rise(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.768683, 0.888102, 1.12115, 2.04994, 3.43359", \
"0.834318, 0.953332, 1.18661, 2.1123, 3.49966", \
"0.973067, 1.09134, 1.32436, 2.25294, 3.64089", \
"1.0694, 1.1881, 1.42129, 2.35166, 3.73808", \
"1.36561, 1.48473, 1.71883, 2.64496, 4.03397");
}
rise_transition(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.211888, 0.278761, 0.414176, 0.95386, 1.76261", \
"0.211286, 0.278666, 0.414136, 0.954099, 1.76294", \
"0.21162, 0.278626, 0.414133, 0.9547, 1.76269", \
"0.211736, 0.278691, 0.414142, 0.954733, 1.76194", \
"0.211868, 0.279771, 0.414341, 0.953303, 1.76219");
}
cell_fall(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.784637, 0.951012, 1.28218, 2.60058, 4.57958", \
"0.849532, 1.01594, 1.34666, 2.6619, 4.6418", \
"0.989096, 1.1546, 1.4841, 2.7998, 4.77629", \
"1.09011, 1.25481, 1.58358, 2.90135, 4.87216", \
"1.3948, 1.55834, 1.88423, 3.19226, 5.16304");
}
fall_transition(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.241841, 0.328298, 0.499171, 1.1824, 2.2026", \
"0.24182, 0.328076, 0.499704, 1.18089, 2.20536", \
"0.242005, 0.328824, 0.499675, 1.18253, 2.20545", \
"0.242409, 0.329361, 0.500312, 1.18209, 2.20597", \
"0.243731, 0.32874, 0.501095, 1.18285, 2.20603");
}
}
timing() { /* MIN */
related_pin : "CLR";
timing_sense : positive_unate;
timing_type : clear;
cell_fall(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.55031, 0.63274, 0.792931, 1.35446, 2.17724", \
"0.624112, 0.706152, 0.866015, 1.42787, 2.25236", \
"0.770438, 0.851671, 1.01128, 1.57207, 2.3958", \
"0.875422, 0.956464, 1.11532, 1.67531, 2.49545", \
"1.19709, 1.27493, 1.43301, 1.99035, 2.80997");
}
fall_transition(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.285422, 0.353269, 0.471669, 0.916586, 1.57571", \
"0.285756, 0.353296, 0.471854, 0.918561, 1.58107", \
"0.287599, 0.35487, 0.472952, 0.920259, 1.58251", \
"0.290709, 0.357476, 0.474557, 0.920585, 1.5779", \
"0.310362, 0.368819, 0.48248, 0.924583, 1.58244");
}
}
timing() { /* MAX */
related_pin : "CLR";
timing_sense : positive_unate;
timing_type : clear;
cell_fall(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.555255, 0.638843, 0.800659, 1.44457, 2.40666", \
"0.628955, 0.712074, 0.873626, 1.51869, 2.47752", \
"0.775605, 0.858185, 1.01876, 1.66024, 2.62251", \
"0.881099, 0.962966, 1.12261, 1.76414, 2.72238", \
"1.2039, 1.28446, 1.44178, 2.07839, 3.03521");
}
fall_transition(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.288227, 0.358017, 0.499901, 1.0754, 1.94701", \
"0.287869, 0.358305, 0.499942, 1.07599, 1.94662", \
"0.290179, 0.359288, 0.500746, 1.07645, 1.94711", \
"0.293048, 0.361982, 0.502024, 1.07583, 1.9457", \
"0.31232, 0.373597, 0.510039, 1.07841, 1.94768");
}
}
internal_power() {
related_pin : "CLK";
rise_power(energy_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"1.57314, 1.57304, 1.57787, 1.62831, 1.72867", \
"1.58597, 1.58705, 1.59186, 1.63983, 1.74239", \
"1.66799, 1.67084, 1.67381, 1.723, 1.82214", \
"1.7492, 1.74934, 1.75298, 1.80272, 1.9006", \
"2.03732, 2.03707, 2.03603, 2.08993, 2.18654");
}
fall_power(energy_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"1.54131, 1.55917, 1.59413, 1.72729, 1.93027", \
"1.55546, 1.57146, 1.60503, 1.73921, 1.94064", \
"1.65167, 1.66411, 1.6948, 1.82197, 2.0217", \
"1.74752, 1.7597, 1.78775, 1.90646, 2.10514", \
"2.10983, 2.11079, 2.12569, 2.22851, 2.41173");
}
}
internal_power() {
related_pin : "CLR";
fall_power(energy_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"1.97661, 1.99878, 2.03395, 2.14949, 2.34588", \
"1.99854, 2.01912, 2.0541, 2.16964, 2.36935", \
"2.08861, 2.10737, 2.13929, 2.2509, 2.44742", \
"2.17787, 2.19467, 2.22363, 2.33152, 2.52853", \
"2.50557, 2.51351, 2.53384, 2.62681, 2.80818");
}
}
}
pin(QB) {
direction : output;
capacitance : 0;
rise_capacitance : 0;
fall_capacitance : 0;
rise_capacitance_range ( 0, 0) ;
fall_capacitance_range ( 0, 0) ;
max_capacitance : 0.191306;
function : "DS0001";
timing() {
related_pin : "CLK";
timing_sense : non_unate;
timing_type : rising_edge;
cell_rise(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.53022, 0.615885, 0.785881, 1.45556, 2.45578", \
"0.595106, 0.680647, 0.85046, 1.51971, 2.52019", \
"0.73495, 0.819536, 0.987802, 1.65481, 2.65463", \
"0.836487, 0.920147, 1.0877, 1.75259, 2.75064", \
"1.1425, 1.22484, 1.38922, 2.04757, 3.04159");
}
rise_transition(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.280518, 0.364215, 0.53395, 1.20304, 2.19604", \
"0.280538, 0.364313, 0.533995, 1.20314, 2.19615", \
"0.281994, 0.365145, 0.534161, 1.20322, 2.19616", \
"0.285363, 0.36741, 0.535394, 1.20355, 2.19633", \
"0.297495, 0.377231, 0.542785, 1.20535, 2.19664");
}
cell_fall(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.584307, 0.640781, 0.750784, 1.18588, 1.83966", \
"0.649844, 0.706271, 0.816181, 1.25171, 1.90631", \
"0.788499, 0.843865, 0.953923, 1.38883, 2.04394", \
"0.884869, 0.940861, 1.05087, 1.48753, 2.14121", \
"1.18126, 1.23809, 1.34892, 1.78181, 2.43581");
}
fall_transition(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.200989, 0.250711, 0.350544, 0.76221, 1.39065", \
"0.20102, 0.250709, 0.350533, 0.762492, 1.39135", \
"0.201177, 0.250322, 0.350548, 0.762169, 1.39071", \
"0.201327, 0.250773, 0.350772, 0.762268, 1.39149", \
"0.202454, 0.250729, 0.350654, 0.762402, 1.3906");
}
}
timing() { /* MIN */
related_pin : "CLR";
timing_sense : negative_unate;
timing_type : preset;
cell_rise(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.818343, 0.917791, 1.09637, 1.77178, 2.77121", \
"0.892044, 0.991431, 1.16997, 1.84567, 2.84513", \
"1.0382, 1.13812, 1.31646, 1.99211, 2.99159", \
"1.14288, 1.24313, 1.42127, 2.0968, 3.09611", \
"1.46245, 1.56386, 1.74091, 2.41546, 3.41464");
}
rise_transition(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.263996, 0.350213, 0.522408, 1.18781, 2.1821", \
"0.264006, 0.350218, 0.522543, 1.18784, 2.1822", \
"0.263949, 0.350239, 0.522569, 1.18752, 2.18202", \
"0.26407, 0.350002, 0.522441, 1.18744, 2.18188", \
"0.26456, 0.350446, 0.522773, 1.18732, 2.182");
}
}
timing() { /* MAX */
related_pin : "CLR";
timing_sense : negative_unate;
timing_type : preset;
cell_rise(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.822025, 0.981049, 1.29461, 2.53333, 4.38359", \
"0.895906, 1.0543, 1.36766, 2.6059, 4.45709", \
"1.04269, 1.20014, 1.51261, 2.74984, 4.59942", \
"1.14794, 1.30481, 1.61645, 2.85207, 4.70184", \
"1.46983, 1.62492, 1.93481, 3.16574, 5.01278");
}
rise_transition(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.272133, 0.356004, 0.523164, 1.21387, 2.25237", \
"0.272211, 0.35612, 0.523144, 1.21379, 2.25214", \
"0.272261, 0.355986, 0.523059, 1.21399, 2.25187", \
"0.272252, 0.356034, 0.523049, 1.21392, 2.25226", \
"0.273083, 0.35654, 0.523072, 1.21409, 2.25256");
}
}
internal_power() {
related_pin : "CLK";
rise_power(energy_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"1.54131, 1.55917, 1.59413, 1.72729, 1.93027", \
"1.55546, 1.57146, 1.60503, 1.73921, 1.94064", \
"1.65167, 1.66411, 1.6948, 1.82197, 2.0217", \
"1.74752, 1.7597, 1.78775, 1.90646, 2.10514", \
"2.10983, 2.11079, 2.12569, 2.22851, 2.41173");
}
fall_power(energy_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"1.57314, 1.57304, 1.57787, 1.62831, 1.72867", \
"1.58597, 1.58705, 1.59186, 1.63983, 1.74239", \
"1.66799, 1.67084, 1.67381, 1.723, 1.82214", \
"1.7492, 1.74934, 1.75298, 1.80272, 1.9006", \
"2.03732, 2.03707, 2.03603, 2.08993, 2.18654");
}
}
internal_power() {
related_pin : "CLR";
rise_power(energy_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"1.97661, 1.99878, 2.03395, 2.14949, 2.34588", \
"1.99854, 2.01912, 2.0541, 2.16964, 2.36935", \
"2.08861, 2.10737, 2.13929, 2.2509, 2.44742", \
"2.17787, 2.19467, 2.22363, 2.33152, 2.52853", \
"2.50557, 2.51351, 2.53384, 2.62681, 2.80818");
}
}
}
}
/* -------------- *
* Design : INVX1 *
* -------------- */
cell (INVX1) {
cell_footprint : inv;
area : 3;
cell_leakage_power : 0.0341756;
pin(A) {
direction : input;
capacitance : 0.0160164;
rise_capacitance : 0.0160164;
fall_capacitance : 0.0159693;
rise_capacitance_range ( 0.0160164, 0.0160164) ;
fall_capacitance_range ( 0.0159693, 0.0159693) ;
}
pin(Y) {
direction : output;
capacitance : 0;
rise_capacitance : 0;
fall_capacitance : 0;
rise_capacitance_range ( 0, 0) ;
fall_capacitance_range ( 0, 0) ;
max_capacitance : 0.402017;
function : "(!A)";
timing() {
related_pin : "A";
timing_sense : negative_unate;
cell_rise(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.147583, 0.217035, 0.355377, 0.907001, 1.73349", \
"0.224219, 0.291274, 0.428044, 0.977438, 1.80305", \
"0.365232, 0.445422, 0.582152, 1.12428, 1.94149", \
"0.46186, 0.55044, 0.700788, 1.23784, 2.0566", \
"0.75585, 0.872701, 1.05674, 1.62712, 2.42849");
}
rise_transition(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.09712, 0.164583, 0.299488, 0.839163, 1.64852", \
"0.117867, 0.173862, 0.30016, 0.839221, 1.64879", \
"0.174063, 0.229801, 0.335188, 0.839268, 1.64864", \
"0.212233, 0.270216, 0.376329, 0.849921, 1.64867", \
"0.322205, 0.398154, 0.51726, 0.945327, 1.66712");
}
cell_fall(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.166552, 0.247549, 0.408769, 1.04944, 2.00953", \
"0.234229, 0.313057, 0.472061, 1.11143, 2.07233", \
"0.366262, 0.455096, 0.610195, 1.24173, 2.19801", \
"0.456648, 0.553252, 0.718877, 1.34254, 2.29658", \
"0.732451, 0.855462, 1.05488, 1.6961, 2.63335");
}
fall_transition(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.103393, 0.176429, 0.322563, 0.906541, 1.78269", \
"0.119174, 0.182264, 0.32239, 0.906789, 1.78367", \
"0.176141, 0.235883, 0.351112, 0.906842, 1.78324", \
"0.215097, 0.277743, 0.390555, 0.911993, 1.78282", \
"0.333403, 0.409933, 0.534675, 0.99795, 1.79573");
}
}
internal_power() {
related_pin : "A";
rise_power(energy_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.389002, 0.393869, 0.398499, 0.402791, 0.40412", \
"0.442829, 0.430625, 0.423648, 0.413675, 0.40862", \
"0.617376, 0.577985, 0.535474, 0.47171, 0.448634", \
"0.768465, 0.717378, 0.652041, 0.547541, 0.493993", \
"1.29533, 1.2207, 1.10425, 0.86946, 0.7254");
}
fall_power(energy_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.011845, 0.00625, 0.001276, 0.005383, 0.006277", \
"0.022784, 0.017685, 0.013616, 0.008902, 0.007861", \
"0.173984, 0.138231, 0.101902, 0.054497, 0.035459", \
"0.311874, 0.256871, 0.196965, 0.106444, 0.069818", \
"0.81705, 0.723427, 0.595846, 0.372799, 0.246518");
}
}
}
}
/* ---------------- *
* Design : NAND2X1 *
* ---------------- */
cell (NAND2X1) {
cell_footprint : nand2;
area : 4;
cell_leakage_power : 0.0567011;
pin(A) {
direction : input;
capacitance : 0.0201485;
rise_capacitance : 0.0201485;
fall_capacitance : 0.019937;
rise_capacitance_range ( 0.0190239, 0.0212732) ;
fall_capacitance_range ( 0.0186932, 0.0211807) ;
internal_power() {
rise_power(passive_energy_template_5x1) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
values ("0.23538, 0.234957, 0.234854, 0.234994, 0.235103");
}
fall_power(passive_energy_template_5x1) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
values ("0.242091, 0.236781, 0.235478, 0.235391, 0.235861");
}
}
}
pin(B) {
direction : input;
capacitance : 0.0174339;
rise_capacitance : 0.0173315;
fall_capacitance : 0.0174339;
rise_capacitance_range ( 0.0132218, 0.0214411) ;
fall_capacitance_range ( 0.0134763, 0.0213916) ;
internal_power() {
rise_power(passive_energy_template_5x1) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
values ("0.234047, 0.233613, 0.233977, 0.234143, 0.233872");
}
fall_power(passive_energy_template_5x1) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
values ("0.262936, 0.263042, 0.262941, 0.263082, 0.263471");
}
}
}
pin(Y) {
direction : output;
capacitance : 0;
rise_capacitance : 0;
fall_capacitance : 0;
rise_capacitance_range ( 0, 0) ;
fall_capacitance_range ( 0, 0) ;
max_capacitance : 0.424097;
function : "(!(A B))";
timing() {
related_pin : "A";
timing_sense : negative_unate;
cell_rise(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.193773, 0.26363, 0.402277, 0.954263, 1.78147", \
"0.272928, 0.340545, 0.476366, 1.02569, 1.85123", \
"0.442504, 0.510273, 0.640167, 1.1776, 1.99738", \
"0.565262, 0.636904, 0.768224, 1.29767, 2.1125", \
"0.955771, 1.04092, 1.18992, 1.71578, 2.51138");
}
rise_transition(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.135895, 0.203553, 0.338593, 0.878625, 1.68874", \
"0.146052, 0.207351, 0.338713, 0.878813, 1.68874", \
"0.196906, 0.248155, 0.361279, 0.878891, 1.68874", \
"0.232599, 0.287925, 0.393355, 0.884583, 1.68833", \
"0.349961, 0.412136, 0.519502, 0.95658, 1.70372");
}
cell_fall(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.141326, 0.196767, 0.30679, 0.744364, 1.40074", \
"0.186534, 0.240718, 0.348973, 0.785244, 1.44019", \
"0.271642, 0.333042, 0.443928, 0.873326, 1.52524", \
"0.327857, 0.395743, 0.513999, 0.942458, 1.59134", \
"0.491662, 0.578524, 0.723419, 1.18578, 1.82356");
}
fall_transition(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.08909, 0.141457, 0.246741, 0.667122, 1.29868", \
"0.109662, 0.152681, 0.250305, 0.667113, 1.29797", \
"0.167366, 0.205878, 0.288622, 0.672974, 1.29795", \
"0.210361, 0.250148, 0.328387, 0.688252, 1.30052", \
"0.338489, 0.388406, 0.474547, 0.796753, 1.34428");
}
}
timing() {
related_pin : "B";
timing_sense : negative_unate;
cell_rise(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.166482, 0.237259, 0.376051, 0.930395, 1.75785", \
"0.244773, 0.312274, 0.449451, 1.0003, 1.8268", \
"0.403815, 0.477683, 0.61021, 1.15037, 1.97284", \
"0.516971, 0.596251, 0.735618, 1.26784, 2.08568", \
"0.870583, 0.971812, 1.13374, 1.67895, 2.47854");
}
rise_transition(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.107339, 0.17479, 0.309773, 0.849562, 1.65925", \
"0.120137, 0.179866, 0.309698, 0.849541, 1.65925", \
"0.171788, 0.224979, 0.335941, 0.849351, 1.65885", \
"0.207489, 0.264273, 0.370118, 0.856314, 1.65885", \
"0.317586, 0.38588, 0.501904, 0.933212, 1.67544");
}
cell_fall(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.13719, 0.19247, 0.302112, 0.739584, 1.39515", \
"0.198757, 0.254873, 0.362554, 0.798603, 1.4541", \
"0.300327, 0.370903, 0.492393, 0.922255, 1.57645", \
"0.368717, 0.447726, 0.579847, 1.0186, 1.66359", \
"0.571848, 0.674223, 0.839381, 1.34335, 1.98612");
}
fall_transition(delay_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.088926, 0.141503, 0.246613, 0.667122, 1.29814", \
"0.116664, 0.157333, 0.250359, 0.667109, 1.29868", \
"0.172013, 0.217718, 0.302983, 0.674305, 1.2987", \
"0.212873, 0.260755, 0.349111, 0.69935, 1.2991", \
"0.33606, 0.398964, 0.497741, 0.83858, 1.36969");
}
}
internal_power() {
related_pin : "A";
rise_power(energy_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.754847, 0.759479, 0.763944, 0.767989, 0.769687", \
"0.825329, 0.813516, 0.799402, 0.786103, 0.778299", \
"1.08496, 1.04004, 0.982478, 0.884757, 0.844555", \
"1.31343, 1.2471, 1.15862, 1.00451, 0.923568", \
"2.11003, 2.01672, 1.86766, 1.51618, 1.29097");
}
fall_power(energy_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.021504, 0.014138, 0.008351, 0.0022, 0.000423", \
"0.032905, 0.02363, 0.016647, 0.009649, 0.006079", \
"0.263496, 0.219931, 0.167607, 0.092535, 0.056628", \
"0.474533, 0.407808, 0.325833, 0.185551, 0.116037", \
"1.24768, 1.13433, 0.969528, 0.643674, 0.442551");
}
}
internal_power() {
related_pin : "B";
rise_power(energy_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.551421, 0.564803, 0.579627, 0.595129, 0.600456", \
"0.615395, 0.606006, 0.603838, 0.603944, 0.603118", \
"0.851456, 0.811443, 0.765091, 0.689944, 0.663474", \
"1.054, 0.996567, 0.92146, 0.789533, 0.730927", \
"1.77112, 1.679, 1.54244, 1.26292, 1.05817");
}
fall_power(energy_template_5x5) {
index_1 ("0.06, 0.18, 0.42, 0.6, 1.2");
index_2 ("0.025, 0.05, 0.1, 0.3, 0.6");
values ( \
"0.015069, 0.01128, 0.007085, 0.001339, 0.000967", \
"0.037481, 0.031036, 0.028743, 0.011886, 0.00701", \
"0.257402, 0.211914, 0.160692, 0.086374, 0.065684", \
"0.449098, 0.38172, 0.303152, 0.176538, 0.102258", \
"1.13844, 1.02859, 0.869325, 0.570768, 0.379786");
}
}
}
}
}