Make a few passes auto-call Mem::narrow instead of rejecting wide ports.
This essentially adds wide port support for free in passes that don't have a usefully better way of handling wide ports than just breaking them up to narrow ports, avoiding "please run memory_narrow" annoyance.
This commit is contained in:
@@ -691,6 +691,9 @@ Cell *Mem::extract_rdff(int idx, FfInitVals *initvals) {
|
||||
}
|
||||
|
||||
void Mem::narrow() {
|
||||
// NOTE: several passes depend on this function not modifying
|
||||
// the design at all until (and unless) emit() is called.
|
||||
// Be careful to preserve this.
|
||||
std::vector<MemRd> new_rd_ports;
|
||||
std::vector<MemWr> new_wr_ports;
|
||||
std::vector<std::pair<int, int>> new_rd_map;
|
||||
|
||||
Reference in New Issue
Block a user