def munge_ram32m_init(init):
    """ RAM32M INIT is interleaved, while the underlying data is not.

    INIT[::2] = INIT[:32]
    INIT[1::2] = INIT[32:]

    """

    bits = init.replace("64'b", "")[::-1]
    assert len(bits) == 64

    out_init = ['0' for _ in range(64)]
    out_init[::2] = bits[:32]
    out_init[1::2] = bits[32:]

    return "64'b{}".format(''.join(out_init[::-1]))