Fixed handling of transparent bram rd ports on ROMs

This commit is contained in:
Clifford Wolf 2016-08-27 17:06:22 +02:00
parent adcda6817e
commit 23afeadb5e
2 changed files with 4 additions and 0 deletions

View File

@ -1482,6 +1482,7 @@ void RTLIL::Module::connect(const RTLIL::SigSig &conn)
log_backtrace("-X- ", yosys_xtrace-1); log_backtrace("-X- ", yosys_xtrace-1);
} }
log_assert(GetSize(conn.first) == GetSize(conn.second));
connections_.push_back(conn); connections_.push_back(conn);
} }

View File

@ -656,6 +656,9 @@ grow_read_ports:;
bool transp = rd_transp[cell_port_i] == State::S1; bool transp = rd_transp[cell_port_i] == State::S1;
SigBit clksig = rd_clk[cell_port_i]; SigBit clksig = rd_clk[cell_port_i];
if (wr_ports == 0)
transp = false;
pair<SigBit, bool> clkdom(clksig, clkpol); pair<SigBit, bool> clkdom(clksig, clkpol);
if (!clken) if (!clken)
clkdom = pair<SigBit, bool>(State::S1, false); clkdom = pair<SigBit, bool>(State::S1, false);