aboutsummaryrefslogtreecommitdiffstats
path: root/passes/pmgen/xilinx_dsp.pmg
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2019-10-04 17:53:20 -0700
committerEddie Hung <eddie@fpgeh.com>2019-10-04 17:53:20 -0700
commita5ac33f230b5dd20273f6636e5b573ef0478b8f9 (patch)
tree6f67a20084e1490fec10824cf4ff9eb4c6fe14e8 /passes/pmgen/xilinx_dsp.pmg
parentaae2b9fd9c8dc915fadacc24962436dd7aedff36 (diff)
parent0acc51c3d82f65f73fa9e475c6fc41beabd925a6 (diff)
downloadyosys-a5ac33f230b5dd20273f6636e5b573ef0478b8f9.tar.gz
yosys-a5ac33f230b5dd20273f6636e5b573ef0478b8f9.tar.bz2
yosys-a5ac33f230b5dd20273f6636e5b573ef0478b8f9.zip
Merge branch 'master' into eddie/abc_to_abc9
Diffstat (limited to 'passes/pmgen/xilinx_dsp.pmg')
-rw-r--r--passes/pmgen/xilinx_dsp.pmg4
1 files changed, 3 insertions, 1 deletions
diff --git a/passes/pmgen/xilinx_dsp.pmg b/passes/pmgen/xilinx_dsp.pmg
index 3d0b1f2c3..4e174e753 100644
--- a/passes/pmgen/xilinx_dsp.pmg
+++ b/passes/pmgen/xilinx_dsp.pmg
@@ -277,7 +277,9 @@ match postAdd
index <SigBit> port(postAdd, AB)[0] === sigP[0]
filter GetSize(port(postAdd, AB)) >= GetSize(sigP)
filter port(postAdd, AB).extract(0, GetSize(sigP)) == sigP
- filter port(postAdd, AB).extract_end(GetSize(sigP)) == SigSpec(sigP[GetSize(sigP)-1], GetSize(port(postAdd, AB))-GetSize(sigP))
+ // Check that remainder of AB is a sign-extension
+ define <bool> AB_SIGNED (param(postAdd, AB == \A ? \A_SIGNED : \B_SIGNED).as_bool())
+ filter port(postAdd, AB).extract_end(GetSize(sigP)) == SigSpec(AB_SIGNED ? sigP[GetSize(sigP)-1] : State::S0, GetSize(port(postAdd, AB))-GetSize(sigP))
set postAddAB AB
optional
endmatch