mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-13 04:28:18 +00:00
xilinx: Add keep attribute where appropriate
Signed-off-by: David Shah <dave@ds0.me>
This commit is contained in:
parent
da42f10765
commit
46f6a60d58
|
@ -7,6 +7,7 @@ function xtract_cell_decl()
|
||||||
{
|
{
|
||||||
for dir in $libdir/xeclib $libdir/retarget; do
|
for dir in $libdir/xeclib $libdir/retarget; do
|
||||||
[ -f $dir/$1.v ] || continue
|
[ -f $dir/$1.v ] || continue
|
||||||
|
[ -z "$2" ] || echo $2
|
||||||
egrep '^\s*((end)?module|parameter|input|inout|output|(end)?function|(end)?task)' $dir/$1.v |
|
egrep '^\s*((end)?module|parameter|input|inout|output|(end)?function|(end)?task)' $dir/$1.v |
|
||||||
sed -re '/UNPLACED/ d; /^\s*function/,/endfunction/ d; /^\s*task/,/endtask/ d;
|
sed -re '/UNPLACED/ d; /^\s*function/,/endfunction/ d; /^\s*task/,/endtask/ d;
|
||||||
s,//.*,,; s/#?\(.*/(...);/; s/^(input|output|parameter)/ \1/;
|
s,//.*,,; s/#?\(.*/(...);/; s/^(input|output|parameter)/ \1/;
|
||||||
|
@ -37,10 +38,10 @@ function xtract_cell_decl()
|
||||||
xtract_cell_decl BUFMR
|
xtract_cell_decl BUFMR
|
||||||
xtract_cell_decl BUFMRCE
|
xtract_cell_decl BUFMRCE
|
||||||
xtract_cell_decl BUFR
|
xtract_cell_decl BUFR
|
||||||
xtract_cell_decl CAPTUREE2
|
xtract_cell_decl CAPTUREE2 "(* keep *)"
|
||||||
# xtract_cell_decl CARRY4
|
# xtract_cell_decl CARRY4
|
||||||
xtract_cell_decl CFGLUT5
|
xtract_cell_decl CFGLUT5
|
||||||
xtract_cell_decl DCIRESET
|
xtract_cell_decl DCIRESET "(* keep *)"
|
||||||
xtract_cell_decl DNA_PORT
|
xtract_cell_decl DNA_PORT
|
||||||
xtract_cell_decl DSP48E1
|
xtract_cell_decl DSP48E1
|
||||||
xtract_cell_decl EFUSE_USR
|
xtract_cell_decl EFUSE_USR
|
||||||
|
@ -67,10 +68,10 @@ function xtract_cell_decl()
|
||||||
xtract_cell_decl IBUFDS_GTE2
|
xtract_cell_decl IBUFDS_GTE2
|
||||||
xtract_cell_decl IBUFDS_IBUFDISABLE
|
xtract_cell_decl IBUFDS_IBUFDISABLE
|
||||||
xtract_cell_decl IBUFDS_INTERMDISABLE
|
xtract_cell_decl IBUFDS_INTERMDISABLE
|
||||||
xtract_cell_decl ICAPE2
|
xtract_cell_decl ICAPE2 "(* keep *)"
|
||||||
xtract_cell_decl IDDR
|
xtract_cell_decl IDDR
|
||||||
xtract_cell_decl IDDR_2CLK
|
xtract_cell_decl IDDR_2CLK
|
||||||
xtract_cell_decl IDELAYCTRL
|
xtract_cell_decl IDELAYCTRL "(* keep *)"
|
||||||
xtract_cell_decl IDELAYE2
|
xtract_cell_decl IDELAYE2
|
||||||
xtract_cell_decl IN_FIFO
|
xtract_cell_decl IN_FIFO
|
||||||
xtract_cell_decl IOBUF
|
xtract_cell_decl IOBUF
|
||||||
|
@ -112,7 +113,7 @@ function xtract_cell_decl()
|
||||||
xtract_cell_decl PHY_CONTROL
|
xtract_cell_decl PHY_CONTROL
|
||||||
xtract_cell_decl PLLE2_ADV
|
xtract_cell_decl PLLE2_ADV
|
||||||
xtract_cell_decl PLLE2_BASE
|
xtract_cell_decl PLLE2_BASE
|
||||||
xtract_cell_decl PS7
|
xtract_cell_decl PS7 "(* keep *)"
|
||||||
xtract_cell_decl PULLDOWN
|
xtract_cell_decl PULLDOWN
|
||||||
xtract_cell_decl PULLUP
|
xtract_cell_decl PULLUP
|
||||||
xtract_cell_decl RAM128X1D
|
xtract_cell_decl RAM128X1D
|
||||||
|
@ -136,7 +137,7 @@ function xtract_cell_decl()
|
||||||
xtract_cell_decl ROM64X1
|
xtract_cell_decl ROM64X1
|
||||||
xtract_cell_decl SRL16E
|
xtract_cell_decl SRL16E
|
||||||
xtract_cell_decl SRLC32E
|
xtract_cell_decl SRLC32E
|
||||||
xtract_cell_decl STARTUPE2
|
xtract_cell_decl STARTUPE2 "(* keep *)"
|
||||||
xtract_cell_decl USR_ACCESSE2
|
xtract_cell_decl USR_ACCESSE2
|
||||||
xtract_cell_decl XADC
|
xtract_cell_decl XADC
|
||||||
} > cells_xtra.new
|
} > cells_xtra.new
|
||||||
|
|
|
@ -114,6 +114,7 @@ module BUFR (...);
|
||||||
parameter SIM_DEVICE = "7SERIES";
|
parameter SIM_DEVICE = "7SERIES";
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
|
(* keep *)
|
||||||
module CAPTUREE2 (...);
|
module CAPTUREE2 (...);
|
||||||
parameter ONESHOT = "TRUE";
|
parameter ONESHOT = "TRUE";
|
||||||
input CAP;
|
input CAP;
|
||||||
|
@ -130,6 +131,7 @@ module CFGLUT5 (...);
|
||||||
input CDI, CE, CLK;
|
input CDI, CE, CLK;
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
|
(* keep *)
|
||||||
module DCIRESET (...);
|
module DCIRESET (...);
|
||||||
output LOCKED;
|
output LOCKED;
|
||||||
input RST;
|
input RST;
|
||||||
|
@ -2102,6 +2104,7 @@ module IBUFDS_INTERMDISABLE (...);
|
||||||
input INTERMDISABLE;
|
input INTERMDISABLE;
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
|
(* keep *)
|
||||||
module ICAPE2 (...);
|
module ICAPE2 (...);
|
||||||
parameter [31:0] DEVICE_ID = 32'h04244093;
|
parameter [31:0] DEVICE_ID = 32'h04244093;
|
||||||
parameter ICAP_WIDTH = "X32";
|
parameter ICAP_WIDTH = "X32";
|
||||||
|
@ -2149,6 +2152,7 @@ module IDDR_2CLK (...);
|
||||||
input S;
|
input S;
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
|
(* keep *)
|
||||||
module IDELAYCTRL (...);
|
module IDELAYCTRL (...);
|
||||||
parameter SIM_DEVICE = "7SERIES";
|
parameter SIM_DEVICE = "7SERIES";
|
||||||
output RDY;
|
output RDY;
|
||||||
|
@ -3057,6 +3061,7 @@ module PLLE2_BASE (...);
|
||||||
input RST;
|
input RST;
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
|
(* keep *)
|
||||||
module PS7 (...);
|
module PS7 (...);
|
||||||
output DMA0DAVALID;
|
output DMA0DAVALID;
|
||||||
output DMA0DRREADY;
|
output DMA0DRREADY;
|
||||||
|
@ -3688,6 +3693,17 @@ module PULLUP (...);
|
||||||
output O;
|
output O;
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
|
module RAM128X1D (...);
|
||||||
|
parameter [127:0] INIT = 128'h00000000000000000000000000000000;
|
||||||
|
parameter [0:0] IS_WCLK_INVERTED = 1'b0;
|
||||||
|
output DPO, SPO;
|
||||||
|
input [6:0] A;
|
||||||
|
input [6:0] DPRA;
|
||||||
|
input D;
|
||||||
|
input WCLK;
|
||||||
|
input WE;
|
||||||
|
endmodule
|
||||||
|
|
||||||
module RAM128X1S (...);
|
module RAM128X1S (...);
|
||||||
parameter [127:0] INIT = 128'h00000000000000000000000000000000;
|
parameter [127:0] INIT = 128'h00000000000000000000000000000000;
|
||||||
parameter [0:0] IS_WCLK_INVERTED = 1'b0;
|
parameter [0:0] IS_WCLK_INVERTED = 1'b0;
|
||||||
|
@ -3695,25 +3711,6 @@ module RAM128X1S (...);
|
||||||
input A0, A1, A2, A3, A4, A5, A6, D, WCLK, WE;
|
input A0, A1, A2, A3, A4, A5, A6, D, WCLK, WE;
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
module RAM128X1D (
|
|
||||||
output DPO, SPO,
|
|
||||||
input D, WCLK, WE,
|
|
||||||
input [6:0] A, DPRA
|
|
||||||
);
|
|
||||||
parameter [127:0] INIT = 128'bx;
|
|
||||||
parameter IS_WCLK_INVERTED = 0;
|
|
||||||
endmodule
|
|
||||||
|
|
||||||
module RAM64X1D (
|
|
||||||
output DPO, SPO,
|
|
||||||
input D, WCLK, WE,
|
|
||||||
input A0, A1, A2, A3, A4, A5,
|
|
||||||
input DPRA0, DPRA1, DPRA2, DPRA3, DPRA4, DPRA5
|
|
||||||
);
|
|
||||||
parameter [63:0] INIT = 64'bx;
|
|
||||||
parameter IS_WCLK_INVERTED = 0;
|
|
||||||
endmodule
|
|
||||||
|
|
||||||
module RAM256X1S (...);
|
module RAM256X1S (...);
|
||||||
parameter [255:0] INIT = 256'h0;
|
parameter [255:0] INIT = 256'h0;
|
||||||
parameter [0:0] IS_WCLK_INVERTED = 1'b0;
|
parameter [0:0] IS_WCLK_INVERTED = 1'b0;
|
||||||
|
@ -3797,6 +3794,13 @@ module RAM64M (...);
|
||||||
input WE;
|
input WE;
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
|
module RAM64X1D (...);
|
||||||
|
parameter [63:0] INIT = 64'h0000000000000000;
|
||||||
|
parameter [0:0] IS_WCLK_INVERTED = 1'b0;
|
||||||
|
output DPO, SPO;
|
||||||
|
input A0, A1, A2, A3, A4, A5, D, DPRA0, DPRA1, DPRA2, DPRA3, DPRA4, DPRA5, WCLK, WE;
|
||||||
|
endmodule
|
||||||
|
|
||||||
module RAM64X1S (...);
|
module RAM64X1S (...);
|
||||||
parameter [63:0] INIT = 64'h0000000000000000;
|
parameter [63:0] INIT = 64'h0000000000000000;
|
||||||
parameter [0:0] IS_WCLK_INVERTED = 1'b0;
|
parameter [0:0] IS_WCLK_INVERTED = 1'b0;
|
||||||
|
@ -3859,6 +3863,7 @@ module SRLC32E (...);
|
||||||
input CE, CLK, D;
|
input CE, CLK, D;
|
||||||
endmodule
|
endmodule
|
||||||
|
|
||||||
|
(* keep *)
|
||||||
module STARTUPE2 (...);
|
module STARTUPE2 (...);
|
||||||
parameter PROG_USR = "FALSE";
|
parameter PROG_USR = "FALSE";
|
||||||
parameter real SIM_CCLK_FREQ = 0.0;
|
parameter real SIM_CCLK_FREQ = 0.0;
|
||||||
|
|
Loading…
Reference in a new issue