aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs/xilinx/abc9_model.v
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2020-01-06 16:50:07 -0800
committerGitHub <noreply@github.com>2020-01-06 16:50:07 -0800
commitce765aa4def09bd8b0161425ee40ee55f62e33ff (patch)
tree2a91632d31dab23188d6cb1b4bef16b47518cbe4 /techlibs/xilinx/abc9_model.v
parent66698cb6fd0e33a27197b7412e094dc77363b5e5 (diff)
parent98ee8c14df763973d47c8c952d462eb9407f6787 (diff)
downloadyosys-ce765aa4def09bd8b0161425ee40ee55f62e33ff.tar.gz
yosys-ce765aa4def09bd8b0161425ee40ee55f62e33ff.tar.bz2
yosys-ce765aa4def09bd8b0161425ee40ee55f62e33ff.zip
Merge pull request #1181 from YosysHQ/xaig_dff
"abc9 -dff" option for sequential synthesis
Diffstat (limited to 'techlibs/xilinx/abc9_model.v')
-rw-r--r--techlibs/xilinx/abc9_model.v19
1 files changed, 17 insertions, 2 deletions
diff --git a/techlibs/xilinx/abc9_model.v b/techlibs/xilinx/abc9_model.v
index 18d59dcd6..204fa883f 100644
--- a/techlibs/xilinx/abc9_model.v
+++ b/techlibs/xilinx/abc9_model.v
@@ -30,7 +30,22 @@ module \$__XILINX_MUXF78 (output O, input I0, I1, I2, I3, S0, S1);
: (S0 ? I1 : I0);
endmodule
-// Box to emulate comb/seq behaviour of RAMD{32,64} and SRL{16,32}
+module \$__ABC9_FF_ (input D, output Q);
+endmodule
+
+// Box to emulate async behaviour of FDC*
+(* abc9_box_id = 1000, lib_whitebox *)
+module \$__ABC9_ASYNC0 (input A, S, output Y);
+ assign Y = S ? 1'b0 : A;
+endmodule
+
+// Box to emulate async behaviour of FDP*
+(* abc9_box_id = 1001, lib_whitebox *)
+module \$__ABC9_ASYNC1 (input A, S, output Y);
+ assign Y = S ? 1'b0 : A;
+endmodule
+
+// Box to emulate comb/seq behaviour of RAM{32,64} and SRL{16,32}
// Necessary since RAMD* and SRL* have both combinatorial (i.e.
// same-cycle read operation) and sequential (write operation
// is only committed on the next clock edge).
@@ -39,7 +54,7 @@ endmodule
(* abc9_box_id=2000 *)
module \$__ABC9_LUT6 (input A, input [5:0] S, output Y);
endmodule
-// Box to emulate comb/seq behaviour of RAMD128
+// Box to emulate comb/seq behaviour of RAM128
(* abc9_box_id=2001 *)
module \$__ABC9_LUT7 (input A, input [6:0] S, output Y);
endmodule