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

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

    rslt = matrix_slice.run(
        act_shape,
        act_dtype,
        out_dtype,
        begins,
        ends,
        strides,
        par,
        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')
        act_dtype,
        out_dtype,
        begins,
        ends,
        strides,
        par,
        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')


if __name__ == '__main__':
    rslt = matrix_slice.run(
        act_shape,
        act_dtype,
        out_dtype,
        begins,
        ends,
        strides,
        par,
        axi_datawidth,
        silent=False,
        filename='tmp.v',
        outputfile=os.path.splitext(os.path.basename(__file__))[0] + '.out')
    print(rslt)