aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs/common/abc9_map.v
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2020-04-16 10:24:02 -0700
committerEddie Hung <eddie@fpgeh.com>2020-05-14 10:33:56 -0700
commit48052ad813db3561a959a1921466d571bafa354c (patch)
tree9029ab8f94665a252449cfa4f0a0440ed0696815 /techlibs/common/abc9_map.v
parent7812a2959b9b23b44e8144f9edb139f282d623e1 (diff)
downloadyosys-48052ad813db3561a959a1921466d571bafa354c.tar.gz
yosys-48052ad813db3561a959a1921466d571bafa354c.tar.bz2
yosys-48052ad813db3561a959a1921466d571bafa354c.zip
abc9: add flop boxes to basic $_DFF_P_ and $_DFF_N_ too
Diffstat (limited to 'techlibs/common/abc9_map.v')
-rw-r--r--techlibs/common/abc9_map.v21
1 files changed, 21 insertions, 0 deletions
diff --git a/techlibs/common/abc9_map.v b/techlibs/common/abc9_map.v
new file mode 100644
index 000000000..b04a5b64f
--- /dev/null
+++ b/techlibs/common/abc9_map.v
@@ -0,0 +1,21 @@
+(* techmap_celltype = "$_DFF_N_ $_DFF_P_" *)
+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));
+ 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));
+ end
+ else if (_TECHMAP_CELLTYPE_ != "")
+ $error("Unrecognised _TECHMAP_CELLTYPE_");
+ endgenerate
+ wire _TECHMAP_REMOVEINIT_Q_ = 1;
+endmodule