/* delay model : typ check model : typ power model : typ capacitance model : typ other model : typ */ library(ls05_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 : 189696; cell_leakage_power : 0.1173; pin(B) { direction : input; } pin(A) { direction : input; } pin(Y) { direction: output; function:"(B&A)"; } } /* --------------- * * Design : AND2X2 * * --------------- */ cell (AND2X2) { area : 189696; cell_leakage_power : 0.1173; pin(B) { direction : input; } pin(A) { direction : input; } pin(Y) { direction: output; function:"(B&A)"; } } /* --------------- * * Design : AOI21X1 * * --------------- */ cell (AOI21X1) { area : 189696; cell_leakage_power : 0.1173; pin(C) { direction : input; } pin(B) { direction : input; } pin(A) { direction : input; } pin(Y) { direction: output; function:"(!C&!B&!A|!C&B&!A|!C&!B&A)"; } } /* --------------- * * Design : AOI22X1 * * --------------- */ cell (AOI22X1) { area : 1; cell_leakage_power : 0.1173; pin(D) { direction : input; } pin(C) { direction : input; } pin(B) { direction : input; } pin(A) { direction : input; } pin(Y) { direction: output; function:"!(D&C&!B&!A|D&C&B&!A|!D&!C&B&A|D&!C&B&A|D&C&B&A|!D&C&B&A|D&C&!B&A)"; } } /* --------------- * * Design : BUFX2 * * --------------- */ cell (BUFX2) { area : 142272; cell_leakage_power : 0.1173; pin(A) { direction : input; } pin(Y) { direction: output; function:"!(!A)"; } } /* --------------- * * Design : BUFX4 * * --------------- */ cell (BUFX4) { area : 1; cell_leakage_power : 0.1173; pin(A) { direction : input; } pin(Y) { direction: output; function:"!(!A)"; } } /* --------------- * * Design : CLKBUF1 * * --------------- */ cell (CLKBUF1) { area : 1; cell_leakage_power : 0.1173; pin(A) { direction : input; } pin(Y) { direction: output; function:"!(!A)"; } } /* --------------- * * Design : FILL * * --------------- */ cell (FILL) { area : 1; cell_leakage_power : 0.1173; } /* --------------- * * Design : HAX1 * * --------------- */ cell (HAX1) { area : 1; cell_leakage_power : 0.1173; pin(B) { direction : input; } pin(A) { direction : input; } pin(YS) { direction: output; function:"!(!B&!A|B&A)"; } pin(YC) { direction: output; function:"(B&A)"; } } /* --------------- * * Design : INV * * --------------- */ cell (INV) { area : 94848; cell_leakage_power : 0.1173; pin(A) { direction : input; } pin(Y) { direction: output; function:"!(A)"; } } /* --------------- * * Design : INVX1 * * --------------- */ cell (INVX1) { area : 94848; cell_leakage_power : 0.1173; pin(A) { direction : input; } pin(Y) { direction: output; function:"!(A)"; } } /* --------------- * * Design : INVX2 * * --------------- */ cell (INVX2) { area : 94848; cell_leakage_power : 0.1173; pin(A) { direction : input; } pin(Y) { direction: output; function:"!(A)"; } } /* --------------- * * Design : INVX4 * * --------------- */ cell (INVX4) { area : 142272; cell_leakage_power : 0.1173; pin(A) { direction : input; } pin(Y) { direction: output; function:"!(A)"; } } /* --------------- * * Design : INVX8 * * --------------- */ cell (INVX8) { area : 1; cell_leakage_power : 0.1173; pin(A) { direction : input; } pin(Y) { direction: output; function:"!(A)"; } } /* --------------- * * Design : LATCH * * --------------- */ cell (LATCH) { area : 1; cell_leakage_power : 0.1173; pin(D) { direction : input; } pin(CLK) { direction : input; } pin(Q) { direction: output; function:"!(!D&CLK)"; } } /* --------------- * * Design : MUX2X1 * * --------------- */ cell (MUX2X1) { area : 1; cell_leakage_power : 0.1173; pin(S) { direction : input; } pin(B) { direction : input; } pin(A) { direction : input; } pin(Y) { direction: output; function:"!(!S&B&!A|!S&B&A|S&B&A|S&!B&A)"; } } /* --------------- * * Design : NAND2X1 * * --------------- */ cell (NAND2X1) { area : 1; cell_leakage_power : 0.1173; pin(B) { direction : input; } pin(A) { direction : input; } pin(Y) { direction: output; function:"!(B&A)"; } } /* --------------- * * Design : NAND3X1 * * --------------- */ cell (NAND3X1) { area : 1; cell_leakage_power : 0.1173; pin(C) { direction : input; } pin(B) { direction : input; } pin(A) { direction : input; } pin(Y) { direction: output; function:"!(C&B&A)"; } } /* --------------- * * Design : NOR2X1 * * --------------- */ cell (NOR2X1) { area : 142272; cell_leakage_power : 0.1173; pin(B) { direction : input; } pin(A) { direction : input; } pin(Y) { direction: output; function:"(!B&!A)"; } } /* --------------- * * Design : NOR3X1 * * --------------- */ cell (NOR3X1) { area : 1; cell_leakage_power : 0.1173; pin(C) { direction : input; } pin(B) { direction : input; } pin(A) { direction : input; } pin(Y) { direction: output; function:"(!C&!B&!A)"; } } /* --------------- * * Design : OAI21X1 * * --------------- */ cell (OAI21X1) { area : 1; cell_leakage_power : 0.1173; pin(C) { direction : input; } pin(B) { direction : input; } pin(A) { direction : input; } pin(Y) { direction: output; function:"!(C&B&!A|C&B&A|C&!B&A)"; } } /* --------------- * * Design : OAI22X1 * * --------------- */ cell (OAI22X1) { area : 1; cell_leakage_power : 0.1173; pin(D) { direction : input; } pin(C) { direction : input; } pin(B) { direction : input; } pin(A) { direction : input; } pin(Y) { direction: output; function:"(!D&!C&!B&!A|D&!C&!B&!A|D&C&!B&!A|!D&C&!B&!A|!D&!C&B&!A|!D&!C&B&A|!D&!C&!B&A)"; } } /* --------------- * * Design : OR2X1 * * --------------- */ cell (OR2X1) { area : 189696; cell_leakage_power : 0.1173; pin(B) { direction : input; } pin(A) { direction : input; } pin(Y) { direction: output; function:"!(!B&!A)"; } } /* --------------- * * Design : OR2X2 * * --------------- */ cell (OR2X2) { area : 189696; cell_leakage_power : 0.1173; pin(B) { direction : input; } pin(A) { direction : input; } pin(Y) { direction: output; function:"!(!B&!A)"; } } cell (PADINC) { area : 1; dont_touch : true; } cell (PADINOUT) { area : 1; dont_touch : true; } } /* END*/