From e5bfff6e9fbbbc743c504365ab41e4112aefb6d6 Mon Sep 17 00:00:00 2001 From: gatecat Date: Fri, 4 Feb 2022 20:49:32 +0000 Subject: viaduct: Allow constraining only cascades without fanout Signed-off-by: gatecat --- generic/viaduct_helpers.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'generic/viaduct_helpers.cc') diff --git a/generic/viaduct_helpers.cc b/generic/viaduct_helpers.cc index 36bdd6be..e9f7fa60 100644 --- a/generic/viaduct_helpers.cc +++ b/generic/viaduct_helpers.cc @@ -82,7 +82,7 @@ void ViaductHelpers::remove_nextpnr_iobs(const pool &top_ports) } int ViaductHelpers::constrain_cell_pairs(const pool &src_ports, const pool &sink_ports, - int delta_z) + int delta_z, bool allow_fanout) { int constrained = 0; for (auto &cell : ctx->cells) { @@ -96,6 +96,8 @@ int ViaductHelpers::constrain_cell_pairs(const pool &src_ports, co continue; if (!src_ports.count(CellTypePort(ci.type, port.first))) continue; + if (!allow_fanout && port.second.net->users.size() > 1) + continue; for (auto &usr : port.second.net->users) { if (!sink_ports.count(CellTypePort(usr))) continue; -- cgit v1.2.3