diff options
| author | gatecat <gatecat@ds0.me> | 2022-02-04 20:49:32 +0000 | 
|---|---|---|
| committer | gatecat <gatecat@ds0.me> | 2022-02-04 20:49:32 +0000 | 
| commit | e5bfff6e9fbbbc743c504365ab41e4112aefb6d6 (patch) | |
| tree | 86697d34fbd0acd8203212080f8f4d3a86a7daf5 /generic/viaduct_helpers.cc | |
| parent | 5ef5c33e9e964a176040c829adc965ec46331d77 (diff) | |
| download | nextpnr-e5bfff6e9fbbbc743c504365ab41e4112aefb6d6.tar.gz nextpnr-e5bfff6e9fbbbc743c504365ab41e4112aefb6d6.tar.bz2 nextpnr-e5bfff6e9fbbbc743c504365ab41e4112aefb6d6.zip  | |
viaduct: Allow constraining only cascades without fanout
Signed-off-by: gatecat <gatecat@ds0.me>
Diffstat (limited to 'generic/viaduct_helpers.cc')
| -rw-r--r-- | generic/viaduct_helpers.cc | 4 | 
1 files changed, 3 insertions, 1 deletions
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<CellTypePort> &top_ports)  }  int ViaductHelpers::constrain_cell_pairs(const pool<CellTypePort> &src_ports, const pool<CellTypePort> &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<CellTypePort> &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;  | 
