diff options
author | Eddie Hung <eddie@fpgeh.com> | 2019-09-19 16:27:14 -0700 |
---|---|---|
committer | Eddie Hung <eddie@fpgeh.com> | 2019-09-19 16:27:14 -0700 |
commit | 5ca25b0c59d47e26c7bf119c47b4e73054fafbc8 (patch) | |
tree | 482e600b4cba8dfa937fef4ecb68a1193662f088 | |
parent | a8bc46080548550e020155d1436470e0d3651eca (diff) | |
download | yosys-5ca25b0c59d47e26c7bf119c47b4e73054fafbc8.tar.gz yosys-5ca25b0c59d47e26c7bf119c47b4e73054fafbc8.tar.bz2 yosys-5ca25b0c59d47e26c7bf119c47b4e73054fafbc8.zip |
Suppress $anyseq warnings
-rw-r--r-- | techlibs/xilinx/abc_map.v | 47 |
1 files changed, 32 insertions, 15 deletions
diff --git a/techlibs/xilinx/abc_map.v b/techlibs/xilinx/abc_map.v index f23ec6463..1b7900af8 100644 --- a/techlibs/xilinx/abc_map.v +++ b/techlibs/xilinx/abc_map.v @@ -305,29 +305,36 @@ __CELL__ #( // Disconnect the A-input if MREG is enabled, since // combinatorial path is broken if (AREG == 0 && MREG == 0 && PREG == 0) - assign iA = A; + assign iA = A, pA = 1'bx; else \$__ABC_DSP48E1_REG rA (.I(A), .O(iA), .Q(pA)); if (BREG == 0 && MREG == 0 && PREG == 0) - assign iB = B; + assign iB = B, pB = 1'bx; else \$__ABC_DSP48E1_REG rB (.I(B), .O(iB), .Q(pB)); if (CREG == 0 && PREG == 0) - assign iC = C; + assign iC = C, pC = 1'bx; else \$__ABC_DSP48E1_REG rC (.I(C), .O(iC), .Q(pC)); if (DREG == 0) assign iD = D; else if (techmap_guard) $error("Invalid DSP48E1 configuration: DREG enabled but USE_DPORT == \"FALSE\""); + assign pD = 1'bx; if (ADREG == 1 && techmap_guard) - $error("Invalid DSP48E1 configuration: ADREG enabled but USE_DPORT == \"FALSE\""); + $error("Invalid DSP48E1 configuration: ADREG enabled but USE_DPORT == \"FALSE\""); + assign pAD = 1'bx; if (PREG == 0) begin + assign pP = 1'bx; if (MREG == 1) \$__ABC_DSP48E1_REG rM (.Q(pM)); + else + assign pM = 1'bx; end - else + else begin \$__ABC_DSP48E1_REG rP (.Q(pP)); + assign pM = 1'bx; + end \$__ABC_DSP48E1_MULT_P_MUX muxP ( .Aq(pA), .Bq(pB), .Cq(pC), .Dq(pD), .ADq(pAD), .Mq(pM), .P(oP), .Pq(pP), .O(P) @@ -350,26 +357,31 @@ __CELL__ #( // Disconnect the A-input if MREG is enabled, since // combinatorial path is broken if (AREG == 0 && ADREG == 0 && MREG == 0 && PREG == 0) - assign iA = A; + assign iA = A, pA = 1'bx; else \$__ABC_DSP48E1_REG rA (.I(A), .O(iA), .Q(pA)); if (BREG == 0 && MREG == 0 && PREG == 0) - assign iB = B; + assign iB = B, pB = 1'bx; else \$__ABC_DSP48E1_REG rB (.I(B), .O(iB), .Q(pB)); if (CREG == 0 && PREG == 0) - assign iC = C; + assign iC = C, pC = 1'bx; else \$__ABC_DSP48E1_REG rC (.I(C), .O(iC), .Q(pC)); if (DREG == 0 && ADREG == 0) - assign iD = D; + assign iD = D, pD = 1'bx; else \$__ABC_DSP48E1_REG rD (.I(D), .O(iD), .Q(pD)); if (PREG == 0) begin if (MREG == 1) \$__ABC_DSP48E1_REG rM (.Q(pM)); - else if (ADREG == 1) - \$__ABC_DSP48E1_REG rAD (.Q(pAD)); + else begin + assign pM = 1'bx; + if (ADREG == 1) + \$__ABC_DSP48E1_REG rAD (.Q(pAD)); + else + assign pAD = 1'bx; + end end else \$__ABC_DSP48E1_REG rP (.Q(pP)); @@ -395,25 +407,30 @@ __CELL__ #( // Disconnect the A-input if MREG is enabled, since // combinatorial path is broken if (AREG == 0 && PREG == 0) - assign iA = A; + assign iA = A, pA = 1'bx; else \$__ABC_DSP48E1_REG rA (.I(A), .O(iA), .Q(pA)); if (BREG == 0 && PREG == 0) - assign iB = B; + assign iB = B, pB = 1'bx; else \$__ABC_DSP48E1_REG rB (.I(B), .O(iB), .Q(pB)); if (CREG == 0 && PREG == 0) - assign iC = C; + assign iC = C, pC = 1'bx; else \$__ABC_DSP48E1_REG rC (.I(C), .O(iC), .Q(pC)); if (MREG == 1 && techmap_guard) - $error("Invalid DSP48E1 configuration: MREG enabled but USE_MULT == \"NONE\""); + $error("Invalid DSP48E1 configuration: MREG enabled but USE_MULT == \"NONE\""); + assign pM = 1'bx; if (DREG == 1 && techmap_guard) $error("Invalid DSP48E1 configuration: DREG enabled but USE_DPORT == \"FALSE\""); + assign pD = 1'bx; if (ADREG == 1 && techmap_guard) $error("Invalid DSP48E1 configuration: ADREG enabled but USE_DPORT == \"FALSE\""); + assign pAD = 1'bx; if (PREG == 1) \$__ABC_DSP48E1_REG rP (.Q(pP)); + else + assign pP = 1'bx; \$__ABC_DSP48E1_P_MUX muxP ( .Aq(pA), .Bq(pB), .Cq(pC), .Dq(pD), .ADq(pAD), .Mq(pM), .P(oP), .Pq(pP), .O(P) |