NAND Based DFF || Liberty Format
library (TT_25_1.1) {
/* Models written by Liberate dev from Cadence Design Systems, Inc. on Fri Feb 22 02:47:41 IST 2019 */ comment : ""; date : "$Date: Fri Feb 22 02:46:37 2019 $"; revision : "1.0"; delay_model : table_lookup; capacitive_load_unit (1,pf); current_unit : "1mA"; leakage_power_unit : "1uW"; pulling_resistance_unit : "1kohm"; time_unit : "1ns"; voltage_unit : "1V"; voltage_map (vdd, 1.1); voltage_map (vss, 0); voltage_map (vnw, 1.1); voltage_map (vpw, 0); voltage_map (GND, 0); default_cell_leakage_power : 0; default_fanout_load : 1; default_max_transition : 0.48; default_output_pin_cap : 0; in_place_swap_mode : match_footprint; input_threshold_pct_fall : 50; input_threshold_pct_rise : 50; nom_process : 1; nom_temperature : 25; nom_voltage : 1.1; output_threshold_pct_fall : 50; output_threshold_pct_rise : 50; slew_derate_from_library : 1; slew_lower_threshold_pct_fall : 10; slew_lower_threshold_pct_rise : 10; slew_upper_threshold_pct_fall : 90; slew_upper_threshold_pct_rise : 90; operating_conditions (PVT_1P1V_25C) { process : 1; temperature : 25; voltage : 1.1; } default_operating_conditions : PVT_1P1V_25C; lu_table_template (constraint_template_2x2) { variable_1 : constrained_pin_transition; variable_2 : related_pin_transition; index_1 ("0.008, 0.28"); index_2 ("0.008, 0.28"); } lu_table_template (delay_template_2x2) { variable_1 : input_net_transition; variable_2 : total_output_net_capacitance; index_1 ("0.008, 0.28"); index_2 ("0.01, 0.3"); } lu_table_template (mpw_constraint_template_2x2) { variable_1 : constrained_pin_transition; index_1 ("0.008, 0.28"); } power_lut_template (passive_power_template_2x1) { variable_1 : input_transition_time; index_1 ("0.008, 0.28"); } power_lut_template (power_template_2x2) { variable_1 : input_transition_time; variable_2 : total_output_net_capacitance; index_1 ("0.008, 0.28"); index_2 ("0.01, 0.3"); } cell (dff) { area : 0; cell_leakage_power : 6.5263e-05; pg_pin (vdd) { pg_type : primary_power; voltage_name : "vdd"; } pg_pin (vss) { pg_type : primary_ground; voltage_name : "vss"; } leakage_power () { value : 5.981e-05; when : "clk * d"; related_pg_pin : vdd; } leakage_power () { value : 0; when : "clk * d"; related_pg_pin : vss; } leakage_power () { value : 6.30108e-05; when : "clk * !d"; related_pg_pin : vdd; } leakage_power () { value : 0; when : "clk * !d"; related_pg_pin : vss; } leakage_power () { value : 6.75152e-05; when : "!clk * d"; related_pg_pin : vdd; } leakage_power () { value : 0; when : "!clk * d"; related_pg_pin : vss; } leakage_power () { value : 7.07159e-05; when : "!clk * !d"; related_pg_pin : vdd; } leakage_power () { value : 0; when : "!clk * !d"; related_pg_pin : vss; } leakage_power () { value : 6.5263e-05; related_pg_pin : vdd; } leakage_power () { value : 0; related_pg_pin : vss; } pin (q) { direction : output; function : "Iq"; power_down_function : "(!vdd) + (vss)"; related_ground_pin : vss; related_power_pin : vdd; max_capacitance : 0.0114337; max_transition : 0.660627; timing () { related_pin : "clk"; timing_sense : non_unate; timing_type : rising_edge; cell_rise (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.0253775, 0.342199", \ "0.0853786, 0.402961" \ ); } rise_transition (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.0361037, 0.660627", \ "0.0443858, 0.660365" \ ); } cell_fall (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.0525863, 0.73217", \ "0.112628, 0.794371" \ ); } fall_transition (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.0254806, 0.44908", \ "0.0258223, 0.450091" \ ); } } timing () { related_pin : "d"; timing_sense : positive_unate; timing_type : combinational; cell_rise (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.0282231, 0.344363", \ "0.0801555, 0.397341" \ ); } rise_transition (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.0359804, 0.659768", \ "0.03686, 0.660262" \ ); } cell_fall (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.0479078, 0.727377", \ "0.144271, 0.865358" \ ); } fall_transition (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.0260919, 0.449646", \ "0.0322259, 0.449759" \ ); } } timing () { related_pin : "q_bar"; sdf_cond : "clk == 1'b1 & d == 1'b0"; timing_sense : negative_unate; timing_type : combinational_rise; when : "clk * !d"; cell_rise (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.0129677, 0.17515", \ "0.103261, 0.339963" \ ); } rise_transition (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.027408, 0.353946", \ "0.108684, 0.393911" \ ); } } timing () { related_pin : "q_bar"; sdf_cond : "clk == 1'b0 & d == 1'b1"; timing_sense : negative_unate; timing_type : combinational; when : "!clk * d"; cell_rise (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.0132939, 0.175349", \ "0.103744, 0.34159" \ ); } rise_transition (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.019536, 0.347754", \ "0.0908304, 0.385726" \ ); } cell_fall (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.0139538, 0.19292", \ "0.0788037, 0.33372" \ ); } fall_transition (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.0187347, 0.368661", \ "0.0804829, 0.398846" \ ); } } timing () { related_pin : "q_bar"; sdf_cond : "clk == 1'b0 & d == 1'b0"; timing_sense : negative_unate; timing_type : combinational; when : "!clk * !d"; cell_rise (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.0143934, 0.17642", \ "0.108101, 0.342316" \ ); } rise_transition (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.0205079, 0.348727", \ "0.0919997, 0.386359" \ ); } cell_fall (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.0117895, 0.152987", \ "0.0771024, 0.306792" \ ); } fall_transition (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.0156575, 0.284952", \ "0.0822211, 0.3251" \ ); } } timing () { related_pin : "q_bar"; timing_sense : negative_unate; timing_type : combinational; cell_rise (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.0143934, 0.17642", \ "0.108101, 0.342316" \ ); } rise_transition (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.027408, 0.353946", \ "0.108684, 0.393911" \ ); } cell_fall (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.0139538, 0.19292", \ "0.0788037, 0.33372" \ ); } fall_transition (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.0187347, 0.368661", \ "0.0822211, 0.398846" \ ); } } internal_power () { related_pin : "clk"; related_pg_pin : vdd; rise_power (power_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.000203742, 0.000203907", \ "0.000191358, 0.000197074" \ ); } fall_power (power_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.000228595, 0.000234012", \ "0.000215593, 0.000230434" \ ); } } internal_power () { related_pin : "clk"; related_pg_pin : vss; rise_power (power_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.000226645, 0.000209225", \ "0.000214076, 0.000208158" \ ); } fall_power (power_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.000221618, 0.000222336", \ "0.000208911, 0.000226952" \ ); } } internal_power () { related_pin : "d"; when : "clk"; related_pg_pin : vdd; rise_power (power_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.000232867, 0.000238105", \ "0.000229692, 0.000242789" \ ); } fall_power (power_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.00033972, 0.000351458", \ "0.000341023, 0.000360852" \ ); } } internal_power () { related_pin : "d"; when : "clk"; related_pg_pin : vss; rise_power (power_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.00035276, 0.000348818", \ "0.000349847, 0.000361663" \ ); } fall_power (power_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0114337"); values ( \ "0.000218745, 0.000231401", \ "0.000220189, 0.000236775" \ ); } } } pin (q_bar) { direction : output; function : "Iq_bar"; power_down_function : "(!vdd) + (vss)"; related_ground_pin : vss; related_power_pin : vdd; max_capacitance : 0.0110726; max_transition : 0.653388; timing () { related_pin : "clk"; timing_sense : non_unate; timing_type : rising_edge; cell_rise (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.0253742, 0.332116", \ "0.0854344, 0.392812" \ ); } rise_transition (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.0359936, 0.640673", \ "0.044282, 0.640768" \ ); } cell_fall (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.0523003, 0.7104", \ "0.112345, 0.772569" \ ); } fall_transition (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.0252017, 0.435203", \ "0.0255452, 0.436151" \ ); } } timing () { related_pin : "d"; timing_sense : negative_unate; timing_type : combinational; cell_rise (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.0223041, 0.328275", \ "0.108907, 0.465797" \ ); } rise_transition (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.0357302, 0.640465", \ "0.0883265, 0.653388" \ ); } cell_fall (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.054328, 0.712798", \ "0.131335, 0.765232" \ ); } fall_transition (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.0254933, 0.437307", \ "0.0513025, 0.437587" \ ); } } timing () { related_pin : "q"; sdf_cond : "clk == 1'b1 & d == 1'b1"; timing_sense : negative_unate; timing_type : combinational_rise; when : "clk * d"; cell_rise (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.0129271, 0.170003", \ "0.103223, 0.334767" \ ); } rise_transition (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.0273217, 0.343498", \ "0.108586, 0.384369" \ ); } } timing () { related_pin : "q"; sdf_cond : "clk == 1'b0 & d == 1'b1"; timing_sense : negative_unate; timing_type : combinational; when : "!clk * d"; cell_rise (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.0143939, 0.171279", \ "0.108099, 0.336393" \ ); } rise_transition (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.020417, 0.338275", \ "0.091909, 0.3762" \ ); } cell_fall (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.0116406, 0.148313", \ "0.0770662, 0.302091" \ ); } fall_transition (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.0155637, 0.276472", \ "0.0822542, 0.317405" \ ); } } timing () { related_pin : "q"; sdf_cond : "clk == 1'b0 & d == 1'b0"; timing_sense : negative_unate; timing_type : combinational; when : "!clk * !d"; cell_rise (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.0132991, 0.17021", \ "0.103749, 0.336197" \ ); } rise_transition (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.0195318, 0.337314", \ "0.090796, 0.376386" \ ); } cell_fall (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.0139669, 0.187189", \ "0.0788103, 0.327954" \ ); } fall_transition (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.0187264, 0.357245", \ "0.0804799, 0.388633" \ ); } } timing () { related_pin : "q"; timing_sense : negative_unate; timing_type : combinational; cell_rise (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.0143939, 0.171279", \ "0.108099, 0.336393" \ ); } rise_transition (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.0273217, 0.343498", \ "0.108586, 0.384369" \ ); } cell_fall (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.0139669, 0.187189", \ "0.0788103, 0.327954" \ ); } fall_transition (delay_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.0187264, 0.357245", \ "0.0822542, 0.388633" \ ); } } internal_power () { related_pin : "clk"; related_pg_pin : vdd; rise_power (power_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.000228542, 0.000229987", \ "0.000216238, 0.000223127" \ ); } fall_power (power_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.000203812, 0.000209027", \ "0.000190939, 0.000205488" \ ); } } internal_power () { related_pin : "clk"; related_pg_pin : vss; rise_power (power_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.000221677, 0.000206835", \ "0.000209253, 0.000203698" \ ); } fall_power (power_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.000226586, 0.000227473", \ "0.000213767, 0.000231913" \ ); } } internal_power () { related_pin : "d"; when : "clk"; related_pg_pin : vdd; rise_power (power_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.000339893, 0.0003513", \ "0.000340874, 0.000358588" \ ); } fall_power (power_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.000232817, 0.000241704", \ "0.000229516, 0.00024487" \ ); } } internal_power () { related_pin : "d"; when : "clk"; related_pg_pin : vss; rise_power (power_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.000218969, 0.000222756", \ "0.000220143, 0.000236036" \ ); } fall_power (power_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0001, 0.0110726"); values ( \ "0.0003527, 0.000361121", \ "0.000349511, 0.00036432" \ ); } } } pin (clk) { clock : true; direction : input; related_ground_pin : vss; related_power_pin : vdd; max_transition : 0.48; capacitance : 0.000177069; rise_capacitance : 0.000177987; rise_capacitance_range (0.000153444, 0.000202519); fall_capacitance : 0.000176151; fall_capacitance_range (0.000150236, 0.000202066); timing () { related_pin : "clk"; sdf_cond : "adacond_d == 1'b1"; timing_type : min_pulse_width; when : "d"; rise_constraint (mpw_constraint_template_2x2) { index_1 ("0.0004, 0.48"); values ( \ "0.0349522, 0.480957" \ ); } } timing () { related_pin : "clk"; sdf_cond : "adacond_NOT_d == 1'b1"; timing_type : min_pulse_width; when : "!d"; rise_constraint (mpw_constraint_template_2x2) { index_1 ("0.0004, 0.48"); values ( \ "0.0349522, 0.480957" \ ); } } internal_power () { when : "d"; related_pg_pin : vdd; rise_power (passive_power_template_2x1) { index_1 ("0.0004, 0.48"); values ( \ "9.6022e-05, 0.000118571" \ ); } fall_power (passive_power_template_2x1) { index_1 ("0.0004, 0.48"); values ( \ "0.000206724, 0.000226934" \ ); } } internal_power () { when : "d"; related_pg_pin : vss; rise_power (passive_power_template_2x1) { index_1 ("0.0004, 0.48"); values ( \ "0.000221687, 0.000244621" \ ); } fall_power (passive_power_template_2x1) { index_1 ("0.0004, 0.48"); values ( \ "8.39374e-05, 0.000103857" \ ); } } internal_power () { when : "!d"; related_pg_pin : vdd; rise_power (passive_power_template_2x1) { index_1 ("0.0004, 0.48"); values ( \ "9.98836e-05, 0.000122285" \ ); } fall_power (passive_power_template_2x1) { index_1 ("0.0004, 0.48"); values ( \ "0.000205777, 0.000226216" \ ); } } internal_power () { when : "!d"; related_pg_pin : vss; rise_power (passive_power_template_2x1) { index_1 ("0.0004, 0.48"); values ( \ "0.000222457, 0.000245242" \ ); } fall_power (passive_power_template_2x1) { index_1 ("0.0004, 0.48"); values ( \ "8.13836e-05, 0.000101404" \ ); } } } pin (d) { direction : input; related_ground_pin : vss; related_power_pin : vdd; max_transition : 0.48; capacitance : 0.000334369; rise_capacitance : 0.000327085; rise_capacitance_range (0.000288475, 0.000396086); fall_capacitance : 0.000341653; fall_capacitance_range (0.000300382, 0.000400293); timing () { related_pin : "clk"; timing_type : hold_falling; rise_constraint (constraint_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0004, 0.48"); values ( \ "-0.0122073, 0.0310232", \ "-0.063238, -0.0176025" \ ); } fall_constraint (constraint_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0004, 0.48"); values ( \ "-0.0244147, 0.0111988", \ "-0.117755, -0.0678955" \ ); } } timing () { related_pin : "clk"; timing_type : setup_falling; rise_constraint (constraint_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0004, 0.48"); values ( \ "0.036622, 0.0428338", \ "0.0954527, 0.0553223" \ ); } fall_constraint (constraint_template_2x2) { index_1 ("0.0004, 0.48"); index_2 ("0.0004, 0.48"); values ( \ "0.0317391, 0.0349282", \ "0.127667, 0.0804688" \ ); } } internal_power () { when : "!clk"; related_pg_pin : vdd; rise_power (passive_power_template_2x1) { index_1 ("0.0004, 0.48"); values ( \ "2.18456e-06, 2.50923e-05" \ ); } fall_power (passive_power_template_2x1) { index_1 ("0.0004, 0.48"); values ( \ "0.000187614, 0.000207047" \ ); } } internal_power () { when : "!clk"; related_pg_pin : vss; rise_power (passive_power_template_2x1) { index_1 ("0.0004, 0.48"); values ( \ "0.000198925, 0.000222796" \ ); } fall_power (passive_power_template_2x1) { index_1 ("0.0004, 0.48"); values ( \ "-3.25962e-05, -1.37022e-05" \ ); } } } latch (Iq,Iq_bar) { data_in : "d"; enable : "clk"; power_down_function : "(!vdd) + (vss)"; } } }