diff options
author | David Shah <davey1576@gmail.com> | 2018-10-01 18:45:14 +0100 |
---|---|---|
committer | David Shah <davey1576@gmail.com> | 2018-10-01 18:45:14 +0100 |
commit | 8cbc92b7f3cd106363ee115c4ec6a9f2bbaba8c8 (patch) | |
tree | 401bb9b4c00ad98f290a203ab4986110249baa8c /ecp5/pack.cc | |
parent | 9ebec3b87f4b4a6a24fc391d1acd944490630499 (diff) | |
download | nextpnr-8cbc92b7f3cd106363ee115c4ec6a9f2bbaba8c8.tar.gz nextpnr-8cbc92b7f3cd106363ee115c4ec6a9f2bbaba8c8.tar.bz2 nextpnr-8cbc92b7f3cd106363ee115c4ec6a9f2bbaba8c8.zip |
ecp5: Small DRAM routing fixes
Signed-off-by: David Shah <davey1576@gmail.com>
Diffstat (limited to 'ecp5/pack.cc')
-rw-r--r-- | ecp5/pack.cc | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/ecp5/pack.cc b/ecp5/pack.cc index 8e33356e..60ac55f6 100644 --- a/ecp5/pack.cc +++ b/ecp5/pack.cc @@ -598,9 +598,11 @@ class Ecp5Packer if (f0net != nullptr) { ff0 = net_only_drives(ctx, f0net, is_ff, ctx->id("DI"), false); if (ff0 != nullptr && can_add_ff_to_tile(tile_ffs, ff0)) { - ff_packing.push_back(std::make_tuple(ff0, slice, 0)); - tile_ffs.push_back(ff0); - packed_cells.insert(ff0->name); + if (net_or_nullptr(ff0, ctx->id("CLK")) == net_or_nullptr(slice, ctx->id("WCK"))) { + ff_packing.push_back(std::make_tuple(ff0, slice, 0)); + tile_ffs.push_back(ff0); + packed_cells.insert(ff0->name); + } } } @@ -610,9 +612,11 @@ class Ecp5Packer ff1 = net_only_drives(ctx, f1net, is_ff, ctx->id("DI"), false); if (ff1 != nullptr && (ff0 == nullptr || can_pack_ffs(ff0, ff1)) && can_add_ff_to_tile(tile_ffs, ff1)) { - ff_packing.push_back(std::make_tuple(ff1, slice, 1)); - tile_ffs.push_back(ff1); - packed_cells.insert(ff1->name); + if (net_or_nullptr(ff1, ctx->id("CLK")) == net_or_nullptr(slice, ctx->id("WCK"))) { + ff_packing.push_back(std::make_tuple(ff1, slice, 1)); + tile_ffs.push_back(ff1); + packed_cells.insert(ff1->name); + } } } } |