aboutsummaryrefslogtreecommitdiffstats
path: root/ecp5
diff options
context:
space:
mode:
authorRoss Schlaikjer <ross@schlaikjer.net>2020-04-30 11:09:22 -0400
committerRoss Schlaikjer <ross@schlaikjer.net>2020-04-30 11:09:22 -0400
commita1160068c8d3efccce85a88749e1d58da6aaaf37 (patch)
tree95751de21c0f2d1239f08f16c6dec5a78645e21b /ecp5
parentde6ddc470b944a0d0be81c5b6469ef183ba7268e (diff)
downloadnextpnr-a1160068c8d3efccce85a88749e1d58da6aaaf37.tar.gz
nextpnr-a1160068c8d3efccce85a88749e1d58da6aaaf37.tar.bz2
nextpnr-a1160068c8d3efccce85a88749e1d58da6aaaf37.zip
No cell delay for clocked MULT18X18D
Diffstat (limited to 'ecp5')
-rw-r--r--ecp5/arch.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/ecp5/arch.cc b/ecp5/arch.cc
index 4e149806..590cd89c 100644
--- a/ecp5/arch.cc
+++ b/ecp5/arch.cc
@@ -852,6 +852,8 @@ bool Arch::getCellDelay(const CellInfo *cell, IdString fromPort, IdString toPort
} else if (cell->type == id_DP16KD) {
return false;
} else if (cell->type == id_MULT18X18D) {
+ if (cell->multInfo.is_clocked)
+ return false;
std::string fn = fromPort.str(this), tn = toPort.str(this);
if (fn.size() > 1 && (fn.front() == 'A' || fn.front() == 'B') && std::isdigit(fn.at(1))) {
if (tn.size() > 1 && tn.front() == 'P' && std::isdigit(tn.at(1)))