diff options
author | David Shah <dave@ds0.me> | 2020-12-27 20:14:49 +0000 |
---|---|---|
committer | David Shah <dave@ds0.me> | 2020-12-27 20:14:49 +0000 |
commit | 5e53a182921dad0e128186a1fe8766062c7cae61 (patch) | |
tree | 687333feeeab14f4c3bf0a7b3ced0d3685291627 /ecp5 | |
parent | 74c4fa67510d4438b72b59897b750dd9bbf4ac5a (diff) | |
download | nextpnr-5e53a182921dad0e128186a1fe8766062c7cae61.tar.gz nextpnr-5e53a182921dad0e128186a1fe8766062c7cae61.tar.bz2 nextpnr-5e53a182921dad0e128186a1fe8766062c7cae61.zip |
ecp5: Improve pseudo-diff IO error handling
Signed-off-by: David Shah <dave@ds0.me>
Diffstat (limited to 'ecp5')
-rw-r--r-- | ecp5/bitstream.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/ecp5/bitstream.cc b/ecp5/bitstream.cc index 9fb823ab..c6863cd6 100644 --- a/ecp5/bitstream.cc +++ b/ecp5/bitstream.cc @@ -867,8 +867,10 @@ void write_bitstream(Context *ctx, std::string base_config_file, std::string tex if (is_differential(ioType_from_str(iotype))) { if (bel.location.y == 0) { // Pseudo differential top IO - NPNR_ASSERT(dir == "OUTPUT"); - NPNR_ASSERT(pio == "PIOA"); + if (dir != "OUTPUT") + log_error("Pseudo-differential IO '%s' must be output\n", ctx->nameOf(ci)); + if (pio != "PIOA") + log_error("Pseudo-differential IO '%s' must be constrained to 'A' side of pair\n", ctx->nameOf(ci)); std::string cpio_tile = get_comp_pio_tile(ctx, bel); std::string cpic_tile = get_comp_pic_tile(ctx, bel); cc.tiles[cpio_tile].add_enum(pio + ".BASE_TYPE", dir + "_" + iotype); |