/* delay model : typ check model : typ power model : typ capacitance model : typ other model : typ */ library(osu05_stdcells) { delay_model : table_lookup; in_place_swap_mode : match_footprint; /* unit attributes */ time_unit : "1ns"; voltage_unit : "1V"; current_unit : "1uA"; 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; input_threshold_pct_rise : 50; input_threshold_pct_fall : 50; output_threshold_pct_rise : 50; output_threshold_pct_fall : 50; 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_5x1) { variable_1 : input_net_transition; index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0"); } lu_table_template(delay_template_5x5) { variable_1 : total_output_net_capacitance; variable_2 : input_net_transition; 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(delay_template_5x6) { variable_1 : total_output_net_capacitance; variable_2 : input_net_transition; index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0"); index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"); } lu_table_template(delay_template_6x1) { variable_1 : input_net_transition; index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"); } lu_table_template(delay_template_6x6) { variable_1 : total_output_net_capacitance; variable_2 : input_net_transition; index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"); index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"); } power_lut_template(energy_template_5x5) { variable_1 : total_output_net_capacitance; variable_2 : input_transition_time; 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_5x6) { variable_1 : total_output_net_capacitance; variable_2 : input_transition_time; index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0"); index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"); } power_lut_template(energy_template_6x6) { variable_1 : total_output_net_capacitance; variable_2 : input_transition_time; index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"); index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"); } lu_table_template(hold_template_3x5) { variable_1 : related_pin_transition; variable_2 : constrained_pin_transition; index_1 ("1000.0, 1001.0, 1002.0"); index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0"); } lu_table_template(hold_template_3x6) { variable_1 : related_pin_transition; variable_2 : constrained_pin_transition; index_1 ("1000.0, 1001.0, 1002.0"); index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.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"); } power_lut_template(passive_energy_template_6x1) { variable_1 : input_transition_time; index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"); } lu_table_template(recovery_template_3x6) { variable_1 : related_pin_transition; variable_2 : constrained_pin_transition; index_1 ("1000.0, 1001.0, 1002.0"); index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"); } lu_table_template(recovery_template_6x6) { variable_1 : related_pin_transition; variable_2 : constrained_pin_transition; index_1 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"); index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"); } lu_table_template(removal_template_3x6) { variable_1 : related_pin_transition; variable_2 : constrained_pin_transition; index_1 ("1000.0, 1001.0, 1002.0"); index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"); } lu_table_template(setup_template_3x5) { variable_1 : related_pin_transition; variable_2 : constrained_pin_transition; index_1 ("1000.0, 1001.0, 1002.0"); index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0"); } lu_table_template(setup_template_3x6) { variable_1 : related_pin_transition; variable_2 : constrained_pin_transition; index_1 ("1000.0, 1001.0, 1002.0"); index_2 ("1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"); } /* --------------- * * Design : AND2X1 * * --------------- */ cell (AND2X1) { area : 288; cell_leakage_power : 0.1173; pin(A) { direction : input; capacitance : 0.021636; rise_capacitance : 0.021558; fall_capacitance : 0.021636; } pin(B) { direction : input; capacitance : 0.021487; rise_capacitance : 0.0214248; fall_capacitance : 0.021487; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.412286; function : "(A B)"; timing() { related_pin : "A"; timing_sense : positive_unate; cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.135468, 0.140265, 0.143242, 0.13881, 0.114394", \ "0.183319, 0.188338, 0.192664, 0.189481, 0.166138", \ "0.273479, 0.278684, 0.28851, 0.283829, 0.263192", \ "0.633258, 0.642891, 0.649771, 0.649274, 0.635584", \ "1.17327, 1.18296, 1.18962, 1.18895, 1.17762"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0882, 0.0924, 0.0966, 0.099, 0.1194", \ "0.15, 0.153, 0.1608, 0.1644, 0.1788", \ "0.2802, 0.282, 0.2862, 0.2916, 0.3078", \ "0.816, 0.816, 0.8178, 0.8202, 0.8334", \ "1.6218, 1.6218, 1.6218, 1.6224, 1.6278"); } cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.167177, 0.202284, 0.265877, 0.308151, 0.430135", \ "0.224319, 0.259107, 0.322892, 0.36637, 0.491938", \ "0.335646, 0.36992, 0.433808, 0.478536, 0.607888", \ "0.780065, 0.81504, 0.877625, 0.920222, 1.05187", \ "1.44281, 1.47773, 1.54009, 1.58262, 1.71347"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0924, 0.093, 0.1026, 0.1098, 0.123", \ "0.1596, 0.1602, 0.1626, 0.1692, 0.1848", \ "0.3, 0.2994, 0.3024, 0.3054, 0.3198", \ "0.8784, 0.8778, 0.8778, 0.879, 0.8832", \ "1.7466, 1.7466, 1.7472, 1.7466, 1.7472"); } } timing() { related_pin : "B"; timing_sense : positive_unate; cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.136152, 0.134149, 0.125177, 0.110593, 0.042182", \ "0.183231, 0.182144, 0.17419, 0.160977, 0.096749", \ "0.274689, 0.272369, 0.266243, 0.255334, 0.19685", \ "0.634485, 0.635477, 0.627876, 0.618186, 0.573561", \ "1.17451, 1.17509, 1.1673, 1.15736, 1.11436"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0882, 0.0924, 0.1062, 0.1128, 0.1254", \ "0.15, 0.1518, 0.162, 0.168, 0.1836", \ "0.2796, 0.2814, 0.2874, 0.2922, 0.3132", \ "0.8166, 0.816, 0.8166, 0.819, 0.8364", \ "1.6218, 1.6218, 1.6218, 1.6224, 1.6278"); } cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.184677, 0.225252, 0.305561, 0.360668, 0.524913", \ "0.242571, 0.284064, 0.362196, 0.417523, 0.585336", \ "0.35573, 0.394873, 0.473847, 0.52801, 0.697587", \ "0.797996, 0.837006, 0.915518, 0.968772, 1.13728", \ "1.46119, 1.49974, 1.57798, 1.63114, 1.79857"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0948, 0.0966, 0.1014, 0.1044, 0.1242", \ "0.1602, 0.1602, 0.1626, 0.168, 0.1854", \ "0.3012, 0.3012, 0.3024, 0.3042, 0.3144", \ "0.8784, 0.8784, 0.8784, 0.8784, 0.8808", \ "1.7466, 1.7472, 1.7472, 1.7466, 1.7472"); } } internal_power() { related_pin : "A"; rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.175608, 0.272801, 0.56388, 0.796823, 1.60912", \ "0.179968, 0.272459, 0.560982, 0.787696, 1.58173", \ "0.183768, 0.275337, 0.554906, 0.779866, 1.55639", \ "0.186245, 0.28634, 0.555533, 0.774262, 1.53242", \ "0.187373, 0.286781, 0.556141, 0.773763, 1.52594"); } fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.682097, 0.778941, 1.07036, 1.30235, 2.11129", \ "0.689417, 0.782563, 1.06662, 1.29547, 2.08731", \ "0.695489, 0.786172, 1.06565, 1.29154, 2.06909", \ "0.695343, 0.788895, 1.06847, 1.29133, 2.05413", \ "0.69663, 0.790587, 1.06979, 1.29218, 2.05161"); } } internal_power() { related_pin : "B"; rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.160502, 0.275229, 0.589983, 0.855199, 1.76734", \ "0.167535, 0.276072, 0.579905, 0.83989, 1.73518", \ "0.172685, 0.276093, 0.574742, 0.828704, 1.70676", \ "0.177439, 0.274921, 0.574026, 0.821518, 1.67723", \ "0.178672, 0.274961, 0.57311, 0.818917, 1.66749"); } fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.849374, 0.958819, 1.29574, 1.55392, 2.45958", \ "0.857665, 0.975853, 1.28725, 1.54387, 2.4309", \ "0.863952, 0.977353, 1.28374, 1.53701, 2.40901", \ "0.87666, 0.981387, 1.28499, 1.53302, 2.38627", \ "0.872437, 0.982928, 1.28642, 1.53364, 2.3813"); } } } } /* --------------- * * Design : AND2X2 * * --------------- */ cell (AND2X2) { area : 288; cell_leakage_power : 0.117282; pin(A) { direction : input; capacitance : 0.021674; rise_capacitance : 0.021579; fall_capacitance : 0.021674; } pin(B) { direction : input; capacitance : 0.0214177; rise_capacitance : 0.0214177; fall_capacitance : 0.0214044; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.924889; function : "(A B)"; timing() { related_pin : "A"; timing_sense : positive_unate; cell_rise(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.16526, 0.180035, 0.193325, 0.200733, 0.189787", \ "0.212238, 0.22752, 0.241381, 0.247528, 0.240223", \ "0.299235, 0.31434, 0.330401, 0.33598, 0.331624", \ "0.646012, 0.658718, 0.676894, 0.681547, 0.681522", \ "1.16308, 1.17522, 1.19322, 1.19738, 1.19816"); } rise_transition(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.096, 0.0966, 0.102, 0.1152, 0.1284", \ "0.1506, 0.153, 0.1608, 0.1638, 0.1806", \ "0.273, 0.2736, 0.2796, 0.2832, 0.2988", \ "0.7842, 0.7842, 0.786, 0.7878, 0.798", \ "1.5558, 1.5564, 1.5558, 1.5564, 1.5612"); } cell_fall(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.197548, 0.231544, 0.306209, 0.354388, 0.49364", \ "0.249715, 0.286902, 0.358967, 0.408648, 0.550371", \ "0.349848, 0.385404, 0.458573, 0.506863, 0.651114", \ "0.743952, 0.778747, 0.850043, 0.897371, 1.04067", \ "1.3333, 1.36811, 1.4389, 1.48577, 1.62697"); } fall_transition(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0972, 0.0936, 0.102, 0.1134, 0.1296", \ "0.1506, 0.1512, 0.156, 0.1632, 0.1806", \ "0.2724, 0.2712, 0.2742, 0.2772, 0.2916", \ "0.7854, 0.7854, 0.7854, 0.786, 0.7896", \ "1.5582, 1.5588, 1.5582, 1.5588, 1.5594"); } } timing() { related_pin : "B"; timing_sense : positive_unate; cell_rise(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.165586, 0.166809, 0.166253, 0.157225, 0.104642", \ "0.211339, 0.215068, 0.214009, 0.20615, 0.157", \ "0.299964, 0.303444, 0.303219, 0.296412, 0.251118", \ "0.645329, 0.647501, 0.647076, 0.640889, 0.605902", \ "1.16218, 1.16501, 1.16328, 1.15657, 1.12223"); } rise_transition(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0954, 0.0978, 0.111, 0.1164, 0.1356", \ "0.1506, 0.1512, 0.162, 0.1692, 0.186", \ "0.2718, 0.2742, 0.279, 0.2844, 0.3054", \ "0.7842, 0.7848, 0.7848, 0.7866, 0.8022", \ "1.5564, 1.5564, 1.5564, 1.5564, 1.5618"); } cell_fall(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.21246, 0.254797, 0.338379, 0.39659, 0.572482", \ "0.267132, 0.307439, 0.39168, 0.450338, 0.629499", \ "0.366797, 0.406971, 0.48993, 0.548577, 0.728192", \ "0.760704, 0.799639, 0.88134, 0.937988, 1.11466", \ "1.35006, 1.38878, 1.47003, 1.52613, 1.70059"); } fall_transition(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1002, 0.0966, 0.105, 0.1134, 0.132", \ "0.1554, 0.1542, 0.1584, 0.1638, 0.1842", \ "0.2742, 0.2742, 0.276, 0.2778, 0.2922", \ "0.7854, 0.7854, 0.7848, 0.7854, 0.7884", \ "1.5588, 1.5588, 1.5588, 1.5588, 1.5594"); } } internal_power() { related_pin : "A"; rise_power(energy_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.550436, 0.664023, 0.96665, 1.23134, 2.15451", \ "0.544768, 0.651863, 0.933768, 1.18069, 2.06101", \ "0.550936, 0.64341, 0.913994, 1.14231, 1.97533", \ "0.547375, 0.639463, 0.888303, 1.10629, 1.87794", \ "0.550038, 0.638493, 0.883497, 1.09518, 1.84421"); } fall_power(energy_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.990991, 1.08013, 1.39516, 1.66179, 2.58247", \ "0.992902, 1.08392, 1.36624, 1.61767, 2.49374", \ "1.00434, 1.07979, 1.35237, 1.5849, 2.41827", \ "1.00127, 1.08168, 1.33875, 1.55753, 2.33651", \ "1.00395, 1.08255, 1.3361, 1.55098, 2.3112"); } } internal_power() { related_pin : "B"; rise_power(energy_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.521776, 0.637392, 0.990058, 1.28424, 2.3133", \ "0.50981, 0.630318, 0.952322, 1.22979, 2.21669", \ "0.519249, 0.637226, 0.92901, 1.19034, 2.12887", \ "0.530496, 0.631393, 0.905822, 1.15057, 2.02578", \ "0.534133, 0.623731, 0.899503, 1.13791, 1.98904"); } fall_power(energy_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.1656, 1.28796, 1.6285, 1.92597, 2.9544", \ "1.1669, 1.27683, 1.59573, 1.8772, 2.86498", \ "1.16814, 1.27073, 1.56835, 1.83873, 2.77892", \ "1.17044, 1.26729, 1.55186, 1.80184, 2.67927", \ "1.1715, 1.26705, 1.54774, 1.79243, 2.64577"); } } } } /* ---------------- * * Design : AOI21X1 * * ---------------- */ cell (AOI21X1) { area : 288; cell_leakage_power : 0.0702509; pin(A) { direction : input; capacitance : 0.0323272; rise_capacitance : 0.0320917; fall_capacitance : 0.0323272; } pin(B) { direction : input; capacitance : 0.032547; rise_capacitance : 0.032239; fall_capacitance : 0.032547; } pin(C) { direction : input; capacitance : 0.0276516; rise_capacitance : 0.0276516; fall_capacitance : 0.0276422; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.375698; function : "(!((A B)+C))"; timing() { related_pin : "A"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.110736, 0.116546, 0.125238, 0.128187, 0.126309", \ "0.149473, 0.155697, 0.169115, 0.176143, 0.184264", \ "0.225055, 0.228474, 0.24576, 0.258762, 0.284295", \ "0.519861, 0.522087, 0.531809, 0.545778, 0.599723", \ "0.965237, 0.961468, 0.965839, 0.974167, 1.02087"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.114, 0.1368, 0.1998, 0.2538, 0.4158", \ "0.168, 0.18, 0.2376, 0.2868, 0.4566", \ "0.2718, 0.276, 0.315, 0.36, 0.5298", \ "0.6918, 0.6918, 0.6984, 0.7134, 0.825", \ "1.323, 1.323, 1.323, 1.326, 1.3668"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.119567, 0.134511, 0.170117, 0.194609, 0.264796", \ "0.157895, 0.176979, 0.215572, 0.243856, 0.32476", \ "0.242825, 0.254443, 0.29654, 0.329958, 0.427664", \ "0.562378, 0.573998, 0.60582, 0.637254, 0.757475", \ "1.0436, 1.05541, 1.08013, 1.10453, 1.20926"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1158, 0.1368, 0.2004, 0.2508, 0.411", \ "0.177, 0.1884, 0.2406, 0.2898, 0.4572", \ "0.2994, 0.3024, 0.3366, 0.3774, 0.5406", \ "0.789, 0.789, 0.7932, 0.8052, 0.9024", \ "1.5234, 1.5234, 1.5234, 1.524, 1.5588"); } } timing() { related_pin : "B"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.110229, 0.133439, 0.167846, 0.187453, 0.239349", \ "0.148929, 0.171947, 0.215725, 0.240118, 0.305039", \ "0.222966, 0.245313, 0.297516, 0.329599, 0.413836", \ "0.517156, 0.537962, 0.584459, 0.624459, 0.755747", \ "0.960257, 0.977772, 1.01904, 1.05393, 1.18664"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.114, 0.1386, 0.2022, 0.2472, 0.396", \ "0.1674, 0.1806, 0.2436, 0.2904, 0.447", \ "0.2718, 0.2742, 0.3216, 0.369, 0.5292", \ "0.6918, 0.6918, 0.6978, 0.7188, 0.8472", \ "1.323, 1.323, 1.3224, 1.3236, 1.383"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.105819, 0.119117, 0.141437, 0.154159, 0.184093", \ "0.14773, 0.163023, 0.192298, 0.210563, 0.254656", \ "0.232402, 0.243627, 0.279571, 0.304886, 0.370791", \ "0.55558, 0.564857, 0.594142, 0.622588, 0.725951", \ "1.03727, 1.04696, 1.07031, 1.09314, 1.18884"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0948, 0.1146, 0.1752, 0.2208, 0.3522", \ "0.1554, 0.1662, 0.2178, 0.2622, 0.4074", \ "0.2766, 0.279, 0.3132, 0.354, 0.5022", \ "0.7656, 0.765, 0.7692, 0.783, 0.8766", \ "1.5, 1.5, 1.5, 1.5006, 1.5366"); } } timing() { related_pin : "C"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.120576, 0.147646, 0.196084, 0.226332, 0.307893", \ "0.180713, 0.204616, 0.264302, 0.300184, 0.401908", \ "0.294861, 0.316986, 0.378034, 0.424821, 0.552437", \ "0.743315, 0.762377, 0.812552, 0.856597, 1.01961", \ "1.40713, 1.42661, 1.4727, 1.51154, 1.6565"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1074, 0.12, 0.1713, 0.2052, 0.3102", \ "0.1767, 0.1824, 0.228, 0.2649, 0.3819", \ "0.3216, 0.3216, 0.3447, 0.3792, 0.5052", \ "0.8997, 0.8997, 0.8997, 0.9039, 0.9753", \ "1.7679, 1.7679, 1.7682, 1.7679, 1.7787"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.085249, 0.108994, 0.132902, 0.14321, 0.158167", \ "0.121403, 0.150257, 0.188769, 0.20723, 0.243054", \ "0.192009, 0.221072, 0.277881, 0.30843, 0.376533", \ "0.474451, 0.502132, 0.56228, 0.610196, 0.751808", \ "0.898213, 0.924335, 0.981235, 1.02633, 1.18532"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0933, 0.1224, 0.1746, 0.2073, 0.3105", \ "0.1452, 0.1647, 0.2211, 0.2598, 0.3798", \ "0.2517, 0.2592, 0.3063, 0.3498, 0.4848", \ "0.6816, 0.6819, 0.6888, 0.7119, 0.8361", \ "1.3266, 1.3266, 1.3266, 1.3284, 1.389"); } } internal_power() { related_pin : "A"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.29687, 0.222655, 0.122605, 0.436342, 1.57895", \ "0.293242, 0.237274, 0.057812, 0.345188, 1.43489", \ "0.289841, 0.252855, 0.019205, 0.224042, 1.21193", \ "0.28506, 0.269709, 0.138659, 0.015985, 0.728423", \ "0.284319, 0.276829, 0.195883, 0.093314, 0.419142"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.27972, 1.34109, 1.71482, 2.04087, 3.21173", \ "1.28883, 1.34929, 1.65335, 1.95687, 3.08518", \ "1.30955, 1.33248, 1.58042, 1.83715, 2.88206", \ "1.30666, 1.32739, 1.45959, 1.62967, 2.41518", \ "1.30968, 1.31218, 1.40205, 1.5165, 2.09617"); } } internal_power() { related_pin : "B"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.290731, 0.222857, 0.072844, 0.340664, 1.30932", \ "0.289007, 0.238743, 0.01643, 0.259548, 1.18173", \ "0.289195, 0.250037, 0.053785, 0.151325, 0.984675", \ "0.285856, 0.270345, 0.161142, 0.032868, 0.561902", \ "0.283066, 0.275765, 0.211523, 0.127681, 0.294485"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.10171, 1.17164, 1.48495, 1.76347, 2.76103", \ "1.12798, 1.17505, 1.43601, 1.69444, 2.65289", \ "1.1618, 1.1713, 1.38233, 1.59926, 2.48281", \ "1.18045, 1.18411, 1.29476, 1.44191, 2.11398", \ "1.18614, 1.17527, 1.25437, 1.35498, 1.8622"); } } internal_power() { related_pin : "C"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.297115, 0.247614, 0.052811, 0.12478, 0.764071", \ "0.270615, 0.247149, 0.088965, 0.069217, 0.668455", \ "0.240987, 0.239092, 0.12664, 0.009379, 0.53465", \ "0.214124, 0.217256, 0.167843, 0.094038, 0.273445", \ "0.205678, 0.207736, 0.18114, 0.135431, 0.117978"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.728773, 0.784537, 1.00022, 1.17587, 1.80773", \ "0.732113, 0.776167, 0.957843, 1.11957, 1.71993", \ "0.738964, 0.767825, 0.909699, 1.04731, 1.5904", \ "0.74827, 0.760769, 0.83915, 0.927185, 1.32418", \ "0.751637, 0.757303, 0.8061, 0.864341, 1.15225"); } } } } /* ---------------- * * Design : AOI22X1 * * ---------------- */ cell (AOI22X1) { area : 360; cell_leakage_power : 0.0919588; pin(A) { direction : input; capacitance : 0.0323074; rise_capacitance : 0.0320974; fall_capacitance : 0.0323074; } pin(B) { direction : input; capacitance : 0.0325293; rise_capacitance : 0.0322408; fall_capacitance : 0.0325293; } pin(C) { direction : input; capacitance : 0.0330061; rise_capacitance : 0.0330061; fall_capacitance : 0.0329569; } pin(D) { direction : input; capacitance : 0.0331821; rise_capacitance : 0.0331737; fall_capacitance : 0.0331821; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.478959; function : "(!((A B)+(C D)))"; timing() { related_pin : "A"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.133942, 0.139404, 0.153411, 0.160854, 0.171855", \ "0.173177, 0.177028, 0.194646, 0.205409, 0.225845", \ "0.248094, 0.250987, 0.269538, 0.284487, 0.320305", \ "0.545638, 0.545061, 0.555391, 0.569777, 0.62771", \ "0.988558, 0.985025, 0.989934, 0.998578, 1.0475"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1419, 0.1575, 0.222, 0.2742, 0.4305", \ "0.1935, 0.2037, 0.2577, 0.3087, 0.4728", \ "0.2979, 0.3015, 0.3369, 0.381, 0.5454", \ "0.7188, 0.7188, 0.7242, 0.7371, 0.8472", \ "1.3497, 1.3497, 1.3497, 1.3521, 1.3902"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.131377, 0.149582, 0.187374, 0.213689, 0.28829", \ "0.166138, 0.184826, 0.227862, 0.257652, 0.3416", \ "0.237079, 0.254949, 0.301357, 0.3355, 0.435552", \ "0.51926, 0.535104, 0.575388, 0.611278, 0.738875", \ "0.941452, 0.957737, 0.991798, 1.02232, 1.14372"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1332, 0.15, 0.2121, 0.2622, 0.4269", \ "0.1866, 0.1983, 0.2502, 0.2985, 0.4668", \ "0.2937, 0.2976, 0.333, 0.3747, 0.5385", \ "0.723, 0.723, 0.729, 0.7443, 0.8505", \ "1.3662, 1.3665, 1.3668, 1.3683, 1.4127"); } } timing() { related_pin : "B"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.133469, 0.156828, 0.198161, 0.223143, 0.287376", \ "0.172125, 0.194604, 0.242959, 0.271679, 0.346918", \ "0.246527, 0.267786, 0.32206, 0.35708, 0.450743", \ "0.540513, 0.561325, 0.60795, 0.648235, 0.784765", \ "0.983908, 1.00167, 1.04303, 1.07824, 1.21254"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1416, 0.1599, 0.2241, 0.2745, 0.4179", \ "0.1929, 0.204, 0.2643, 0.3126, 0.4641", \ "0.2982, 0.2997, 0.3438, 0.3912, 0.5469", \ "0.7188, 0.7185, 0.723, 0.7425, 0.8694", \ "1.3497, 1.35, 1.3497, 1.3503, 1.4064"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.120762, 0.137158, 0.163494, 0.17898, 0.214673", \ "0.156844, 0.173968, 0.208266, 0.228831, 0.278458", \ "0.228853, 0.24494, 0.286421, 0.314022, 0.384289", \ "0.511562, 0.52698, 0.564964, 0.598494, 0.710528", \ "0.934743, 0.950317, 0.983248, 1.01224, 1.12575"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1155, 0.1323, 0.1893, 0.2343, 0.3702", \ "0.168, 0.1767, 0.2307, 0.2751, 0.4233", \ "0.2739, 0.2772, 0.3141, 0.3546, 0.5043", \ "0.7023, 0.7026, 0.7089, 0.7248, 0.8289", \ "1.3461, 1.3461, 1.3461, 1.3482, 1.3938"); } } timing() { related_pin : "C"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.094805, 0.098112, 0.097165, 0.089902, 0.057001", \ "0.13492, 0.137899, 0.145042, 0.143383, 0.125334", \ "0.210258, 0.212772, 0.226472, 0.232624, 0.23676", \ "0.511062, 0.507938, 0.516994, 0.528639, 0.570254", \ "0.952153, 0.948322, 0.952303, 0.959873, 0.999257"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0906, 0.111, 0.1695, 0.216, 0.3444", \ "0.1446, 0.1563, 0.2088, 0.2517, 0.3939", \ "0.2472, 0.2517, 0.2895, 0.3291, 0.477", \ "0.6678, 0.6675, 0.6738, 0.6885, 0.792", \ "1.2984, 1.299, 1.2984, 1.3014, 1.3407"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.107957, 0.140423, 0.199308, 0.238722, 0.35358", \ "0.143267, 0.176041, 0.242979, 0.286583, 0.414347", \ "0.213791, 0.245251, 0.318747, 0.368548, 0.516322", \ "0.496468, 0.524697, 0.591383, 0.646603, 0.83256", \ "0.920304, 0.946905, 1.0077, 1.05753, 1.24003"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1209, 0.1449, 0.2025, 0.2418, 0.372", \ "0.1734, 0.1869, 0.2421, 0.2844, 0.4233", \ "0.2811, 0.285, 0.3252, 0.3666, 0.5115", \ "0.711, 0.711, 0.7161, 0.7332, 0.8436", \ "1.3557, 1.356, 1.356, 1.3572, 1.4049"); } } timing() { related_pin : "D"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.093716, 0.114399, 0.134085, 0.142044, 0.155595", \ "0.133812, 0.155092, 0.187912, 0.202717, 0.234887", \ "0.209328, 0.22982, 0.277122, 0.301806, 0.360104", \ "0.506307, 0.523849, 0.56927, 0.607543, 0.72615", \ "0.947465, 0.964314, 1.00524, 1.03973, 1.16646"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0933, 0.1161, 0.1734, 0.2118, 0.3303", \ "0.1437, 0.1569, 0.2151, 0.2568, 0.3897", \ "0.2487, 0.2508, 0.2991, 0.3429, 0.4824", \ "0.6675, 0.6678, 0.6738, 0.6948, 0.8205", \ "1.2984, 1.2984, 1.2984, 1.2996, 1.3593"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.097961, 0.126761, 0.171037, 0.199143, 0.273357", \ "0.133073, 0.165308, 0.220632, 0.255106, 0.346934", \ "0.206093, 0.234995, 0.303405, 0.346441, 0.464455", \ "0.489408, 0.516775, 0.581029, 0.634034, 0.806549", \ "0.913538, 0.939506, 0.999094, 1.04759, 1.22358"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1029, 0.1239, 0.1773, 0.2124, 0.3261", \ "0.1554, 0.1668, 0.2241, 0.2631, 0.3879", \ "0.261, 0.2652, 0.3072, 0.3477, 0.4839", \ "0.6906, 0.6909, 0.696, 0.7146, 0.8268", \ "1.3356, 1.3356, 1.3356, 1.3365, 1.3872"); } } internal_power() { related_pin : "A"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.258876, 0.1976, 0.125317, 0.428745, 1.55188", \ "0.255714, 0.209038, 0.073819, 0.353847, 1.42816", \ "0.251722, 0.221317, 0.031873, 0.248835, 1.23083", \ "0.247485, 0.232519, 0.10103, 0.056029, 0.782186", \ "0.245874, 0.238796, 0.156228, 0.049934, 0.480762"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.58073, 1.62417, 1.9712, 2.29074, 3.45755", \ "1.58493, 1.61459, 1.91329, 2.21156, 3.33688", \ "1.59216, 1.60095, 1.84515, 2.09928, 3.1391", \ "1.5888, 1.59712, 1.73371, 1.90247, 2.68532", \ "1.59198, 1.58715, 1.67944, 1.79298, 2.3722"); } } internal_power() { related_pin : "B"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.253975, 0.200975, 0.079448, 0.337626, 1.28592", \ "0.251568, 0.207984, 0.033417, 0.27057, 1.17638", \ "0.249888, 0.218555, 0.031128, 0.17622, 1.00281", \ "0.247012, 0.234655, 0.124052, 0.040025, 0.612091", \ "0.245084, 0.238562, 0.172384, 0.085585, 0.351591"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.40296, 1.44811, 1.74186, 2.01351, 3.00692", \ "1.42043, 1.43279, 1.69857, 1.95043, 2.90417", \ "1.44146, 1.4387, 1.64776, 1.86283, 2.74109", \ "1.46267, 1.45205, 1.56942, 1.71448, 2.38354", \ "1.4611, 1.4512, 1.53174, 1.63181, 2.13746"); } } internal_power() { related_pin : "C"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.285626, 0.193461, 0.130731, 0.418857, 1.44825", \ "0.263278, 0.203088, 0.075179, 0.340098, 1.3221", \ "0.240518, 0.204635, 0.013109, 0.236969, 1.12894", \ "0.215155, 0.199002, 0.078185, 0.067182, 0.724109", \ "0.206241, 0.196789, 0.12078, 0.022451, 0.463224"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.04933, 1.13985, 1.47009, 1.75007, 2.76679", \ "1.05149, 1.12147, 1.41263, 1.67105, 2.64813", \ "1.05918, 1.10576, 1.33964, 1.56505, 2.45844", \ "1.06998, 1.09125, 1.22203, 1.3702, 2.03437", \ "1.07354, 1.08347, 1.16503, 1.26326, 1.74818"); } } internal_power() { related_pin : "D"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.28082, 0.194848, 0.086609, 0.336541, 1.22985", \ "0.258331, 0.200666, 0.036043, 0.264216, 1.11227", \ "0.238623, 0.206684, 0.021122, 0.170671, 0.937248", \ "0.21439, 0.203397, 0.102253, 0.019017, 0.576123", \ "0.206348, 0.2001, 0.138064, 0.057957, 0.345998"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.882481, 0.963731, 1.25453, 1.49962, 2.37203", \ "0.898584, 0.952551, 1.20575, 1.43514, 2.26902", \ "0.915432, 0.944591, 1.1488, 1.34606, 2.11565", \ "0.935943, 0.948848, 1.05968, 1.18999, 1.77331", \ "0.942835, 0.948406, 1.01792, 1.10544, 1.53781"); } } } } /* -------------- * * Design : BUFX2 * * -------------- */ cell (BUFX2) { cell_footprint : buf; area : 216; cell_leakage_power : 0.0809721; pin(A) { direction : input; capacitance : 0.0161375; rise_capacitance : 0.0160881; fall_capacitance : 0.0161375; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.924801; function : "A"; timing() { related_pin : "A"; timing_sense : positive_unate; cell_rise(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.190325, 0.216056, 0.26074, 0.287074, 0.351181", \ "0.234315, 0.260074, 0.307124, 0.333203, 0.39978", \ "0.3214, 0.34692, 0.393164, 0.419512, 0.487611", \ "0.665339, 0.691956, 0.735686, 0.761221, 0.828256", \ "1.18375, 1.20853, 1.25168, 1.27682, 1.34254"); } rise_transition(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.099, 0.0966, 0.1098, 0.114, 0.1314", \ "0.1518, 0.153, 0.1584, 0.1668, 0.18", \ "0.2742, 0.2742, 0.276, 0.2796, 0.291", \ "0.7854, 0.7854, 0.7848, 0.786, 0.7902", \ "1.5564, 1.5564, 1.5564, 1.557, 1.5576"); } cell_fall(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.184353, 0.217728, 0.270187, 0.303335, 0.38378", \ "0.235989, 0.268542, 0.322913, 0.356567, 0.440069", \ "0.336318, 0.368633, 0.422414, 0.454204, 0.539954", \ "0.730027, 0.761404, 0.81343, 0.844475, 0.929557", \ "1.31946, 1.35049, 1.40208, 1.43256, 1.51581"); } fall_transition(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0942, 0.0954, 0.1068, 0.111, 0.1314", \ "0.1506, 0.1518, 0.156, 0.1644, 0.183", \ "0.2706, 0.273, 0.276, 0.2778, 0.294", \ "0.7854, 0.7848, 0.7854, 0.786, 0.7902", \ "1.5588, 1.5588, 1.5582, 1.5588, 1.56"); } } internal_power() { related_pin : "A"; rise_power(energy_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.551657, 0.63377, 0.87801, 1.08251, 1.8116", \ "0.546195, 0.61657, 0.834861, 1.02955, 1.71636", \ "0.554851, 0.606647, 0.809922, 0.985103, 1.62802", \ "0.554584, 0.601755, 0.784366, 0.946842, 1.52367", \ "0.548723, 0.600775, 0.778583, 0.934625, 1.48924"); } fall_power(energy_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.869491, 0.960076, 1.20771, 1.41637, 2.15226", \ "0.880931, 0.952646, 1.17617, 1.37483, 2.06021", \ "0.879651, 0.957525, 1.15792, 1.33949, 1.97958", \ "0.889355, 0.956152, 1.1432, 1.30846, 1.89439", \ "0.892702, 0.956454, 1.14086, 1.30064, 1.86633"); } } } } /* -------------- * * Design : BUFX4 * * -------------- */ cell (BUFX4) { cell_footprint : buf; area : 288; cell_leakage_power : 0.112274; pin(A) { direction : input; capacitance : 0.0247079; rise_capacitance : 0.0246304; fall_capacitance : 0.0247079; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 1.84805; function : "A"; timing() { related_pin : "A"; timing_sense : positive_unate; cell_rise(delay_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.206474, 0.232894, 0.278073, 0.305279, 0.367866", \ "0.253522, 0.279189, 0.32518, 0.352259, 0.417491", \ "0.340848, 0.365561, 0.412811, 0.43896, 0.504769", \ "0.686975, 0.710488, 0.754864, 0.77997, 0.844549", \ "1.20353, 1.22695, 1.27097, 1.29523, 1.35804"); } rise_transition(delay_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1044, 0.1032, 0.108, 0.117, 0.1386", \ "0.156, 0.1572, 0.1632, 0.1698, 0.186", \ "0.2766, 0.2772, 0.2808, 0.2826, 0.297", \ "0.786, 0.786, 0.786, 0.7872, 0.7908", \ "1.5576, 1.5576, 1.5582, 1.5576, 1.5588"); } cell_fall(delay_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.204188, 0.239046, 0.302821, 0.341028, 0.441807", \ "0.25833, 0.293505, 0.357014, 0.395703, 0.498973", \ "0.359092, 0.392998, 0.45567, 0.494151, 0.599202", \ "0.752802, 0.785757, 0.846603, 0.883499, 0.986702", \ "1.34241, 1.37495, 1.43512, 1.4713, 1.57211"); } fall_transition(delay_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.102, 0.0984, 0.1068, 0.1188, 0.1374", \ "0.1542, 0.1548, 0.1638, 0.168, 0.1884", \ "0.2754, 0.2754, 0.2778, 0.282, 0.297", \ "0.7866, 0.786, 0.7866, 0.7866, 0.7914", \ "1.56, 1.56, 1.56, 1.56, 1.5606"); } } internal_power() { related_pin : "A"; rise_power(energy_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.21884, 1.36285, 1.79645, 2.18187, 3.50201", \ "1.20907, 1.30938, 1.7077, 2.05528, 3.28369", \ "1.18153, 1.27573, 1.63319, 1.94608, 3.07973", \ "1.18518, 1.26362, 1.56877, 1.83476, 2.83405", \ "1.18331, 1.26107, 1.5508, 1.803, 2.74614"); } fall_power(energy_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.63512, 1.78318, 2.24202, 2.61251, 3.93548", \ "1.62542, 1.76007, 2.15492, 2.49742, 3.72607", \ "1.63918, 1.74332, 2.10025, 2.4086, 3.53675", \ "1.63918, 1.73662, 2.05373, 2.32859, 3.32485", \ "1.64289, 1.73637, 2.04173, 2.30518, 3.25377"); } } } } /* ---------------- * * Design : CLKBUF1 * * ---------------- */ cell (CLKBUF1) { cell_footprint : buf; area : 648; cell_leakage_power : 0.357836; pin(A) { direction : input; capacitance : 0.0667175; rise_capacitance : 0.0664987; fall_capacitance : 0.0667175; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 1.85327; function : "A"; timing() { related_pin : "A"; timing_sense : positive_unate; cell_rise(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.254868, 0.280123, 0.302911, 0.327524, 0.336479, 0.352921", \ "0.429701, 0.455468, 0.476542, 0.501112, 0.513182, 0.526916", \ "0.730952, 0.756883, 0.782016, 0.806295, 0.814636, 0.827973", \ "1.50606, 1.5319, 1.55736, 1.58178, 1.59008, 1.6071", \ "1.93657, 1.96274, 1.98784, 2.01241, 2.02057, 2.03794", \ "2.36746, 2.39346, 2.41855, 2.44323, 2.45136, 2.46879"); } rise_transition(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.0858, 0.0828, 0.0876, 0.0882, 0.0828, 0.0828", \ "0.3318, 0.333, 0.333, 0.3336, 0.3324, 0.3324", \ "0.7824, 0.7824, 0.7824, 0.7824, 0.7824, 0.7824", \ "1.9404, 1.941, 1.9398, 1.9404, 1.9404, 1.941", \ "2.5836, 2.5842, 2.5842, 2.5836, 2.5836, 2.5836", \ "3.2274, 3.2274, 3.2274, 3.2274, 3.2274, 3.2274"); } cell_fall(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.262935, 0.306442, 0.347206, 0.409454, 0.44062, 0.498908", \ "0.462532, 0.506176, 0.552227, 0.613017, 0.644448, 0.704269", \ "0.806485, 0.852272, 0.896178, 0.957099, 0.98849, 1.0483", \ "1.6903, 1.73612, 1.77996, 1.84122, 1.8724, 1.93198", \ "2.18104, 2.22706, 2.27074, 2.33213, 2.36351, 2.4228", \ "2.67207, 2.71797, 2.76152, 2.82272, 2.85443, 2.9139"); } fall_transition(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.0828, 0.0846, 0.0834, 0.0858, 0.0852, 0.0852", \ "0.333, 0.333, 0.333, 0.3324, 0.3324, 0.333", \ "0.783, 0.783, 0.783, 0.783, 0.783, 0.7824", \ "1.9434, 1.9434, 1.9434, 1.9434, 1.9434, 1.9434", \ "2.5884, 2.5884, 2.5884, 2.5884, 2.5884, 2.5884", \ "3.2328, 3.2334, 3.2334, 3.2334, 3.2328, 3.2334"); } } internal_power() { related_pin : "A"; rise_power(energy_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "3.10502, 3.73111, 4.81821, 6.87917, 8.40509, 11.5137", \ "3.2163, 3.76455, 4.88668, 6.94699, 8.47503, 11.5028", \ "3.22334, 3.77813, 4.91662, 6.97688, 8.48353, 11.5059", \ "3.22652, 3.78517, 4.92312, 6.98404, 8.48745, 11.4783", \ "3.22731, 3.78599, 4.92423, 6.98506, 8.48915, 11.4797", \ "3.22749, 3.78806, 4.9249, 6.98583, 8.4887, 11.4805"); } fall_power(energy_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "4.80123, 5.47708, 6.61471, 8.72719, 10.1404, 13.1527", \ "4.8404, 5.54398, 6.7013, 8.79741, 10.2485, 13.2711", \ "4.85166, 5.54709, 6.71028, 8.81233, 10.2602, 13.2848", \ "4.85747, 5.55556, 6.715, 8.81963, 10.2664, 13.2902", \ "4.85844, 5.5575, 6.71562, 8.82111, 10.2668, 13.291", \ "4.85977, 5.55844, 6.71567, 8.82229, 10.2679, 13.2918"); } } } } /* ---------------- * * Design : CLKBUF2 * * ---------------- */ cell (CLKBUF2) { cell_footprint : buf; area : 936; cell_leakage_power : 0.558643; pin(A) { direction : input; capacitance : 0.0667747; rise_capacitance : 0.0664973; fall_capacitance : 0.0667747; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 1.85153; function : "A"; timing() { related_pin : "A"; timing_sense : positive_unate; cell_rise(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.372019, 0.398903, 0.418122, 0.443436, 0.455353, 0.470131", \ "0.546107, 0.571798, 0.594512, 0.618848, 0.628752, 0.644543", \ "0.847391, 0.87535, 0.895511, 0.920304, 0.92994, 0.945991", \ "1.62251, 1.65074, 1.67066, 1.69548, 1.70479, 1.72126", \ "2.05322, 2.08141, 2.10108, 2.12589, 2.13555, 2.15194", \ "2.48405, 2.51224, 2.53187, 2.55669, 2.5661, 2.58277"); } rise_transition(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.084, 0.087, 0.0828, 0.0852, 0.0876, 0.0852", \ "0.333, 0.333, 0.333, 0.333, 0.3324, 0.333", \ "0.7818, 0.7818, 0.7824, 0.7824, 0.7824, 0.7818", \ "1.941, 1.941, 1.9404, 1.9404, 1.941, 1.941", \ "2.5836, 2.5836, 2.5836, 2.5836, 2.5836, 2.5836", \ "3.2274, 3.2268, 3.2274, 3.2274, 3.2274, 3.2268"); } cell_fall(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.381695, 0.424124, 0.464899, 0.525359, 0.557132, 0.617115", \ "0.58061, 0.623064, 0.667135, 0.728582, 0.75901, 0.818559", \ "0.925943, 0.968512, 1.01115, 1.07255, 1.10294, 1.16247", \ "1.81004, 1.85261, 1.89503, 1.95622, 1.98677, 2.04612", \ "2.30097, 2.34339, 2.38614, 2.44738, 2.47775, 2.53735", \ "2.79146, 2.8341, 2.8768, 2.93843, 2.96869, 3.02789"); } fall_transition(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.081, 0.0834, 0.0846, 0.0834, 0.0852, 0.0846", \ "0.333, 0.333, 0.333, 0.3318, 0.3336, 0.333", \ "0.783, 0.783, 0.783, 0.783, 0.783, 0.783", \ "1.9434, 1.9434, 1.9434, 1.9428, 1.9434, 1.9434", \ "2.589, 2.589, 2.589, 2.589, 2.5884, 2.5884", \ "3.2334, 3.2334, 3.2334, 3.2334, 3.2334, 3.2334"); } } internal_power() { related_pin : "A"; rise_power(energy_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "5.52555, 6.08091, 7.19304, 9.25987, 10.7011, 13.818", \ "5.56934, 6.14778, 7.31021, 9.3843, 10.8323, 13.8603", \ "5.58129, 6.16543, 7.31153, 9.38554, 10.8395, 13.8751", \ "5.58765, 6.17374, 7.3129, 9.38729, 10.8426, 13.8821", \ "5.58912, 6.1762, 7.31315, 9.38786, 10.8445, 13.8833", \ "5.59118, 6.17613, 7.31336, 9.3884, 10.8441, 13.8854"); } fall_power(energy_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "7.1577, 7.87162, 8.97121, 11.1352, 12.5324, 15.5151", \ "7.23306, 7.95283, 9.0226, 11.1843, 12.6197, 15.6133", \ "7.2375, 7.94903, 9.0341, 11.1968, 12.6313, 15.6246", \ "7.24398, 7.95517, 9.04048, 11.2027, 12.6375, 15.6294", \ "7.24468, 7.95589, 9.04172, 11.2033, 12.6386, 15.6305", \ "7.24619, 7.9574, 9.04256, 11.2056, 12.6398, 15.6312"); } } } } /* ---------------- * * Design : CLKBUF3 * * ---------------- */ cell (CLKBUF3) { cell_footprint : buf; area : 1224; cell_leakage_power : 0.759446; pin(A) { direction : input; capacitance : 0.0668053; rise_capacitance : 0.0665051; fall_capacitance : 0.0668053; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 1.85038; function : "A"; timing() { related_pin : "A"; timing_sense : positive_unate; cell_rise(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.490149, 0.519458, 0.53729, 0.562904, 0.574298, 0.588053", \ "0.664121, 0.692798, 0.710479, 0.735212, 0.746007, 0.763925", \ "0.968826, 0.999965, 1.01188, 1.03665, 1.04685, 1.06528", \ "1.74431, 1.77537, 1.78713, 1.81181, 1.8221, 1.84064", \ "2.1749, 2.2059, 2.21779, 2.24212, 2.25235, 2.2711", \ "2.60541, 2.63651, 2.64862, 2.6728, 2.68315, 2.7019"); } rise_transition(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.0852, 0.0828, 0.0822, 0.0846, 0.0846, 0.0852", \ "0.3324, 0.333, 0.333, 0.333, 0.3324, 0.3324", \ "0.7824, 0.7824, 0.7818, 0.7824, 0.7818, 0.7824", \ "1.9404, 1.9398, 1.941, 1.9404, 1.9404, 1.9404", \ "2.5836, 2.5842, 2.5836, 2.5836, 2.5836, 2.5836", \ "3.2274, 3.2274, 3.2268, 3.2274, 3.2274, 3.2274"); } cell_fall(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.499249, 0.541933, 0.582432, 0.643913, 0.67457, 0.73444", \ "0.700886, 0.743824, 0.78728, 0.845529, 0.874714, 0.937293", \ "1.04482, 1.08786, 1.13109, 1.18945, 1.2188, 1.28107", \ "1.92855, 1.97153, 2.01488, 2.07315, 2.10271, 2.16466", \ "2.41976, 2.46255, 2.50594, 2.56438, 2.59371, 2.65591", \ "2.91039, 2.95338, 2.99681, 3.055, 3.08438, 3.1465"); } fall_transition(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.0846, 0.0852, 0.0846, 0.0846, 0.0828, 0.0852", \ "0.333, 0.3336, 0.333, 0.333, 0.3318, 0.333", \ "0.783, 0.783, 0.7824, 0.783, 0.783, 0.7824", \ "1.9434, 1.9434, 1.9434, 1.9434, 1.9434, 1.9434", \ "2.5884, 2.5884, 2.5884, 2.5884, 2.589, 2.5884", \ "3.2328, 3.2328, 3.2328, 3.2328, 3.2334, 3.2328"); } } internal_power() { related_pin : "A"; rise_power(energy_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "7.88836, 8.53591, 9.59582, 11.6228, 13.1598, 16.1504", \ "7.92389, 8.58368, 9.64339, 11.7337, 13.2038, 16.2678", \ "7.91904, 8.58243, 9.65661, 11.7374, 13.2073, 16.2716", \ "7.92603, 8.58816, 9.663, 11.7389, 13.2087, 16.2727", \ "7.9263, 8.58964, 9.66519, 11.7399, 13.2115, 16.2721", \ "7.92781, 8.58981, 9.66448, 11.7421, 13.2137, 16.2739"); } fall_power(energy_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "9.5159, 10.2284, 11.3367, 13.4659, 14.9356, 17.8706", \ "9.60708, 10.3125, 11.4202, 13.5623, 14.9847, 17.98", \ "9.61843, 10.3247, 11.4288, 13.5736, 14.9988, 17.9881", \ "9.62454, 10.3325, 11.4336, 13.5796, 15.0149, 17.9917", \ "9.62573, 10.3332, 11.4347, 13.581, 15.0161, 17.9916", \ "9.62735, 10.3357, 11.4349, 13.5806, 15.0159, 17.9951"); } } } } /* ----------------- * * Design : DFFNEGX1 * * ----------------- */ cell (DFFNEGX1) { area : 864; cell_leakage_power : 0.247166; ff (DS0000,P0002) { next_state : "D"; clocked_on : "(!CLK)"; } pin(CLK) { direction : input; capacitance : 0.0533315; rise_capacitance : 0.0528376; fall_capacitance : 0.0533315; clock : true; internal_power() { rise_power(passive_energy_template_6x1) { index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ("0.43048, 0.604166, 0.986856, 1.90386, 2.59977, 4.10376"); } fall_power(passive_energy_template_6x1) { index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ("1.22761, 1.56996, 2.08673, 3.00379, 3.65007, 4.99153"); } } min_pulse_width_high : 0.175165; min_pulse_width_low : 0.20336; } pin(D) { direction : input; capacitance : 0.015721; rise_capacitance : 0.0156555; fall_capacitance : 0.015721; internal_power() { rise_power(passive_energy_template_5x1) { index_1 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ("0.443641, 0.50145, 0.664591, 0.837859, 1.41454"); } fall_power(passive_energy_template_5x1) { index_1 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ("1.40409, 1.44941, 1.62063, 1.78882, 2.38589"); } } timing() { related_pin : "CLK"; timing_type : hold_falling; rise_constraint(hold_template_3x5) { index_1 ("0.06, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "-0.09375, -0.0875, -0.16875, -0.1125, -0.175", \ "-0.2, -0.19375, -0.18125, -0.21875, -0.28125", \ "-0.2625, -0.25625, -0.24375, -0.28125, -0.34375"); } fall_constraint(hold_template_3x5) { index_1 ("0.06, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "-0.09375, -0.0875, -0.16875, -0.20625, -0.26875", \ "-0.0125, -0.1, -0.0875, -0.125, -0.1875", \ "-0.075, -0.06875, -0.05625, -0.09375, -0.15625"); } } timing() { related_pin : "CLK"; timing_type : setup_falling; rise_constraint(setup_template_3x5) { index_1 ("0.06, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.28125, 0.36875, 0.35625, 0.39375, 0.45625", \ "0.29375, 0.38125, 0.36875, 0.40625, 0.46875", \ "0.45, 0.5375, 0.43125, 0.46875, 0.53125"); } fall_constraint(setup_template_3x5) { index_1 ("0.06, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.375, 0.36875, 0.35625, 0.39375, 0.55", \ "0.3875, 0.38125, 0.36875, 0.40625, 0.5625", \ "0.35625, 0.35, 0.43125, 0.46875, 0.53125"); } } } pin(Q) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.897488; function : "DS0000"; timing() { related_pin : "CLK"; timing_sense : non_unate; timing_type : falling_edge; cell_rise(delay_template_5x6) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.265606, 0.304731, 0.352577, 0.40608, 0.437106, 0.48837", \ "0.295763, 0.335311, 0.380186, 0.435702, 0.467178, 0.518194", \ "0.346039, 0.386532, 0.430955, 0.4859, 0.51727, 0.56866", \ "0.52807, 0.568106, 0.611551, 0.66646, 0.69805, 0.749601", \ "0.786911, 0.827389, 0.870608, 0.92511, 0.956446, 1.00945"); } rise_transition(delay_template_5x6) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.1044, 0.1056, 0.0984, 0.1002, 0.0984, 0.102", \ "0.1332, 0.132, 0.1254, 0.1272, 0.1308, 0.1314", \ "0.1884, 0.1872, 0.186, 0.1848, 0.1848, 0.1872", \ "0.4284, 0.4278, 0.4272, 0.4266, 0.4272, 0.4272", \ "0.8058, 0.8058, 0.8058, 0.8052, 0.8052, 0.8052"); } cell_fall(delay_template_5x6) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.235277, 0.283427, 0.340808, 0.425355, 0.477691, 0.564328", \ "0.270359, 0.316342, 0.373862, 0.459096, 0.512145, 0.599663", \ "0.330298, 0.375374, 0.433589, 0.518356, 0.571781, 0.662747", \ "0.536426, 0.580473, 0.637617, 0.722938, 0.777084, 0.871917", \ "0.831293, 0.874954, 0.930885, 1.01519, 1.06951, 1.16509"); } fall_transition(delay_template_5x6) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.1044, 0.108, 0.1176, 0.1302, 0.1458, 0.1662", \ "0.1332, 0.132, 0.1422, 0.162, 0.1734, 0.1938", \ "0.1908, 0.1914, 0.198, 0.2124, 0.2262, 0.2454", \ "0.4272, 0.4266, 0.4302, 0.4404, 0.4464, 0.4644", \ "0.8052, 0.8052, 0.8058, 0.8106, 0.8142, 0.8262"); } } internal_power() { related_pin : "CLK"; rise_power(energy_template_5x6) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "2.25786, 2.61013, 3.12931, 4.07246, 4.75188, 6.11166", \ "2.19775, 2.5463, 3.05916, 4.01875, 4.69684, 6.05818", \ "2.12673, 2.4957, 3.01207, 3.96698, 4.63384, 6.00788", \ "2.06455, 2.43306, 2.95708, 3.90463, 4.58082, 5.93222", \ "2.0415, 2.41186, 2.93678, 3.88355, 4.55874, 5.91238"); } fall_power(energy_template_5x6) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "2.18124, 2.60271, 3.34009, 4.72039, 5.68145, 7.55723", \ "2.12656, 2.54763, 3.26945, 4.61282, 5.57744, 7.45269", \ "2.08877, 2.49861, 3.19695, 4.49854, 5.45425, 7.31935", \ "2.05808, 2.45292, 3.11699, 4.35281, 5.26033, 7.09736", \ "2.04235, 2.4338, 3.08269, 4.28931, 5.17274, 6.96379"); } } } } /* ----------------- * * Design : DFFPOSX1 * * ----------------- */ cell (DFFPOSX1) { area : 864; cell_leakage_power : 0.243265; ff (DS0000,P0002) { next_state : "D"; clocked_on : "CLK"; } pin(CLK) { direction : input; capacitance : 0.049929; rise_capacitance : 0.049929; fall_capacitance : 0.0499011; clock : true; internal_power() { rise_power(passive_energy_template_6x1) { index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ("0.183508, 0.139904, 0.615529, 1.5152, 2.17053, 3.47363"); } fall_power(passive_energy_template_6x1) { index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ("1.53983, 1.93563, 2.53013, 3.60642, 4.36464, 5.88175"); } } min_pulse_width_high : 0.203847; min_pulse_width_low : 0.179122; } pin(D) { direction : input; capacitance : 0.0156852; rise_capacitance : 0.015643; fall_capacitance : 0.0156852; internal_power() { rise_power(passive_energy_template_5x1) { index_1 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ("0.556912, 0.602656, 0.78662, 0.940539, 1.52959"); } fall_power(passive_energy_template_5x1) { index_1 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ("1.27049, 1.31497, 1.49231, 1.66671, 2.27263"); } } timing() { related_pin : "CLK"; timing_type : hold_rising; rise_constraint(hold_template_3x5) { index_1 ("0.06, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "-0.09375, -0.0875, -0.075, -0.1125, -0.175", \ "-0.10625, -0.1, -0.0875, -0.125, -0.09375", \ "-0.075, -0.06875, -0.15, -0.09375, -0.0625"); } fall_constraint(hold_template_3x5) { index_1 ("0.06, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "-0.09375, -0.0875, -0.16875, -0.20625, -0.26875", \ "-0.2, -0.19375, -0.275, -0.3125, -0.375", \ "-0.2625, -0.25625, -0.3375, -0.375, -0.4375"); } } timing() { related_pin : "CLK"; timing_type : setup_rising; rise_constraint(setup_template_3x5) { index_1 ("0.06, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.28125, 0.36875, 0.35625, 0.39375, 0.3625", \ "0.3875, 0.38125, 0.36875, 0.40625, 0.46875", \ "0.45, 0.5375, 0.525, 0.5625, 0.625"); } fall_constraint(setup_template_3x5) { index_1 ("0.06, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.28125, 0.36875, 0.35625, 0.39375, 0.45625", \ "0.29375, 0.38125, 5.9, 0.40625, 0.46875", \ "0.45, 0.44375, 0.43125, 0.46875, 5.5"); } } } pin(Q) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.896771; function : "DS0000"; timing() { related_pin : "CLK"; timing_sense : non_unate; timing_type : rising_edge; cell_rise(delay_template_5x6) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.210303, 0.241522, 0.261631, 0.268296, 0.258043, 0.216218", \ "0.240095, 0.270575, 0.291189, 0.298091, 0.289631, 0.249579", \ "0.291978, 0.322347, 0.343279, 0.350262, 0.34206, 0.304495", \ "0.474691, 0.503172, 0.524078, 0.531806, 0.523264, 0.487319", \ "0.733757, 0.761487, 0.78242, 0.789389, 0.781123, 0.748001"); } rise_transition(delay_template_5x6) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.1044, 0.1032, 0.1164, 0.1338, 0.1416, 0.1614", \ "0.1308, 0.135, 0.1416, 0.159, 0.1692, 0.1896", \ "0.1848, 0.1884, 0.1962, 0.2112, 0.2202, 0.2388", \ "0.4278, 0.4284, 0.432, 0.4404, 0.4476, 0.4632", \ "0.8058, 0.8052, 0.8064, 0.8124, 0.8172, 0.8292"); } cell_fall(delay_template_5x6) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.303149, 0.322627, 0.347188, 0.368888, 0.378125, 0.386128", \ "0.337858, 0.356312, 0.380282, 0.401886, 0.41091, 0.419264", \ "0.396682, 0.416244, 0.438962, 0.46015, 0.469605, 0.478097", \ "0.603284, 0.622428, 0.64428, 0.666224, 0.674929, 0.684876", \ "0.898338, 0.917426, 0.939281, 0.96087, 0.969525, 0.98112"); } fall_transition(delay_template_5x6) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.1062, 0.1098, 0.1002, 0.1032, 0.0996, 0.1002", \ "0.1344, 0.132, 0.1314, 0.132, 0.132, 0.1332", \ "0.189, 0.1908, 0.1878, 0.1872, 0.1902, 0.189", \ "0.4272, 0.4266, 0.4266, 0.4266, 0.4278, 0.429", \ "0.8052, 0.8058, 0.8052, 0.8052, 0.8046, 0.807"); } } internal_power() { related_pin : "CLK"; rise_power(energy_template_5x6) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.738447, 1.13955, 1.81255, 3.06436, 3.94466, 5.6651", \ "0.682919, 1.06968, 1.73359, 2.96785, 3.83555, 5.5528", \ "0.628524, 1.01355, 1.64626, 2.85289, 3.71358, 5.40924", \ "0.587532, 0.95378, 1.55083, 2.67643, 3.51508, 5.19076", \ "0.568173, 0.925679, 1.50894, 2.60253, 3.41433, 5.06145"); } fall_power(energy_template_5x6) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.901564, 1.19181, 1.68846, 2.61034, 3.29825, 4.65361", \ "0.84858, 1.13986, 1.63259, 2.56306, 3.23363, 4.58751", \ "0.802682, 1.09744, 1.60019, 2.52049, 3.18799, 4.54508", \ "0.767736, 1.06134, 1.55728, 2.47799, 3.14439, 4.49318", \ "0.752786, 1.04649, 1.54374, 2.46449, 3.12926, 4.47698"); } } } } /* -------------- * * Design : DFFSR * * -------------- */ cell (DFFSR) { area : 1584; cell_leakage_power : 0.532978; ff (P0002,P0003) { next_state : "D"; clocked_on : "CLK"; clear : "(!R)"; preset : "(!S)"; clear_preset_var1 : L; } pin(CLK) { direction : input; capacitance : 0.0161478; rise_capacitance : 0.0161127; fall_capacitance : 0.0161478; clock : true; internal_power() { rise_power(passive_energy_template_6x1) { index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ("0.533084, 0.64859, 0.872439, 1.29672, 1.60272, 2.23251"); } fall_power(passive_energy_template_6x1) { index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ("1.59914, 1.73861, 1.95938, 2.42184, 2.74605, 3.39366"); } } min_pulse_width_high : 0.488409; min_pulse_width_low : 0.332997; } pin(D) { direction : input; capacitance : 0.0162024; rise_capacitance : 0.0161472; fall_capacitance : 0.0162024; internal_power() { rise_power(passive_energy_template_6x1) { index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ("1.06131, 1.19865, 1.41985, 1.85576, 2.17858, 2.86795"); } fall_power(passive_energy_template_6x1) { index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ("1.58853, 1.70659, 1.95734, 2.4411, 2.79646, 3.5042"); } } timing() { related_pin : "CLK"; timing_type : hold_rising; when : "S&R"; sdf_cond : "S\&R"; rise_constraint(hold_template_3x6) { index_1 ("0.06, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0, -0.0375, -0.11875, -0.14375, -0.175, -0.2375", \ "-0.0125, -0.05, -0.0375, -0.15625, -0.1875, -0.15625", \ "0.01875, -0.01875, -0.1, -0.125, -0.15625, -0.21875"); } fall_constraint(hold_template_3x6) { index_1 ("0.06, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.09375, 0.05625, -0.025, -0.05, -0.08125, -0.14375", \ "0.08125, 0.04375, 0.05625, -0.0625, -0.09375, -0.0625", \ "0.1125, 0.16875, 0.0875, 0.0625, 0.03125, -0.125"); } } timing() { related_pin : "CLK"; timing_type : setup_rising; when : "S&R"; sdf_cond : "S\&R"; rise_constraint(setup_template_3x6) { index_1 ("0.06, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.1875, 0.225, 0.2125, 0.33125, 0.3625, 0.425", \ "0.10625, 0.14375, 0.225, 0.25, 0.28125, 0.34375", \ "0.16875, 0.20625, 0.19375, 0.21875, 0.25, 0.3125"); } fall_constraint(setup_template_3x6) { index_1 ("0.06, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.09375, 0.13125, 0.2125, 0.2375, 0.26875, 0.33125", \ "0.10625, 0.14375, 0.225, 0.25, 0.28125, 0.34375", \ "0.075, 0.1125, 0.19375, 0.21875, 0.25, 0.3125"); } } } pin(Q) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.408128; function : "P0002"; timing() { related_pin : "CLK"; timing_sense : non_unate; timing_type : rising_edge; cell_rise(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.573866, 0.613176, 0.655984, 0.714226, 0.742853, 0.794575", \ "1.29445, 1.33373, 1.3766, 1.43492, 1.46396, 1.51551", \ "2.55414, 2.59348, 2.63587, 2.6946, 2.72373, 2.77505", \ "5.79314, 5.83241, 5.87514, 5.93343, 5.96176, 6.01425", \ "7.5931, 7.63237, 7.67518, 7.73353, 7.76191, 7.81415", \ "9.39247, 9.43174, 9.47303, 9.53288, 9.562, 9.61348"); } rise_transition(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.291, 0.291, 0.291, 0.2916, 0.2904, 0.291", \ "1.3536, 1.3536, 1.3536, 1.3536, 1.3536, 1.3536", \ "3.2346, 3.2346, 3.2346, 3.2346, 3.2346, 3.2346", \ "8.0712, 8.0712, 8.0712, 8.0712, 8.0718, 8.0706", \ "10.7562, 10.7562, 10.7562, 10.7562, 10.758, 10.7568", \ "13.443, 13.443, 13.4472, 13.4436, 13.4448, 13.443"); } cell_fall(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.652297, 0.688969, 0.731579, 0.782333, 0.809637, 0.850367", \ "1.53586, 1.57254, 1.61549, 1.66614, 1.69348, 1.73373", \ "3.0819, 3.11825, 3.16119, 3.21197, 3.23944, 3.27961", \ "7.05664, 7.09318, 7.13613, 7.18652, 7.21418, 7.25432", \ "9.26432, 9.30186, 9.34482, 9.39504, 9.42123, 9.46198", \ "11.4734, 11.5091, 11.552, 11.6041, 11.6309, 11.6711"); } fall_transition(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.3054, 0.306, 0.3048, 0.3054, 0.306, 0.3054", \ "1.4568, 1.4574, 1.4574, 1.4568, 1.4574, 1.4574", \ "3.4848, 3.4848, 3.4848, 3.4848, 3.4848, 3.4842", \ "8.6994, 8.6976, 8.6976, 8.6982, 8.6994, 8.6994", \ "11.5956, 11.5932, 11.5932, 11.5938, 11.595, 11.5956", \ "14.4882, 14.4924, 14.4924, 14.4894, 14.4888, 14.4882"); } } timing() { related_pin : "R"; timing_sense : positive_unate; timing_type : clear; cell_rise(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.32923, 0.32424, 0.31922, 0.298039, 0.272872, 0.210149", \ "1.05001, 1.04429, 1.03913, 1.02237, 1.00443, 0.961593", \ "2.3096, 2.30362, 2.29853, 2.28091, 2.26278, 2.2205", \ "5.54809, 5.54303, 5.53711, 5.51981, 5.50103, 5.45706", \ "7.34778, 7.34256, 7.33732, 7.31937, 7.30081, 7.25725", \ "9.14753, 9.14253, 9.1367, 9.11851, 9.09828, 9.05603"); } rise_transition(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.2856, 0.2868, 0.2934, 0.3072, 0.3174, 0.3336", \ "1.3536, 1.3536, 1.3536, 1.356, 1.3602, 1.3776", \ "3.2346, 3.2352, 3.2346, 3.2346, 3.2352, 3.2376", \ "8.0724, 8.0706, 8.0724, 8.0694, 8.0712, 8.0718", \ "10.7586, 10.7574, 10.7562, 10.7574, 10.7568, 10.7568", \ "13.4466, 13.4442, 13.4436, 13.4466, 13.4478, 13.4478"); } cell_fall(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.40782, 0.469834, 0.553986, 0.686965, 0.77489, 0.926916", \ "1.29173, 1.35311, 1.43532, 1.56495, 1.64896, 1.80245", \ "2.83757, 2.89908, 2.98085, 3.10968, 3.19332, 3.34563", \ "6.81244, 6.87364, 6.95546, 7.084, 7.16725, 7.3192", \ "9.02052, 9.08236, 9.16271, 9.29202, 9.37504, 9.52728", \ "11.2282, 11.2906, 11.3722, 11.4997, 11.5832, 11.7352"); } fall_transition(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.3066, 0.306, 0.3069, 0.3093, 0.3138, 0.3213", \ "1.4565, 1.4565, 1.4568, 1.4565, 1.4571, 1.4583", \ "3.4842, 3.4839, 3.4833, 3.4839, 3.4836, 3.4839", \ "8.6979, 8.6976, 8.6979, 8.6979, 8.6976, 8.6982", \ "11.5935, 11.5929, 11.5932, 11.5947, 11.5947, 11.5944", \ "14.4891, 14.4906, 14.4888, 14.49, 14.4918, 14.4897"); } } timing() { related_pin : "S"; timing_sense : negative_unate; timing_type : preset; cell_rise(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.463437, 0.517037, 0.57933, 0.679292, 0.743623, 0.858841", \ "1.18362, 1.23865, 1.30004, 1.39947, 1.46366, 1.5784", \ "2.44307, 2.4983, 2.55977, 2.65878, 2.72336, 2.83787", \ "5.68203, 5.73599, 5.79805, 5.89815, 5.96192, 6.07673", \ "7.4807, 7.53452, 7.59867, 7.69806, 7.76148, 7.87684", \ "9.28009, 9.33419, 9.3981, 9.49752, 9.55964, 9.67629"); } rise_transition(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.2871, 0.2871, 0.2874, 0.2883, 0.288, 0.2898", \ "1.3533, 1.3536, 1.3536, 1.3536, 1.3533, 1.3533", \ "3.2346, 3.2349, 3.2346, 3.2346, 3.2346, 3.2343", \ "8.0715, 8.0712, 8.0718, 8.0709, 8.0712, 8.0712", \ "10.7604, 10.7604, 10.7562, 10.7562, 10.758, 10.7562", \ "13.4472, 13.4472, 13.4436, 13.443, 13.4478, 13.4436"); } } internal_power() { related_pin : "CLK"; rise_power(energy_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "2.08141, 2.18952, 2.42948, 2.89115, 3.22293, 3.90308", \ "2.07713, 2.18521, 2.42592, 2.88704, 3.21934, 3.90205", \ "2.07653, 2.18536, 2.42632, 2.88654, 3.22006, 3.90205", \ "2.07946, 2.18796, 2.4276, 2.89043, 3.2205, 3.90555", \ "2.07995, 2.18803, 2.42927, 2.89068, 3.22266, 3.90807", \ "2.08132, 2.18861, 2.43034, 2.89094, 3.22096, 3.91014"); } fall_power(energy_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "1.85143, 1.97358, 2.1981, 2.64177, 2.94988, 3.60177", \ "1.85234, 1.96648, 2.20018, 2.64376, 2.95145, 3.60189", \ "1.8539, 1.96721, 2.20162, 2.64488, 2.95307, 3.60263", \ "1.85341, 1.96892, 2.20245, 2.64631, 2.95448, 3.60164", \ "1.85549, 1.96944, 2.20408, 2.6469, 2.95483, 3.60365", \ "1.85463, 1.96702, 2.20272, 2.64757, 2.9543, 3.60432"); } } internal_power() { related_pin : "R"; rise_power(energy_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.540841, 0.858627, 1.46125, 2.57686, 3.39555, 5.06212", \ "0.541809, 0.857503, 1.44739, 2.54238, 3.34595, 4.97569", \ "0.543116, 0.859338, 1.44704, 2.5366, 3.33505, 4.95529", \ "0.545225, 0.860908, 1.44925, 2.53482, 3.32966, 4.94629", \ "0.544411, 0.865325, 1.44705, 2.53352, 3.32919, 4.94674", \ "0.546808, 0.86465, 1.44665, 2.53122, 3.32987, 4.94405"); } fall_power(energy_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "2.07839, 2.44842, 3.10475, 4.18568, 4.86251, 6.02632", \ "2.07957, 2.44625, 3.09266, 4.14788, 4.81134, 5.9572", \ "2.08021, 2.44745, 3.09216, 4.14372, 4.80416, 5.94547", \ "2.08037, 2.44766, 3.09184, 4.14268, 4.80147, 5.94312", \ "2.07952, 2.4473, 3.09178, 4.14358, 4.80194, 5.94337", \ "2.08075, 2.44503, 3.09326, 4.14357, 4.80106, 5.9429"); } } internal_power() { related_pin : "S"; power(energy_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "2.06608, 2.349, 2.83626, 3.76572, 4.37409, 5.50456", \ "2.06327, 2.34828, 2.83433, 3.76073, 4.36721, 5.49504", \ "2.06361, 2.3497, 2.83553, 3.76117, 4.36687, 5.49494", \ "2.06528, 2.35224, 2.83623, 3.76414, 4.36664, 5.49468", \ "2.06287, 2.35455, 2.83688, 3.76482, 4.3669, 5.49524", \ "2.06527, 2.35404, 2.83651, 3.76557, 4.36575, 5.49696"); } } } pin(R) { direction : input; capacitance : 0.0430178; rise_capacitance : 0.0430178; fall_capacitance : 0.0386243; min_pulse_width_low : 0.22713; timing() { related_pin : "CLK"; timing_type : recovery_rising; when : "D&S"; sdf_cond : "D\&S"; rise_constraint(recovery_template_3x6) { index_1 ("0.06, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "-0.1875, -0.15, -0.1625, -0.04375, 0.08125, 0.2375", \ "-0.175, -0.23125, -0.15, -0.125, 0, 0.25", \ "-0.20625, -0.2625, -0.18125, -0.0625, -0.03125, 0.125"); } } timing() { related_pin : "S"; timing_type : recovery_rising; rise_constraint(recovery_template_6x6) { index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0, 0.05625, 0.06875, 0.1375, 0.10625, 0.23125", \ "0.0375, 0.046875, 0.0125, 0.08125, 0.14375, 0.26875", \ "0.025, 0.034375, 0.046875, 0.06875, 0.13125, 0.209375", \ "0.003125, 0.0125, 0.025, 0.09375, 0.109375, 0.1875", \ "-0.059375, -0.003125, -0.0375, 0.03125, 0.09375, 0.171875", \ "-0.090625, -0.034375, -0.06875, 0, 0.015625, 0.140625"); } } timing() { related_pin : "CLK"; timing_type : removal_rising; when : "D&S"; sdf_cond : "D\&S"; rise_constraint(removal_template_3x6) { index_1 ("0.06, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.28125, 0.3375, 0.35, 0.41875, 0.48125, 0.60625", \ "0.3625, 0.41875, 0.43125, 0.5, 0.5625, 0.59375", \ "0.39375, 0.45, 0.4625, 0.53125, 0.59375, 0.71875"); } } } pin(S) { direction : input; capacitance : 0.0391758; rise_capacitance : 0.0267845; fall_capacitance : 0.0391758; internal_power() { rise_power(passive_energy_template_6x1) { index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ("0.516746, 0.520821, 0.516314, 0.497548, 0.51356, 0.50767"); } fall_power(passive_energy_template_6x1) { index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ("0, 0, 0, 0, 0, 0"); } } min_pulse_width_low : 0.264082; timing() { related_pin : "CLK"; timing_type : recovery_rising; when : "!D&R"; sdf_cond : "\~D\&R"; rise_constraint(recovery_template_3x6) { index_1 ("0.06, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0, 0.0375, 0.025, 0.05, 0.08125, 0.2375", \ "-0.08125, -0.04375, -0.05625, 0.0625, 0, 0.15625", \ "-0.1125, -0.075, -0.0875, 0.03125, 0.0625, 0.125"); } } timing() { related_pin : "R"; timing_type : recovery_rising; rise_constraint(recovery_template_6x6) { index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.09375, 0.05625, 0.06875, 0.090625, 0.153125, 0.184375", \ "0.0375, 0.09375, 0.059375, 0.08125, 0.096875, 0.128125", \ "0.025, 0.08125, 0.09375, 0.06875, 0.13125, 0.1625", \ "0.003125, 0.0125, 0.025, 0.046875, 0.0625, 0.09375", \ "-0.0125, -0.003125, 0.009375, -0.015625, 0.046875, 0.078125", \ "-0.090625, -0.08125, -0.06875, -0.046875, -0.03125, 0"); } } timing() { related_pin : "CLK"; timing_type : removal_rising; when : "!D&R"; sdf_cond : "\~D\&R"; rise_constraint(removal_template_3x6) { index_1 ("0.06, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.1875, 0.15, 0.1625, 0.1375, 0.10625, 0.1375", \ "0.175, 0.1375, 0.15, 0.125, 0.1875, 0.125", \ "0.3, 0.2625, 0.18125, 0.15625, 0.21875, 0.15625"); } } } } /* ------------- * * Design : FAX1 * * ------------- */ cell (FAX1) { area : 1080; cell_leakage_power : 0.364299; pin(A) { direction : input; capacitance : 0.123442; rise_capacitance : 0.122014; fall_capacitance : 0.123442; } pin(B) { direction : input; capacitance : 0.111035; rise_capacitance : 0.111035; fall_capacitance : 0.105217; } pin(C) { direction : input; capacitance : 0.0786577; rise_capacitance : 0.0786577; fall_capacitance : 0.0784684; } pin(YC) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.408882; function : "(((A B)+(B C))+(C A))"; timing() { related_pin : "A"; timing_sense : positive_unate; cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.242292, 0.246603, 0.268885, 0.28311, 0.310866", \ "0.296314, 0.300633, 0.323201, 0.337781, 0.37052", \ "0.39527, 0.399189, 0.42212, 0.437668, 0.476229", \ "0.76302, 0.766332, 0.788868, 0.804417, 0.848294", \ "1.30322, 1.30665, 1.32873, 1.34374, 1.38665"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1095, 0.1092, 0.1164, 0.1239, 0.1446", \ "0.1683, 0.1707, 0.1761, 0.1809, 0.2055", \ "0.2994, 0.2988, 0.303, 0.306, 0.3285", \ "0.8226, 0.8229, 0.8232, 0.825, 0.8355", \ "1.623, 1.623, 1.623, 1.6236, 1.6263"); } cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.269289, 0.28515, 0.333894, 0.368482, 0.468653", \ "0.336013, 0.351981, 0.400635, 0.435701, 0.541894", \ "0.456213, 0.471545, 0.519905, 0.555166, 0.667397", \ "0.900977, 0.915844, 0.962475, 0.997684, 1.11037", \ "1.56322, 1.57805, 1.62408, 1.65882, 1.76893"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1167, 0.1176, 0.123, 0.1293, 0.1572", \ "0.1842, 0.1821, 0.1887, 0.195, 0.2238", \ "0.3186, 0.3186, 0.321, 0.3258, 0.3492", \ "0.8805, 0.8805, 0.8808, 0.8814, 0.8877", \ "1.7466, 1.7469, 1.7466, 1.7466, 1.7481"); } } timing() { related_pin : "B"; timing_sense : positive_unate; cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.252597, 0.261402, 0.287423, 0.302068, 0.332683", \ "0.306967, 0.315322, 0.342951, 0.35833, 0.393014", \ "0.405846, 0.41439, 0.444381, 0.460933, 0.499274", \ "0.774223, 0.782436, 0.811945, 0.8305, 0.874711", \ "1.31399, 1.32252, 1.35163, 1.36956, 1.41534"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1083, 0.1077, 0.1143, 0.1209, 0.1392", \ "0.1689, 0.1695, 0.1779, 0.18, 0.1998", \ "0.2994, 0.2997, 0.3045, 0.3102, 0.327", \ "0.8232, 0.8229, 0.8238, 0.8262, 0.837", \ "1.623, 1.623, 1.6227, 1.6233, 1.6281"); } cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.280266, 0.300866, 0.352232, 0.386423, 0.490973", \ "0.348225, 0.369756, 0.422647, 0.458228, 0.56571", \ "0.469882, 0.491171, 0.544898, 0.582938, 0.695301", \ "0.916161, 0.937476, 0.990275, 1.02887, 1.14758", \ "1.57818, 1.59964, 1.65194, 1.69001, 1.8075"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1188, 0.1194, 0.1305, 0.1332, 0.1521", \ "0.1872, 0.1875, 0.198, 0.2034, 0.2241", \ "0.3216, 0.3225, 0.3276, 0.3354, 0.3552", \ "0.8823, 0.8823, 0.8829, 0.8841, 0.8952", \ "1.7469, 1.7469, 1.7469, 1.7469, 1.7502"); } } timing() { related_pin : "C"; timing_sense : positive_unate; cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.233744, 0.255656, 0.294191, 0.316125, 0.364591", \ "0.287421, 0.310044, 0.349861, 0.371061, 0.422201", \ "0.387065, 0.408897, 0.450463, 0.472899, 0.527056", \ "0.754693, 0.776207, 0.816357, 0.839473, 0.895593", \ "1.29468, 1.31606, 1.35531, 1.37852, 1.43484"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.108, 0.1086, 0.1107, 0.1182, 0.1386", \ "0.1698, 0.1701, 0.1761, 0.1791, 0.1986", \ "0.2988, 0.2994, 0.303, 0.3075, 0.3225", \ "0.8223, 0.8223, 0.8223, 0.8235, 0.8304", \ "1.6224, 1.6224, 1.6224, 1.6224, 1.6254"); } cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.260837, 0.292746, 0.360159, 0.404097, 0.531034", \ "0.328878, 0.359592, 0.428584, 0.472935, 0.602672", \ "0.450662, 0.481333, 0.549774, 0.594844, 0.726969", \ "0.897233, 0.928071, 0.994943, 1.03975, 1.17282", \ "1.55947, 1.59025, 1.6566, 1.70107, 1.83201"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1188, 0.1176, 0.1236, 0.1314, 0.1512", \ "0.1863, 0.1863, 0.195, 0.2001, 0.2181", \ "0.3228, 0.3222, 0.3255, 0.3303, 0.3459", \ "0.8826, 0.8826, 0.8826, 0.8832, 0.8901", \ "1.7469, 1.7472, 1.7472, 1.7472, 1.7487"); } } internal_power() { related_pin : "A"; rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.010739, 0.040504, 0.244642, 0.444822, 1.18646", \ "0.010661, 0.037955, 0.244643, 0.436291, 1.15249", \ "0.007331, 0.033337, 0.234699, 0.422407, 1.12231", \ "0.00211, 0.026926, 0.224644, 0.406084, 1.0852", \ "-0.000559, 0.024226, 0.221085, 0.400663, 1.07115"); } fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "2.08822, 2.12027, 2.34309, 2.5481, 3.29771", \ "2.08638, 2.11545, 2.3342, 2.53707, 3.26308", \ "2.08414, 2.11124, 2.32445, 2.52405, 3.24458", \ "2.08221, 2.1079, 2.31656, 2.51119, 3.2123", \ "2.08134, 2.10645, 2.31447, 2.50735, 3.20041"); } } internal_power() { related_pin : "B"; rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.255228, 0.256598, 0.412717, 0.563576, 1.16624", \ "0.256534, 0.257108, 0.408427, 0.558628, 1.13546", \ "0.254562, 0.253053, 0.40245, 0.547476, 1.11121", \ "0.249552, 0.247497, 0.392987, 0.535276, 1.08325", \ "0.246437, 0.245499, 0.389727, 0.531843, 1.07292"); } fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.94495, 1.95578, 2.12986, 2.29079, 2.9021", \ "1.94176, 1.95461, 2.12398, 2.28412, 2.87772", \ "1.9358, 1.94613, 2.11336, 2.27189, 2.86309", \ "1.93032, 1.94014, 2.10266, 2.25744, 2.83462", \ "1.92835, 1.93826, 2.09945, 2.25314, 2.82449"); } } internal_power() { related_pin : "C"; rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.469577, 0.493949, 0.632215, 0.765932, 1.30558", \ "0.467605, 0.492035, 0.627105, 0.757894, 1.27729", \ "0.466099, 0.490037, 0.619411, 0.749122, 1.25622", \ "0.464805, 0.488498, 0.612673, 0.739015, 1.23036", \ "0.464731, 0.488306, 0.611883, 0.736154, 1.2218"); } fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.64279, 1.67014, 1.83587, 1.97713, 2.52334", \ "1.63858, 1.66412, 1.82583, 1.96798, 2.49929", \ "1.62976, 1.65624, 1.81426, 1.95399, 2.4814", \ "1.62428, 1.65122, 1.80132, 1.9392, 2.45206", \ "1.62289, 1.64977, 1.79819, 1.93524, 2.44152"); } } } pin(YS) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.411416; function : "((A^B)^C)"; timing() { related_pin : "A"; timing_sense : non_unate; cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.362431, 0.377398, 0.424203, 0.454396, 0.545715", \ "0.41108, 0.42815, 0.472969, 0.504082, 0.594695", \ "0.50274, 0.520065, 0.565379, 0.596062, 0.686206", \ "0.862874, 0.879704, 0.925517, 0.956054, 1.04613", \ "1.40268, 1.41955, 1.46532, 1.49553, 1.58592"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1017, 0.0984, 0.0999, 0.0981, 0.1032", \ "0.1584, 0.159, 0.1599, 0.1605, 0.162", \ "0.2853, 0.2853, 0.2853, 0.2865, 0.2862", \ "0.8169, 0.8172, 0.8172, 0.8169, 0.8175", \ "1.6221, 1.6221, 1.6221, 1.6224, 1.6224"); } cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.383533, 0.388226, 0.409407, 0.423772, 0.451988", \ "0.446502, 0.451184, 0.472296, 0.486073, 0.513326", \ "0.562116, 0.566927, 0.588217, 0.601247, 0.627995", \ "1.00537, 1.01039, 1.03139, 1.0444, 1.07027", \ "1.66753, 1.67246, 1.69341, 1.70649, 1.73207"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1149, 0.1143, 0.1131, 0.1143, 0.1161", \ "0.1773, 0.1788, 0.1794, 0.1785, 0.18", \ "0.312, 0.3126, 0.3132, 0.3132, 0.3132", \ "0.8802, 0.8805, 0.8808, 0.8805, 0.8805", \ "1.7469, 1.7466, 1.7469, 1.7472, 1.7469"); } } timing() { related_pin : "B"; timing_sense : non_unate; cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.382649, 0.40016, 0.447348, 0.483762, 0.582925", \ "0.432687, 0.452006, 0.498207, 0.532544, 0.632118", \ "0.525962, 0.544593, 0.590847, 0.625689, 0.723475", \ "0.887201, 0.905637, 0.95212, 0.985969, 1.08282", \ "1.4275, 1.44585, 1.49223, 1.52564, 1.62223"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1053, 0.1056, 0.1056, 0.102, 0.1032", \ "0.1647, 0.1629, 0.1644, 0.1623, 0.1638", \ "0.2892, 0.2895, 0.2901, 0.288, 0.2871", \ "0.8184, 0.8184, 0.8184, 0.8184, 0.8178", \ "1.623, 1.6227, 1.623, 1.6227, 1.6224"); } cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.398666, 0.405198, 0.428581, 0.444208, 0.47717", \ "0.461919, 0.468628, 0.491478, 0.506179, 0.538525", \ "0.577429, 0.584285, 0.608242, 0.622243, 0.65293", \ "1.02077, 1.02778, 1.05178, 1.06578, 1.09491", \ "1.68269, 1.68997, 1.71389, 1.72907, 1.75689"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1167, 0.1173, 0.1164, 0.1158, 0.1152", \ "0.1782, 0.1788, 0.1785, 0.1779, 0.1782", \ "0.3132, 0.3132, 0.3132, 0.3123, 0.3123", \ "0.8802, 0.8805, 0.8805, 0.8805, 0.8799", \ "1.7469, 1.7469, 1.7469, 1.7469, 1.7472"); } } timing() { related_pin : "C"; timing_sense : non_unate; cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.37741, 0.405374, 0.463961, 0.504876, 0.619267", \ "0.426525, 0.455362, 0.513807, 0.554451, 0.667026", \ "0.519068, 0.547986, 0.606648, 0.646173, 0.75912", \ "0.87925, 0.907882, 0.967429, 1.00829, 1.12094", \ "1.41959, 1.44808, 1.50764, 1.54831, 1.66165"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1062, 0.1047, 0.1062, 0.1041, 0.1014", \ "0.1632, 0.1638, 0.1641, 0.1626, 0.1611", \ "0.2898, 0.2892, 0.2892, 0.2898, 0.2886", \ "0.8187, 0.8187, 0.8184, 0.819, 0.8214", \ "1.623, 1.623, 1.623, 1.6233, 1.6251"); } cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.375669, 0.39497, 0.425638, 0.445484, 0.491002", \ "0.435996, 0.455692, 0.487137, 0.504893, 0.549334", \ "0.548958, 0.569019, 0.6004, 0.619287, 0.661906", \ "0.991287, 1.01154, 1.04196, 1.06186, 1.10346", \ "1.65388, 1.67395, 1.70423, 1.72439, 1.76577"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.108, 0.1089, 0.108, 0.1026, 0.1056", \ "0.1725, 0.1731, 0.1716, 0.1695, 0.1701", \ "0.3072, 0.3072, 0.3066, 0.3072, 0.3063", \ "0.879, 0.879, 0.879, 0.8796, 0.8796", \ "1.7466, 1.7466, 1.7466, 1.7469, 1.7472"); } } internal_power() { related_pin : "A"; rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "2.08822, 2.12027, 2.34309, 2.5481, 3.29771", \ "2.08638, 2.11545, 2.3342, 2.53707, 3.26308", \ "2.08414, 2.11124, 2.32445, 2.52405, 3.24458", \ "2.08221, 2.1079, 2.31656, 2.51119, 3.2123", \ "2.08134, 2.10645, 2.31447, 2.50735, 3.20041"); } fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.010739, 0.040504, 0.244642, 0.444822, 1.18646", \ "0.010661, 0.037955, 0.244643, 0.436291, 1.15249", \ "0.007331, 0.033337, 0.234699, 0.422407, 1.12231", \ "0.00211, 0.026926, 0.224644, 0.406084, 1.0852", \ "-0.000559, 0.024226, 0.221085, 0.400663, 1.07115"); } } internal_power() { related_pin : "B"; rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.94495, 1.95578, 2.12986, 2.29079, 2.9021", \ "1.94176, 1.95461, 2.12398, 2.28412, 2.87772", \ "1.9358, 1.94613, 2.11336, 2.27189, 2.86309", \ "1.93032, 1.94014, 2.10266, 2.25744, 2.83462", \ "1.92835, 1.93826, 2.09945, 2.25314, 2.82449"); } fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.255228, 0.256598, 0.412717, 0.563576, 1.16624", \ "0.256534, 0.257108, 0.408427, 0.558628, 1.13546", \ "0.254562, 0.253053, 0.40245, 0.547476, 1.11121", \ "0.249552, 0.247497, 0.392987, 0.535276, 1.08325", \ "0.246437, 0.245499, 0.389727, 0.531843, 1.07292"); } } internal_power() { related_pin : "C"; rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.64279, 1.67014, 1.83587, 1.97713, 2.52334", \ "1.63858, 1.66412, 1.82583, 1.96798, 2.49929", \ "1.62976, 1.65624, 1.81426, 1.95399, 2.4814", \ "1.62428, 1.65122, 1.80132, 1.9392, 2.45206", \ "1.62289, 1.64977, 1.79819, 1.93524, 2.44152"); } fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.469577, 0.493949, 0.632215, 0.765932, 1.30558", \ "0.467605, 0.492035, 0.627105, 0.757894, 1.27729", \ "0.466099, 0.490037, 0.619411, 0.749122, 1.25622", \ "0.464805, 0.488498, 0.612673, 0.739015, 1.23036", \ "0.464731, 0.488306, 0.611883, 0.736154, 1.2218"); } } } } /* ------------- * * Design : HAX1 * * ------------- */ cell (HAX1) { area : 720; cell_leakage_power : 0.266037; pin(A) { direction : input; capacitance : 0.0473955; rise_capacitance : 0.0471036; fall_capacitance : 0.0473955; } pin(B) { direction : input; capacitance : 0.0377864; rise_capacitance : 0.0377864; fall_capacitance : 0.0375514; } pin(YC) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.412434; function : "(A B)"; timing() { related_pin : "A"; timing_sense : positive_unate; cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.176848, 0.17568, 0.176663, 0.167718, 0.116869", \ "0.226931, 0.226134, 0.228998, 0.22186, 0.174528", \ "0.320491, 0.32071, 0.323719, 0.318425, 0.277488", \ "0.682743, 0.682667, 0.685643, 0.680942, 0.650334", \ "1.22259, 1.22256, 1.22516, 1.21979, 1.18993"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0984, 0.0984, 0.1128, 0.1206, 0.1326", \ "0.1578, 0.1596, 0.1668, 0.174, 0.195", \ "0.288, 0.288, 0.2928, 0.2988, 0.3198", \ "0.8178, 0.8178, 0.8178, 0.8196, 0.834", \ "1.6218, 1.6218, 1.6218, 1.6218, 1.626"); } cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.234103, 0.27268, 0.360803, 0.421477, 0.605709", \ "0.296367, 0.334034, 0.42297, 0.483924, 0.67057", \ "0.409813, 0.447381, 0.535182, 0.596014, 0.78383", \ "0.852157, 0.889677, 0.976319, 1.03599, 1.22068", \ "1.5149, 1.55228, 1.63854, 1.6978, 1.88065"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1086, 0.1092, 0.1122, 0.1188, 0.1404", \ "0.1722, 0.171, 0.177, 0.1818, 0.1974", \ "0.3066, 0.3066, 0.3084, 0.309, 0.3204", \ "0.8784, 0.8784, 0.879, 0.8784, 0.8808", \ "1.7466, 1.7466, 1.7466, 1.7466, 1.7472"); } } timing() { related_pin : "B"; timing_sense : positive_unate; cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.174874, 0.191465, 0.206444, 0.211398, 0.206628", \ "0.226284, 0.242661, 0.258652, 0.264901, 0.261197", \ "0.319614, 0.3357, 0.35434, 0.360841, 0.361721", \ "0.681652, 0.697298, 0.716009, 0.724065, 0.729389", \ "1.22144, 1.23708, 1.25536, 1.26337, 1.26998"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0972, 0.1008, 0.105, 0.1122, 0.1326", \ "0.1584, 0.159, 0.1656, 0.1716, 0.1896", \ "0.2868, 0.288, 0.2934, 0.2976, 0.3138", \ "0.8178, 0.8178, 0.8178, 0.8196, 0.8298", \ "1.6218, 1.6218, 1.6218, 1.6218, 1.626"); } cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.21535, 0.250001, 0.327714, 0.378974, 0.526267", \ "0.276754, 0.311292, 0.38975, 0.441289, 0.592582", \ "0.391268, 0.425078, 0.502941, 0.554343, 0.708552", \ "0.833733, 0.868781, 0.944901, 0.995183, 1.14827", \ "1.49626, 1.53142, 1.60716, 1.65718, 1.80832"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1014, 0.1038, 0.1104, 0.1152, 0.1356", \ "0.1704, 0.1686, 0.174, 0.1806, 0.1974", \ "0.306, 0.306, 0.3078, 0.3108, 0.324", \ "0.8784, 0.879, 0.8784, 0.879, 0.8814", \ "1.7466, 1.7466, 1.7466, 1.7466, 1.7466"); } } internal_power() { related_pin : "A"; rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.438705, 0.452702, 0.615383, 0.753782, 1.26492", \ "0.436024, 0.44073, 0.603116, 0.742654, 1.24095", \ "0.435564, 0.441746, 0.597683, 0.733783, 1.2201", \ "0.438858, 0.442388, 0.595529, 0.725684, 1.1991", \ "0.438946, 0.442332, 0.593887, 0.72284, 1.19112"); } fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.07764, 1.12602, 1.30813, 1.46039, 1.99741", \ "1.07918, 1.12694, 1.30064, 1.45271, 1.97584", \ "1.08147, 1.12621, 1.29608, 1.44704, 1.95368", \ "1.08295, 1.12769, 1.29103, 1.43525, 1.93346", \ "1.07912, 1.12432, 1.29125, 1.43452, 1.92709"); } } internal_power() { related_pin : "B"; rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.618805, 0.646434, 0.774365, 0.898379, 1.38237", \ "0.620484, 0.645936, 0.768692, 0.888841, 1.35905", \ "0.622048, 0.643946, 0.760409, 0.880413, 1.34433", \ "0.623372, 0.646963, 0.757394, 0.873719, 1.32819", \ "0.624126, 0.647431, 0.757282, 0.872129, 1.32258"); } fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.930125, 0.963032, 1.11759, 1.24364, 1.70648", \ "0.928932, 0.958281, 1.10892, 1.23451, 1.68524", \ "0.927827, 0.958175, 1.10468, 1.22762, 1.66871", \ "0.930064, 0.96024, 1.10265, 1.22057, 1.6517", \ "0.931526, 0.961414, 1.10283, 1.22002, 1.64621"); } } } pin(YS) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.412596; function : "(A^B)"; timing() { related_pin : "A"; timing_sense : non_unate; cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.266939, 0.304475, 0.386415, 0.442753, 0.615263", \ "0.312855, 0.352386, 0.434008, 0.490652, 0.661817", \ "0.40806, 0.443433, 0.523837, 0.58175, 0.752702", \ "0.767369, 0.803078, 0.886491, 0.942962, 1.11071", \ "1.30842, 1.34442, 1.42661, 1.48282, 1.65015"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0948, 0.0936, 0.0924, 0.0936, 0.1044", \ "0.1518, 0.1524, 0.1536, 0.1542, 0.1578", \ "0.282, 0.2814, 0.2814, 0.282, 0.2832", \ "0.816, 0.816, 0.816, 0.8166, 0.816", \ "1.6218, 1.6218, 1.6218, 1.6218, 1.6218"); } cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.315483, 0.310052, 0.315076, 0.310981, 0.273186", \ "0.371941, 0.367032, 0.370263, 0.36661, 0.328172", \ "0.482312, 0.478242, 0.480482, 0.476503, 0.437129", \ "0.924723, 0.920029, 0.923425, 0.91839, 0.879048", \ "1.58736, 1.58255, 1.58593, 1.58076, 1.54107"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1002, 0.1044, 0.0972, 0.102, 0.1044", \ "0.165, 0.1632, 0.162, 0.1626, 0.1656", \ "0.3024, 0.3012, 0.3012, 0.3018, 0.3018", \ "0.8784, 0.8778, 0.8784, 0.8784, 0.8778", \ "1.7466, 1.7466, 1.7466, 1.7466, 1.746"); } } timing() { related_pin : "B"; timing_sense : non_unate; cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.274678, 0.308533, 0.380047, 0.426924, 0.56097", \ "0.322154, 0.356554, 0.428347, 0.474552, 0.608195", \ "0.415972, 0.447243, 0.518292, 0.564186, 0.698007", \ "0.77602, 0.810029, 0.879762, 0.926034, 1.05858", \ "1.31628, 1.35, 1.41982, 1.4657, 1.59867"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0966, 0.0978, 0.0966, 0.096, 0.0948", \ "0.156, 0.153, 0.156, 0.1548, 0.1566", \ "0.2832, 0.2832, 0.282, 0.2826, 0.282", \ "0.8166, 0.8166, 0.8166, 0.8166, 0.816", \ "1.6218, 1.6224, 1.6218, 1.6218, 1.6218"); } cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.314653, 0.325966, 0.343603, 0.352852, 0.36001", \ "0.370389, 0.381524, 0.397815, 0.40806, 0.414744", \ "0.482641, 0.493435, 0.509995, 0.517088, 0.527", \ "0.924095, 0.936068, 0.951705, 0.959153, 0.966679", \ "1.58667, 1.59858, 1.61426, 1.62147, 1.62867"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1044, 0.1008, 0.1008, 0.099, 0.1038", \ "0.1656, 0.1638, 0.1638, 0.1608, 0.1644", \ "0.3018, 0.3012, 0.3012, 0.3012, 0.3048", \ "0.8784, 0.8778, 0.8784, 0.8784, 0.8772", \ "1.7466, 1.7472, 1.7466, 1.7466, 1.7454"); } } internal_power() { related_pin : "A"; rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.07764, 1.12602, 1.30813, 1.46039, 1.99741", \ "1.07918, 1.12694, 1.30064, 1.45271, 1.97584", \ "1.08147, 1.12621, 1.29608, 1.44704, 1.95368", \ "1.08295, 1.12769, 1.29103, 1.43525, 1.93346", \ "1.07912, 1.12432, 1.29125, 1.43452, 1.92709"); } fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.438705, 0.452702, 0.615383, 0.753782, 1.26492", \ "0.436024, 0.44073, 0.603116, 0.742654, 1.24095", \ "0.435564, 0.441746, 0.597683, 0.733783, 1.2201", \ "0.438858, 0.442388, 0.595529, 0.725684, 1.1991", \ "0.438946, 0.442332, 0.593887, 0.72284, 1.19112"); } } internal_power() { related_pin : "B"; rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.930125, 0.963032, 1.11759, 1.24364, 1.70648", \ "0.928932, 0.958281, 1.10892, 1.23451, 1.68524", \ "0.927827, 0.958175, 1.10468, 1.22762, 1.66871", \ "0.930064, 0.96024, 1.10265, 1.22057, 1.6517", \ "0.931526, 0.961414, 1.10283, 1.22002, 1.64621"); } fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.618805, 0.646434, 0.774365, 0.898379, 1.38237", \ "0.620484, 0.645936, 0.768692, 0.888841, 1.35905", \ "0.622048, 0.643946, 0.760409, 0.880413, 1.34433", \ "0.623372, 0.646963, 0.757394, 0.873719, 1.32819", \ "0.624126, 0.647431, 0.757282, 0.872129, 1.32258"); } } } } /* -------------- * * Design : INVX1 * * -------------- */ cell (INVX1) { cell_footprint : inv; area : 144; cell_leakage_power : 0.0305626; pin(A) { direction : input; capacitance : 0.0161217; rise_capacitance : 0.0160794; fall_capacitance : 0.0161217; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.413265; function : "(!A)"; timing() { related_pin : "A"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.090898, 0.115756, 0.145869, 0.162653, 0.199669", \ "0.147365, 0.172864, 0.220037, 0.245573, 0.306527", \ "0.257882, 0.281798, 0.340327, 0.378483, 0.472095", \ "0.701464, 0.722825, 0.772632, 0.813658, 0.96464", \ "1.36414, 1.38488, 1.43094, 1.46814, 1.60403"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0858, 0.1068, 0.1632, 0.2004, 0.3084", \ "0.156, 0.165, 0.2226, 0.2622, 0.39", \ "0.2988, 0.2988, 0.333, 0.375, 0.5166", \ "0.8766, 0.876, 0.876, 0.8838, 0.9738", \ "1.7442, 1.7448, 1.7448, 1.7442, 1.7616"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.080957, 0.111593, 0.153676, 0.177004, 0.237284", \ "0.126092, 0.160006, 0.219486, 0.253547, 0.338469", \ "0.214701, 0.248631, 0.322851, 0.369581, 0.49094", \ "0.575556, 0.606287, 0.675059, 0.729478, 0.91754", \ "1.11528, 1.1456, 1.21089, 1.26141, 1.44129"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0822, 0.1092, 0.1626, 0.195, 0.2934", \ "0.1434, 0.1584, 0.2148, 0.255, 0.375", \ "0.2784, 0.2802, 0.3192, 0.36, 0.4962", \ "0.8136, 0.8142, 0.8148, 0.8268, 0.924", \ "1.62, 1.62, 1.62, 1.6194, 1.6458"); } } internal_power() { related_pin : "A"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.149124, 0.103889, 0.065581, 0.213422, 0.743673", \ "0.142684, 0.114165, 0.020951, 0.148986, 0.637577", \ "0.135438, 0.120808, 0.023229, 0.07864, 0.499028", \ "0.130792, 0.124974, 0.07773, 0.019895, 0.2568", \ "0.129134, 0.126447, 0.099441, 0.063638, 0.123478"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.32222, 0.385137, 0.570786, 0.726655, 1.27293", \ "0.327438, 0.368924, 0.525453, 0.666949, 1.18498", \ "0.326183, 0.355986, 0.476794, 0.595332, 1.06073", \ "0.336369, 0.344098, 0.408896, 0.48186, 0.813711", \ "0.337753, 0.340554, 0.379247, 0.426295, 0.661487"); } } } } /* -------------- * * Design : INVX2 * * -------------- */ cell (INVX2) { cell_footprint : inv; area : 144; cell_leakage_power : 0.0306994; pin(A) { direction : input; capacitance : 0.0332518; rise_capacitance : 0.0331672; fall_capacitance : 0.0332518; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.928422; function : "(!A)"; timing() { related_pin : "A"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.083236, 0.103084, 0.125348, 0.135937, 0.155045", \ "0.132874, 0.157409, 0.195144, 0.214543, 0.255179", \ "0.231997, 0.253027, 0.30693, 0.33798, 0.41082", \ "0.625331, 0.644501, 0.690884, 0.729703, 0.86777", \ "1.21478, 1.23307, 1.27536, 1.30959, 1.43757"); } fall_transition(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0786, 0.1044, 0.1626, 0.1992, 0.3102", \ "0.138, 0.156, 0.2148, 0.2562, 0.3864", \ "0.267, 0.2682, 0.3096, 0.3558, 0.5022", \ "0.7812, 0.7812, 0.7824, 0.7956, 0.9042", \ "1.5546, 1.5546, 1.5546, 1.5546, 1.5858"); } cell_rise(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.079457, 0.1113, 0.157905, 0.184435, 0.2581", \ "0.122568, 0.157546, 0.220185, 0.257332, 0.354083", \ "0.207027, 0.241994, 0.318368, 0.367435, 0.498731", \ "0.552667, 0.583829, 0.653592, 0.70967, 0.903657", \ "1.06958, 1.09964, 1.16529, 1.2172, 1.40202"); } rise_transition(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0792, 0.1074, 0.1614, 0.1956, 0.2946", \ "0.1374, 0.1542, 0.2106, 0.2514, 0.3714", \ "0.2664, 0.2694, 0.309, 0.3504, 0.4878", \ "0.78, 0.7806, 0.7812, 0.7944, 0.8934", \ "1.5522, 1.5522, 1.5522, 1.5522, 1.5804"); } } internal_power() { related_pin : "A"; fall_power(energy_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.29714, 0.17188, 0.232966, 0.586464, 1.83852", \ "0.281905, 0.201325, 0.129881, 0.439085, 1.60494", \ "0.272175, 0.224799, 0.021923, 0.273163, 1.28927", \ "0.261216, 0.242096, 0.11753, 0.030104, 0.718006", \ "0.257947, 0.24855, 0.175658, 0.082362, 0.392101"); } rise_power(energy_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.670779, 0.828663, 1.27275, 1.64418, 2.92862", \ "0.681458, 0.788986, 1.17101, 1.51062, 2.7397", \ "0.678498, 0.752628, 1.0559, 1.34603, 2.46509", \ "0.700348, 0.721301, 0.88851, 1.07286, 1.89356", \ "0.703724, 0.712367, 0.812973, 0.933758, 1.52607"); } } } } /* -------------- * * Design : INVX4 * * -------------- */ cell (INVX4) { cell_footprint : inv; area : 216; cell_leakage_power : 0.0613992; pin(A) { direction : input; capacitance : 0.0665036; rise_capacitance : 0.0663344; fall_capacitance : 0.0665036; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 1.85684; function : "(!A)"; timing() { related_pin : "A"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.083236, 0.103084, 0.125348, 0.135937, 0.155045", \ "0.132874, 0.157409, 0.195144, 0.214543, 0.255179", \ "0.231997, 0.253027, 0.30693, 0.33798, 0.41082", \ "0.625331, 0.644501, 0.690884, 0.729703, 0.86777", \ "1.21478, 1.23307, 1.27536, 1.30959, 1.43757"); } fall_transition(delay_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0786, 0.1044, 0.1626, 0.1992, 0.3102", \ "0.138, 0.156, 0.2148, 0.2562, 0.3864", \ "0.267, 0.2682, 0.3096, 0.3558, 0.5022", \ "0.7812, 0.7812, 0.7824, 0.7956, 0.9042", \ "1.5546, 1.5546, 1.5546, 1.5546, 1.5858"); } cell_rise(delay_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.079457, 0.1113, 0.157905, 0.184435, 0.2581", \ "0.122568, 0.157546, 0.220185, 0.257332, 0.354083", \ "0.207027, 0.241994, 0.318368, 0.367435, 0.498731", \ "0.552667, 0.583829, 0.653592, 0.70967, 0.903657", \ "1.06958, 1.09964, 1.16529, 1.2172, 1.40202"); } rise_transition(delay_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0792, 0.1074, 0.1614, 0.1956, 0.2946", \ "0.1374, 0.1542, 0.2106, 0.2514, 0.3714", \ "0.2664, 0.2694, 0.309, 0.3504, 0.4878", \ "0.78, 0.7806, 0.7812, 0.7944, 0.8934", \ "1.5522, 1.5522, 1.5522, 1.5522, 1.5804"); } } internal_power() { related_pin : "A"; fall_power(energy_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.594281, 0.343761, 0.465933, 1.17293, 3.67705", \ "0.563811, 0.40265, 0.259761, 0.87817, 3.20987", \ "0.54435, 0.449598, 0.043846, 0.546325, 2.57854", \ "0.522432, 0.484193, 0.235059, 0.060208, 1.43601", \ "0.515894, 0.4971, 0.351316, 0.164725, 0.784202"); } rise_power(energy_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.34156, 1.65732, 2.54551, 3.28836, 5.85724", \ "1.36292, 1.57797, 2.34201, 3.02123, 5.4794", \ "1.357, 1.50526, 2.11181, 2.69206, 4.93018", \ "1.4007, 1.4426, 1.77702, 2.14573, 3.78713", \ "1.40745, 1.42473, 1.62595, 1.86752, 3.05214"); } } } } /* -------------- * * Design : INVX8 * * -------------- */ cell (INVX8) { cell_footprint : inv; area : 360; cell_leakage_power : 0.122801; pin(A) { direction : input; capacitance : 0.133007; rise_capacitance : 0.132669; fall_capacitance : 0.133007; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 3.71369; function : "(!A)"; timing() { related_pin : "A"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.2, 0.4, 0.8, 2.4, 4.8"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.083236, 0.103084, 0.125348, 0.135937, 0.155045", \ "0.132874, 0.157409, 0.195144, 0.214543, 0.255179", \ "0.231997, 0.253027, 0.30693, 0.33798, 0.41082", \ "0.625331, 0.644501, 0.690884, 0.729703, 0.86777", \ "1.21478, 1.23307, 1.27536, 1.30959, 1.43757"); } fall_transition(delay_template_5x5) { index_1 ("0.2, 0.4, 0.8, 2.4, 4.8"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0786, 0.1044, 0.1626, 0.1992, 0.3102", \ "0.138, 0.156, 0.2148, 0.2562, 0.3864", \ "0.267, 0.2682, 0.3096, 0.3558, 0.5022", \ "0.7812, 0.7812, 0.7824, 0.7956, 0.9042", \ "1.5546, 1.5546, 1.5546, 1.5546, 1.5858"); } cell_rise(delay_template_5x5) { index_1 ("0.2, 0.4, 0.8, 2.4, 4.8"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.079457, 0.1113, 0.157905, 0.184435, 0.2581", \ "0.122568, 0.157546, 0.220185, 0.257332, 0.354083", \ "0.207027, 0.241994, 0.318368, 0.367435, 0.498731", \ "0.552667, 0.583829, 0.653592, 0.70967, 0.903657", \ "1.06958, 1.09964, 1.16529, 1.2172, 1.40202"); } rise_transition(delay_template_5x5) { index_1 ("0.2, 0.4, 0.8, 2.4, 4.8"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0792, 0.1074, 0.1614, 0.1956, 0.2946", \ "0.1374, 0.1542, 0.2106, 0.2514, 0.3714", \ "0.2664, 0.2694, 0.309, 0.3504, 0.4878", \ "0.78, 0.7806, 0.7812, 0.7944, 0.8934", \ "1.5522, 1.5522, 1.5522, 1.5522, 1.5804"); } } internal_power() { related_pin : "A"; fall_power(energy_template_5x5) { index_1 ("0.2, 0.4, 0.8, 2.4, 4.8"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.18856, 0.687522, 0.931866, 2.34586, 7.35409", \ "1.12762, 0.8053, 0.519523, 1.75634, 6.41975", \ "1.0887, 0.899197, 0.087692, 1.09265, 5.15709", \ "1.04486, 0.968386, 0.470118, 0.120417, 2.87202", \ "1.03179, 0.9942, 0.702633, 0.329449, 1.5684"); } rise_power(energy_template_5x5) { index_1 ("0.2, 0.4, 0.8, 2.4, 4.8"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "2.68312, 3.31465, 5.09101, 6.57672, 11.7145", \ "2.72583, 3.15594, 4.68403, 6.04246, 10.9588", \ "2.71399, 3.01051, 4.22362, 5.38413, 9.86036", \ "2.80139, 2.88521, 3.55404, 4.29145, 7.57425", \ "2.8149, 2.84947, 3.25189, 3.73503, 6.10429"); } } } } /* -------------- * * Design : LATCH * * -------------- */ cell (LATCH) { area : 0; cell_leakage_power : 0.146615; latch (DS0000,P0000) { data_in : "D"; enable : "CLK"; } pin(CLK) { direction : input; capacitance : 0.0401037; rise_capacitance : 0.0397447; fall_capacitance : 0.0401037; clock : true; internal_power() { rise_power(passive_energy_template_6x1) { index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ("0.193438, 0.165402, 0.65935, 1.5762, 2.23319, 3.5649"); } fall_power(passive_energy_template_6x1) { index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ("0.815049, 1.19899, 1.70796, 2.63134, 3.28239, 4.62648"); } } min_pulse_width_high : 0.241222; } pin(D) { direction : input; capacitance : 0.0156832; rise_capacitance : 0.0156025; fall_capacitance : 0.0156832; timing() { related_pin : "CLK"; timing_type : hold_falling; rise_constraint(hold_template_3x6) { index_1 ("0.06, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "-0.1875, -0.225, -0.2125, -0.2375, -0.26875, -0.33125", \ "-0.2, -0.2375, -0.225, -0.25, -0.28125, -0.34375", \ "-0.2625, -0.3, -0.2875, -0.3125, -0.34375, -0.40625"); } fall_constraint(hold_template_3x6) { index_1 ("0.06, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "-0.09375, -0.13125, -0.2125, -0.2375, -0.26875, -0.33125", \ "-0.10625, -0.14375, -0.225, -0.25, -0.28125, -0.34375", \ "-0.075, -0.1125, -0.19375, -0.21875, -0.25, -0.3125"); } } timing() { related_pin : "CLK"; timing_type : setup_falling; rise_constraint(setup_template_3x6) { index_1 ("0.06, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.375, 0.31875, 0.4, 0.425, 0.45625, 0.51875", \ "0.3875, 0.425, 0.4125, 0.53125, 0.46875, 0.53125", \ "0.54375, 0.58125, 0.56875, 0.59375, 0.625, 0.6875"); } fall_constraint(setup_template_3x6) { index_1 ("0.06, 0.3, 0.6"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.28125, 0.31875, 0.4, 0.425, 0.45625, 0.70625", \ "0.29375, 0.33125, 0.31875, 0.4375, 0.46875, 0.90625", \ "0.2625, 0.3, 0.38125, 0.40625, 0.4375, 0.5"); } } } pin(Q) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.91041; function : "DS0000"; timing() { related_pin : "CLK"; timing_sense : non_unate; timing_type : rising_edge; cell_rise(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.291301, 0.32078, 0.342027, 0.347863, 0.339451, 0.303421", \ "0.646975, 0.674914, 0.694966, 0.701023, 0.69405, 0.661067", \ "1.24933, 1.27683, 1.29581, 1.30048, 1.29346, 1.26177", \ "2.79945, 2.82619, 2.84465, 2.84814, 2.8397, 2.80717", \ "3.66088, 3.68775, 3.70634, 3.70949, 3.70027, 3.66754", \ "4.52221, 4.54896, 4.56661, 4.57043, 4.56101, 4.52707"); } rise_transition(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.1884, 0.1878, 0.1974, 0.2112, 0.2226, 0.2418", \ "0.6786, 0.6792, 0.6804, 0.687, 0.693, 0.7056", \ "1.575, 1.5744, 1.5744, 1.5768, 1.5792, 1.587", \ "3.8904, 3.8898, 3.8904, 3.8904, 3.8904, 3.8922", \ "5.1774, 5.178, 5.1774, 5.1774, 5.1768, 5.178", \ "6.4644, 6.465, 6.4638, 6.4644, 6.4638, 6.4632"); } cell_fall(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.379079, 0.391961, 0.41014, 0.422903, 0.425332, 0.425441", \ "0.782119, 0.795156, 0.812043, 0.824891, 0.827695, 0.830193", \ "1.46913, 1.48207, 1.49897, 1.51176, 1.51435, 1.51685", \ "3.23611, 3.24895, 3.26596, 3.27859, 3.28103, 3.28352", \ "4.21781, 4.23045, 4.24743, 4.26004, 4.26322, 4.26544", \ "5.19881, 5.21215, 5.22888, 5.24209, 5.2444, 5.24694"); } fall_transition(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.1908, 0.1896, 0.1884, 0.1884, 0.1896, 0.1908", \ "0.678, 0.678, 0.6774, 0.678, 0.678, 0.6804", \ "1.5762, 1.5762, 1.5762, 1.5762, 1.5756, 1.5756", \ "3.8982, 3.8982, 3.8976, 3.8982, 3.8982, 3.8964", \ "5.1882, 5.1882, 5.1876, 5.1882, 5.1882, 5.1882", \ "6.4776, 6.4782, 6.4776, 6.4776, 6.4782, 6.4776"); } } timing() { related_pin : "D"; timing_sense : positive_unate; cell_rise(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.354606, 0.369426, 0.398928, 0.44665, 0.474528, 0.519339", \ "0.709096, 0.7223, 0.751269, 0.799278, 0.830235, 0.88482", \ "1.31115, 1.32454, 1.35231, 1.39933, 1.42915, 1.48391", \ "2.86088, 2.87387, 2.90179, 2.94691, 2.97606, 3.02874", \ "3.7227, 3.7356, 3.76311, 3.80834, 3.83708, 3.88908", \ "4.58306, 4.59603, 4.6244, 4.66928, 4.69766, 4.74965"); } rise_transition(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.189, 0.1896, 0.1938, 0.2082, 0.2178, 0.2394", \ "0.6786, 0.6786, 0.6798, 0.6846, 0.6906, 0.7086", \ "1.575, 1.5744, 1.575, 1.5756, 1.5774, 1.584", \ "3.891, 3.891, 3.8898, 3.891, 3.8904, 3.8916", \ "5.178, 5.1774, 5.1774, 5.178, 5.178, 5.1774", \ "6.4632, 6.4632, 6.4644, 6.4644, 6.4644, 6.465"); } cell_fall(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.367567, 0.389291, 0.430695, 0.4994, 0.54195, 0.616616", \ "0.770446, 0.791195, 0.830828, 0.899334, 0.945189, 1.03121", \ "1.45725, 1.47759, 1.51619, 1.58196, 1.62616, 1.71014", \ "3.22413, 3.24426, 3.28242, 3.34641, 3.38892, 3.46949", \ "4.20588, 4.22571, 4.26385, 4.32772, 4.37005, 4.44994", \ "5.18692, 5.20804, 5.24524, 5.30932, 5.35142, 5.43092"); } fall_transition(delay_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.1902, 0.1914, 0.195, 0.2136, 0.2292, 0.2544", \ "0.678, 0.6774, 0.6786, 0.684, 0.69, 0.7104", \ "1.5762, 1.5762, 1.5762, 1.5768, 1.578, 1.5828", \ "3.8982, 3.8976, 3.8976, 3.8982, 3.897, 3.8976", \ "5.1876, 5.1876, 5.187, 5.1882, 5.1882, 5.1876", \ "6.4776, 6.477, 6.4782, 6.477, 6.4776, 6.477"); } } internal_power() { related_pin : "CLK"; rise_power(energy_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.601528, 1.01688, 1.67541, 2.89355, 3.75382, 5.46027", \ "0.534357, 0.921882, 1.53432, 2.65395, 3.47241, 5.13839", \ "0.515107, 0.894256, 1.4905, 2.58412, 3.37792, 4.99502", \ "0.504143, 0.878623, 1.46853, 2.54441, 3.32586, 4.91182", \ "0.502197, 0.875852, 1.46428, 2.53732, 3.31627, 4.89575", \ "0.500972, 0.873732, 1.46176, 2.53284, 3.31017, 4.88586"); } fall_power(energy_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.7916, 1.12174, 1.63632, 2.57109, 3.23991, 4.60126", \ "0.74397, 1.07473, 1.58647, 2.52084, 3.18529, 4.53824", \ "0.733409, 1.06379, 1.57629, 2.508, 3.17412, 4.52676", \ "0.728217, 1.05901, 1.57145, 2.5028, 3.16976, 4.52166", \ "0.727374, 1.05818, 1.57045, 2.50202, 3.169, 4.52075", \ "0.726946, 1.05798, 1.5702, 2.50171, 3.16869, 4.52022"); } } internal_power() { related_pin : "D"; rise_power(energy_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.790516, 0.866641, 1.06516, 1.5261, 1.88035, 2.62344", \ "0.712004, 0.769635, 0.930933, 1.30515, 1.60171, 2.2273", \ "0.689773, 0.744433, 0.89421, 1.23441, 1.5031, 2.07095", \ "0.67732, 0.73019, 0.874107, 1.19594, 1.4474, 1.97575", \ "0.673663, 0.727513, 0.870447, 1.18859, 1.43698, 1.95719", \ "0.673472, 0.725778, 0.868071, 1.18416, 1.43022, 1.94545"); } fall_power(energy_template_6x6) { index_1 ("0.1, 0.5, 1.2, 3, 4, 5"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "1.38475, 1.44701, 1.64764, 2.12154, 2.48645, 3.23743", \ "1.33332, 1.37809, 1.53994, 1.92002, 2.22021, 2.84977", \ "1.32031, 1.36168, 1.51179, 1.85918, 2.13142, 2.70347", \ "1.31342, 1.35312, 1.49833, 1.82668, 2.08289, 2.61677", \ "1.31214, 1.35169, 1.49586, 1.82122, 2.07394, 2.60061", \ "1.31129, 1.35083, 1.49418, 1.81739, 2.06847, 2.58979"); } } } } /* --------------- * * Design : MUX2X1 * * --------------- */ cell (MUX2X1) { area : 432; cell_leakage_power : 0.130158; pin(A) { direction : input; capacitance : 0.0322422; rise_capacitance : 0.0321228; fall_capacitance : 0.0322422; } pin(B) { direction : input; capacitance : 0.032256; rise_capacitance : 0.0320934; fall_capacitance : 0.032256; } pin(S) { direction : input; capacitance : 0.0364492; rise_capacitance : 0.0364492; fall_capacitance : 0.0363017; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.464852; function : "(!((S A) + (!S B)))"; timing() { related_pin : "A"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.105022, 0.114182, 0.124989, 0.129021, 0.129458", \ "0.146777, 0.152307, 0.168306, 0.176412, 0.18675", \ "0.222752, 0.226783, 0.244827, 0.258479, 0.285894", \ "0.519329, 0.521995, 0.531957, 0.545988, 0.600255", \ "0.965011, 0.962082, 0.966391, 0.974788, 1.02143"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1236, 0.1446, 0.2076, 0.2586, 0.423", \ "0.1758, 0.186, 0.243, 0.291, 0.4626", \ "0.279, 0.2832, 0.321, 0.3648, 0.534", \ "0.6972, 0.6966, 0.7032, 0.7176, 0.828", \ "1.3266, 1.3266, 1.3266, 1.3296, 1.3698"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.130958, 0.139119, 0.175824, 0.200499, 0.271386", \ "0.174051, 0.183988, 0.221588, 0.249937, 0.331466", \ "0.254152, 0.264167, 0.302725, 0.335809, 0.43441", \ "0.576168, 0.58317, 0.613403, 0.6443, 0.7639", \ "1.05777, 1.06373, 1.08794, 1.11216, 1.21655"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1296, 0.1464, 0.2082, 0.2586, 0.42", \ "0.1914, 0.1992, 0.249, 0.297, 0.4662", \ "0.312, 0.3156, 0.3474, 0.3882, 0.5502", \ "0.8022, 0.8022, 0.8064, 0.8196, 0.9144", \ "1.5366, 1.5372, 1.5366, 1.5378, 1.5726"); } } timing() { related_pin : "B"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.117626, 0.120695, 0.128507, 0.131738, 0.130251", \ "0.15653, 0.16032, 0.172513, 0.179427, 0.187951", \ "0.232048, 0.234017, 0.24932, 0.261955, 0.287551", \ "0.527174, 0.52772, 0.536444, 0.549891, 0.602741", \ "0.967861, 0.967464, 0.970992, 0.978928, 1.02474"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1224, 0.1404, 0.2034, 0.2544, 0.4188", \ "0.174, 0.1854, 0.24, 0.288, 0.4596", \ "0.2778, 0.2826, 0.3198, 0.363, 0.5322", \ "0.6984, 0.6984, 0.705, 0.7194, 0.8292", \ "1.329, 1.329, 1.329, 1.332, 1.3722"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.118089, 0.135902, 0.172866, 0.197943, 0.27024", \ "0.160615, 0.176502, 0.217853, 0.247005, 0.329431", \ "0.242046, 0.255367, 0.298509, 0.332331, 0.43177", \ "0.564527, 0.575469, 0.607827, 0.639446, 0.760217", \ "1.04584, 1.05694, 1.08196, 1.10653, 1.21181"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1266, 0.1482, 0.2094, 0.2592, 0.4194", \ "0.1884, 0.1962, 0.2496, 0.2988, 0.4668", \ "0.3096, 0.3126, 0.3456, 0.387, 0.549", \ "0.798, 0.798, 0.8022, 0.8148, 0.9114", \ "1.5324, 1.5318, 1.5318, 1.533, 1.5672"); } } timing() { related_pin : "S"; timing_sense : non_unate; cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.205605, 0.228528, 0.270885, 0.297854, 0.359734", \ "0.247448, 0.268651, 0.309325, 0.33701, 0.400235", \ "0.321959, 0.345702, 0.386142, 0.413561, 0.479882", \ "0.638469, 0.660483, 0.701132, 0.725056, 0.789407", \ "1.11619, 1.13893, 1.17885, 1.20221, 1.2613"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1338, 0.1368, 0.1314, 0.1356, 0.147", \ "0.1908, 0.195, 0.1938, 0.1908, 0.1968", \ "0.3126, 0.3126, 0.3108, 0.3072, 0.3114", \ "0.8016, 0.8022, 0.8022, 0.7986, 0.7944", \ "1.5372, 1.5366, 1.5372, 1.5372, 1.5312"); } cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.199127, 0.227798, 0.28355, 0.318118, 0.400501", \ "0.233998, 0.265858, 0.320444, 0.355834, 0.441001", \ "0.305293, 0.335585, 0.388706, 0.424947, 0.516132", \ "0.590378, 0.624025, 0.676171, 0.707555, 0.798168", \ "1.02862, 1.06062, 1.1121, 1.14263, 1.22582"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1284, 0.1308, 0.1248, 0.1242, 0.1356", \ "0.18, 0.183, 0.177, 0.174, 0.18", \ "0.2802, 0.2814, 0.2766, 0.2736, 0.279", \ "0.6984, 0.6984, 0.699, 0.6936, 0.6888", \ "1.329, 1.329, 1.329, 1.329, 1.3212"); } } internal_power() { related_pin : "A"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.301854, 0.220605, 0.132525, 0.447181, 1.58454", \ "0.297387, 0.238422, 0.066906, 0.354321, 1.44104", \ "0.29347, 0.250154, 0.012574, 0.231273, 1.218", \ "0.288635, 0.269346, 0.135522, 0.020126, 0.732909", \ "0.287609, 0.277253, 0.1941, 0.090698, 0.422579"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.3268, 1.37409, 1.75491, 2.08088, 3.24873", \ "1.33006, 1.38944, 1.69575, 1.99823, 3.12574", \ "1.33637, 1.37756, 1.62317, 1.8838, 2.9238", \ "1.34058, 1.36142, 1.50389, 1.67466, 2.46003", \ "1.34247, 1.35526, 1.44467, 1.55873, 2.14008"); } } internal_power() { related_pin : "B"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.041837, 0.025574, 0.370451, 0.683242, 1.82212", \ "0.037489, 0.015348, 0.308239, 0.593812, 1.6802", \ "0.033242, 0.000169, 0.23312, 0.475141, 1.45999", \ "0.028331, 0.017288, 0.11394, 0.26879, 0.980621", \ "0.026551, 0.024341, 0.056827, 0.159342, 0.672331"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.08087, 1.13483, 1.51327, 1.84087, 3.00743", \ "1.08691, 1.13195, 1.45222, 1.753, 2.88197", \ "1.06952, 1.12094, 1.37592, 1.6357, 2.67925", \ "1.07825, 1.112, 1.24982, 1.42363, 2.21222", \ "1.07987, 1.0941, 1.18942, 1.30678, 1.89111"); } } internal_power() { related_pin : "S"; rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.700972, 0.749398, 0.923832, 1.094, 1.72264", \ "0.684326, 0.724693, 0.908085, 1.07523, 1.68301", \ "0.649549, 0.691535, 0.885821, 1.05182, 1.63999", \ "0.584662, 0.643173, 0.831085, 0.994073, 1.57425", \ "0.55897, 0.615667, 0.801554, 0.961577, 1.52921"); } fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.25833, 1.31326, 1.52653, 1.70275, 2.33861", \ "1.22713, 1.29251, 1.50315, 1.67989, 2.30043", \ "1.19392, 1.25487, 1.46515, 1.64259, 2.25808", \ "1.12307, 1.18267, 1.39451, 1.57115, 2.16938", \ "1.08727, 1.15187, 1.35747, 1.52489, 2.11147"); } } } } /* ---------------- * * Design : NAND2X1 * * ---------------- */ cell (NAND2X1) { area : 216; cell_leakage_power : 0.0551262; pin(A) { direction : input; capacitance : 0.0214197; rise_capacitance : 0.0214197; fall_capacitance : 0.0213977; } pin(B) { direction : input; capacitance : 0.0216455; rise_capacitance : 0.0215843; fall_capacitance : 0.0216455; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.437228; function : "(!(A B))"; timing() { related_pin : "A"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.071061, 0.070113, 0.052678, 0.034071, -0.042334", \ "0.108132, 0.112469, 0.10616, 0.093963, 0.032786", \ "0.182732, 0.186017, 0.19129, 0.18965, 0.156031", \ "0.476185, 0.477706, 0.483851, 0.492027, 0.51122", \ "0.92129, 0.917058, 0.919376, 0.923971, 0.950878"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0762, 0.1068, 0.1596, 0.2034, 0.3222", \ "0.1242, 0.1422, 0.1956, 0.24, 0.375", \ "0.2286, 0.2352, 0.2766, 0.318, 0.4626", \ "0.6474, 0.6468, 0.6546, 0.6714, 0.7818", \ "1.278, 1.278, 1.278, 1.2816, 1.326"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.103824, 0.146211, 0.22309, 0.275582, 0.435527", \ "0.149608, 0.189555, 0.274068, 0.331723, 0.507857", \ "0.240087, 0.275933, 0.362515, 0.427581, 0.623913", \ "0.600941, 0.63278, 0.707193, 0.768494, 0.99041", \ "1.14129, 1.17193, 1.24021, 1.29582, 1.49728"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1092, 0.1254, 0.1788, 0.213, 0.3252", \ "0.174, 0.1848, 0.228, 0.2676, 0.39", \ "0.309, 0.3084, 0.3366, 0.3708, 0.4974", \ "0.8454, 0.8454, 0.8454, 0.8532, 0.9282", \ "1.6518, 1.6512, 1.6512, 1.6512, 1.6686"); } } timing() { related_pin : "B"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.071875, 0.082705, 0.083365, 0.077777, 0.043041", \ "0.107939, 0.129629, 0.144592, 0.147656, 0.132204", \ "0.183139, 0.202172, 0.240275, 0.256063, 0.272306", \ "0.476291, 0.494387, 0.537527, 0.573135, 0.668724", \ "0.916416, 0.933768, 0.973253, 1.00523, 1.12261"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0756, 0.105, 0.162, 0.1998, 0.315", \ "0.1218, 0.1452, 0.2088, 0.249, 0.3828", \ "0.228, 0.237, 0.2916, 0.3366, 0.4848", \ "0.6468, 0.6474, 0.6564, 0.6834, 0.8244", \ "1.278, 1.278, 1.278, 1.2798, 1.3524"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.092157, 0.129001, 0.190913, 0.23225, 0.353029", \ "0.138796, 0.175046, 0.250101, 0.299209, 0.44027", \ "0.229497, 0.263007, 0.345624, 0.404387, 0.574901", \ "0.591846, 0.622248, 0.694391, 0.753405, 0.966014", \ "1.1327, 1.16244, 1.22942, 1.28322, 1.47954"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0852, 0.1068, 0.156, 0.192, 0.2928", \ "0.1512, 0.1608, 0.2088, 0.2466, 0.3654", \ "0.2832, 0.285, 0.3144, 0.3516, 0.4788", \ "0.8202, 0.8196, 0.8202, 0.8286, 0.909", \ "1.626, 1.626, 1.626, 1.626, 1.6446"); } } internal_power() { related_pin : "A"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.149175, 0.07742, 0.188134, 0.417963, 1.23562", \ "0.141018, 0.089689, 0.129356, 0.335138, 1.10549", \ "0.13489, 0.102498, 0.066249, 0.236539, 0.920574", \ "0.129655, 0.114867, 0.021891, 0.084556, 0.565404", \ "0.129489, 0.120371, 0.062778, 0.008159, 0.354296"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.595007, 0.691005, 0.972361, 1.21134, 2.04367", \ "0.599546, 0.673513, 0.916588, 1.13763, 1.94051", \ "0.603852, 0.645761, 0.846255, 1.03784, 1.77788", \ "0.614357, 0.629162, 0.738157, 0.860189, 1.40868", \ "0.616042, 0.623842, 0.688453, 0.767739, 1.16141"); } } internal_power() { related_pin : "B"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.146214, 0.072766, 0.166251, 0.371609, 1.09952", \ "0.139294, 0.088083, 0.107823, 0.290841, 0.973342", \ "0.134453, 0.101816, 0.047742, 0.196758, 0.797024", \ "0.129929, 0.115514, 0.035851, 0.055185, 0.469246", \ "0.128548, 0.121075, 0.072743, 0.013593, 0.278599"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.431685, 0.509648, 0.764655, 0.978372, 1.72233", \ "0.447514, 0.498831, 0.715533, 0.912684, 1.62662", \ "0.45785, 0.485817, 0.657954, 0.827125, 1.48187", \ "0.48057, 0.484868, 0.576647, 0.683842, 1.1699", \ "0.486373, 0.486922, 0.541572, 0.611509, 0.9641"); } } } } /* ---------------- * * Design : NAND3X1 * * ---------------- */ cell (NAND3X1) { area : 324; cell_leakage_power : 0.0798204; pin(A) { direction : input; capacitance : 0.0268969; rise_capacitance : 0.0268969; fall_capacitance : 0.0267882; } pin(B) { direction : input; capacitance : 0.0268552; rise_capacitance : 0.0268552; fall_capacitance : 0.0268206; } pin(C) { direction : input; capacitance : 0.0271539; rise_capacitance : 0.027089; fall_capacitance : 0.0271539; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.416025; function : "(!((A B) C))"; timing() { related_pin : "A"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.078129, 0.068111, 0.028567, -0.005328, -0.133459", \ "0.113182, 0.102431, 0.071696, 0.042599, -0.073843", \ "0.176082, 0.165756, 0.143916, 0.122483, 0.027114", \ "0.429946, 0.417186, 0.397459, 0.385149, 0.333998", \ "0.808375, 0.795712, 0.771353, 0.756847, 0.717769"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0798, 0.1116, 0.165, 0.2064, 0.339", \ "0.1266, 0.1434, 0.1992, 0.2412, 0.378", \ "0.222, 0.228, 0.27, 0.3084, 0.4524", \ "0.6, 0.6006, 0.6108, 0.63, 0.7392", \ "1.1694, 1.1694, 1.1712, 1.176, 1.2318"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.145957, 0.188451, 0.283441, 0.352235, 0.567895", \ "0.192486, 0.232245, 0.327561, 0.398451, 0.623682", \ "0.283846, 0.319269, 0.40983, 0.484174, 0.720393", \ "0.646037, 0.677736, 0.754242, 0.818722, 1.05662", \ "1.18661, 1.21653, 1.28669, 1.34441, 1.55721"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1638, 0.1752, 0.2172, 0.252, 0.3708", \ "0.2316, 0.2328, 0.2694, 0.3054, 0.4254", \ "0.3654, 0.366, 0.3852, 0.4122, 0.5292", \ "0.9036, 0.9036, 0.9042, 0.9084, 0.9684", \ "1.7106, 1.7106, 1.7106, 1.7106, 1.722"); } } timing() { related_pin : "B"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.076387, 0.072643, 0.050601, 0.029015, -0.060984", \ "0.106865, 0.108692, 0.099403, 0.083484, 0.008872", \ "0.172115, 0.175281, 0.17862, 0.173023, 0.123517", \ "0.425812, 0.426242, 0.436938, 0.446201, 0.457852", \ "0.80403, 0.804366, 0.811038, 0.818798, 0.851276"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0858, 0.1224, 0.177, 0.2184, 0.348", \ "0.129, 0.1494, 0.2088, 0.2532, 0.3942", \ "0.2208, 0.2334, 0.2826, 0.3252, 0.474", \ "0.6, 0.6006, 0.6144, 0.6384, 0.7656", \ "1.1694, 1.1694, 1.1706, 1.1772, 1.2438"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.126844, 0.166561, 0.252964, 0.312741, 0.494425", \ "0.173525, 0.211798, 0.300763, 0.364724, 0.56113", \ "0.264376, 0.29975, 0.386827, 0.456426, 0.670746", \ "0.62749, 0.658366, 0.733236, 0.795739, 1.02592", \ "1.16819, 1.19826, 1.26672, 1.32323, 1.53137"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1284, 0.138, 0.1842, 0.2202, 0.3294", \ "0.1944, 0.198, 0.2388, 0.2736, 0.3912", \ "0.3288, 0.3282, 0.351, 0.3792, 0.498", \ "0.8658, 0.8658, 0.8658, 0.8706, 0.936", \ "1.6716, 1.6716, 1.6716, 1.6716, 1.6848"); } } timing() { related_pin : "C"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.065013, 0.07004, 0.06139, 0.04602, -0.019095", \ "0.098855, 0.114379, 0.116858, 0.110203, 0.06373", \ "0.162166, 0.18076, 0.20436, 0.210204, 0.19395", \ "0.414442, 0.430888, 0.469878, 0.501031, 0.561677", \ "0.792885, 0.808095, 0.843839, 0.873016, 0.977012"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0846, 0.1182, 0.1686, 0.2058, 0.3216", \ "0.1248, 0.1548, 0.2094, 0.252, 0.3858", \ "0.222, 0.2328, 0.2904, 0.3336, 0.48", \ "0.5994, 0.6, 0.6168, 0.6492, 0.795", \ "1.1694, 1.1694, 1.1694, 1.1766, 1.2708"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.101279, 0.142771, 0.214184, 0.263004, 0.410015", \ "0.150493, 0.1882, 0.269212, 0.324764, 0.49137", \ "0.243085, 0.276568, 0.361191, 0.425575, 0.618138", \ "0.608091, 0.637998, 0.710608, 0.771628, 0.994313", \ "1.14963, 1.17918, 1.24616, 1.30168, 1.50443"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0882, 0.1068, 0.156, 0.1848, 0.2856", \ "0.1548, 0.1638, 0.2058, 0.2418, 0.3558", \ "0.2898, 0.2892, 0.315, 0.345, 0.4674", \ "0.8256, 0.8262, 0.8256, 0.8316, 0.9036", \ "1.632, 1.6314, 1.6314, 1.6314, 1.6464"); } } internal_power() { related_pin : "A"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.154531, 0.097534, 0.198471, 0.461689, 1.41633", \ "0.146332, 0.104474, 0.147417, 0.385269, 1.29092", \ "0.138548, 0.105627, 0.088378, 0.290486, 1.10833", \ "0.130541, 0.116521, 0.00214, 0.130794, 0.732379", \ "0.128439, 0.124003, 0.047452, 0.044401, 0.491652"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.08638, 1.1792, 1.48487, 1.75762, 2.72857", \ "1.09187, 1.1663, 1.43434, 1.69095, 2.62799", \ "1.09918, 1.14101, 1.36719, 1.58987, 2.46174", \ "1.11546, 1.12937, 1.25308, 1.39762, 2.05637", \ "1.11898, 1.12332, 1.19734, 1.2927, 1.76901"); } } internal_power() { related_pin : "B"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.148827, 0.076785, 0.202019, 0.446138, 1.31995", \ "0.142904, 0.089085, 0.144659, 0.364707, 1.19071", \ "0.13563, 0.09927, 0.080573, 0.265231, 1.0034", \ "0.131159, 0.114791, 0.011233, 0.105825, 0.632861", \ "0.128968, 0.119688, 0.055301, 0.02356, 0.406512"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.822929, 0.899906, 1.19354, 1.4454, 2.33276", \ "0.838464, 0.901889, 1.14633, 1.38044, 2.23927", \ "0.852348, 0.888251, 1.08543, 1.2903, 2.08712", \ "0.873343, 0.882302, 0.991594, 1.12361, 1.72558", \ "0.877704, 0.883198, 0.947463, 1.0344, 1.47303"); } } internal_power() { related_pin : "C"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.138901, 0.058894, 0.211725, 0.441809, 1.2572", \ "0.138196, 0.073333, 0.150705, 0.357026, 1.12583", \ "0.133117, 0.091014, 0.082059, 0.254358, 0.938112", \ "0.129248, 0.109929, 0.013198, 0.094318, 0.575759", \ "0.12805, 0.117711, 0.057698, 0.013689, 0.359219"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.536545, 0.620185, 0.894649, 1.13091, 1.96028", \ "0.565005, 0.620168, 0.848997, 1.06808, 1.86612", \ "0.588406, 0.609006, 0.795581, 0.984722, 1.72078", \ "0.624626, 0.625973, 0.721582, 0.841673, 1.39533", \ "0.635753, 0.635924, 0.69156, 0.770083, 1.17411"); } } } } /* --------------- * * Design : NOR2X1 * * --------------- */ cell (NOR2X1) { area : 216; cell_leakage_power : 0.0509603; pin(A) { direction : input; capacitance : 0.0270218; rise_capacitance : 0.026769; fall_capacitance : 0.0270218; } pin(B) { direction : input; capacitance : 0.0276513; rise_capacitance : 0.0276513; fall_capacitance : 0.0276084; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.393161; function : "(!(A+B))"; timing() { related_pin : "A"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.150074, 0.177605, 0.240576, 0.281574, 0.4057", \ "0.205882, 0.233431, 0.30009, 0.345764, 0.481277", \ "0.318018, 0.343679, 0.406984, 0.459769, 0.612545", \ "0.763675, 0.784143, 0.837418, 0.882577, 1.05397", \ "1.42651, 1.44647, 1.49447, 1.53448, 1.68449"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1416, 0.1512, 0.2028, 0.2406, 0.357", \ "0.213, 0.2148, 0.2556, 0.2982, 0.4218", \ "0.357, 0.3576, 0.378, 0.4098, 0.5394", \ "0.936, 0.936, 0.936, 0.9396, 1.008", \ "1.8042, 1.8048, 1.8048, 1.8042, 1.815"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.093471, 0.105246, 0.10909, 0.106691, 0.084397", \ "0.135596, 0.148646, 0.163368, 0.167984, 0.162752", \ "0.215973, 0.229543, 0.253866, 0.268057, 0.288828", \ "0.539577, 0.548619, 0.573407, 0.595469, 0.665399", \ "1.02087, 1.03022, 1.0504, 1.06907, 1.14299"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0912, 0.1164, 0.1722, 0.21, 0.3258", \ "0.153, 0.1656, 0.2178, 0.2586, 0.3834", \ "0.2736, 0.2784, 0.315, 0.3534, 0.486", \ "0.7626, 0.7632, 0.7692, 0.783, 0.876", \ "1.4976, 1.497, 1.497, 1.4988, 1.5378"); } } timing() { related_pin : "B"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.116136, 0.141213, 0.184506, 0.212926, 0.287939", \ "0.175024, 0.198472, 0.255186, 0.289615, 0.386509", \ "0.288906, 0.310984, 0.370468, 0.416167, 0.540884", \ "0.737669, 0.75684, 0.805762, 0.848772, 1.01158", \ "1.40149, 1.42102, 1.46645, 1.50461, 1.64837"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.093, 0.105, 0.153, 0.1872, 0.2886", \ "0.1626, 0.1668, 0.2124, 0.249, 0.3684", \ "0.3048, 0.3054, 0.3294, 0.3648, 0.492", \ "0.8832, 0.8832, 0.8832, 0.8874, 0.9618", \ "1.7514, 1.7514, 1.7514, 1.7514, 1.7628"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.086072, 0.106592, 0.132203, 0.145177, 0.168482", \ "0.126215, 0.154476, 0.194422, 0.216541, 0.262564", \ "0.205216, 0.234739, 0.292908, 0.32624, 0.40648", \ "0.52802, 0.553487, 0.611772, 0.658779, 0.809342", \ "1.00913, 1.03421, 1.08875, 1.13241, 1.28828"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0924, 0.1236, 0.1734, 0.2082, 0.3048", \ "0.153, 0.168, 0.228, 0.2646, 0.3822", \ "0.2742, 0.2772, 0.3234, 0.3672, 0.4992", \ "0.7632, 0.7626, 0.7668, 0.7854, 0.8976", \ "1.497, 1.4976, 1.4976, 1.4976, 1.5426"); } } internal_power() { related_pin : "A"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.298395, 0.261452, 0.062218, 0.119597, 0.791788", \ "0.298898, 0.267185, 0.103201, 0.061582, 0.694768", \ "0.294136, 0.274582, 0.151168, 0.015105, 0.549481", \ "0.287209, 0.28202, 0.219175, 0.138648, 0.250443", \ "0.285074, 0.283287, 0.247904, 0.197623, 0.069121"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.996171, 1.02306, 1.2442, 1.43437, 2.13215", \ "1.00259, 1.01693, 1.20831, 1.37907, 2.04072", \ "1.00845, 1.02149, 1.16558, 1.30975, 1.91047", \ "1.00428, 1.01698, 1.09307, 1.19261, 1.64057", \ "1.00569, 1.0055, 1.06035, 1.12826, 1.46238"); } } internal_power() { related_pin : "B"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.285912, 0.245194, 0.058754, 0.111418, 0.729936", \ "0.253157, 0.236317, 0.092462, 0.056827, 0.632515", \ "0.224935, 0.227801, 0.126156, 0.006333, 0.498582", \ "0.199564, 0.202468, 0.159621, 0.092763, 0.248633", \ "0.191115, 0.192758, 0.169449, 0.128861, 0.104685"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.605996, 0.665924, 0.893344, 1.07356, 1.71228", \ "0.611981, 0.659276, 0.846355, 1.01277, 1.6198", \ "0.620342, 0.650074, 0.79521, 0.935203, 1.48451", \ "0.630236, 0.641971, 0.72128, 0.810149, 1.20997", \ "0.632785, 0.638606, 0.687759, 0.746283, 1.03558"); } } } } /* --------------- * * Design : NOR3X1 * * --------------- */ cell (NOR3X1) { area : 576; cell_leakage_power : 0.13516; pin(A) { direction : input; capacitance : 0.0376635; rise_capacitance : 0.0372401; fall_capacitance : 0.0376635; } pin(B) { direction : input; capacitance : 0.0375667; rise_capacitance : 0.0373598; fall_capacitance : 0.0375667; } pin(C) { direction : input; capacitance : 0.0386539; rise_capacitance : 0.0386539; fall_capacitance : 0.0385214; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.357419; function : "(!((A+B)+C))"; timing() { related_pin : "A"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.240857, 0.263963, 0.335706, 0.39084, 0.560112", \ "0.301169, 0.323387, 0.391001, 0.448426, 0.623399", \ "0.415679, 0.437797, 0.499929, 0.554948, 0.740299", \ "0.866844, 0.884749, 0.937853, 0.983583, 1.16052", \ "1.53191, 1.55075, 1.59813, 1.63857, 1.79265"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.2358, 0.2376, 0.2706, 0.306, 0.4338", \ "0.3108, 0.312, 0.3336, 0.3666, 0.4938", \ "0.4584, 0.459, 0.4686, 0.4914, 0.6102", \ "1.0416, 1.0422, 1.0422, 1.0434, 1.0956", \ "1.9122, 1.9122, 1.9116, 1.9116, 1.9182"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.134381, 0.136225, 0.126988, 0.113227, 0.053218", \ "0.172608, 0.178187, 0.175799, 0.167924, 0.120676", \ "0.254115, 0.258307, 0.262792, 0.262444, 0.235626", \ "0.574303, 0.579267, 0.583494, 0.588047, 0.602523", \ "1.05472, 1.06149, 1.06064, 1.06147, 1.07921"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.126, 0.1416, 0.1902, 0.2298, 0.3624", \ "0.1854, 0.1914, 0.234, 0.273, 0.4098", \ "0.306, 0.3084, 0.3372, 0.3714, 0.5052", \ "0.795, 0.795, 0.801, 0.8136, 0.9018", \ "1.5294, 1.5294, 1.53, 1.5324, 1.5702"); } } timing() { related_pin : "B"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.202035, 0.223278, 0.288279, 0.333265, 0.467918", \ "0.261096, 0.280861, 0.346233, 0.39479, 0.540557", \ "0.375164, 0.393594, 0.453559, 0.506537, 0.667992", \ "0.82061, 0.839283, 0.890117, 0.934059, 1.10457", \ "1.48433, 1.5039, 1.55012, 1.58932, 1.73912"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1692, 0.1716, 0.2124, 0.249, 0.3606", \ "0.2424, 0.2412, 0.2712, 0.3078, 0.426", \ "0.3876, 0.3876, 0.3984, 0.426, 0.5454", \ "0.9672, 0.9666, 0.9666, 0.9684, 1.0272", \ "1.836, 1.836, 1.836, 1.836, 1.8426"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.122952, 0.128631, 0.135156, 0.135376, 0.12211", \ "0.164343, 0.175515, 0.188853, 0.195586, 0.197929", \ "0.244616, 0.255862, 0.280724, 0.29533, 0.32331", \ "0.564733, 0.576414, 0.603061, 0.627167, 0.700129", \ "1.04515, 1.05692, 1.08029, 1.10052, 1.18075"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.126, 0.1512, 0.2064, 0.249, 0.3732", \ "0.1836, 0.1998, 0.2574, 0.2946, 0.426", \ "0.306, 0.3114, 0.3504, 0.3918, 0.5226", \ "0.7956, 0.7956, 0.8034, 0.819, 0.9126", \ "1.5294, 1.5294, 1.5294, 1.5318, 1.5726"); } } timing() { related_pin : "C"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.135743, 0.163306, 0.21245, 0.243388, 0.332819", \ "0.198295, 0.220839, 0.279903, 0.317937, 0.427524", \ "0.316866, 0.336776, 0.394505, 0.442531, 0.577465", \ "0.769029, 0.786536, 0.835023, 0.877341, 1.04242", \ "1.43464, 1.45323, 1.49843, 1.53626, 1.6812"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0984, 0.1074, 0.1512, 0.18, 0.276", \ "0.1686, 0.1686, 0.2082, 0.2442, 0.3534", \ "0.3114, 0.3096, 0.3282, 0.3582, 0.4794", \ "0.8892, 0.8886, 0.8886, 0.8904, 0.957", \ "1.7574, 1.7574, 1.7574, 1.7574, 1.7658"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.085661, 0.105524, 0.127392, 0.136521, 0.149452", \ "0.128732, 0.154603, 0.187721, 0.206183, 0.239983", \ "0.209225, 0.234836, 0.286106, 0.314458, 0.381183", \ "0.530486, 0.553915, 0.606227, 0.649252, 0.781668", \ "1.01217, 1.03397, 1.08245, 1.1218, 1.26396"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1182, 0.15, 0.1986, 0.2292, 0.3252", \ "0.1812, 0.1986, 0.2586, 0.2868, 0.4026", \ "0.3042, 0.309, 0.3534, 0.3978, 0.5202", \ "0.795, 0.7956, 0.7992, 0.8178, 0.9288", \ "1.5294, 1.5294, 1.5294, 1.5294, 1.5762"); } } internal_power() { related_pin : "A"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.39643, 0.382982, 0.211539, 0.032463, 0.667671", \ "0.394775, 0.388384, 0.241382, 0.07867, 0.585638", \ "0.396928, 0.392353, 0.280619, 0.143202, 0.455488", \ "0.386202, 0.400321, 0.341258, 0.257887, 0.16329", \ "0.385746, 0.402077, 0.368606, 0.316943, 0.025344"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.98705, 1.99065, 2.16916, 2.35265, 3.07612", \ "1.99617, 1.9924, 2.14767, 2.30818, 3.00195", \ "2.00177, 1.99674, 2.11808, 2.25697, 2.88691", \ "2.00519, 2.00446, 2.0711, 2.16618, 2.64732", \ "2.00606, 1.99419, 2.04793, 2.11317, 2.48108"); } } internal_power() { related_pin : "B"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.375107, 0.368914, 0.204031, 0.033483, 0.624038", \ "0.362623, 0.365552, 0.228697, 0.075936, 0.544315", \ "0.350334, 0.357052, 0.255181, 0.130063, 0.424312", \ "0.336914, 0.339318, 0.290995, 0.217444, 0.167462", \ "0.332456, 0.331023, 0.302692, 0.258048, 0.00788"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.4485, 1.4562, 1.66651, 1.85032, 2.5499", \ "1.45007, 1.47533, 1.63587, 1.80404, 2.46243", \ "1.45404, 1.47281, 1.59489, 1.73909, 2.33506", \ "1.45787, 1.47318, 1.53836, 1.63161, 2.07231", \ "1.45866, 1.45691, 1.51087, 1.57387, 1.89962"); } } internal_power() { related_pin : "C"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.4201, 0.376422, 0.206384, 0.0372, 0.600653", \ "0.376125, 0.371623, 0.228293, 0.080367, 0.514291", \ "0.329902, 0.333418, 0.246904, 0.129075, 0.392623", \ "0.279684, 0.286595, 0.252016, 0.187843, 0.163967", \ "0.262813, 0.261626, 0.245932, 0.206859, 0.03244"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.87566, 0.939844, 1.17874, 1.36919, 2.04263", \ "0.88793, 0.93755, 1.13619, 1.30886, 1.94882", \ "0.896378, 0.930542, 1.08392, 1.23198, 1.81184", \ "0.907622, 0.925106, 1.00934, 1.10383, 1.52896", \ "0.915504, 0.921482, 0.974132, 1.0372, 1.34683"); } } } } /* ---------------- * * Design : OAI21X1 * * ---------------- */ cell (OAI21X1) { area : 207; cell_leakage_power : 0.0720872; pin(A) { direction : input; capacitance : 0.0323034; rise_capacitance : 0.0321164; fall_capacitance : 0.0323034; } pin(B) { direction : input; capacitance : 0.0329964; rise_capacitance : 0.0329964; fall_capacitance : 0.0329316; } pin(C) { direction : input; capacitance : 0.0216377; rise_capacitance : 0.0215874; fall_capacitance : 0.0216377; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.433556; function : "(!((A+B) C))"; timing() { related_pin : "A"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.110401, 0.116701, 0.124593, 0.12774, 0.126245", \ "0.148763, 0.154209, 0.168493, 0.175478, 0.183615", \ "0.224031, 0.227036, 0.244739, 0.257801, 0.283412", \ "0.522991, 0.520666, 0.530551, 0.544564, 0.598228", \ "0.963615, 0.960206, 0.964312, 0.972795, 1.01934"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.111, 0.1344, 0.198, 0.2508, 0.4128", \ "0.165, 0.177, 0.2346, 0.2838, 0.4554", \ "0.2688, 0.273, 0.3114, 0.357, 0.5274", \ "0.6888, 0.6888, 0.6954, 0.7104, 0.8214", \ "1.32, 1.3194, 1.3194, 1.323, 1.3632"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.118532, 0.135307, 0.171007, 0.195542, 0.26662", \ "0.160217, 0.175596, 0.216154, 0.244811, 0.32622", \ "0.238709, 0.253888, 0.296764, 0.330308, 0.428896", \ "0.563419, 0.573168, 0.605394, 0.637236, 0.757836", \ "1.04447, 1.0544, 1.07936, 1.10397, 1.20927"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1212, 0.1428, 0.2052, 0.2538, 0.414", \ "0.1818, 0.1908, 0.2454, 0.2946, 0.4626", \ "0.3036, 0.3066, 0.3408, 0.3828, 0.546", \ "0.7926, 0.7926, 0.7968, 0.81, 0.9072", \ "1.5276, 1.527, 1.527, 1.5282, 1.563"); } } timing() { related_pin : "B"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.088944, 0.091981, 0.085301, 0.075756, 0.029997", \ "0.129963, 0.133805, 0.135688, 0.13213, 0.100942", \ "0.205348, 0.207458, 0.218428, 0.223929, 0.217341", \ "0.50611, 0.502658, 0.510025, 0.52154, 0.559331", \ "0.947127, 0.943286, 0.946034, 0.952754, 0.991657"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0756, 0.1026, 0.153, 0.198, 0.3216", \ "0.129, 0.1416, 0.1956, 0.2364, 0.3756", \ "0.231, 0.2352, 0.2736, 0.315, 0.4626", \ "0.6516, 0.6516, 0.6576, 0.672, 0.7788", \ "1.2816, 1.2822, 1.2822, 1.2852, 1.3254"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.106728, 0.142979, 0.203811, 0.246175, 0.373422", \ "0.148368, 0.181689, 0.251224, 0.298886, 0.440326", \ "0.22955, 0.260195, 0.335655, 0.388211, 0.550255", \ "0.551571, 0.578412, 0.642914, 0.697526, 0.891381", \ "1.03286, 1.05837, 1.11687, 1.16546, 1.34604"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1218, 0.1452, 0.198, 0.2364, 0.3594", \ "0.18, 0.192, 0.2478, 0.2868, 0.4194", \ "0.303, 0.3048, 0.342, 0.3798, 0.5172", \ "0.7926, 0.7926, 0.795, 0.8082, 0.903", \ "1.5276, 1.5276, 1.5276, 1.5276, 1.56"); } } timing() { related_pin : "C"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.082292, 0.096874, 0.101885, 0.097413, 0.060477", \ "0.117849, 0.137037, 0.155529, 0.158467, 0.139753", \ "0.18465, 0.206164, 0.242999, 0.257161, 0.268051", \ "0.453095, 0.471926, 0.515668, 0.55128, 0.639319", \ "0.853993, 0.871968, 0.912403, 0.945077, 1.06324"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0876, 0.117, 0.1725, 0.2115, 0.3306", \ "0.1341, 0.1521, 0.2133, 0.2568, 0.3912", \ "0.2247, 0.2346, 0.2895, 0.3345, 0.4839", \ "0.6009, 0.6006, 0.6135, 0.6429, 0.7896", \ "1.1658, 1.1655, 1.1658, 1.17, 1.254"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.098751, 0.137287, 0.206704, 0.252291, 0.384098", \ "0.147252, 0.184107, 0.262877, 0.314885, 0.464773", \ "0.239395, 0.273825, 0.356666, 0.417205, 0.593024", \ "0.603462, 0.634042, 0.70701, 0.766013, 0.978703", \ "1.14407, 1.17418, 1.2421, 1.2962, 1.49231"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1161, 0.1347, 0.1905, 0.2262, 0.3354", \ "0.1824, 0.1926, 0.2373, 0.2787, 0.3978", \ "0.3156, 0.3168, 0.3447, 0.3798, 0.5052", \ "0.8523, 0.8523, 0.8526, 0.8604, 0.9369", \ "1.6581, 1.6578, 1.6581, 1.6581, 1.6758"); } } internal_power() { related_pin : "A"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.302058, 0.219846, 0.11778, 0.433147, 1.57746", \ "0.297421, 0.244632, 0.054332, 0.342238, 1.43325", \ "0.293121, 0.258777, 0.022286, 0.221147, 1.21009", \ "0.288808, 0.271064, 0.140733, 0.013832, 0.726257", \ "0.286847, 0.277897, 0.197305, 0.094872, 0.417311"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.28198, 1.33492, 1.71433, 2.04136, 3.21364", \ "1.28819, 1.33179, 1.65177, 1.95508, 3.08793", \ "1.29331, 1.3215, 1.57718, 1.83787, 2.8849", \ "1.2934, 1.31421, 1.45212, 1.626, 2.41636", \ "1.29526, 1.29737, 1.39158, 1.50938, 2.09419"); } } internal_power() { related_pin : "B"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.28009, 0.196409, 0.108406, 0.382532, 1.35986", \ "0.250928, 0.196992, 0.056706, 0.304626, 1.23302", \ "0.226064, 0.193164, 0.000093, 0.206979, 1.04347", \ "0.199565, 0.188292, 0.079844, 0.052835, 0.659375", \ "0.19077, 0.184631, 0.116447, 0.027339, 0.41865"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.893656, 0.992369, 1.33586, 1.61909, 2.61443", \ "0.902395, 0.967478, 1.27221, 1.53664, 2.49949", \ "0.907789, 0.958415, 1.19344, 1.4239, 2.31445", \ "0.918971, 0.938979, 1.07067, 1.22027, 1.88982", \ "0.92215, 0.931777, 1.01344, 1.11202, 1.59938"); } } internal_power() { related_pin : "C"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.118765, 0.056186, 0.177117, 0.37866, 1.11005", \ "0.114565, 0.068771, 0.121394, 0.309404, 0.996067", \ "0.110685, 0.080627, 0.061107, 0.215029, 0.832436", \ "0.106834, 0.092829, 0.020418, 0.073657, 0.502961", \ "0.105527, 0.098153, 0.050578, 0.01732, 0.305235"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.651689, 0.727809, 0.984805, 1.19745, 1.93861", \ "0.663996, 0.724184, 0.93805, 1.13507, 1.84523", \ "0.675781, 0.708245, 0.881716, 1.04997, 1.70424", \ "0.69982, 0.705478, 0.803757, 0.91034, 1.39543", \ "0.705618, 0.706667, 0.766966, 0.838759, 1.19078"); } } } } /* ---------------- * * Design : OAI22X1 * * ---------------- */ cell (OAI22X1) { area : 360; cell_leakage_power : 0.0923334; pin(A) { direction : input; capacitance : 0.032315; rise_capacitance : 0.0321; fall_capacitance : 0.032315; } pin(B) { direction : input; capacitance : 0.0329905; rise_capacitance : 0.0329905; fall_capacitance : 0.0329118; } pin(C) { direction : input; capacitance : 0.0325267; rise_capacitance : 0.0322759; fall_capacitance : 0.0325267; } pin(D) { direction : input; capacitance : 0.0331734; rise_capacitance : 0.0331734; fall_capacitance : 0.033147; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.448195; function : "(!((A+B) (C+D)))"; timing() { related_pin : "A"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.123608, 0.13546, 0.149659, 0.155176, 0.159732", \ "0.157218, 0.169455, 0.189685, 0.199871, 0.213928", \ "0.224455, 0.233269, 0.260135, 0.276101, 0.308246", \ "0.48029, 0.487993, 0.513005, 0.536687, 0.605515", \ "0.862854, 0.87004, 0.890246, 0.909554, 0.988613"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1281, 0.1491, 0.2106, 0.2628, 0.4287", \ "0.1731, 0.1878, 0.2439, 0.2937, 0.4665", \ "0.2643, 0.27, 0.3138, 0.3588, 0.5307", \ "0.6309, 0.6303, 0.642, 0.6639, 0.7923", \ "1.1817, 1.1814, 1.1817, 1.1877, 1.2534"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.131748, 0.148562, 0.18804, 0.215493, 0.295256", \ "0.172422, 0.188823, 0.231696, 0.262793, 0.351689", \ "0.252403, 0.267935, 0.311314, 0.346536, 0.451881", \ "0.578471, 0.588197, 0.620284, 0.652156, 0.77667", \ "1.05981, 1.0696, 1.0945, 1.1192, 1.22739"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.156, 0.1746, 0.2373, 0.2877, 0.4431", \ "0.2163, 0.225, 0.2769, 0.3279, 0.4887", \ "0.3384, 0.3411, 0.3735, 0.4149, 0.5712", \ "0.8277, 0.8277, 0.8319, 0.8448, 0.9402", \ "1.5624, 1.5624, 1.5621, 1.5633, 1.5975"); } } timing() { related_pin : "B"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.104778, 0.114118, 0.114342, 0.108014, 0.0709", \ "0.139944, 0.150658, 0.160536, 0.160019, 0.136385", \ "0.205443, 0.216262, 0.236678, 0.245272, 0.246535", \ "0.464539, 0.472364, 0.495512, 0.516745, 0.569501", \ "0.847551, 0.855153, 0.874507, 0.892467, 0.9642"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0978, 0.117, 0.1725, 0.2148, 0.3444", \ "0.1416, 0.1554, 0.21, 0.252, 0.3939", \ "0.2316, 0.2367, 0.2805, 0.3231, 0.4731", \ "0.5982, 0.5985, 0.6093, 0.6315, 0.7542", \ "1.1487, 1.1487, 1.149, 1.1547, 1.2213"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.121859, 0.156062, 0.222367, 0.267645, 0.404357", \ "0.161833, 0.194798, 0.268075, 0.317745, 0.466267", \ "0.243248, 0.27421, 0.350029, 0.404789, 0.572771", \ "0.566584, 0.593367, 0.657741, 0.712574, 0.909965", \ "1.04817, 1.07365, 1.13198, 1.18052, 1.36356"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.156, 0.1776, 0.234, 0.2757, 0.3999", \ "0.2163, 0.2247, 0.2796, 0.3222, 0.4521", \ "0.3381, 0.3387, 0.3756, 0.4122, 0.5481", \ "0.8277, 0.8277, 0.8298, 0.843, 0.9366", \ "1.5624, 1.5624, 1.5627, 1.5624, 1.5948"); } } timing() { related_pin : "C"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.119006, 0.141628, 0.175842, 0.194761, 0.238492", \ "0.153471, 0.177461, 0.219004, 0.242202, 0.297661", \ "0.220851, 0.244215, 0.294788, 0.324753, 0.399492", \ "0.488862, 0.510184, 0.557455, 0.597551, 0.721296", \ "0.892227, 0.910232, 0.952815, 0.988452, 1.12181"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1254, 0.1446, 0.2091, 0.2538, 0.4071", \ "0.1701, 0.1848, 0.2445, 0.2919, 0.4515", \ "0.2634, 0.2685, 0.3153, 0.3633, 0.5277", \ "0.6402, 0.6399, 0.6483, 0.6726, 0.8109", \ "1.2048, 1.2051, 1.2054, 1.2078, 1.2789"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.112429, 0.126838, 0.155629, 0.172277, 0.212399", \ "0.155218, 0.171922, 0.204594, 0.225325, 0.278339", \ "0.238318, 0.25236, 0.290145, 0.317595, 0.391112", \ "0.565506, 0.574555, 0.605024, 0.63362, 0.738624", \ "1.04742, 1.05661, 1.08106, 1.10412, 1.20012"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1266, 0.1452, 0.2073, 0.2529, 0.39", \ "0.1887, 0.2001, 0.2505, 0.2937, 0.4404", \ "0.3102, 0.3138, 0.3462, 0.3846, 0.5295", \ "0.7995, 0.7995, 0.8037, 0.8166, 0.9069", \ "1.5336, 1.5336, 1.5336, 1.5345, 1.5687"); } } timing() { related_pin : "D"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.100185, 0.119749, 0.13696, 0.142163, 0.140893", \ "0.135931, 0.15815, 0.187019, 0.19901, 0.214009", \ "0.204966, 0.225643, 0.269594, 0.291856, 0.333517", \ "0.474706, 0.49417, 0.538995, 0.577229, 0.685292", \ "0.877385, 0.895139, 0.93617, 0.970436, 1.09806"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0933, 0.1122, 0.1674, 0.204, 0.3276", \ "0.1365, 0.1515, 0.207, 0.2499, 0.3852", \ "0.231, 0.2352, 0.2823, 0.3285, 0.4728", \ "0.6063, 0.6066, 0.6153, 0.6399, 0.7776", \ "1.1712, 1.1715, 1.1712, 1.1739, 1.2474"); } cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.102059, 0.134905, 0.187804, 0.221858, 0.317486", \ "0.146189, 0.177421, 0.240264, 0.280338, 0.392555", \ "0.228827, 0.25724, 0.329475, 0.376801, 0.514195", \ "0.553778, 0.579692, 0.642713, 0.694929, 0.876547", \ "1.03582, 1.06071, 1.11855, 1.16582, 1.33974"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1284, 0.1509, 0.2064, 0.2421, 0.3561", \ "0.189, 0.201, 0.2538, 0.2919, 0.4149", \ "0.3099, 0.3129, 0.3486, 0.3858, 0.5166", \ "0.7995, 0.7995, 0.8013, 0.8148, 0.9087", \ "1.5339, 1.5336, 1.5339, 1.5336, 1.5672"); } } internal_power() { related_pin : "A"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.275558, 0.215109, 0.10053, 0.399069, 1.51295", \ "0.272057, 0.224924, 0.046901, 0.32221, 1.38375", \ "0.265367, 0.233624, 0.019068, 0.213043, 1.1803", \ "0.259138, 0.250421, 0.124783, 0.02449, 0.721848", \ "0.257606, 0.255213, 0.178069, 0.077933, 0.425665"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.55828, 1.60686, 1.97669, 2.305, 3.46917", \ "1.56257, 1.60853, 1.922, 2.22131, 3.34844", \ "1.57312, 1.60012, 1.84872, 2.10708, 3.1488", \ "1.57328, 1.59299, 1.72958, 1.90244, 2.68837", \ "1.57548, 1.57691, 1.67042, 1.78778, 2.37056"); } } internal_power() { related_pin : "B"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.243965, 0.17946, 0.095024, 0.355457, 1.30521", \ "0.221494, 0.179952, 0.054544, 0.291477, 1.19303", \ "0.201962, 0.178041, 0.013152, 0.205008, 1.02237", \ "0.181241, 0.169991, 0.062856, 0.065854, 0.659658", \ "0.174459, 0.164387, 0.097072, 0.02082, 0.429416"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.17408, 1.26509, 1.59926, 1.88153, 2.87202", \ "1.17726, 1.2444, 1.53971, 1.80383, 2.7599", \ "1.18707, 1.23645, 1.46683, 1.6946, 2.58032", \ "1.19796, 1.21831, 1.34868, 1.49699, 2.16322", \ "1.20205, 1.21161, 1.2923, 1.39036, 1.87584"); } } internal_power() { related_pin : "C"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.271011, 0.205809, 0.094038, 0.363785, 1.35534", \ "0.270991, 0.216235, 0.038173, 0.289655, 1.23461", \ "0.268455, 0.23015, 0.034452, 0.182051, 1.0446", \ "0.265144, 0.247302, 0.140399, 0.017067, 0.618534", \ "0.262323, 0.254268, 0.189111, 0.10599, 0.337837"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.32909, 1.38197, 1.70879, 1.9877, 2.9827", \ "1.34647, 1.3975, 1.66355, 1.91708, 2.87684", \ "1.36781, 1.38923, 1.60949, 1.82929, 2.7114", \ "1.38285, 1.39678, 1.52009, 1.67036, 2.34569", \ "1.38937, 1.3861, 1.47674, 1.58125, 2.09238"); } } internal_power() { related_pin : "D"; fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.231861, 0.166277, 0.095056, 0.334936, 1.20139", \ "0.21633, 0.167083, 0.046314, 0.270513, 1.09132", \ "0.194192, 0.171743, 0.01555, 0.178181, 0.926543", \ "0.175352, 0.163686, 0.077598, 0.031834, 0.575785", \ "0.167918, 0.160732, 0.107932, 0.036022, 0.352291"); } rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.950276, 1.03974, 1.3428, 1.59282, 2.46304", \ "0.967897, 1.03383, 1.29238, 1.52426, 2.36347", \ "0.984326, 1.02069, 1.23217, 1.43283, 2.20818", \ "1.00903, 1.02245, 1.14133, 1.27304, 1.85873", \ "1.01629, 1.02208, 1.09851, 1.18742, 1.62102"); } } } } /* -------------- * * Design : OR2X1 * * -------------- */ cell (OR2X1) { area : 288; cell_leakage_power : 0.105606; pin(A) { direction : input; capacitance : 0.0276945; rise_capacitance : 0.0276945; fall_capacitance : 0.0276318; } pin(B) { direction : input; capacitance : 0.0270172; rise_capacitance : 0.0267846; fall_capacitance : 0.0270172; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.412521; function : "(A+B)"; timing() { related_pin : "A"; timing_sense : positive_unate; cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.168124, 0.194863, 0.243568, 0.269642, 0.349991", \ "0.215406, 0.242019, 0.288561, 0.317689, 0.400657", \ "0.305581, 0.331637, 0.379749, 0.408223, 0.494526", \ "0.665148, 0.69168, 0.739474, 0.769024, 0.856639", \ "1.20691, 1.23177, 1.27941, 1.30883, 1.39678"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0858, 0.0912, 0.099, 0.1062, 0.1158", \ "0.15, 0.1488, 0.156, 0.1584, 0.174", \ "0.2802, 0.2808, 0.282, 0.2856, 0.2964", \ "0.8166, 0.8166, 0.8166, 0.8172, 0.8226", \ "1.6218, 1.6218, 1.6218, 1.6218, 1.6236"); } cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.167235, 0.183125, 0.207461, 0.220554, 0.244132", \ "0.225725, 0.242382, 0.268265, 0.282233, 0.307408", \ "0.33762, 0.359373, 0.385586, 0.397183, 0.425573", \ "0.781205, 0.801497, 0.828672, 0.842904, 0.878058", \ "1.44393, 1.46412, 1.49125, 1.50498, 1.54152"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.096, 0.102, 0.1068, 0.1116, 0.1242", \ "0.1626, 0.1626, 0.1698, 0.1758, 0.1872", \ "0.3012, 0.3018, 0.309, 0.3132, 0.327", \ "0.8778, 0.8778, 0.8784, 0.8814, 0.8922", \ "1.7466, 1.7466, 1.7466, 1.7466, 1.7514"); } } timing() { related_pin : "B"; timing_sense : positive_unate; cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.217882, 0.246664, 0.31295, 0.357293, 0.487574", \ "0.265234, 0.294318, 0.358924, 0.404147, 0.537089", \ "0.354871, 0.383919, 0.449834, 0.493378, 0.626227", \ "0.715591, 0.744095, 0.808667, 0.852047, 0.984106", \ "1.25529, 1.28427, 1.34831, 1.39144, 1.52337"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0984, 0.0984, 0.1032, 0.1038, 0.1218", \ "0.1542, 0.1536, 0.1578, 0.1614, 0.1698", \ "0.282, 0.282, 0.2838, 0.2844, 0.2922", \ "0.8166, 0.8166, 0.8172, 0.8178, 0.8202", \ "1.6224, 1.6224, 1.6224, 1.6224, 1.6236"); } cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.178768, 0.184275, 0.194645, 0.195275, 0.178761", \ "0.236996, 0.24691, 0.255526, 0.258655, 0.246326", \ "0.349597, 0.358376, 0.369039, 0.373149, 0.367184", \ "0.792036, 0.802519, 0.81274, 0.816178, 0.819354", \ "1.45516, 1.46515, 1.47515, 1.47808, 1.48125"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0942, 0.0984, 0.1116, 0.1176, 0.1344", \ "0.1596, 0.1638, 0.171, 0.1788, 0.1992", \ "0.3012, 0.3012, 0.3072, 0.3126, 0.3336", \ "0.8784, 0.8778, 0.8784, 0.8802, 0.8922", \ "1.7466, 1.7466, 1.7466, 1.7466, 1.7496"); } } internal_power() { related_pin : "A"; rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.013149, 0.070887, 0.32262, 0.514137, 1.21018", \ "0.026271, 0.07461, 0.315629, 0.502573, 1.18508", \ "0.031193, 0.089177, 0.307366, 0.496227, 1.1641", \ "0.034543, 0.091278, 0.308944, 0.493762, 1.14359", \ "0.027238, 0.091917, 0.309898, 0.493386, 1.13826"); } fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.855353, 0.940041, 1.19294, 1.38873, 2.10134", \ "0.863621, 0.941992, 1.19522, 1.3934, 2.07531", \ "0.870439, 0.954282, 1.19748, 1.39068, 2.0626", \ "0.870243, 0.957009, 1.19982, 1.39085, 2.04754", \ "0.871806, 0.958163, 1.20118, 1.39115, 2.04376"); } } internal_power() { related_pin : "B"; rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.038192, 0.087727, 0.33766, 0.554247, 1.31377", \ "0.03014, 0.082891, 0.322236, 0.536492, 1.2793", \ "0.031365, 0.080551, 0.318112, 0.521335, 1.24755", \ "0.035498, 0.081458, 0.310135, 0.507432, 1.21311", \ "0.035595, 0.081965, 0.308747, 0.504304, 1.20218"); } fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.23912, 1.27797, 1.54398, 1.76412, 2.55167", \ "1.24565, 1.29441, 1.54364, 1.75725, 2.52147", \ "1.25985, 1.29653, 1.54334, 1.7511, 2.49796", \ "1.2626, 1.30397, 1.54457, 1.74766, 2.47536", \ "1.25405, 1.30509, 1.54467, 1.74518, 2.46832"); } } } } /* -------------- * * Design : OR2X2 * * -------------- */ cell (OR2X2) { area : 288; cell_leakage_power : 0.106154; pin(A) { direction : input; capacitance : 0.0276578; rise_capacitance : 0.0276578; fall_capacitance : 0.0276256; } pin(B) { direction : input; capacitance : 0.0270241; rise_capacitance : 0.0267791; fall_capacitance : 0.0270241; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.924545; function : "(A+B)"; timing() { related_pin : "A"; timing_sense : positive_unate; cell_rise(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.21564, 0.241265, 0.298867, 0.33374, 0.434389", \ "0.261354, 0.287848, 0.343545, 0.380026, 0.483983", \ "0.348904, 0.375124, 0.43041, 0.467602, 0.571926", \ "0.693677, 0.719559, 0.774544, 0.809949, 0.913076", \ "1.21038, 1.23611, 1.2908, 1.3258, 1.42782"); } rise_transition(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0978, 0.0996, 0.1044, 0.1092, 0.1278", \ "0.1524, 0.1536, 0.159, 0.1638, 0.1788", \ "0.2742, 0.273, 0.2778, 0.2802, 0.2916", \ "0.7854, 0.7848, 0.7854, 0.786, 0.7896", \ "1.557, 1.557, 1.5564, 1.557, 1.5576"); } cell_fall(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.192162, 0.218373, 0.250139, 0.271515, 0.313317", \ "0.246453, 0.271638, 0.306271, 0.326753, 0.370283", \ "0.347887, 0.371758, 0.409279, 0.428535, 0.473442", \ "0.742207, 0.764459, 0.801868, 0.822401, 0.869574", \ "1.33167, 1.35359, 1.39071, 1.41068, 1.45802"); } fall_transition(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0996, 0.1002, 0.1098, 0.1152, 0.1332", \ "0.1512, 0.1542, 0.1626, 0.1686, 0.1854", \ "0.2748, 0.276, 0.2808, 0.2868, 0.3018", \ "0.7854, 0.7854, 0.786, 0.7884, 0.798", \ "1.5582, 1.5582, 1.5588, 1.5582, 1.563"); } } timing() { related_pin : "B"; timing_sense : positive_unate; cell_rise(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.26144, 0.288823, 0.359491, 0.409256, 0.552897", \ "0.309414, 0.336969, 0.406731, 0.456017, 0.601402", \ "0.396325, 0.424187, 0.493377, 0.541876, 0.68752", \ "0.739694, 0.76766, 0.835562, 0.882957, 1.02592", \ "1.25621, 1.28425, 1.35152, 1.39857, 1.54018"); } rise_transition(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1092, 0.1086, 0.108, 0.1158, 0.1326", \ "0.1596, 0.1596, 0.1632, 0.1674, 0.1794", \ "0.2766, 0.2772, 0.2778, 0.2808, 0.288", \ "0.7854, 0.7854, 0.7854, 0.786, 0.7884", \ "1.557, 1.557, 1.557, 1.557, 1.5582"); } cell_fall(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.199666, 0.213894, 0.227156, 0.232159, 0.22723", \ "0.255687, 0.268344, 0.283586, 0.290278, 0.288812", \ "0.357257, 0.368792, 0.386136, 0.39276, 0.396453", \ "0.75217, 0.763315, 0.778759, 0.785492, 0.795631", \ "1.34162, 1.3526, 1.36728, 1.37373, 1.38308"); } fall_transition(delay_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0978, 0.0996, 0.1098, 0.12, 0.1386", \ "0.1536, 0.1554, 0.1632, 0.1716, 0.1956", \ "0.2754, 0.276, 0.2808, 0.2856, 0.3084", \ "0.7854, 0.7854, 0.7854, 0.7872, 0.7992", \ "1.5588, 1.5582, 1.5582, 1.5588, 1.5618"); } } internal_power() { related_pin : "A"; rise_power(energy_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.425189, 0.483416, 0.742834, 0.95789, 1.76384", \ "0.412974, 0.466119, 0.701139, 0.912391, 1.67404", \ "0.417985, 0.466382, 0.672775, 0.873298, 1.59235", \ "0.414313, 0.464914, 0.660023, 0.840318, 1.50158", \ "0.415408, 0.4641, 0.654377, 0.830426, 1.47077"); } fall_power(energy_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.16522, 1.25761, 1.52948, 1.7546, 2.5874", \ "1.17044, 1.25625, 1.507, 1.72864, 2.49849", \ "1.16652, 1.24917, 1.48695, 1.68971, 2.42303", \ "1.177, 1.24456, 1.47314, 1.66066, 2.33507", \ "1.1793, 1.24335, 1.46934, 1.65337, 2.30724"); } } internal_power() { related_pin : "B"; rise_power(energy_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.483931, 0.523788, 0.797915, 1.04259, 1.90649", \ "0.453152, 0.489714, 0.748775, 0.979793, 1.80831", \ "0.431599, 0.46763, 0.705374, 0.92154, 1.71289", \ "0.41388, 0.451283, 0.664952, 0.863765, 1.59041", \ "0.408433, 0.44571, 0.654886, 0.847453, 1.5488"); } fall_power(energy_template_5x5) { index_1 ("0.05, 0.1, 0.2, 0.6, 1.2"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.52818, 1.60798, 1.88215, 2.13584, 3.03532", \ "1.55059, 1.60324, 1.85831, 2.09288, 2.94152", \ "1.55476, 1.60008, 1.8394, 2.05693, 2.85428", \ "1.55988, 1.5957, 1.82466, 2.02667, 2.76843", \ "1.56168, 1.59565, 1.82047, 2.01724, 2.73674"); } } } } /* --------------- * * Design : PADINC * * --------------- */ cell (PADINC) { pad_cell : true; area : 27000; cell_leakage_power : 1.31655; pin(DI) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 7.31841; function : "YPAD"; timing() { related_pin : "YPAD"; timing_sense : positive_unate; cell_rise(delay_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.36, 0.78, 1.8"); values ( \ "0.108026, 0.12458, 0.139385, 0.146833, 0.127273", \ "0.120044, 0.137086, 0.151778, 0.160511, 0.144859", \ "0.14417, 0.159323, 0.175259, 0.188959, 0.175725", \ "0.234294, 0.248147, 0.264149, 0.278119, 0.27083", \ "0.365474, 0.38007, 0.396959, 0.410779, 0.407667"); } rise_transition(delay_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.36, 0.78, 1.8"); values ( \ "0.037589, 0.045521, 0.059557, 0.0696, 0.0966", \ "0.054145, 0.056744, 0.0744, 0.087, 0.1056", \ "0.0846, 0.0828, 0.096, 0.1074, 0.1278", \ "0.207, 0.2088, 0.2124, 0.2226, 0.2406", \ "0.4032, 0.4026, 0.4038, 0.4098, 0.4332"); } cell_fall(delay_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.36, 0.78, 1.8"); values ( \ "0.115822, 0.143129, 0.187914, 0.262157, 0.398888", \ "0.125949, 0.157667, 0.199642, 0.276522, 0.418238", \ "0.149806, 0.181843, 0.226066, 0.304689, 0.448991", \ "0.236178, 0.268548, 0.313787, 0.39551, 0.548125", \ "0.3625, 0.397138, 0.440579, 0.522875, 0.682247"); } fall_transition(delay_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.36, 0.78, 1.8"); values ( \ "0.044776, 0.038311, 0.057684, 0.0672, 0.093", \ "0.048211, 0.051984, 0.0666, 0.0816, 0.1026", \ "0.072, 0.0738, 0.0876, 0.099, 0.1272", \ "0.1758, 0.1776, 0.1818, 0.1926, 0.2196", \ "0.3396, 0.3408, 0.3408, 0.3486, 0.3774"); } } internal_power() { related_pin : "YPAD"; rise_power(energy_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.36, 0.78, 1.8"); values ( \ "0.307483, 2.1999, 6.26737, 15.2408, 37.3802", \ "0.297863, 2.02134, 5.91233, 14.8326, 36.8731", \ "0.312306, 2.28179, 5.51785, 14.4314, 36.1575", \ "0.529378, 2.26119, 5.39966, 13.7334, 34.9225", \ "0.62087, 2.30596, 5.39155, 13.4891, 34.1645"); } fall_power(energy_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.36, 0.78, 1.8"); values ( \ "12.233, 14.5646, 18.1598, 27.6503, 50.0488", \ "12.2901, 14.3999, 17.9757, 27.2248, 49.4884", \ "12.3494, 14.3848, 17.9689, 26.7693, 48.7104", \ "12.521, 14.3728, 17.8547, 26.3005, 47.3872", \ "12.7159, 14.5039, 17.8187, 26.0453, 46.6569"); } } } pin(YPAD) { is_pad : true; direction : input; capacitance : 0.450177; rise_capacitance : 0.450177; fall_capacitance : 0.449686; } } /* ----------------- * * Design : PADINOUT * * ----------------- */ cell (PADINOUT) { pad_cell : true; area : 27000; cell_leakage_power : 1.24078; pin(DI) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 7.37282; function : "YPAD"; timing() { related_pin : "YPAD"; timing_sense : positive_unate; cell_rise(delay_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.36, 0.78, 1.8"); values ( \ "0.107478, 0.12458, 0.139385, 0.146833, 0.127273", \ "0.120527, 0.137086, 0.151778, 0.160511, 0.144859", \ "0.145399, 0.159323, 0.175259, 0.188959, 0.175725", \ "0.233464, 0.248147, 0.264149, 0.278119, 0.27083", \ "0.365501, 0.380071, 0.396959, 0.410779, 0.407667"); } rise_transition(delay_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.36, 0.78, 1.8"); values ( \ "0.037183, 0.045521, 0.059557, 0.0696, 0.0966", \ "0.05598, 0.056744, 0.0744, 0.087, 0.1056", \ "0.0804, 0.0828, 0.096, 0.1074, 0.1278", \ "0.2088, 0.2088, 0.2124, 0.2226, 0.2406", \ "0.4026, 0.4026, 0.4038, 0.4098, 0.4332"); } cell_fall(delay_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.36, 0.78, 1.8"); values ( \ "0.115822, 0.143129, 0.187914, 0.262157, 0.398888", \ "0.125949, 0.157667, 0.199642, 0.276522, 0.418238", \ "0.149806, 0.181843, 0.226066, 0.304689, 0.448991", \ "0.236178, 0.268548, 0.313787, 0.39551, 0.548125", \ "0.3625, 0.397123, 0.440575, 0.522875, 0.682247"); } fall_transition(delay_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.36, 0.78, 1.8"); values ( \ "0.044776, 0.038311, 0.057684, 0.0672, 0.093", \ "0.048211, 0.051984, 0.0666, 0.0816, 0.1026", \ "0.072, 0.0738, 0.0876, 0.099, 0.1272", \ "0.1758, 0.1776, 0.1812, 0.1926, 0.2196", \ "0.3396, 0.3408, 0.3408, 0.3486, 0.3774"); } } internal_power() { related_pin : "YPAD"; rise_power(energy_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.36, 0.78, 1.8"); values ( \ "0.456015, 2.31963, 6.48176, 15.3382, 37.4196", \ "0.394933, 2.19304, 6.12904, 14.9317, 36.9136", \ "0.497392, 2.31921, 5.56884, 14.5289, 36.1976", \ "0.689239, 2.27169, 5.40067, 13.7489, 34.9627", \ "0.78394, 2.31534, 5.39229, 13.4934, 34.2046"); } fall_power(energy_template_5x5) { index_1 ("0.1, 0.2, 0.4, 1.2, 2.4"); index_2 ("0.06, 0.18, 0.36, 0.78, 1.8"); values ( \ "12.1831, 14.533, 18.1222, 27.6336, 50.0407", \ "12.2423, 14.3661, 17.9382, 27.2078, 49.4803", \ "12.3231, 14.3711, 17.9466, 26.7524, 48.7033", \ "12.5182, 14.3738, 17.8542, 26.2963, 47.379", \ "12.7189, 14.5008, 17.8159, 26.0455, 46.6487"); } } } pin(DO) { direction : input; capacitance : 0.22845; rise_capacitance : 0.228417; fall_capacitance : 0.22845; } pin(OEN) { direction : input; capacitance : 0.0456812; rise_capacitance : 0.0456812; fall_capacitance : 0.0455713; internal_power() { rise_power(passive_energy_template_6x1) { index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ("0, 0, 0, 0, 0, 0"); } fall_power(passive_energy_template_6x1) { index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ("28.653, 29.0519, 29.9452, 31.7079, 33.0651, 35.8802"); } } } pin(YPAD) { is_pad : true; direction : inout; drive_current : 2.0; capacitance : 0.45018; rise_capacitance : 0.45018; fall_capacitance : 0.449481; max_capacitance : 19.0972; function : "DO"; three_state : "(!OEN)"; timing() { related_pin : "DO"; timing_sense : positive_unate; cell_rise(delay_template_5x5) { index_1 ("5, 10, 20, 50, 75"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.693264, 0.711993, 0.756444, 0.788969, 0.87149", \ "0.915557, 0.933896, 0.977268, 1.00828, 1.08886", \ "1.33244, 1.35061, 1.39316, 1.42327, 1.50046", \ "2.55773, 2.57606, 2.61827, 2.64807, 2.72247", \ "3.57499, 3.59327, 3.63579, 3.66522, 3.73885"); } rise_transition(delay_template_5x5) { index_1 ("5, 10, 20, 50, 75"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.4008, 0.4008, 0.4014, 0.4032, 0.4116", \ "0.6858, 0.6852, 0.6858, 0.687, 0.6936", \ "1.2726, 1.2726, 1.2726, 1.2732, 1.2756", \ "3.0726, 3.0726, 3.0726, 3.0726, 3.0726", \ "4.5798, 4.5798, 4.5798, 4.5786, 4.5786"); } cell_fall(delay_template_5x5) { index_1 ("5, 10, 20, 50, 75"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.50214, 0.534553, 0.607003, 0.660879, 0.82261", \ "0.630631, 0.663138, 0.734772, 0.788884, 0.95466", \ "0.842301, 0.874641, 0.946619, 1.00085, 1.16964", \ "1.39749, 1.43009, 1.50205, 1.55642, 1.72626", \ "1.84498, 1.87738, 1.94957, 2.00364, 2.17328"); } fall_transition(delay_template_5x5) { index_1 ("5, 10, 20, 50, 75"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.2232, 0.2238, 0.2262, 0.2298, 0.2526", \ "0.342, 0.3426, 0.345, 0.3468, 0.3636", \ "0.567, 0.567, 0.5682, 0.57, 0.5814", \ "1.2486, 1.2486, 1.2492, 1.2498, 1.2528", \ "1.8324, 1.8324, 1.8324, 1.833, 1.8342"); } } timing() { related_pin : "OEN"; timing_sense : positive_unate; timing_type : three_state_enable; cell_rise(delay_template_5x6) { index_1 ("5, 10, 20, 50, 75"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.86038, 0.895739, 0.941475, 0.994384, 1.02158, 1.06019", \ "1.08035, 1.11566, 1.16128, 1.21437, 1.24176, 1.28042", \ "1.49331, 1.52876, 1.57449, 1.62758, 1.65478, 1.69347", \ "2.71407, 2.7495, 2.7952, 2.84833, 2.87566, 2.91431", \ "3.7295, 3.76491, 3.81072, 3.86385, 3.89137, 3.93003"); } rise_transition(delay_template_5x6) { index_1 ("5, 10, 20, 50, 75"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.4032, 0.402, 0.4026, 0.4032, 0.402, 0.4026", \ "0.6864, 0.687, 0.687, 0.687, 0.687, 0.6864", \ "1.2732, 1.2732, 1.2732, 1.2738, 1.2732, 1.2732", \ "3.0726, 3.0726, 3.0726, 3.0726, 3.0726, 3.0726", \ "4.5792, 4.5786, 4.5786, 4.5786, 4.5798, 4.5792"); } cell_fall(delay_template_5x6) { index_1 ("5, 10, 20, 50, 75"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.558941, 0.594874, 0.645316, 0.703703, 0.73434, 0.77872", \ "0.682419, 0.719081, 0.768787, 0.828215, 0.859919, 0.905075", \ "0.889844, 0.926741, 0.976572, 1.03645, 1.06805, 1.11407", \ "1.44324, 1.48009, 1.53001, 1.59012, 1.62196, 1.66841", \ "1.8905, 1.92724, 1.97718, 2.03732, 2.06923, 2.1157"); } fall_transition(delay_template_5x6) { index_1 ("5, 10, 20, 50, 75"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "0.2118, 0.2112, 0.2124, 0.2142, 0.2148, 0.2172", \ "0.3318, 0.3312, 0.3318, 0.333, 0.3336, 0.3354", \ "0.5598, 0.5598, 0.5598, 0.5604, 0.5604, 0.5628", \ "1.2462, 1.2462, 1.2462, 1.2468, 1.2474, 1.2474", \ "1.8318, 1.8318, 1.8318, 1.8318, 1.8318, 1.8324"); } } timing() { related_pin : "OEN"; timing_type : three_state_disable; timing_sense : negative_unate; cell_rise(delay_template_6x1) { index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ("0.486388, 0.542539, 0.621882, 0.740975, 0.818135, 0.951685"); } rise_transition(delay_template_6x1) { index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ("0.486388, 0.542539, 0.621882, 0.740975, 0.818135, 0.951685"); } cell_fall(delay_template_6x1) { index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ("0.619694, 0.676982, 0.75257, 0.860164, 0.928958, 1.0493"); } fall_transition(delay_template_6x1) { index_1 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ("0.619694, 0.676982, 0.75257, 0.860164, 0.928958, 1.0493"); } } internal_power() { related_pin : "DO"; rise_power(energy_template_5x5) { index_1 ("5, 10, 20, 50, 75"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "45.8568, 45.9907, 47.7495, 50.1728, 59.9758", \ "52.2483, 52.2245, 53.5412, 55.5713, 64.0977", \ "65.0754, 64.9779, 66.0894, 67.7051, 74.9903", \ "102.16, 102.149, 103.19, 104.602, 111.057", \ "132.221, 132.266, 133.341, 134.726, 141.1"); } fall_power(energy_template_5x5) { index_1 ("5, 10, 20, 50, 75"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "75.688, 76.1577, 77.7922, 78.9615, 83.7956", \ "78.3358, 78.8473, 80.7363, 82.2034, 88.0684", \ "83.3462, 83.7883, 85.639, 87.3059, 93.9248", \ "98.666, 99.0379, 100.869, 102.644, 109.694", \ "111.501, 111.916, 113.692, 115.507, 122.73"); } } internal_power() { related_pin : "OEN"; rise_power(energy_template_5x6) { index_1 ("5, 10, 20, 50, 75"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "52.3141, 52.6164, 53.5175, 55.4393, 56.8229, 59.747", \ "57.7148, 58.0219, 59.0499, 60.8771, 62.4145, 65.198", \ "69.2703, 69.6314, 70.5858, 72.4949, 73.9367, 76.8238", \ "104.881, 105.23, 106.19, 108.105, 109.549, 112.472", \ "134.529, 134.847, 135.808, 137.739, 139.209, 142.129"); } fall_power(energy_template_5x6) { index_1 ("5, 10, 20, 50, 75"); index_2 ("0.06, 0.24, 0.48, 0.9, 1.2, 1.8"); values ( \ "43.5129, 43.9824, 45.1275, 47.424, 49.0349, 52.463", \ "46.2164, 46.5748, 47.6861, 49.9179, 51.6625, 54.9757", \ "51.1426, 51.5727, 52.6421, 54.9628, 56.6611, 59.9801", \ "66.3621, 66.7687, 67.9133, 70.2148, 71.812, 75.1594", \ "79.2306, 79.6349, 80.7833, 83.0219, 84.6835, 88.0202"); } } } } /* --------------- * * Design : PADOUT * * --------------- */ cell (PADOUT) { pad_cell : true; area : 27000; cell_leakage_power : 1.74691; pin(DO) { direction : input; capacitance : 0.228397; rise_capacitance : 0.228397; fall_capacitance : 0.227217; } pin(YPAD) { is_pad : true; direction : output; drive_current : 2.0; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 19.1162; function : "DO"; timing() { related_pin : "DO"; timing_sense : positive_unate; cell_rise(delay_template_5x5) { index_1 ("5, 10, 20, 50, 75"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.693264, 0.711993, 0.756444, 0.788969, 0.87149", \ "0.915557, 0.933896, 0.977268, 1.00828, 1.08886", \ "1.33244, 1.35061, 1.39316, 1.42327, 1.50046", \ "2.55773, 2.57606, 2.61827, 2.64807, 2.72247", \ "3.57499, 3.59327, 3.63579, 3.66522, 3.73885"); } rise_transition(delay_template_5x5) { index_1 ("5, 10, 20, 50, 75"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.4008, 0.4008, 0.4014, 0.4032, 0.4116", \ "0.6858, 0.6852, 0.6858, 0.687, 0.6936", \ "1.2726, 1.2726, 1.2726, 1.2732, 1.2756", \ "3.0726, 3.0726, 3.0726, 3.0726, 3.0726", \ "4.5798, 4.5798, 4.5798, 4.5786, 4.5786"); } cell_fall(delay_template_5x5) { index_1 ("5, 10, 20, 50, 75"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.50214, 0.534553, 0.607003, 0.660879, 0.82261", \ "0.630631, 0.663138, 0.734772, 0.788884, 0.95466", \ "0.842301, 0.874641, 0.946619, 1.00085, 1.16964", \ "1.39749, 1.43009, 1.50205, 1.55642, 1.72626", \ "1.84498, 1.87738, 1.94957, 2.00364, 2.17328"); } fall_transition(delay_template_5x5) { index_1 ("5, 10, 20, 50, 75"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.2232, 0.2238, 0.2262, 0.2298, 0.2526", \ "0.342, 0.3426, 0.345, 0.3468, 0.3636", \ "0.567, 0.567, 0.5682, 0.57, 0.5814", \ "1.2486, 1.2486, 1.2492, 1.2498, 1.2528", \ "1.8324, 1.8324, 1.8324, 1.833, 1.8342"); } } internal_power() { related_pin : "DO"; rise_power(energy_template_5x5) { index_1 ("5, 10, 20, 50, 75"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "45.761, 45.8976, 47.6542, 50.0729, 59.8828", \ "52.2483, 52.2244, 53.5413, 55.5709, 64.0975", \ "65.0754, 64.9781, 66.0895, 67.7046, 74.99", \ "102.161, 102.149, 103.19, 104.603, 111.057", \ "132.22, 132.266, 133.339, 134.726, 141.099"); } fall_power(energy_template_5x5) { index_1 ("5, 10, 20, 50, 75"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "71.6358, 72.576, 73.8788, 75.3071, 79.8288", \ "76.8916, 77.335, 79.3764, 80.7658, 86.4507", \ "83.0538, 83.4957, 85.3709, 87.0335, 93.6319", \ "98.6665, 99.0384, 100.869, 102.644, 109.694", \ "111.501, 111.916, 113.692, 115.507, 122.73"); } } } } /* --------------- * * Design : TBUFX1 * * --------------- */ cell (TBUFX1) { area : 360; cell_leakage_power : 0.0784113; pin(A) { direction : input; capacitance : 0.0322637; rise_capacitance : 0.0321199; fall_capacitance : 0.0322637; } pin(EN) { direction : input; capacitance : 0.0229726; rise_capacitance : 0.0228037; fall_capacitance : 0.0229726; internal_power() { rise_power(passive_energy_template_5x1) { index_1 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ("0, 0, 0, 0, 0"); } fall_power(passive_energy_template_5x1) { index_1 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ("0.369556, 0.474898, 0.686291, 0.848452, 1.40576"); } } } pin(Y) { direction : output; capacitance : 0.00446886; rise_capacitance : 0.00445715; fall_capacitance : 0.00446886; max_capacitance : 0.471807; function : "(!A)"; three_state : "(!EN)"; timing() { related_pin : "A"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.0294689, 0.0544689, 0.104469, 0.304469, 0.604469"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.098021, 0.107738, 0.116848, 0.120411, 0.118928", \ "0.140457, 0.145944, 0.161229, 0.168852, 0.177237", \ "0.216515, 0.221175, 0.238623, 0.251679, 0.277825", \ "0.512906, 0.515622, 0.525679, 0.539971, 0.593822", \ "0.958519, 0.955565, 0.959932, 0.968405, 1.01544"); } fall_transition(delay_template_5x5) { index_1 ("0.0294689, 0.0544689, 0.104469, 0.304469, 0.604469"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1152, 0.138, 0.2004, 0.2526, 0.414", \ "0.1674, 0.18, 0.2358, 0.2856, 0.4548", \ "0.27, 0.2742, 0.3132, 0.3576, 0.5274", \ "0.687, 0.6876, 0.6942, 0.7092, 0.8208", \ "1.317, 1.317, 1.317, 1.3206, 1.3614"); } cell_rise(delay_template_5x5) { index_1 ("0.0294572, 0.0544572, 0.104457, 0.304457, 0.604457"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.123226, 0.131082, 0.166965, 0.190626, 0.259838", \ "0.165302, 0.176316, 0.213526, 0.241284, 0.321293", \ "0.247103, 0.256534, 0.295519, 0.32842, 0.425565", \ "0.567964, 0.574885, 0.605587, 0.636985, 0.756804", \ "1.04962, 1.05558, 1.0801, 1.10439, 1.20921"); } rise_transition(delay_template_5x5) { index_1 ("0.0294572, 0.0544572, 0.104457, 0.304457, 0.604457"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1188, 0.1362, 0.1998, 0.2508, 0.4098", \ "0.1776, 0.189, 0.2424, 0.2892, 0.4578", \ "0.3006, 0.3036, 0.339, 0.3792, 0.5418", \ "0.7908, 0.7908, 0.7956, 0.8082, 0.9054", \ "1.5252, 1.5252, 1.5252, 1.5264, 1.5612"); } } timing() { related_pin : "EN"; timing_sense : positive_unate; timing_type : three_state_enable; cell_rise(delay_template_5x5) { index_1 ("0.0294572, 0.0544572, 0.104457, 0.304457, 0.604457"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.137042, 0.157652, 0.189621, 0.206279, 0.231899", \ "0.181003, 0.201393, 0.234633, 0.252271, 0.287121", \ "0.260671, 0.283211, 0.314648, 0.335023, 0.37539", \ "0.581692, 0.602335, 0.634508, 0.652095, 0.700254", \ "1.06286, 1.08346, 1.11555, 1.13348, 1.17772"); } rise_transition(delay_template_5x5) { index_1 ("0.0294572, 0.0544572, 0.104457, 0.304457, 0.604457"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1344, 0.1332, 0.135, 0.1452, 0.165", \ "0.1842, 0.1866, 0.1848, 0.189, 0.2046", \ "0.3012, 0.3024, 0.2988, 0.2976, 0.3102", \ "0.7908, 0.7908, 0.7896, 0.7872, 0.7878", \ "1.5252, 1.5258, 1.5258, 1.5258, 1.521"); } cell_fall(delay_template_5x5) { index_1 ("0.0294689, 0.0544689, 0.104469, 0.304469, 0.604469"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.052815, 0.04887, -0.002152, -0.056425, -0.277479", \ "0.084052, 0.097748, 0.072696, 0.036499, -0.138455", \ "0.146108, 0.166259, 0.176816, 0.164578, 0.056047", \ "0.443213, 0.459199, 0.493305, 0.518351, 0.536787", \ "0.884403, 0.900331, 0.934367, 0.95994, 1.04314"); } fall_transition(delay_template_5x5) { index_1 ("0.0294689, 0.0544689, 0.104469, 0.304469, 0.604469"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0666, 0.1038, 0.1464, 0.1776, 0.2622", \ "0.1224, 0.1506, 0.2028, 0.2364, 0.3438", \ "0.2376, 0.2496, 0.3066, 0.3474, 0.4692", \ "0.684, 0.6828, 0.7008, 0.7332, 0.8706", \ "1.3176, 1.3176, 1.317, 1.3248, 1.4322"); } } timing() { related_pin : "EN"; timing_type : three_state_disable; timing_sense : negative_unate; cell_rise(delay_template_5x1) { index_1 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ("0.0555, 0.0925, 0.1665, 0.222, 0.407"); } rise_transition(delay_template_5x1) { index_1 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ("0.0555, 0.0925, 0.1665, 0.222, 0.407"); } cell_fall(delay_template_5x1) { index_1 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ("0.106389, 0.146248, 0.201349, 0.237018, 0.330092"); } fall_transition(delay_template_5x1) { index_1 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ("0.106389, 0.146248, 0.201349, 0.237018, 0.330092"); } } internal_power() { related_pin : "A"; fall_power(energy_template_5x5) { index_1 ("0.0294689, 0.0544689, 0.104469, 0.304469, 0.604469"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.303293, 0.216925, 0.145765, 0.46456, 1.61129", \ "0.299046, 0.237348, 0.074951, 0.367204, 1.46299", \ "0.294363, 0.249803, 0.008308, 0.238744, 1.23376", \ "0.289411, 0.269841, 0.134871, 0.02196, 0.73892", \ "0.288355, 0.277887, 0.194297, 0.090405, 0.424881"); } rise_power(energy_template_5x5) { index_1 ("0.0294572, 0.0544572, 0.104457, 0.304457, 0.604457"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.21904, 1.26549, 1.65619, 1.98636, 3.16346", \ "1.22655, 1.27795, 1.593, 1.90025, 3.03493", \ "1.23287, 1.26775, 1.51686, 1.78123, 2.82971", \ "1.23223, 1.25117, 1.3952, 1.56666, 2.3568", \ "1.23412, 1.24456, 1.33483, 1.44923, 2.03286"); } } internal_power() { related_pin : "EN"; rise_power(energy_template_5x5) { index_1 ("0.0294572, 0.0544572, 0.104457, 0.304457, 0.604457"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.410643, 0.479311, 0.67716, 0.833466, 1.37944", \ "0.412498, 0.481639, 0.678387, 0.837674, 1.38596", \ "0.421603, 0.483073, 0.682245, 0.842239, 1.38916", \ "0.420363, 0.487675, 0.687978, 0.847442, 1.39688", \ "0.425109, 0.492924, 0.692828, 0.852225, 1.40173"); } fall_power(energy_template_5x5) { index_1 ("0.0294689, 0.0544689, 0.104469, 0.304469, 0.604469"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.079802, 0.003798, 0.229804, 0.408379, 0.992249", \ "0.08152, 0.002682, 0.214221, 0.385773, 0.973036", \ "0.078941, 0.005357, 0.203527, 0.371739, 0.947971", \ "0.082535, 0.009593, 0.192819, 0.355536, 0.919532", \ "0.080729, 0.010678, 0.187963, 0.349018, 0.906816"); } } } } /* --------------- * * Design : TBUFX2 * * --------------- */ cell (TBUFX2) { area : 504; cell_leakage_power : 0.120618; pin(A) { direction : input; capacitance : 0.0645226; rise_capacitance : 0.0642363; fall_capacitance : 0.0645226; } pin(EN) { direction : input; capacitance : 0.0469583; rise_capacitance : 0.0466327; fall_capacitance : 0.0469583; internal_power() { rise_power(passive_energy_template_5x1) { index_1 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ("0, 0, 0, 0, 0"); } fall_power(passive_energy_template_5x1) { index_1 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ("0.767242, 1.0106, 1.51264, 1.89325, 3.1995"); } } } pin(Y) { direction : output; capacitance : 0.00893819; rise_capacitance : 0.00892753; fall_capacitance : 0.00893819; max_capacitance : 0.944821; function : "(!A)"; three_state : "(!EN)"; timing() { related_pin : "A"; timing_sense : negative_unate; cell_fall(delay_template_5x5) { index_1 ("0.0589382, 0.108938, 0.208938, 0.608938, 1.20894"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.098903, 0.108219, 0.11723, 0.120667, 0.119075", \ "0.141032, 0.146402, 0.161545, 0.169096, 0.177376", \ "0.216889, 0.221502, 0.238875, 0.251876, 0.277952", \ "0.513056, 0.515752, 0.525794, 0.540079, 0.593915", \ "0.958609, 0.955635, 0.959995, 0.968463, 1.01549"); } fall_transition(delay_template_5x5) { index_1 ("0.0589382, 0.108938, 0.208938, 0.608938, 1.20894"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1128, 0.1374, 0.1998, 0.252, 0.4134", \ "0.1668, 0.1794, 0.2364, 0.285, 0.4542", \ "0.2694, 0.2736, 0.3132, 0.357, 0.5274", \ "0.687, 0.687, 0.6936, 0.7092, 0.8208", \ "1.317, 1.317, 1.317, 1.32, 1.3608"); } cell_rise(delay_template_5x5) { index_1 ("0.0589275, 0.108928, 0.208928, 0.608928, 1.20893"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.121959, 0.13073, 0.166838, 0.190548, 0.259834", \ "0.164193, 0.175801, 0.213311, 0.241122, 0.321197", \ "0.24579, 0.255908, 0.295226, 0.328186, 0.42539", \ "0.566624, 0.574162, 0.605092, 0.636569, 0.756513", \ "1.04823, 1.05481, 1.07956, 1.1039, 1.2088"); } rise_transition(delay_template_5x5) { index_1 ("0.0589275, 0.108928, 0.208928, 0.608928, 1.20893"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1188, 0.1362, 0.1998, 0.2514, 0.4098", \ "0.177, 0.189, 0.2424, 0.2892, 0.4578", \ "0.3, 0.3036, 0.3384, 0.3792, 0.5418", \ "0.7902, 0.7902, 0.795, 0.8076, 0.9048", \ "1.5246, 1.5246, 1.5246, 1.5258, 1.5612"); } } timing() { related_pin : "EN"; timing_sense : positive_unate; timing_type : three_state_enable; cell_rise(delay_template_5x5) { index_1 ("0.0589275, 0.108928, 0.208928, 0.608928, 1.20893"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.130082, 0.147999, 0.174782, 0.180978, 0.189421", \ "0.172644, 0.189047, 0.218101, 0.228951, 0.24478", \ "0.254334, 0.271543, 0.297521, 0.311322, 0.333816", \ "0.574451, 0.591898, 0.616344, 0.628714, 0.660972", \ "1.05573, 1.0774, 1.09735, 1.10993, 1.13806"); } rise_transition(delay_template_5x5) { index_1 ("0.0589275, 0.108928, 0.208928, 0.608928, 1.20893"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1296, 0.1338, 0.1362, 0.138, 0.1566", \ "0.1812, 0.1806, 0.1836, 0.1878, 0.2022", \ "0.3012, 0.3006, 0.297, 0.297, 0.309", \ "0.7902, 0.7902, 0.789, 0.786, 0.7878", \ "1.5246, 1.5252, 1.5252, 1.5252, 1.5204"); } cell_fall(delay_template_5x5) { index_1 ("0.0589382, 0.108938, 0.208938, 0.608938, 1.20894"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.052168, 0.04806, -0.003375, -0.057358, -0.278269", \ "0.08274, 0.095879, 0.071204, 0.034637, -0.13939", \ "0.145792, 0.16532, 0.174017, 0.160578, 0.053284", \ "0.443447, 0.45933, 0.493445, 0.518782, 0.53691", \ "0.884621, 0.900617, 0.934561, 0.959997, 1.04328"); } fall_transition(delay_template_5x5) { index_1 ("0.0589382, 0.108938, 0.208938, 0.608938, 1.20894"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.0672, 0.1044, 0.1452, 0.1764, 0.2622", \ "0.1272, 0.1524, 0.204, 0.237, 0.342", \ "0.2394, 0.252, 0.3084, 0.3486, 0.4716", \ "0.6846, 0.684, 0.7044, 0.7386, 0.8778", \ "1.317, 1.317, 1.317, 1.3248, 1.4334"); } } timing() { related_pin : "EN"; timing_type : three_state_disable; timing_sense : negative_unate; cell_rise(delay_template_5x1) { index_1 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ("0.0555, 0.0925, 0.1665, 0.222, 0.407"); } rise_transition(delay_template_5x1) { index_1 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ("0.0555, 0.0925, 0.1665, 0.222, 0.407"); } cell_fall(delay_template_5x1) { index_1 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ("0.104296, 0.145328, 0.204946, 0.246006, 0.350915"); } fall_transition(delay_template_5x1) { index_1 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ("0.104296, 0.145328, 0.204946, 0.246006, 0.350915"); } } internal_power() { related_pin : "A"; fall_power(energy_template_5x5) { index_1 ("0.0589382, 0.108938, 0.208938, 0.608938, 1.20894"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.604404, 0.435211, 0.289022, 0.926257, 3.21992", \ "0.597585, 0.475625, 0.14946, 0.732269, 2.9237", \ "0.588435, 0.500093, 0.017754, 0.476091, 2.4658", \ "0.578607, 0.539837, 0.270174, 0.043375, 1.4771", \ "0.576519, 0.555838, 0.388825, 0.181079, 0.849372"); } rise_power(energy_template_5x5) { index_1 ("0.0589275, 0.108928, 0.208928, 0.608928, 1.20893"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "2.43872, 2.53133, 3.31348, 3.97383, 6.32753", \ "2.4536, 2.56015, 3.18683, 3.8014, 6.07061", \ "2.46759, 2.53604, 3.03434, 3.56307, 5.66005", \ "2.46658, 2.50213, 2.79079, 3.13374, 4.71406", \ "2.47034, 2.48943, 2.6699, 2.89866, 4.06593"); } } internal_power() { related_pin : "EN"; rise_power(energy_template_5x5) { index_1 ("0.0589275, 0.108928, 0.208928, 0.608928, 1.20893"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.826353, 0.9904, 1.46541, 1.83328, 3.11825", \ "0.831124, 1.00205, 1.46606, 1.84197, 3.13275", \ "0.85364, 1.00081, 1.4765, 1.84869, 3.13624", \ "0.840676, 1.01914, 1.48551, 1.86015, 3.14869", \ "0.846269, 1.03344, 1.49035, 1.8652, 3.15426"); } fall_power(energy_template_5x5) { index_1 ("0.0589382, 0.108938, 0.208938, 0.608938, 1.20894"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.156545, 0.043308, 0.570883, 0.983493, 2.34676", \ "0.159742, 0.033274, 0.540673, 0.941187, 2.30401", \ "0.156888, 0.027837, 0.520334, 0.913578, 2.25548", \ "0.148944, 0.01808, 0.50017, 0.88034, 2.20047", \ "0.151, 0.015757, 0.492507, 0.869781, 2.1738"); } } } } /* ---------------- * * Design : XNOR2X1 * * ---------------- */ cell (XNOR2X1) { area : 504; cell_leakage_power : 0.180094; pin(A) { direction : input; capacitance : 0.0535404; rise_capacitance : 0.0535404; fall_capacitance : 0.0535055; } pin(B) { direction : input; capacitance : 0.0637184; rise_capacitance : 0.0633381; fall_capacitance : 0.0637184; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.466943; function : "(!(A^B))"; timing() { related_pin : "A"; timing_sense : non_unate; cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.156815, 0.168635, 0.197452, 0.21047, 0.232596", \ "0.194158, 0.207479, 0.236289, 0.251148, 0.274946", \ "0.271755, 0.285004, 0.31214, 0.327643, 0.357371", \ "0.587483, 0.603312, 0.628449, 0.640453, 0.674732", \ "1.06666, 1.08749, 1.10685, 1.11901, 1.14692"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1272, 0.1272, 0.1218, 0.1248, 0.132", \ "0.1884, 0.1878, 0.177, 0.183, 0.1914", \ "0.3102, 0.3108, 0.303, 0.2982, 0.3084", \ "0.7998, 0.7998, 0.798, 0.7944, 0.7926", \ "1.5348, 1.5342, 1.5348, 1.5348, 1.5276"); } cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.15237, 0.18153, 0.235044, 0.264221, 0.33857", \ "0.189822, 0.217119, 0.270178, 0.301769, 0.379032", \ "0.258812, 0.28758, 0.336456, 0.374426, 0.456087", \ "0.548689, 0.575975, 0.623495, 0.655808, 0.747211", \ "0.986731, 1.01384, 1.06355, 1.09108, 1.1756"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1218, 0.1224, 0.114, 0.114, 0.126", \ "0.1746, 0.1728, 0.1632, 0.1662, 0.1722", \ "0.2772, 0.2778, 0.2688, 0.2658, 0.273", \ "0.6966, 0.696, 0.6948, 0.6894, 0.6888", \ "1.3272, 1.3272, 1.3272, 1.3272, 1.3188"); } } timing() { related_pin : "B"; timing_sense : non_unate; cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.183189, 0.195986, 0.21573, 0.228851, 0.250022", \ "0.22312, 0.241713, 0.257875, 0.270548, 0.289713", \ "0.304039, 0.321093, 0.337266, 0.350062, 0.3686", \ "0.624939, 0.642758, 0.661355, 0.671081, 0.689436", \ "1.10616, 1.12379, 1.1425, 1.15198, 1.16936"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1278, 0.1296, 0.1362, 0.1404, 0.1512", \ "0.1884, 0.189, 0.1926, 0.1962, 0.2082", \ "0.3102, 0.3102, 0.312, 0.3138, 0.321", \ "0.7992, 0.7992, 0.7998, 0.7998, 0.8034", \ "1.5342, 1.5342, 1.5342, 1.5342, 1.5354"); } cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.17143, 0.19627, 0.235216, 0.260735, 0.328707", \ "0.208833, 0.23481, 0.275085, 0.299678, 0.366235", \ "0.285206, 0.311212, 0.348208, 0.37467, 0.438929", \ "0.58048, 0.60631, 0.645913, 0.6673, 0.730857", \ "1.02165, 1.04701, 1.08655, 1.10736, 1.1697"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1236, 0.1266, 0.1296, 0.1374, 0.156", \ "0.1728, 0.1734, 0.1806, 0.1842, 0.1944", \ "0.2778, 0.2778, 0.2784, 0.2808, 0.288", \ "0.6954, 0.696, 0.696, 0.6966, 0.6996", \ "1.326, 1.3266, 1.326, 1.3266, 1.3272"); } } internal_power() { related_pin : "A"; rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.487457, 0.627581, 1.12141, 1.50487, 2.91454", \ "0.459386, 0.633978, 1.11016, 1.49584, 2.8559", \ "0.426321, 0.618469, 1.09432, 1.48154, 2.82693", \ "0.391676, 0.585895, 1.06397, 1.45125, 2.78124", \ "0.380331, 0.57136, 1.04295, 1.42867, 2.75352"); } fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.51029, 1.72107, 2.23442, 2.6399, 4.02808", \ "1.47807, 1.70001, 2.21717, 2.6298, 4.00545", \ "1.46333, 1.67992, 2.19081, 2.60383, 3.97213", \ "1.42822, 1.63792, 2.14833, 2.54787, 3.90828", \ "1.41181, 1.61596, 2.1133, 2.51328, 3.86202"); } } internal_power() { related_pin : "B"; rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.577067, 0.720188, 1.21631, 1.63084, 3.00399", \ "0.579951, 0.753343, 1.21614, 1.61434, 2.97855", \ "0.583121, 0.759428, 1.21544, 1.60767, 2.94652", \ "0.585539, 0.763991, 1.23494, 1.60475, 2.91767", \ "0.58503, 0.764169, 1.23395, 1.60437, 2.90455"); } fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.62916, 1.85198, 2.36299, 2.76931, 4.17349", \ "1.6394, 1.85334, 2.34369, 2.75261, 4.14111", \ "1.64475, 1.85693, 2.35332, 2.74407, 4.10747", \ "1.65195, 1.86161, 2.34971, 2.73592, 4.06734", \ "1.65435, 1.86353, 2.34993, 2.73236, 4.05299"); } } } } /* --------------- * * Design : XOR2X1 * * --------------- */ cell (XOR2X1) { area : 504; cell_leakage_power : 0.180289; pin(A) { direction : input; capacitance : 0.0535547; rise_capacitance : 0.0535547; fall_capacitance : 0.0535109; } pin(B) { direction : input; capacitance : 0.0637104; rise_capacitance : 0.0633463; fall_capacitance : 0.0637104; } pin(Y) { direction : output; capacitance : 0; rise_capacitance : 0; fall_capacitance : 0; max_capacitance : 0.467136; function : "(A^B)"; timing() { related_pin : "A"; timing_sense : non_unate; cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.157363, 0.169, 0.19768, 0.210662, 0.232738", \ "0.194581, 0.208526, 0.236561, 0.251375, 0.275111", \ "0.273232, 0.285301, 0.312378, 0.327851, 0.357541", \ "0.587769, 0.603537, 0.628628, 0.640606, 0.674851", \ "1.0669, 1.0877, 1.107, 1.11915, 1.14702"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1272, 0.1278, 0.1218, 0.1248, 0.132", \ "0.1884, 0.1866, 0.177, 0.183, 0.1914", \ "0.3102, 0.3108, 0.3024, 0.2976, 0.3078", \ "0.7992, 0.7998, 0.7974, 0.7938, 0.792", \ "1.5342, 1.5342, 1.5342, 1.5342, 1.527"); } cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.152464, 0.181415, 0.234956, 0.264144, 0.338519", \ "0.189626, 0.216979, 0.270104, 0.301658, 0.378991", \ "0.259283, 0.287329, 0.336494, 0.374417, 0.456594", \ "0.548556, 0.575889, 0.623585, 0.65588, 0.747306", \ "0.986782, 1.01381, 1.0636, 1.09184, 1.17571"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.123, 0.1224, 0.114, 0.114, 0.126", \ "0.1752, 0.1728, 0.1638, 0.1662, 0.1722", \ "0.276, 0.2784, 0.2688, 0.2658, 0.2718", \ "0.6966, 0.6966, 0.6954, 0.6894, 0.6888", \ "1.3272, 1.3272, 1.3272, 1.3272, 1.3194"); } } timing() { related_pin : "B"; timing_sense : non_unate; cell_rise(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.17819, 0.191684, 0.211853, 0.225459, 0.247486", \ "0.218389, 0.232241, 0.253756, 0.266906, 0.286721", \ "0.298667, 0.313698, 0.333939, 0.346635, 0.365724", \ "0.619787, 0.634793, 0.657175, 0.667575, 0.686228", \ "1.1007, 1.12195, 1.13843, 1.1486, 1.16604"); } rise_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1278, 0.1308, 0.1356, 0.1404, 0.1512", \ "0.189, 0.1902, 0.1914, 0.1956, 0.2076", \ "0.309, 0.3096, 0.3114, 0.3126, 0.3198", \ "0.7974, 0.798, 0.7986, 0.798, 0.8016", \ "1.5324, 1.5324, 1.5318, 1.5324, 1.5336"); } cell_fall(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.176759, 0.200097, 0.241946, 0.265844, 0.3319", \ "0.214667, 0.2392, 0.277726, 0.303067, 0.36912", \ "0.288831, 0.316555, 0.351802, 0.37714, 0.44161", \ "0.583944, 0.611047, 0.648785, 0.670153, 0.73331", \ "1.02426, 1.05181, 1.08923, 1.10995, 1.17212"); } fall_transition(delay_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.1212, 0.1236, 0.1326, 0.1356, 0.1542", \ "0.1728, 0.1734, 0.1788, 0.183, 0.1926", \ "0.2766, 0.2766, 0.2784, 0.2802, 0.2874", \ "0.6966, 0.6966, 0.6966, 0.6972, 0.7008", \ "1.3272, 1.3278, 1.3272, 1.3278, 1.329"); } } internal_power() { related_pin : "A"; rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.447111, 0.588045, 1.08134, 1.46614, 2.85941", \ "0.419444, 0.589856, 1.07007, 1.45578, 2.8157", \ "0.401755, 0.576484, 1.05417, 1.44142, 2.78654", \ "0.351294, 0.54505, 1.02372, 1.41084, 2.74059", \ "0.339678, 0.530918, 1.00304, 1.38834, 2.71305"); } fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.5661, 1.78089, 2.29173, 2.69441, 4.08626", \ "1.53739, 1.75849, 2.27504, 2.68689, 4.06256", \ "1.52137, 1.73657, 2.24954, 2.66269, 4.0303", \ "1.48776, 1.69543, 2.20835, 2.60798, 3.96792", \ "1.47194, 1.67407, 2.17408, 2.57294, 3.92242"); } } internal_power() { related_pin : "B"; rise_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "0.360055, 0.464771, 0.949218, 1.36182, 2.74127", \ "0.368048, 0.466736, 0.948832, 1.34496, 2.71383", \ "0.374026, 0.470427, 0.950304, 1.34015, 2.68093", \ "0.337153, 0.474521, 0.965715, 1.34207, 2.65064", \ "0.337793, 0.468256, 0.965353, 1.34075, 2.63791"); } fall_power(energy_template_5x5) { index_1 ("0.025, 0.05, 0.1, 0.3, 0.6"); index_2 ("0.06, 0.18, 0.42, 0.6, 1.2"); values ( \ "1.88821, 2.09474, 2.60683, 3.01209, 4.4239", \ "1.89246, 2.09064, 2.59176, 3.00054, 4.39187", \ "1.90207, 2.12092, 2.5993, 2.99902, 4.35773", \ "1.90385, 2.12564, 2.60292, 2.9874, 4.31866", \ "1.91034, 2.12743, 2.60287, 2.98428, 4.30552"); } } } } cell (PADFC) { area : 27000; dont_touch : true; } cell (PADNC) { area : 27000; dont_touch : true; } cell (PADVDD) { area : 27000; dont_touch : true; } cell (PADGND) { area : 27000; dont_touch : true; } }