/* 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)"; } } } /* END*/