diff options
author | Eddie Hung <eddie@fpgeh.com> | 2020-01-06 16:50:07 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-06 16:50:07 -0800 |
commit | ce765aa4def09bd8b0161425ee40ee55f62e33ff (patch) | |
tree | 2a91632d31dab23188d6cb1b4bef16b47518cbe4 /techlibs/xilinx/abc9_model.v | |
parent | 66698cb6fd0e33a27197b7412e094dc77363b5e5 (diff) | |
parent | 98ee8c14df763973d47c8c952d462eb9407f6787 (diff) | |
download | yosys-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.v | 19 |
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 |