memory_bram: Fix initdata bit order after shuffling
authorGraham Edgecombe <gpe@grahamedgecombe.com>
Sat, 8 Dec 2018 09:59:56 +0000 (09:59 +0000)
committerGraham Edgecombe <gpe@grahamedgecombe.com>
Tue, 11 Dec 2018 21:02:49 +0000 (21:02 +0000)
commit4fef9689abb81286af4d9c6bc420b78f61d89550
treebafa166f0db377c8c5f892ed2121657481406024
parent47a5dfdaa4bd7d400c6e3d58476de80904df460d
memory_bram: Fix initdata bit order after shuffling

In some cases the memory_bram pass shuffles the order of the bits in a
memory's RD_DATA port. Although the order of the bits in the WR_DATA and
WR_EN ports is changed to match the RD_DATA port, the order of the bits
in the initialization data is not.

This causes reads of initialized memories to return invalid data (until
the initialization data is overwritten).

This commit fixes the bug by shuffling the initdata bits in exactly the
same order as the RD_DATA/WR_DATA/WR_EN bits.
passes/memory/memory_bram.cc