/********************************************/
/*                                          */
/* Supergate cell library for Bench marking */
/*                                          */
/* Symbiotic EDA GmbH / Moseley Instruments */
/* Niels A. Moseley                         */
/*                                          */
/* Process: none                            */
/*                                          */
/* Date   : 02-11-2018                      */
/* Version: 1.0                             */
/*                                          */
/********************************************/

library(supergate) {
  technology (cmos);
  revision : 1.0;
  
  time_unit                     : "1ps";
  pulling_resistance_unit       : "1kohm";  
  voltage_unit                  : "1V";
  current_unit                  : "1uA";  
  
  capacitive_load_unit(1,ff);
  
  default_inout_pin_cap         :  7.0;
  default_input_pin_cap         :  7.0;
  default_output_pin_cap        :  0.0;
  default_fanout_load           :  1.0;

  default_wire_load_capacitance : 0.1;
  default_wire_load_resistance  : 1.0e-3;
  default_wire_load_area        : 0.0;

  nom_process                   :  1.0;
  nom_temperature               : 25.0;
  nom_voltage                   :  1.2;
  
  delay_model                   : generic_cmos;
  
    type( IO_bus_3_to_0 ) {
        base_type : array ;
        data_type : bit ;
        bit_width : 4;
        bit_from : 3 ;
        bit_to : 0 ;
        downto : true ;
    }

    cell (SRAM) {
        area : 1 ;
        memory() {
            type : ram;
            address_width : 4;
            word_width : 4;
        }
        pin(CE1) {
            direction : input;
            capacitance : 0.021;
            max_transition : 1.024;
            switch_pin : true;
        }
        bus(I1)  {
            bus_type : IO_bus_3_to_0 ;
            direction : input;
            pin (I1[3:0]) {
                timing() {
                    related_pin :   "CE1" ;
                    timing_type : setup_rising ;
                    rise_constraint (scalar) {
                        values("0.0507786");
                    }
                    fall_constraint (scalar) {
                        values("0.0507786");
                    }
                }
            }
        }
    }

} /* end */