3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-29 03:45:52 +00:00

Use extractinv for synth_xilinx -ise

This commit is contained in:
Marcin Kościelnicki 2019-08-28 15:28:01 +00:00
parent c9f9518de4
commit 13fa873f11
8 changed files with 502 additions and 90 deletions

View file

@ -596,29 +596,6 @@ module PCIE_2_0 (...);
endmodule
module SYSMON (...);
output BUSY;
output DRDY;
output EOC;
output EOS;
output JTAGBUSY;
output JTAGLOCKED;
output JTAGMODIFIED;
output OT;
output [15:0] DO;
output [2:0] ALM;
output [4:0] CHANNEL;
input CONVST;
input CONVSTCLK;
input DCLK;
input DEN;
input DWE;
input RESET;
input VN;
input VP;
input [15:0] DI;
input [15:0] VAUXN;
input [15:0] VAUXP;
input [6:0] DADDR;
parameter [15:0] INIT_40 = 16'h0;
parameter [15:0] INIT_41 = 16'h0;
parameter [15:0] INIT_42 = 16'h0800;
@ -645,6 +622,29 @@ module SYSMON (...);
parameter [15:0] INIT_57 = 16'h0;
parameter SIM_DEVICE = "VIRTEX5";
parameter SIM_MONITOR_FILE = "design.txt";
output BUSY;
output DRDY;
output EOC;
output EOS;
output JTAGBUSY;
output JTAGLOCKED;
output JTAGMODIFIED;
output OT;
output [15:0] DO;
output [2:0] ALM;
output [4:0] CHANNEL;
input CONVST;
input CONVSTCLK;
input DCLK;
input DEN;
input DWE;
input RESET;
input VN;
input VP;
input [15:0] DI;
input [15:0] VAUXN;
input [15:0] VAUXP;
input [6:0] DADDR;
endmodule
module DSP48E1 (...);
@ -691,11 +691,13 @@ module DSP48E1 (...);
output UNDERFLOW;
input [29:0] A;
input [29:0] ACIN;
(* invertible_pin = "IS_ALUMODE_INVERTED" *)
input [3:0] ALUMODE;
input [17:0] B;
input [17:0] BCIN;
input [47:0] C;
input CARRYCASCIN;
(* invertible_pin = "IS_CARRYIN_INVERTED" *)
input CARRYIN;
input [2:0] CARRYINSEL;
input CEA1;
@ -712,10 +714,13 @@ module DSP48E1 (...);
input CEM;
input CEP;
(* clkbuf_sink *)
(* invertible_pin = "IS_CLK_INVERTED" *)
input CLK;
input [24:0] D;
(* invertible_pin = "IS_INMODE_INVERTED" *)
input [4:0] INMODE;
input MULTSIGNIN;
(* invertible_pin = "IS_OPMODE_INVERTED" *)
input [6:0] OPMODE;
input [47:0] PCIN;
input RSTA;
@ -736,7 +741,9 @@ module BUFGCE (...);
parameter [0:0] IS_I_INVERTED = 1'b0;
(* clkbuf_driver *)
output O;
(* invertible_pin = "IS_CE_INVERTED" *)
input CE;
(* invertible_pin = "IS_I_INVERTED" *)
input I;
endmodule
@ -794,13 +801,13 @@ module BUFIODQS (...);
endmodule
module BUFR (...);
parameter BUFR_DIVIDE = "BYPASS";
parameter SIM_DEVICE = "7SERIES";
(* clkbuf_driver *)
output O;
input CE;
input CLR;
input I;
parameter BUFR_DIVIDE = "BYPASS";
parameter SIM_DEVICE = "7SERIES";
endmodule
module IBUFDS_GTXE1 (...);
@ -952,6 +959,8 @@ endmodule
(* keep *)
module BSCAN_VIRTEX6 (...);
parameter DISABLE_JTAG = "FALSE";
parameter integer JTAG_CHAIN = 1;
output CAPTURE;
output DRCK;
output RESET;
@ -963,15 +972,13 @@ module BSCAN_VIRTEX6 (...);
output TMS;
output UPDATE;
input TDO;
parameter DISABLE_JTAG = "FALSE";
parameter integer JTAG_CHAIN = 1;
endmodule
(* keep *)
module CAPTURE_VIRTEX6 (...);
parameter ONESHOT = "TRUE";
input CAP;
input CLK;
parameter ONESHOT = "TRUE";
endmodule
module DNA_PORT (...);
@ -2299,13 +2306,19 @@ module FIFO18E1 (...);
input [31:0] DI;
input [3:0] DIP;
(* clkbuf_sink *)
(* invertible_pin = "IS_RDCLK_INVERTED" *)
input RDCLK;
(* invertible_pin = "IS_RDEN_INVERTED" *)
input RDEN;
input REGCE;
(* invertible_pin = "IS_RST_INVERTED" *)
input RST;
(* invertible_pin = "IS_RSTREG_INVERTED" *)
input RSTREG;
(* clkbuf_sink *)
(* invertible_pin = "IS_WRCLK_INVERTED" *)
input WRCLK;
(* invertible_pin = "IS_WREN_INVERTED" *)
input WREN;
endmodule
@ -2346,13 +2359,19 @@ module FIFO36E1 (...);
input INJECTDBITERR;
input INJECTSBITERR;
(* clkbuf_sink *)
(* invertible_pin = "IS_RDCLK_INVERTED" *)
input RDCLK;
(* invertible_pin = "IS_RDEN_INVERTED" *)
input RDEN;
input REGCE;
(* invertible_pin = "IS_RST_INVERTED" *)
input RST;
(* invertible_pin = "IS_RSTREG_INVERTED" *)
input RSTREG;
(* clkbuf_sink *)
(* invertible_pin = "IS_WRCLK_INVERTED" *)
input WRCLK;
(* invertible_pin = "IS_WREN_INVERTED" *)
input WREN;
endmodule
@ -2369,6 +2388,7 @@ module RAM128X1S (...);
input A6;
input D;
(* clkbuf_sink *)
(* invertible_pin = "IS_WCLK_INVERTED" *)
input WCLK;
input WE;
endmodule
@ -2380,6 +2400,7 @@ module RAM256X1S (...);
input [7:0] A;
input D;
(* clkbuf_sink *)
(* invertible_pin = "IS_WCLK_INVERTED" *)
input WCLK;
input WE;
endmodule
@ -2403,6 +2424,7 @@ module RAM32M (...);
input [1:0] DIC;
input [1:0] DID;
(* clkbuf_sink *)
(* invertible_pin = "IS_WCLK_INVERTED" *)
input WCLK;
input WE;
endmodule
@ -2418,6 +2440,7 @@ module RAM32X1S (...);
input A4;
input D;
(* clkbuf_sink *)
(* invertible_pin = "IS_WCLK_INVERTED" *)
input WCLK;
input WE;
endmodule
@ -2433,6 +2456,7 @@ module RAM32X1S_1 (...);
input A4;
input D;
(* clkbuf_sink *)
(* invertible_pin = "IS_WCLK_INVERTED" *)
input WCLK;
input WE;
endmodule
@ -2451,6 +2475,7 @@ module RAM32X2S (...);
input D0;
input D1;
(* clkbuf_sink *)
(* invertible_pin = "IS_WCLK_INVERTED" *)
input WCLK;
input WE;
endmodule
@ -2474,6 +2499,7 @@ module RAM64M (...);
input DIC;
input DID;
(* clkbuf_sink *)
(* invertible_pin = "IS_WCLK_INVERTED" *)
input WCLK;
input WE;
endmodule
@ -2490,6 +2516,7 @@ module RAM64X1S (...);
input A5;
input D;
(* clkbuf_sink *)
(* invertible_pin = "IS_WCLK_INVERTED" *)
input WCLK;
input WE;
endmodule
@ -2506,6 +2533,7 @@ module RAM64X1S_1 (...);
input A5;
input D;
(* clkbuf_sink *)
(* invertible_pin = "IS_WCLK_INVERTED" *)
input WCLK;
input WE;
endmodule
@ -2525,6 +2553,7 @@ module RAM64X2S (...);
input D0;
input D1;
(* clkbuf_sink *)
(* invertible_pin = "IS_WCLK_INVERTED" *)
input WCLK;
input WE;
endmodule
@ -2587,8 +2616,10 @@ module IDDR (...);
output Q1;
output Q2;
(* clkbuf_sink *)
(* invertible_pin = "IS_C_INVERTED" *)
input C;
input CE;
(* invertible_pin = "IS_D_INVERTED" *)
input D;
input R;
input S;
@ -2605,10 +2636,13 @@ module IDDR_2CLK (...);
output Q1;
output Q2;
(* clkbuf_sink *)
(* invertible_pin = "IS_C_INVERTED" *)
input C;
(* clkbuf_sink *)
(* invertible_pin = "IS_CB_INVERTED" *)
input CB;
input CE;
(* invertible_pin = "IS_D_INVERTED" *)
input D;
input R;
input S;
@ -2621,8 +2655,10 @@ module LDCE (...);
parameter MSGON = "TRUE";
parameter XON = "TRUE";
output Q;
(* invertible_pin = "IS_CLR_INVERTED" *)
input CLR;
input D;
(* invertible_pin = "IS_G_INVERTED" *)
input G;
input GE;
endmodule
@ -2635,20 +2671,14 @@ module LDPE (...);
parameter XON = "TRUE";
output Q;
input D;
(* invertible_pin = "IS_G_INVERTED" *)
input G;
input GE;
(* invertible_pin = "IS_PRE_INVERTED" *)
input PRE;
endmodule
module ODDR (...);
output Q;
(* clkbuf_sink *)
input C;
input CE;
input D1;
input D2;
input R;
input S;
parameter DDR_CLK_EDGE = "OPPOSITE_EDGE";
parameter INIT = 1'b0;
parameter [0:0] IS_C_INVERTED = 1'b0;
@ -2657,6 +2687,17 @@ module ODDR (...);
parameter SRTYPE = "SYNC";
parameter MSGON = "TRUE";
parameter XON = "TRUE";
output Q;
(* clkbuf_sink *)
(* invertible_pin = "IS_C_INVERTED" *)
input C;
input CE;
(* invertible_pin = "IS_D1_INVERTED" *)
input D1;
(* invertible_pin = "IS_D2_INVERTED" *)
input D2;
input R;
input S;
endmodule
module CFGLUT5 (...);
@ -2673,6 +2714,7 @@ module CFGLUT5 (...);
input CDI;
input CE;
(* clkbuf_sink *)
(* invertible_pin = "IS_CLK_INVERTED" *)
input CLK;
endmodule