a downconverter is needed for master devices of width 128 or 64 to access 64 or 32 bit slaves.
Misoc, written in migen, contains both an upconverter and downconverter.
suggestion from Dagi on #nmigen: https://github.com/ECP5-PCIe/ECP5-Utils/blob/master/utils.py