aboutsummaryrefslogtreecommitdiffstats
path: root/backends
diff options
context:
space:
mode:
authorBenjamin Barzen <bbarzen@barzen.io>2023-04-23 01:24:36 +0200
committerGitHub <noreply@github.com>2023-04-22 16:24:36 -0700
commit861142923719aa84afc3bdf3c24a9a36e5d5fbaf (patch)
tree6962a1e6128f3df3c099924942cb43ec2780b443 /backends
parent7efc50367ed8f582001a5a293a9cd51f788f6a13 (diff)
downloadyosys-861142923719aa84afc3bdf3c24a9a36e5d5fbaf.tar.gz
yosys-861142923719aa84afc3bdf3c24a9a36e5d5fbaf.tar.bz2
yosys-861142923719aa84afc3bdf3c24a9a36e5d5fbaf.zip
ABC9: Cell Port Bug Patch (#3670)
* ABC9: RAMB36E1 Bug Patch * Add simplified testcase * Also fix xaiger writer for under-width output ports * Remove old testcase * Missing top-level input port * Fix tabs --------- Co-authored-by: Eddie Hung <eddie@fpgeh.com>
Diffstat (limited to 'backends')
-rw-r--r--backends/aiger/xaiger.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/backends/aiger/xaiger.cc b/backends/aiger/xaiger.cc
index e223f185e..68c2ff52f 100644
--- a/backends/aiger/xaiger.cc
+++ b/backends/aiger/xaiger.cc
@@ -274,6 +274,10 @@ struct XAigerWriter
continue;
auto offset = i.first.offset;
+ auto rhs = cell->getPort(i.first.name);
+ if (offset >= rhs.size())
+ continue;
+
#ifndef NDEBUG
if (ys_debug(1)) {
static pool<std::pair<IdString,TimingInfo::NameBit>> seen;
@@ -281,7 +285,7 @@ struct XAigerWriter
log_id(cell->type), log_id(i.first.name), offset, d);
}
#endif
- arrival_times[cell->getPort(i.first.name)[offset]] = d;
+ arrival_times[rhs[offset]] = d;
}
if (abc9_flop)