| library (ls05_stdcells) { |
| delay_model: table_lookup; |
| in_place_swap_mode: match_footprint; |
| time_unit: "1ns"; |
| voltage_unit: "1V"; |
| current_unit: "1uA"; |
| pulling_resistance_unit: "1kohm"; |
| leakage_power_unit: "1nW"; |
| capacitive_load_unit (1.0, pf); |
| slew_upper_threshold_pct_rise: 80.0; |
| slew_lower_threshold_pct_rise: 20.0; |
| slew_upper_threshold_pct_fall: 80.0; |
| slew_lower_threshold_pct_fall: 20.0; |
| input_threshold_pct_rise: 50.0; |
| input_threshold_pct_fall: 50.0; |
| output_threshold_pct_rise: 50.0; |
| output_threshold_pct_fall: 50.0; |
| nom_process: 1.0; |
| nom_voltage: 5.0; |
| nom_temperature: 25.0; |
| default_operating_conditions: typical; |
| operating_conditions (typical) { |
| process: 1.0; |
| voltage: 5.0; |
| temperature: 25.0; |
| } |
| lu_table_template (delay_template_5x5) { |
| variable_1: total_output_net_capacitance; |
| variable_2: input_net_transition; |
| index_1 ( |
| "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" |
| ); |
| index_2 ( |
| "1000.000000, 1001.000000, 1002.000000, 1003.000000, 1004.000000" |
| ); |
| } |
| cell (OAI21X1) { |
| area: 877824.0; |
| cell_leakage_power: 0.1173; |
| pin (C) { |
| direction: input; |
| rise_capacitance: 0.004203428908088842; |
| fall_capacitance: 0.005774046546996895; |
| capacitance: 0.004988737727542869; |
| } |
| pin (B) { |
| direction: input; |
| rise_capacitance: 0.004935221654376836; |
| fall_capacitance: 0.004725917975171027; |
| capacitance: 0.004830569814773931; |
| } |
| pin (A) { |
| direction: input; |
| rise_capacitance: 0.004935717599872121; |
| fall_capacitance: 0.007855089253956563; |
| capacitance: 0.0063954034269143424; |
| } |
| pin (Y) { |
| direction: output; |
| function: "!(C&B&!A|C&B&A|C&!B&A)"; |
| function: "(!(A & B & C + A & C & !B + B & C & !A))"; |
| timing () { |
| related_pin: "A"; |
| timing_sense: negative_unate; |
| cell_rise (delay_template_5x5) { |
| index_1 ( |
| "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" |
| ); |
| index_2 ( |
| "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" |
| ); |
| values ( |
| "0.018803, 0.021286, 0.023372, 0.024350, -0.021448", \ |
| "0.096139, 0.096122, 0.098202, 0.106284, 0.140537", \ |
| "0.173692, 0.173167, 0.173841, 0.178581, 0.252511", \ |
| "0.328700, 0.327878, 0.327492, 0.329140, 0.432054", \ |
| "1.568684, 1.567578, 1.565889, 1.563216, 1.593648" |
| ); |
| } |
| cell_fall (delay_template_5x5) { |
| index_1 ( |
| "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" |
| ); |
| index_2 ( |
| "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" |
| ); |
| values ( |
| "0.014567, 0.027612, 0.035111, 0.046438, 0.138742", \ |
| "0.107786, 0.111806, 0.118058, 0.132521, 0.298154", \ |
| "0.202175, 0.204084, 0.208129, 0.219017, 0.408234", \ |
| "0.391077, 0.391477, 0.393526, 0.400512, 0.586153", \ |
| "1.902728, 1.901585, 1.901088, 1.901617, 1.980151" |
| ); |
| } |
| rise_transition (delay_template_5x5) { |
| index_1 ( |
| "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" |
| ); |
| index_2 ( |
| "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" |
| ); |
| values ( |
| "0.019300, 0.026959, 0.040134, 0.062777, 0.317091", \ |
| "0.130589, 0.130540, 0.131465, 0.141739, 0.450595", \ |
| "0.243235, 0.243236, 0.243192, 0.245219, 0.549172", \ |
| "0.468554, 0.468581, 0.468571, 0.468584, 0.676001", \ |
| "2.271587, 2.271582, 2.271587, 2.271587, 2.274232" |
| ); |
| } |
| fall_transition (delay_template_5x5) { |
| index_1 ( |
| "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" |
| ); |
| index_2 ( |
| "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" |
| ); |
| values ( |
| "0.031664, 0.030264, 0.038631, 0.062964, 0.321051", \ |
| "0.153753, 0.153753, 0.154115, 0.161363, 0.463032", \ |
| "0.284526, 0.284494, 0.284513, 0.285176, 0.547396", \ |
| "0.546140, 0.546108, 0.546137, 0.546139, 0.701133", \ |
| "2.638823, 2.638827, 2.638825, 2.638824, 2.638826" |
| ); |
| } |
| } |
| timing () { |
| related_pin: "B"; |
| timing_sense: negative_unate; |
| cell_rise (delay_template_5x5) { |
| index_1 ( |
| "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" |
| ); |
| index_2 ( |
| "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" |
| ); |
| values ( |
| "0.018084, 0.018977, 0.021732, 0.025405, 0.031435", \ |
| "0.095837, 0.089833, 0.091289, 0.101855, 0.181405", \ |
| "0.173416, 0.165752, 0.163733, 0.168054, 0.282099", \ |
| "0.328448, 0.319616, 0.314657, 0.311922, 0.444977", \ |
| "1.568456, 1.558467, 1.549855, 1.535658, 1.516959" |
| ); |
| } |
| cell_fall (delay_template_5x5) { |
| index_1 ( |
| "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" |
| ); |
| index_2 ( |
| "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" |
| ); |
| values ( |
| "0.011853, 0.021086, 0.025927, 0.031783, 0.061728", \ |
| "0.103111, 0.106391, 0.112051, 0.125088, 0.245734", \ |
| "0.197350, 0.198788, 0.202456, 0.212400, 0.366202", \ |
| "0.386172, 0.386296, 0.388114, 0.394555, 0.557385", \ |
| "1.897755, 1.896510, 1.895926, 1.896353, 1.969217" |
| ); |
| } |
| rise_transition (delay_template_5x5) { |
| index_1 ( |
| "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" |
| ); |
| index_2 ( |
| "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" |
| ); |
| values ( |
| "0.019576, 0.029856, 0.049211, 0.081282, 0.446789", \ |
| "0.130529, 0.130604, 0.133249, 0.154460, 0.612292", \ |
| "0.243240, 0.243237, 0.243198, 0.249492, 0.704661", \ |
| "0.468570, 0.468567, 0.468567, 0.468586, 0.813094", \ |
| "2.271586, 2.271584, 2.271584, 2.271587, 2.288098" |
| ); |
| } |
| fall_transition (delay_template_5x5) { |
| index_1 ( |
| "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" |
| ); |
| index_2 ( |
| "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" |
| ); |
| values ( |
| "0.015426, 0.020183, 0.031186, 0.056113, 0.422226", \ |
| "0.142359, 0.142363, 0.142749, 0.150040, 0.459691", \ |
| "0.273045, 0.273046, 0.273065, 0.273811, 0.534619", \ |
| "0.534623, 0.534603, 0.534626, 0.534613, 0.687998", \ |
| "2.627267, 2.627270, 2.627271, 2.627270, 2.627267" |
| ); |
| } |
| } |
| timing () { |
| related_pin: "C"; |
| timing_sense: negative_unate; |
| cell_rise (delay_template_5x5) { |
| index_1 ( |
| "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" |
| ); |
| index_2 ( |
| "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" |
| ); |
| values ( |
| "0.006353, 0.006907, 0.004743, -0.001737, -0.110680", \ |
| "0.047699, 0.044647, 0.048336, 0.053151, -0.004114", \ |
| "0.091415, 0.084176, 0.083334, 0.090516, 0.068778", \ |
| "0.179491, 0.169025, 0.162028, 0.160307, 0.186435", \ |
| "0.885395, 0.872100, 0.856349, 0.829208, 0.807105" |
| ); |
| } |
| cell_fall (delay_template_5x5) { |
| index_1 ( |
| "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" |
| ); |
| index_2 ( |
| "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" |
| ); |
| values ( |
| "0.012322, 0.019314, 0.026237, 0.038620, 0.167686", \ |
| "0.096733, 0.094797, 0.097266, 0.110737, 0.295956", \ |
| "0.182668, 0.178235, 0.176611, 0.181871, 0.385409", \ |
| "0.354674, 0.348400, 0.343367, 0.339960, 0.531053", \ |
| "1.731112, 1.722805, 1.713320, 1.696828, 1.662380" |
| ); |
| } |
| rise_transition (delay_template_5x5) { |
| index_1 ( |
| "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" |
| ); |
| index_2 ( |
| "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" |
| ); |
| values ( |
| "0.011924, 0.031387, 0.053193, 0.097308, 0.671034", \ |
| "0.079146, 0.084257, 0.100405, 0.142389, 0.716421", \ |
| "0.149831, 0.150702, 0.160194, 0.193088, 0.778101", \ |
| "0.291344, 0.291348, 0.292968, 0.312319, 0.882992", \ |
| "1.424450, 1.424445, 1.424449, 1.424449, 1.683821" |
| ); |
| } |
| fall_transition (delay_template_5x5) { |
| index_1 ( |
| "0.000500, 0.050000, 0.100000, 0.200000, 1.000000" |
| ); |
| index_2 ( |
| "0.010000, 0.050000, 0.100000, 0.200000, 1.500000" |
| ); |
| values ( |
| "0.016705, 0.026501, 0.043315, 0.084291, 0.660779", \ |
| "0.136556, 0.136714, 0.139723, 0.158268, 0.651528", \ |
| "0.258832, 0.258845, 0.259084, 0.265612, 0.680442", \ |
| "0.503343, 0.503344, 0.503342, 0.503821, 0.807464", \ |
| "2.459389, 2.459387, 2.459387, 2.459388, 2.481930" |
| ); |
| } |
| } |
| } |
| } |
| } |