def METHOD_NAME(n_row, n_col, nf, device_type, ports):
    logger.info(f'running {get_test_id()}')
    c = MOSGenerator()
    parameters = {'M': n_row*n_col, 'NFIN': 4, 'real_inst_type': 'n'}
    if device_type == 'parallel':
        parameters['NF'] = nf
    else:
        parameters['STACK'] = nf
    c.addNMOSArray(n_col, n_row, 0, None, ports, **parameters)
    c.gen_data(run_drc=True)
    if c.drc.num_errors > 0 or len(c.rd.opens) > 0 or len(c.rd.shorts) > 0:
        export_to_viewer(get_test_id(), c)
        assert False, f'{get_test_id()} DRC ports:{ports} type:{device_type} nf:{nf}, n_col:{n_col} n_row:{n_row}'