library (sram_2_16_sky130A_FF_1p8V_25C_lib){
    delay_model : "table_lookup";
    time_unit : "1ns" ;
    voltage_unit : "1V" ;
    current_unit : "1mA" ;
    resistance_unit : "1kohm" ;
    capacitive_load_unit(1, pF) ;
    leakage_power_unit : "1mW" ;
    pulling_resistance_unit :"1kohm" ;
    operating_conditions(OC){
    process : 1.0 ;
    voltage : 1.8 ;
    temperature : 25;
    }

    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 ;

    nom_voltage : 1.8;
    nom_temperature : 25;
    nom_process : 1.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 ;

    voltage_map ( VDD, 1.8 );
    voltage_map ( GND, 0 );

    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("0.00245605, 0.0098242, 0.0392968");
    }

    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 : OC; 


    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_sky130A){
    memory(){ 
    type : ram;
    address_width : 4;
    word_width : 2;
    }
    interface_timing : true;
    dont_use  : true;
    map_only   : true;
    dont_touch : true;
    area : 9316.992000000002;

    pg_pin(vdd) {
         voltage_name : VDD;
         pg_type : primary_power;
    }

    pg_pin(gnd) {
         voltage_name : GND;
         pg_type : primary_ground;
    }

    leakage_power () {
      value : 0.000196;
    }
    cell_leakage_power : 0.000196;
    bus(din0){
        bus_type  : data; 
        direction  : input; 
        capacitance : 0.0098242;  
        memory_write(){ 
            address : addr0; 
            clocked_on  : clk0; 
        }
        pin(din0[1:0]){
        timing(){ 
            timing_type : setup_rising; 
            related_pin  : "clk0"; 
            rise_constraint(CONSTRAINT_TABLE) {
            values("0.009, 0.009, 0.009",\
                   "0.009, 0.009, 0.009",\
                   "0.009, 0.009, 0.009");
            }
            fall_constraint(CONSTRAINT_TABLE) {
            values("0.009, 0.009, 0.009",\
                   "0.009, 0.009, 0.009",\
                   "0.009, 0.009, 0.009");
            }
        }
        timing(){ 
            timing_type : hold_rising; 
            related_pin  : "clk0"; 
            rise_constraint(CONSTRAINT_TABLE) {
            values("0.001, 0.001, 0.001",\
                   "0.001, 0.001, 0.001",\
                   "0.001, 0.001, 0.001");
              }
            fall_constraint(CONSTRAINT_TABLE) {
            values("0.001, 0.001, 0.001",\
                   "0.001, 0.001, 0.001",\
                   "0.001, 0.001, 0.001");
            }
        }
        }
    }
    bus(dout0){
        bus_type  : data; 
        direction  : output; 
        max_capacitance : 0.0392968;  
        min_capacitance : 0.00245605;  
        memory_read(){ 
            address : addr0; 
        }
        pin(dout0[1:0]){
        timing(){ 
            timing_sense : non_unate; 
            related_pin : "clk0"; 
            timing_type : falling_edge; 
            cell_rise(CELL_TABLE) {
            values("1.21, 1.246, 1.393",\
                   "1.21, 1.246, 1.393",\
                   "1.21, 1.246, 1.393");
            }
            cell_fall(CELL_TABLE) {
            values("1.21, 1.246, 1.393",\
                   "1.21, 1.246, 1.393",\
                   "1.21, 1.246, 1.393");
            }
            rise_transition(CELL_TABLE) {
            values("0.006, 0.01, 0.024",\
                   "0.006, 0.01, 0.024",\
                   "0.006, 0.01, 0.024");
            }
            fall_transition(CELL_TABLE) {
            values("0.006, 0.01, 0.024",\
                   "0.006, 0.01, 0.024",\
                   "0.006, 0.01, 0.024");
            }
        }
        }
    }

    bus(addr0){
        bus_type  : addr; 
        direction  : input; 
        capacitance : 0.0098242;  
        max_transition       : 0.4;
        pin(addr0[3:0]){
        timing(){ 
            timing_type : setup_rising; 
            related_pin  : "clk0"; 
            rise_constraint(CONSTRAINT_TABLE) {
            values("0.009, 0.009, 0.009",\
                   "0.009, 0.009, 0.009",\
                   "0.009, 0.009, 0.009");
            }
            fall_constraint(CONSTRAINT_TABLE) {
            values("0.009, 0.009, 0.009",\
                   "0.009, 0.009, 0.009",\
                   "0.009, 0.009, 0.009");
            }
        }
        timing(){ 
            timing_type : hold_rising; 
            related_pin  : "clk0"; 
            rise_constraint(CONSTRAINT_TABLE) {
            values("0.001, 0.001, 0.001",\
                   "0.001, 0.001, 0.001",\
                   "0.001, 0.001, 0.001");
              }
            fall_constraint(CONSTRAINT_TABLE) {
            values("0.001, 0.001, 0.001",\
                   "0.001, 0.001, 0.001",\
                   "0.001, 0.001, 0.001");
            }
        }
        }
    }

    pin(csb0){
        direction  : input; 
        capacitance : 0.0098242;  
        timing(){ 
            timing_type : setup_rising; 
            related_pin  : "clk0"; 
            rise_constraint(CONSTRAINT_TABLE) {
            values("0.009, 0.009, 0.009",\
                   "0.009, 0.009, 0.009",\
                   "0.009, 0.009, 0.009");
            }
            fall_constraint(CONSTRAINT_TABLE) {
            values("0.009, 0.009, 0.009",\
                   "0.009, 0.009, 0.009",\
                   "0.009, 0.009, 0.009");
            }
        }
        timing(){ 
            timing_type : hold_rising; 
            related_pin  : "clk0"; 
            rise_constraint(CONSTRAINT_TABLE) {
            values("0.001, 0.001, 0.001",\
                   "0.001, 0.001, 0.001",\
                   "0.001, 0.001, 0.001");
              }
            fall_constraint(CONSTRAINT_TABLE) {
            values("0.001, 0.001, 0.001",\
                   "0.001, 0.001, 0.001",\
                   "0.001, 0.001, 0.001");
            }
        }
    }

    pin(web0){
        direction  : input; 
        capacitance : 0.0098242;  
        timing(){ 
            timing_type : setup_rising; 
            related_pin  : "clk0"; 
            rise_constraint(CONSTRAINT_TABLE) {
            values("0.009, 0.009, 0.009",\
                   "0.009, 0.009, 0.009",\
                   "0.009, 0.009, 0.009");
            }
            fall_constraint(CONSTRAINT_TABLE) {
            values("0.009, 0.009, 0.009",\
                   "0.009, 0.009, 0.009",\
                   "0.009, 0.009, 0.009");
            }
        }
        timing(){ 
            timing_type : hold_rising; 
            related_pin  : "clk0"; 
            rise_constraint(CONSTRAINT_TABLE) {
            values("0.001, 0.001, 0.001",\
                   "0.001, 0.001, 0.001",\
                   "0.001, 0.001, 0.001");
              }
            fall_constraint(CONSTRAINT_TABLE) {
            values("0.001, 0.001, 0.001",\
                   "0.001, 0.001, 0.001",\
                   "0.001, 0.001, 0.001");
            }
        }
    }

    pin(clk0){
        clock             : true;
        direction  : input; 
        capacitance : 0.0098242;  
        internal_power(){
            when : "!csb0 & !web0"; 
            rise_power(scalar){
                values("1.027006e+00");
            }
            fall_power(scalar){
                values("1.027006e+00");
            }
        }
        internal_power(){
            when : "csb0 & !web0"; 
            rise_power(scalar){
                values("1.027006e+00");
            }
            fall_power(scalar){
                values("1.027006e+00");
            }
        }
        internal_power(){
            when : "!csb0 & web0"; 
            rise_power(scalar){
                values("1.027006e+00");
            }
            fall_power(scalar){
                values("1.027006e+00");
            }
        }
        internal_power(){
            when : "csb0 & web0"; 
            rise_power(scalar){
                values("1.027006e+00");
            }
            fall_power(scalar){
                values("1.027006e+00");
            }
        }
        timing(){ 
            timing_type :"min_pulse_width"; 
            related_pin  : clk0; 
            rise_constraint(scalar) {
                values("2.5765"); 
            }
            fall_constraint(scalar) {
                values("2.5765"); 
            }
         }
        timing(){ 
            timing_type :"minimum_period"; 
            related_pin  : clk0; 
            rise_constraint(scalar) {
                values("5.153"); 
            }
            fall_constraint(scalar) {
                values("5.153"); 
            }
         }
    }

    }
}
