def METHOD_NAME(self, unit_cap):
    # TODO hack for group cap, need to be fixed
    """create subckt corresponding to unit cap
    Args:
        name (str): unique cap name in constraint
    """
    if not self.plib.find(unit_cap):
        logger.debug(f"creating subcircuit for {unit_cap}")
        cmodel = self.ckt_lib.find('CAP')
        assert cmodel, f"no cap model found for groupcap constraint {cmodel}"
        self.add_primitve('CAP')
        unit_cap_value = float(unit_cap.split('_')[1].replace('F', ''))*10E-15
        with set_context(self.plib):
            new_subckt = SubCircuit(name=unit_cap, pins=list(cmodel.pins), generator={"name": 'CAP'})
        with set_context(new_subckt.elements):
            new_ele = Instance(name='C0', model='CAP',
                               pins={pin: pin for pin in cmodel.pins},
                               parameters={'VALUE': unit_cap_value}
                               )
            new_subckt.elements.append(new_ele)
        self.plib.append(new_subckt)