def test(request, silent=True):
    veriloggen.reset()

    simtype = request.config.getoption('--sim')

    rslt = onnx_matrix_conv2d.run(
        act_shape,
        weight_shape,
        act_dtype,
        weight_dtype,
        stride,
        padding,
        with_batchnorm,
        act_func,
        disable_fusion,
        par_ich,
        par_och,
        par_col,
        par_row,
        concur_och,
        stationary,
        chunk_size,
        axi_datawidth,
        silent,
        filename=None,
        simtype=simtype,
        outputfile=os.path.splitext(os.path.basename(__file__))[0] + '.out')

    verify_rslt = rslt.splitlines()[-1]
    assert (verify_rslt == '# verify: PASSED')
        simtype=simtype,
        outputfile=os.path.splitext(os.path.basename(__file__))[0] + '.out')

    verify_rslt = rslt.splitlines()[-1]
    assert (verify_rslt == '# verify: PASSED')


if __name__ == '__main__':
    rslt = onnx_matrix_conv2d.run(
        act_shape,
        weight_shape,
        act_dtype,
        weight_dtype,
        stride,
        padding,
        with_batchnorm,
        act_func,
        disable_fusion,
        par_ich,
        par_och,
        par_col,
        par_row,
        concur_och,
        stationary,
        chunk_size,
        axi_datawidth,
        silent=False,
        filename='tmp.v',
        outputfile=os.path.splitext(os.path.basename(__file__))[0] + '.out')
    print(rslt)