// Opensource Liberty test file library ("sampleLibrary") { power_lut_template (power_lut_template_1) { variable_1 : related_out_total_output_net_capacitance ; index_1 ("0, 1") ; variable_2 : input_transition_time ; index_2 ("0.1, 1") ; variable_3 : total_output_net_capacitance ; index_3 ("0, 0.5, 1") ; } power_lut_template (power_lut_template_2) { variable_1 : input_transition_time ; index_1 ("0.1, 1") ; variable_2 : total_output_net_capacitance ; index_2 ("0, 0.5, 1") ; } lu_table_template (lu_table_template_1) { variable_1 : related_pin_transition ; index_1 ("0.1, 0.2, 0.3") ; variable_2 : constrained_pin_transition ; index_2 ("0.1, 1") ; } lu_table_template (lu_table_template_2) { variable_1 : related_out_total_output_net_capacitance ; index_1 ("0, 1") ; variable_2 : related_pin_transition ; index_2 ("0.1, 0.2, 0.3") ; variable_3 : constrained_pin_transition ; index_3 ("0.1, 1") ; } lu_table_template (lu_table_template_3) { variable_1 : related_out_total_output_net_capacitance ; index_1 ("0, 1") ; variable_2 : input_net_transition ; index_2 ("0.1, 1") ; variable_3 : total_output_net_capacitance ; index_3 ("0, 0.5, 1") ; } lu_table_template (lu_table_template_4) { variable_1 : input_net_transition ; index_1 ("0.1, 1") ; variable_2 : total_output_net_capacitance ; index_2 ("0, 0.5, 1") ; } cell ("sampleDFlipFlop") { ff (test2690,test2691) { clear : "RN'" ; clocked_on : "C" ; next_state : "D" ; } dont_use : true ; dont_touch : true ; pin ("D") { direction : input ; capacitance : 0.01 ; timing () { timing_type : setup_rising ; timing_sense : non_unate ; related_pin : "C" ; rise_constraint (lu_table_template_2) { index_1 ("0, 1") ; index_2 ("0.1, 0.2, 0.3") ; index_3 ("0.1, 1") ; values (\ "1, 1",\ "1, 1",\ "1, 1",\ "1, 1",\ "1, 1",\ "1, 1"\ ) ; } fall_constraint (lu_table_template_2) { index_1 ("0, 1") ; index_2 ("0.1, 0.2, 0.3") ; index_3 ("0.1, 1") ; values (\ "1, 1",\ "1, 1",\ "1, 1",\ "1, 1",\ "1, 1",\ "1, 1"\ ) ; } related_output_pin : "Q" ; } timing () { timing_type : hold_rising ; timing_sense : non_unate ; related_pin : "C" ; rise_constraint (lu_table_template_2) { index_1 ("0, 1") ; index_2 ("0.1, 0.2, 0.3") ; index_3 ("0.1, 1") ; values (\ "0, 0",\ "0, 0",\ "0, 0",\ "0, 0",\ "0, 0",\ "0, 0"\ ) ; } fall_constraint (lu_table_template_2) { index_1 ("0, 1") ; index_2 ("0.1, 0.2, 0.3") ; index_3 ("0.1, 1") ; values (\ "0, 0",\ "0, 0",\ "0, 0",\ "0, 0",\ "0, 0",\ "0, 0"\ ) ; } related_output_pin : "Q" ; } internal_power () { when : "C * RN" ; rise_power (scalar) { values ("0.1") ; } fall_power (scalar) { values ("0.1") ; } } internal_power () { when : "C' * RN" ; rise_power (scalar) { values ("0.2") ; } fall_power (scalar) { values ("0.2") ; } } internal_power () { when : "C * RN'" ; rise_power (scalar) { values ("0.1") ; } fall_power (scalar) { values ("0.1") ; } } internal_power () { when : "C' * RN'" ; rise_power (scalar) { values ("0.2") ; } fall_power (scalar) { values ("0.2") ; } } } pin ("C") { direction : input ; capacitance : 0.01 ; rise_capacitance : 0.01 ; fall_capacitance : 0.01 ; min_transition : 0.0 ; max_transition : 0.3 ; internal_power () { rise_power (scalar) { values ("1") ; } fall_power (scalar) { values ("1") ; } } } pin ("RN") { direction : input ; capacitance : 0.01 ; min_transition : 0.0 ; max_transition : 0.3 ; timing () { timing_type : recovery_rising ; timing_sense : positive_unate ; related_pin : "C" ; rise_constraint (lu_table_template_1) { index_1 ("0.1, 0.2, 0.3") ; index_2 ("0.1, 1") ; values (\ "1, 1",\ "1, 1",\ "1, 1"\ ) ; } } timing () { timing_type : removal_rising ; timing_sense : positive_unate ; related_pin : "C" ; rise_constraint (lu_table_template_1) { index_1 ("0.1, 0.2, 0.3") ; index_2 ("0.1, 1") ; values (\ "0, 0",\ "0, 0",\ "0, 0"\ ) ; } } internal_power () { rise_power (scalar) { values ("0.5") ; } fall_power (scalar) { values ("0.5") ; } } } pin ("Q") { function : "test2690" ; inverted_output : false ; direction : output ; min_capacitance : 0.0 ; max_capacitance : 1.0 ; timing () { timing_type : rising_edge ; timing_sense : non_unate ; related_pin : "C" ; cell_rise (lu_table_template_4) { index_1 ("0.1, 1") ; index_2 ("0, 0.5, 1") ; values (\ "0, 0.5, 1",\ "0, 0.5, 1"\ ) ; } cell_fall (lu_table_template_4) { index_1 ("0.1, 1") ; index_2 ("0, 0.5, 1") ; values (\ "0, 0.5, 1",\ "0, 0.5, 1"\ ) ; } rise_transition (lu_table_template_4) { index_1 ("0.1, 1") ; index_2 ("0, 0.5, 1") ; values (\ "0, 0.5, 1",\ "0, 0.5, 1"\ ) ; } fall_transition (lu_table_template_4) { index_1 ("0.1, 1") ; index_2 ("0, 0.5, 1") ; values (\ "0, 0.5, 1",\ "0, 0.5, 1"\ ) ; } } internal_power () { related_pin : "C" ; rise_power (power_lut_template_2) { index_1 ("0.1, 1") ; index_2 ("0, 0.5, 1") ; values (\ "1, 1, 1",\ "1, 1, 1"\ ) ; } fall_power (power_lut_template_2) { index_1 ("0.1, 1") ; index_2 ("0, 0.5, 1") ; values (\ "1, 1, 1",\ "1, 1, 1"\ ) ; } } timing () { timing_type : clear ; timing_sense : positive_unate ; related_pin : "RN" ; cell_fall (scalar) { values ("1") ; } fall_transition (scalar) { values ("1") ; } } internal_power () { related_pin : "RN" ; fall_power (scalar) { values ("1") ; } } } pin ("QN") { function : "test2691" ; inverted_output : true ; direction : output ; min_capacitance : 0.0 ; max_capacitance : 1.0 ; timing () { timing_type : rising_edge ; timing_sense : non_unate ; related_pin : "C" ; cell_rise (lu_table_template_3) { index_1 ("0, 1") ; index_2 ("0.1, 1") ; index_3 ("0, 0.5, 1") ; values (\ "0, 0.5, 1",\ "0, 0.5, 1",\ "0, 0.5, 1",\ "0, 0.5, 1"\ ) ; } cell_fall (lu_table_template_3) { index_1 ("0, 1") ; index_2 ("0.1, 1") ; index_3 ("0, 0.5, 1") ; values (\ "0, 0.5, 1",\ "0, 0.5, 1",\ "0, 0.5, 1",\ "0, 0.5, 1"\ ) ; } rise_transition (lu_table_template_3) { index_1 ("0, 1") ; index_2 ("0.1, 1") ; index_3 ("0, 0.5, 1") ; values (\ "0, 0.5, 1",\ "0, 0.5, 1",\ "0, 0.5, 1",\ "0, 0.5, 1"\ ) ; } fall_transition (lu_table_template_3) { index_1 ("0, 1") ; index_2 ("0.1, 1") ; index_3 ("0, 0.5, 1") ; values (\ "0, 0.5, 1",\ "0, 0.5, 1",\ "0, 0.5, 1",\ "0, 0.5, 1"\ ) ; } related_output_pin : "Q" ; } internal_power () { related_pin : "C" ; rise_power (power_lut_template_1) { index_1 ("0, 1") ; index_2 ("0.1, 1") ; index_3 ("0, 0.5, 1") ; values (\ "1, 1, 1",\ "1, 1, 1",\ "1, 1, 1",\ "1, 1, 1"\ ) ; } fall_power (power_lut_template_1) { index_1 ("0, 1") ; index_2 ("0.1, 1") ; index_3 ("0, 0.5, 1") ; values (\ "1, 1, 1",\ "1, 1, 1",\ "1, 1, 1",\ "1, 1, 1"\ ) ; } related_output_pin : "Q" ; } timing () { timing_type : preset ; timing_sense : negative_unate ; related_pin : "RN" ; cell_rise (scalar) { values ("1") ; } rise_transition (scalar) { values ("1") ; } } internal_power () { related_pin : "RN" ; rise_power (scalar) { values ("1") ; } } } } }