blob: 8ae0b0ada9e0f83c48a3b283378c2ed1f8e1e5ee [file] [log] [blame]
library (ls05_stdcells) {
capacitive_load_unit (1.0, pf);
current_unit: "1uA";
default_operating_conditions: typical;
delay_model: table_lookup;
in_place_swap_mode: match_footprint;
input_threshold_pct_fall: 50.0;
input_threshold_pct_rise: 50.0;
leakage_power_unit: "1nW";
nom_process: 1.0;
nom_temperature: 25.0;
nom_voltage: 5.0;
output_threshold_pct_fall: 50.0;
output_threshold_pct_rise: 50.0;
pulling_resistance_unit: "1kohm";
slew_lower_threshold_pct_fall: 20.0;
slew_lower_threshold_pct_rise: 20.0;
slew_upper_threshold_pct_fall: 80.0;
slew_upper_threshold_pct_rise: 80.0;
time_unit: "1ns";
voltage_unit: "1V";
operating_conditions (typical) {
process: 1.0;
temperature: 25.0;
voltage: 5.0;
}
lu_table_template (delay_template_5x1) {
index_1 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
);
variable_1: input_net_transition;
}
lu_table_template (delay_template_5x5) {
index_1 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
);
index_2 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
);
variable_1: total_output_net_capacitance;
variable_2: input_net_transition;
}
lu_table_template (delay_template_5x6) {
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"
);
variable_1: total_output_net_capacitance;
variable_2: input_net_transition;
}
lu_table_template (delay_template_6x1) {
index_1 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
);
variable_1: input_net_transition;
}
lu_table_template (delay_template_6x6) {
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"
);
variable_1: total_output_net_capacitance;
variable_2: input_net_transition;
}
power_lut_template (energy_template_5x5) {
index_1 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
);
index_2 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
);
variable_1: total_output_net_capacitance;
variable_2: input_transition_time;
}
power_lut_template (energy_template_5x6) {
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"
);
variable_1: total_output_net_capacitance;
variable_2: input_transition_time;
}
power_lut_template (energy_template_6x6) {
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"
);
variable_1: total_output_net_capacitance;
variable_2: input_transition_time;
}
lu_table_template (hold_template_3x5) {
index_1 (
"1000.0, 1001.0, 1002.0"
);
index_2 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
);
variable_1: related_pin_transition;
variable_2: constrained_pin_transition;
}
lu_table_template (hold_template_3x6) {
index_1 (
"1000.0, 1001.0, 1002.0"
);
index_2 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
);
variable_1: related_pin_transition;
variable_2: constrained_pin_transition;
}
power_lut_template (passive_energy_template_5x1) {
index_1 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
);
variable_1: input_transition_time;
}
power_lut_template (passive_energy_template_6x1) {
index_1 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
);
variable_1: input_transition_time;
}
lu_table_template (recovery_template_3x6) {
index_1 (
"1000.0, 1001.0, 1002.0"
);
index_2 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
);
variable_1: related_pin_transition;
variable_2: constrained_pin_transition;
}
lu_table_template (recovery_template_6x6) {
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"
);
variable_1: related_pin_transition;
variable_2: constrained_pin_transition;
}
lu_table_template (removal_template_3x6) {
index_1 (
"1000.0, 1001.0, 1002.0"
);
index_2 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
);
variable_1: related_pin_transition;
variable_2: constrained_pin_transition;
}
lu_table_template (setup_template_3x5) {
index_1 (
"1000.0, 1001.0, 1002.0"
);
index_2 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
);
variable_1: related_pin_transition;
variable_2: constrained_pin_transition;
}
lu_table_template (setup_template_3x6) {
index_1 (
"1000.0, 1001.0, 1002.0"
);
index_2 (
"1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
);
variable_1: related_pin_transition;
variable_2: constrained_pin_transition;
}
cell (NAND3X1) {
area: 1.0;
cell_leakage_power: 0.1173;
pin (C) {
capacitance: 0.0049475602037443766;
direction: input;
fall_capacitance: 0.00574550349282349;
rise_capacitance: 0.004149616914665264;
}
pin (B) {
capacitance: 0.0056720092179016355;
direction: input;
fall_capacitance: 0.006513434336879236;
rise_capacitance: 0.0048305840989240345;
}
pin (A) {
capacitance: 0.00639281784839878;
direction: input;
fall_capacitance: 0.00785033270340369;
rise_capacitance: 0.0049353029933938706;
}
pin (Y) {
direction: output;
function: "(!A & B & C)";
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.006743, 0.005016, 0.001565, -0.011749, -0.174318", \
"0.047706, 0.044014, 0.046942, 0.046061, -0.062176", \
"0.091627, 0.083788, 0.082464, 0.085303, 0.015523", \
"0.179686, 0.168911, 0.161469, 0.156671, 0.140314", \
"0.884745, 0.871646, 0.855834, 0.827730, 0.787692"
);
}
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.021450, 0.026780, 0.036138, 0.051156, 0.240752", \
"0.141321, 0.138431, 0.140867, 0.154160, 0.407189", \
"0.261734, 0.256641, 0.255261, 0.261805, 0.519595", \
"0.501953, 0.495945, 0.491598, 0.490071, 0.706700", \
"2.425213, 2.418226, 2.409901, 2.395913, 2.391369"
);
}
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.011465, 0.029932, 0.047360, 0.089549, 0.523956", \
"0.080202, 0.084521, 0.100586, 0.143486, 0.643649", \
"0.152614, 0.153064, 0.163285, 0.192620, 0.727829", \
"0.292789, 0.291706, 0.294483, 0.312038, 0.856442", \
"1.424319, 1.424428, 1.424111, 1.424077, 1.684916"
);
}
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.023400, 0.030385, 0.036793, 0.077633, 0.501790", \
"0.190321, 0.189918, 0.190315, 0.199221, 0.487718", \
"0.356855, 0.356030, 0.356029, 0.356551, 0.562588", \
"0.690022, 0.690543, 0.690506, 0.690555, 0.811600", \
"3.365843, 3.365797, 3.365863, 3.365868, 3.365810"
);
}
}
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.008334, 0.007216, 0.005700, -0.003192, -0.138009", \
"0.049525, 0.045812, 0.049273, 0.049818, -0.030773", \
"0.093522, 0.085734, 0.084386, 0.088138, 0.042191", \
"0.181477, 0.170617, 0.163356, 0.158916, 0.163222", \
"0.886560, 0.873387, 0.857606, 0.829593, 0.796379"
);
}
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.023842, 0.028921, 0.038612, 0.052716, 0.222042", \
"0.141887, 0.143909, 0.149119, 0.164220, 0.404600", \
"0.261324, 0.261760, 0.265215, 0.276500, 0.527421", \
"0.501628, 0.500687, 0.501928, 0.509042, 0.732336", \
"2.424686, 2.422462, 2.420742, 2.419460, 2.508042"
);
}
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.014708, 0.032599, 0.052399, 0.096681, 0.513554", \
"0.084340, 0.087175, 0.104373, 0.147370, 0.652229", \
"0.155755, 0.155756, 0.166557, 0.196533, 0.737741", \
"0.295954, 0.295123, 0.297528, 0.315324, 0.869188", \
"1.427488, 1.427517, 1.427300, 1.427279, 1.694092"
);
}
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.023791, 0.028479, 0.033736, 0.068750, 0.456314", \
"0.190317, 0.190047, 0.189241, 0.193568, 0.414810", \
"0.356056, 0.356011, 0.356369, 0.355755, 0.487881", \
"0.690508, 0.690541, 0.690522, 0.690519, 0.753026", \
"3.365855, 3.365789, 3.365799, 3.365867, 3.365823"
);
}
}
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.008972, 0.008268, 0.008643, 0.001970, -0.101488", \
"0.051257, 0.047583, 0.051333, 0.053538, -0.001472", \
"0.095356, 0.087565, 0.086323, 0.091056, 0.070441", \
"0.183312, 0.172348, 0.165227, 0.161181, 0.187191", \
"0.888366, 0.875180, 0.859388, 0.831456, 0.805980"
);
}
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.020795, 0.029793, 0.038560, 0.050262, 0.188785", \
"0.138390, 0.142029, 0.147535, 0.160844, 0.367966", \
"0.257617, 0.259067, 0.261812, 0.272019, 0.491794", \
"0.497805, 0.497186, 0.497402, 0.502803, 0.696298", \
"2.420816, 2.418080, 2.414398, 2.409953, 2.462120"
);
}
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.017292, 0.034566, 0.057624, 0.100464, 0.554013", \
"0.086449, 0.091297, 0.109325, 0.151351, 0.684952", \
"0.158837, 0.158653, 0.169957, 0.201757, 0.763039", \
"0.298884, 0.298357, 0.300621, 0.319480, 0.888696", \
"1.430569, 1.430607, 1.430474, 1.430460, 1.704460"
);
}
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.024001, 0.027232, 0.035786, 0.067592, 0.495578", \
"0.190876, 0.191071, 0.189818, 0.194805, 0.453280", \
"0.356122, 0.356782, 0.355698, 0.356058, 0.506856", \
"0.690537, 0.690105, 0.690542, 0.690408, 0.762544", \
"3.365836, 3.365860, 3.365857, 3.365836, 3.365849"
);
}
}
}
}
}