aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs/common
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2019-07-19 11:54:26 -0700
committerEddie Hung <eddie@fpgeh.com>2019-07-19 11:54:26 -0700
commitbba72f03ddd6db370e8fd5afbf14f4f89d0c7e3e (patch)
tree7072c63e6d463a414b0663451681a6e74379e3be /techlibs/common
parent3dc3c749d5c7c10e1aa504f48794ef0a87513a82 (diff)
downloadyosys-bba72f03ddd6db370e8fd5afbf14f4f89d0c7e3e.tar.gz
yosys-bba72f03ddd6db370e8fd5afbf14f4f89d0c7e3e.tar.bz2
yosys-bba72f03ddd6db370e8fd5afbf14f4f89d0c7e3e.zip
Do not $mul -> $__mul if A and B are less than maxwidth
Diffstat (limited to 'techlibs/common')
-rw-r--r--techlibs/common/mul2dsp.v4
1 files changed, 3 insertions, 1 deletions
diff --git a/techlibs/common/mul2dsp.v b/techlibs/common/mul2dsp.v
index aab568c9f..5444d842a 100644
--- a/techlibs/common/mul2dsp.v
+++ b/techlibs/common/mul2dsp.v
@@ -28,7 +28,9 @@ module \$mul (A, B, Y);
output [Y_WIDTH-1:0] Y;
generate
- if (A_SIGNED != B_SIGNED || A_WIDTH <= 1 || B_WIDTH <= 1)
+ if (A_SIGNED != B_SIGNED)
+ wire _TECHMAP_FAIL_ = 1;
+ else if (A_WIDTH <= `DSP_A_MAXWIDTH && B_WIDTH <= `DSP_B_MAXWIDTH)
wire _TECHMAP_FAIL_ = 1;
// NB: A_SIGNED == B_SIGNED == 0 from here
else if (A_WIDTH >= B_WIDTH)