aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs/common/abc9_model.v
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2020-05-18 08:06:50 -0700
committerGitHub <noreply@github.com>2020-05-18 08:06:50 -0700
commit2d573a0ff680eb9f38358943fbf134f765ba1451 (patch)
treef68589c127fcb0972636699b888252972ed63385 /techlibs/common/abc9_model.v
parentfa8cb3e35da68ceb55a9147bc1faacf68ad8bbfa (diff)
parent67fc0c3698693f049e805211c49d6219f17d7c7d (diff)
downloadyosys-2d573a0ff680eb9f38358943fbf134f765ba1451.tar.gz
yosys-2d573a0ff680eb9f38358943fbf134f765ba1451.tar.bz2
yosys-2d573a0ff680eb9f38358943fbf134f765ba1451.zip
Merge pull request #1926 from YosysHQ/eddie/abc9_auto_dff
abc9: support seq synthesis when module has (* abc9_flop *) and bypass non-combinatorial (* abc9_box *)
Diffstat (limited to 'techlibs/common/abc9_model.v')
-rw-r--r--techlibs/common/abc9_model.v23
1 files changed, 19 insertions, 4 deletions
diff --git a/techlibs/common/abc9_model.v b/techlibs/common/abc9_model.v
index c0c5dc2fd..4fee60f75 100644
--- a/techlibs/common/abc9_model.v
+++ b/techlibs/common/abc9_model.v
@@ -1,10 +1,25 @@
-module \$__ABC9_FF_ (input D, output Q);
-endmodule
-
(* abc9_box *)
-module \$__ABC9_DELAY (input I, output O);
+module $__ABC9_DELAY (input I, output O);
parameter DELAY = 0;
specify
(I => O) = DELAY;
endspecify
endmodule
+
+(* abc9_flop, abc9_box, lib_whitebox *)
+module $__DFF_N__$abc9_flop (input C, D, Q, output n1);
+ assign n1 = D;
+ specify
+ $setup(D, posedge C, 0);
+ (posedge C => (n1:D)) = 0;
+ endspecify
+endmodule
+
+(* abc9_flop, abc9_box, lib_whitebox *)
+module $__DFF_P__$abc9_flop (input C, D, Q, output n1);
+ assign n1 = D;
+ specify
+ $setup(D, posedge C, 0);
+ (posedge C => (n1:D)) = 0;
+ endspecify
+endmodule