library (sram_2_16_1_scn3me_subm_lib){ delay_model : "table_lookup"; time_unit : "1ns" ; voltage_unit : "1v" ; current_unit : "1mA" ; resistance_unit : "1kohm" ; capacitive_load_unit(1 ,fF) ; leakage_power_unit : "1mW" ; pulling_resistance_unit :"1kohm" ; operating_conditions(TT){ voltage : 5.0 ; temperature : 25.000 ; } input_threshold_pct_fall : 50.0 ; output_threshold_pct_fall : 50.0 ; input_threshold_pct_rise : 50.0 ; output_threshold_pct_rise : 50.0 ; slew_lower_threshold_pct_fall : 10.0 ; slew_upper_threshold_pct_fall : 90.0 ; slew_lower_threshold_pct_rise : 10.0 ; slew_upper_threshold_pct_rise : 90.0 ; default_cell_leakage_power : 0.0 ; default_leakage_power_density : 0.0 ; default_input_pin_cap : 1.0 ; default_inout_pin_cap : 1.0 ; default_output_pin_cap : 0.0 ; default_max_transition : 0.5 ; default_fanout_load : 1.0 ; default_max_fanout : 4.0 ; default_connection_class : universal ; lu_table_template(CELL_TABLE){ variable_1 : input_net_transition; variable_2 : total_output_net_capacitance; index_1("0.0125, 0.05, 0.4"); index_2("2.45605, 9.8242, 78.5936"); } lu_table_template(CONSTRAINT_TABLE){ variable_1 : related_pin_transition; variable_2 : constrained_pin_transition; index_1("0.0125, 0.05, 0.4"); index_2("0.0125, 0.05, 0.4"); } default_operating_conditions : TT; type (DATA){ base_type : array; data_type : bit; bit_width : 2; bit_from : 0; bit_to : 1; } type (ADDR){ base_type : array; data_type : bit; bit_width : 4; bit_from : 0; bit_to : 3; } cell (sram_2_16_1_scn3me_subm){ memory(){ type : ram; address_width : 4; word_width : 2; } interface_timing : true; dont_use : true; map_only : true; dont_touch : true; area : 89304.3; bus(DATA){ bus_type : DATA; direction : inout; max_capacitance : 78.5936; three_state : "!OEb & !clk"; memory_write(){ address : ADDR; clocked_on : clk; } memory_read(){ address : ADDR; } pin(DATA[1:0]){ internal_power(){ when : "OEb & !clk"; rise_power(scalar){ values("3.1588"); } fall_power(scalar){ values("3.4922"); } } timing(){ timing_type : setup_rising; related_pin : "clk"; rise_constraint(CONSTRAINT_TABLE) { values("0.082, 0.088, 0.186",\ "0.082, 0.088, 0.186",\ "0.082, 0.088, 0.186"); } fall_constraint(CONSTRAINT_TABLE) { values("0.021, 0.021, 0.027",\ "0.021, 0.021, 0.027",\ "0.021, 0.021, 0.027"); } } timing(){ timing_type : hold_rising; related_pin : "clk"; rise_constraint(CONSTRAINT_TABLE) { values("0.009, 0.015, 0.021",\ "0.009, 0.015, 0.021",\ "0.009, 0.015, 0.021"); } fall_constraint(CONSTRAINT_TABLE) { values("-0.065, -0.071, -0.175",\ "-0.065, -0.071, -0.175",\ "-0.065, -0.071, -0.175"); } } internal_power(){ when : "!OEb & !clk"; rise_power(scalar){ values("3.9389"); } fall_power(scalar){ values("3.9642"); } } timing(){ timing_sense : non_unate; related_pin : "clk"; timing_type : falling_edge; cell_rise(CELL_TABLE) { values("0.542, 0.626, 1.298",\ "0.545, 0.628, 1.304",\ "0.594, 0.674, 1.35"); } cell_fall(CELL_TABLE) { values("1.532, 1.634, 2.6",\ "1.536, 1.639, 2.607",\ "1.587, 1.69, 2.657"); } rise_transition(CELL_TABLE) { values("0.191, 0.337, 1.884",\ "0.193, 0.338, 1.885",\ "0.195, 0.341, 1.884"); } fall_transition(CELL_TABLE) { values("0.255, 0.448, 2.467",\ "0.256, 0.447, 2.468",\ "0.256, 0.447, 2.454"); } } } } bus(ADDR){ bus_type : ADDR; direction : input; capacitance : 9.8242; max_transition : 0.4; fanout_load : 1.000000; pin(ADDR[3:0]){ timing(){ timing_type : setup_rising; related_pin : "clk"; rise_constraint(CONSTRAINT_TABLE) { values("0.082, 0.088, 0.186",\ "0.082, 0.088, 0.186",\ "0.082, 0.088, 0.186"); } fall_constraint(CONSTRAINT_TABLE) { values("0.021, 0.021, 0.027",\ "0.021, 0.021, 0.027",\ "0.021, 0.021, 0.027"); } } timing(){ timing_type : hold_rising; related_pin : "clk"; rise_constraint(CONSTRAINT_TABLE) { values("0.009, 0.015, 0.021",\ "0.009, 0.015, 0.021",\ "0.009, 0.015, 0.021"); } fall_constraint(CONSTRAINT_TABLE) { values("-0.065, -0.071, -0.175",\ "-0.065, -0.071, -0.175",\ "-0.065, -0.071, -0.175"); } } } } pin(CSb){ direction : input; capacitance : 9.8242; timing(){ timing_type : setup_rising; related_pin : "clk"; rise_constraint(CONSTRAINT_TABLE) { values("0.082, 0.088, 0.186",\ "0.082, 0.088, 0.186",\ "0.082, 0.088, 0.186"); } fall_constraint(CONSTRAINT_TABLE) { values("0.021, 0.021, 0.027",\ "0.021, 0.021, 0.027",\ "0.021, 0.021, 0.027"); } } timing(){ timing_type : hold_rising; related_pin : "clk"; rise_constraint(CONSTRAINT_TABLE) { values("0.009, 0.015, 0.021",\ "0.009, 0.015, 0.021",\ "0.009, 0.015, 0.021"); } fall_constraint(CONSTRAINT_TABLE) { values("-0.065, -0.071, -0.175",\ "-0.065, -0.071, -0.175",\ "-0.065, -0.071, -0.175"); } } } pin(OEb){ direction : input; capacitance : 9.8242; timing(){ timing_type : setup_rising; related_pin : "clk"; rise_constraint(CONSTRAINT_TABLE) { values("0.082, 0.088, 0.186",\ "0.082, 0.088, 0.186",\ "0.082, 0.088, 0.186"); } fall_constraint(CONSTRAINT_TABLE) { values("0.021, 0.021, 0.027",\ "0.021, 0.021, 0.027",\ "0.021, 0.021, 0.027"); } } timing(){ timing_type : hold_rising; related_pin : "clk"; rise_constraint(CONSTRAINT_TABLE) { values("0.009, 0.015, 0.021",\ "0.009, 0.015, 0.021",\ "0.009, 0.015, 0.021"); } fall_constraint(CONSTRAINT_TABLE) { values("-0.065, -0.071, -0.175",\ "-0.065, -0.071, -0.175",\ "-0.065, -0.071, -0.175"); } } } pin(WEb){ direction : input; capacitance : 9.8242; timing(){ timing_type : setup_rising; related_pin : "clk"; rise_constraint(CONSTRAINT_TABLE) { values("0.082, 0.088, 0.186",\ "0.082, 0.088, 0.186",\ "0.082, 0.088, 0.186"); } fall_constraint(CONSTRAINT_TABLE) { values("0.021, 0.021, 0.027",\ "0.021, 0.021, 0.027",\ "0.021, 0.021, 0.027"); } } timing(){ timing_type : hold_rising; related_pin : "clk"; rise_constraint(CONSTRAINT_TABLE) { values("0.009, 0.015, 0.021",\ "0.009, 0.015, 0.021",\ "0.009, 0.015, 0.021"); } fall_constraint(CONSTRAINT_TABLE) { values("-0.065, -0.071, -0.175",\ "-0.065, -0.071, -0.175",\ "-0.065, -0.071, -0.175"); } } } pin(clk){ clock : true; direction : input; capacitance : 9.8242; timing(){ timing_type :"min_pulse_width"; related_pin : clk; rise_constraint(scalar) { values("4.5315"); } fall_constraint(scalar) { values("4.5315"); } } timing(){ timing_type :"minimum_period"; related_pin : clk; rise_constraint(scalar) { values("9.063"); } fall_constraint(scalar) { values("9.063"); } } } } }