aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs/common/abc9_map.v
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2020-04-16 12:08:59 -0700
committerEddie Hung <eddie@fpgeh.com>2020-05-14 10:33:56 -0700
commit722540dbf942d2b8acbaf7372001c7d982eb2845 (patch)
treeb852f01139a2a9f8b59ffeddfb8edd33a7272557 /techlibs/common/abc9_map.v
parent5ad3a8528896a2e2539f2de98194eb0a6cce36c9 (diff)
downloadyosys-722540dbf942d2b8acbaf7372001c7d982eb2845.tar.gz
yosys-722540dbf942d2b8acbaf7372001c7d982eb2845.tar.bz2
yosys-722540dbf942d2b8acbaf7372001c7d982eb2845.zip
abc9: not enough to techmap_fail on (* init=1 *), hide them using $__
Diffstat (limited to 'techlibs/common/abc9_map.v')
-rw-r--r--techlibs/common/abc9_map.v24
1 files changed, 14 insertions, 10 deletions
diff --git a/techlibs/common/abc9_map.v b/techlibs/common/abc9_map.v
index b04a5b64f..5f1822485 100644
--- a/techlibs/common/abc9_map.v
+++ b/techlibs/common/abc9_map.v
@@ -2,20 +2,24 @@
module $_DFF_x_(input C, D, output Q);
parameter [0:0] _TECHMAP_WIREINIT_Q_ = 1'bx;
parameter _TECHMAP_CELLTYPE_ = "";
- generate if (_TECHMAP_WIREINIT_Q_ === 1'b1)
- wire _TECHMAP_FAIL_ = 1;
- else if (_TECHMAP_CELLTYPE_ == "$_DFF_N_") begin
- wire D_;
- $__DFF_N__$abc9_flop #(.INIT(_TECHMAP_WIREINIT_Q_)) _TECHMAP_REPLACE_ (.C(C), .D(D), .Q(Q), .n1(D_));
- $_DFF_N_ ff (.C(C), .D(D_), .Q(Q));
+ wire D_;
+ generate if (_TECHMAP_CELLTYPE_ == "$_DFF_N_") begin
+ if (_TECHMAP_WIREINIT_Q_ === 1'b0) begin
+ $__DFF_N__$abc9_flop #(.INIT(_TECHMAP_WIREINIT_Q_)) _TECHMAP_REPLACE_ (.C(C), .D(D), .Q(Q), .n1(D_));
+ $_DFF_N_ ff (.C(C), .D(D_), .Q(Q));
+ end
+ else
+ $__DFF_N_ _TECHMAP_REPLACE_ (.C(C), .D(D), .Q(Q));// hide from abc9 using $__ prefix
end
else if (_TECHMAP_CELLTYPE_ == "$_DFF_P_") begin
- wire D_;
- $__DFF_P__$abc9_flop #(.INIT(_TECHMAP_WIREINIT_Q_)) _TECHMAP_REPLACE_ (.C(C), .D(D), .Q(Q), .n1(D_));
- $_DFF_P_ ff (.C(C), .D(D_), .Q(Q));
+ if (_TECHMAP_WIREINIT_Q_ === 1'b0) begin
+ $__DFF_P__$abc9_flop #(.INIT(_TECHMAP_WIREINIT_Q_)) _TECHMAP_REPLACE_ (.C(C), .D(D), .Q(Q), .n1(D_));
+ $_DFF_P_ ff (.C(C), .D(D_), .Q(Q));
+ end
+ else
+ $__DFF_P_ _TECHMAP_REPLACE_ (.C(C), .D(D), .Q(Q)); // hide from abc9 using $__ prefix
end
else if (_TECHMAP_CELLTYPE_ != "")
$error("Unrecognised _TECHMAP_CELLTYPE_");
endgenerate
- wire _TECHMAP_REMOVEINIT_Q_ = 1;
endmodule