diff options
author | David Shah <dave@ds0.me> | 2019-10-09 10:55:10 +0100 |
---|---|---|
committer | David Shah <dave@ds0.me> | 2019-10-09 10:55:10 +0100 |
commit | 9b83e67460ba12f7b48d94253007954e9c50552b (patch) | |
tree | 8a1876101f6fb485df3dacde0c70ee6c0a108490 /ecp5/bitstream.cc | |
parent | e9cced57bf210faa4674a78358cb1a94765b34db (diff) | |
download | nextpnr-9b83e67460ba12f7b48d94253007954e9c50552b.tar.gz nextpnr-9b83e67460ba12f7b48d94253007954e9c50552b.tar.bz2 nextpnr-9b83e67460ba12f7b48d94253007954e9c50552b.zip |
ecp5: Preparations for new IO bels
Signed-off-by: David Shah <dave@ds0.me>
Diffstat (limited to 'ecp5/bitstream.cc')
-rw-r--r-- | ecp5/bitstream.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/ecp5/bitstream.cc b/ecp5/bitstream.cc index d2a90b86..1d153720 100644 --- a/ecp5/bitstream.cc +++ b/ecp5/bitstream.cc @@ -1367,6 +1367,13 @@ void write_bitstream(Context *ctx, std::string base_config_file, std::string tex std::string tile = ctx->getTileByType(std::string("ECLK_") + (r ? "R" : "L")); if (get_net_or_empty(ci, id_STOP) != nullptr) cc.tiles[tile].add_enum(eclksync + ".MODE", "ECLKSYNCB"); + } else if (ci->type == id_ECLKBRIDGECS) { + Loc loc = ctx->getBelLocation(ci->bel); + bool r = loc.x > 5; + std::string eclkb = ctx->locInfo(bel)->bel_data[bel.index].name.get(); + std::string tile = ctx->getTileByType(std::string("ECLK_") + (r ? "R" : "L")); + if (get_net_or_empty(ci, id_STOP) != nullptr) + cc.tiles[tile].add_enum(eclkb + ".MODE", "ECLKBRIDGECS"); } else if (ci->type == id_DDRDLL) { Loc loc = ctx->getBelLocation(ci->bel); bool u = loc.y<15, r = loc.x> 15; |