3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-09-02 08:10:46 +00:00

xilinx: Add support for UltraScale[+] BRAM mapping

Signed-off-by: David Shah <dave@ds0.me>
This commit is contained in:
David Shah 2019-10-18 13:24:19 +01:00
parent f02623abb5
commit 6769d31ddb
7 changed files with 1062 additions and 416 deletions

View file

@ -8330,412 +8330,6 @@ module FIFO36E2 (...);
input WREN;
endmodule
module RAMB18E2 (...);
parameter CASCADE_ORDER_A = "NONE";
parameter CASCADE_ORDER_B = "NONE";
parameter CLOCK_DOMAINS = "INDEPENDENT";
parameter integer DOA_REG = 1;
parameter integer DOB_REG = 1;
parameter ENADDRENA = "FALSE";
parameter ENADDRENB = "FALSE";
parameter [255:0] INITP_00 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INITP_01 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INITP_02 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INITP_03 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INITP_04 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INITP_05 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INITP_06 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INITP_07 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_00 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_01 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_02 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_03 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_04 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_05 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_06 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_07 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_08 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_09 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_0A = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_0B = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_0C = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_0D = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_0E = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_0F = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_10 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_11 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_12 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_13 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_14 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_15 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_16 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_17 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_18 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_19 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_1A = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_1B = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_1C = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_1D = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_1E = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_1F = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_20 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_21 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_22 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_23 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_24 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_25 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_26 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_27 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_28 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_29 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_2A = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_2B = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_2C = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_2D = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_2E = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_2F = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_30 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_31 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_32 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_33 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_34 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_35 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_36 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_37 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_38 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_39 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_3A = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_3B = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_3C = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_3D = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_3E = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_3F = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [17:0] INIT_A = 18'h00000;
parameter [17:0] INIT_B = 18'h00000;
parameter INIT_FILE = "NONE";
parameter [0:0] IS_CLKARDCLK_INVERTED = 1'b0;
parameter [0:0] IS_CLKBWRCLK_INVERTED = 1'b0;
parameter [0:0] IS_ENARDEN_INVERTED = 1'b0;
parameter [0:0] IS_ENBWREN_INVERTED = 1'b0;
parameter [0:0] IS_RSTRAMARSTRAM_INVERTED = 1'b0;
parameter [0:0] IS_RSTRAMB_INVERTED = 1'b0;
parameter [0:0] IS_RSTREGARSTREG_INVERTED = 1'b0;
parameter [0:0] IS_RSTREGB_INVERTED = 1'b0;
parameter RDADDRCHANGEA = "FALSE";
parameter RDADDRCHANGEB = "FALSE";
parameter integer READ_WIDTH_A = 0;
parameter integer READ_WIDTH_B = 0;
parameter RSTREG_PRIORITY_A = "RSTREG";
parameter RSTREG_PRIORITY_B = "RSTREG";
parameter SIM_COLLISION_CHECK = "ALL";
parameter SLEEP_ASYNC = "FALSE";
parameter [17:0] SRVAL_A = 18'h00000;
parameter [17:0] SRVAL_B = 18'h00000;
parameter WRITE_MODE_A = "NO_CHANGE";
parameter WRITE_MODE_B = "NO_CHANGE";
parameter integer WRITE_WIDTH_A = 0;
parameter integer WRITE_WIDTH_B = 0;
output [15:0] CASDOUTA;
output [15:0] CASDOUTB;
output [1:0] CASDOUTPA;
output [1:0] CASDOUTPB;
output [15:0] DOUTADOUT;
output [15:0] DOUTBDOUT;
output [1:0] DOUTPADOUTP;
output [1:0] DOUTPBDOUTP;
input [13:0] ADDRARDADDR;
input [13:0] ADDRBWRADDR;
input ADDRENA;
input ADDRENB;
input CASDIMUXA;
input CASDIMUXB;
input [15:0] CASDINA;
input [15:0] CASDINB;
input [1:0] CASDINPA;
input [1:0] CASDINPB;
input CASDOMUXA;
input CASDOMUXB;
input CASDOMUXEN_A;
input CASDOMUXEN_B;
input CASOREGIMUXA;
input CASOREGIMUXB;
input CASOREGIMUXEN_A;
input CASOREGIMUXEN_B;
(* clkbuf_sink *)
(* invertible_pin = "IS_CLKARDCLK_INVERTED" *)
input CLKARDCLK;
(* clkbuf_sink *)
(* invertible_pin = "IS_CLKBWRCLK_INVERTED" *)
input CLKBWRCLK;
input [15:0] DINADIN;
input [15:0] DINBDIN;
input [1:0] DINPADINP;
input [1:0] DINPBDINP;
(* invertible_pin = "IS_ENARDEN_INVERTED" *)
input ENARDEN;
(* invertible_pin = "IS_ENBWREN_INVERTED" *)
input ENBWREN;
input REGCEAREGCE;
input REGCEB;
(* invertible_pin = "IS_RSTRAMARSTRAM_INVERTED" *)
input RSTRAMARSTRAM;
(* invertible_pin = "IS_RSTRAMB_INVERTED" *)
input RSTRAMB;
(* invertible_pin = "IS_RSTREGARSTREG_INVERTED" *)
input RSTREGARSTREG;
(* invertible_pin = "IS_RSTREGB_INVERTED" *)
input RSTREGB;
input SLEEP;
input [1:0] WEA;
input [3:0] WEBWE;
endmodule
module RAMB36E2 (...);
parameter CASCADE_ORDER_A = "NONE";
parameter CASCADE_ORDER_B = "NONE";
parameter CLOCK_DOMAINS = "INDEPENDENT";
parameter integer DOA_REG = 1;
parameter integer DOB_REG = 1;
parameter ENADDRENA = "FALSE";
parameter ENADDRENB = "FALSE";
parameter EN_ECC_PIPE = "FALSE";
parameter EN_ECC_READ = "FALSE";
parameter EN_ECC_WRITE = "FALSE";
parameter [255:0] INITP_00 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INITP_01 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INITP_02 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INITP_03 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INITP_04 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INITP_05 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INITP_06 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INITP_07 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INITP_08 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INITP_09 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INITP_0A = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INITP_0B = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INITP_0C = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INITP_0D = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INITP_0E = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INITP_0F = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_00 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_01 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_02 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_03 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_04 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_05 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_06 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_07 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_08 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_09 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_0A = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_0B = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_0C = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_0D = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_0E = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_0F = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_10 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_11 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_12 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_13 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_14 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_15 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_16 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_17 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_18 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_19 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_1A = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_1B = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_1C = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_1D = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_1E = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_1F = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_20 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_21 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_22 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_23 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_24 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_25 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_26 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_27 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_28 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_29 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_2A = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_2B = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_2C = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_2D = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_2E = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_2F = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_30 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_31 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_32 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_33 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_34 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_35 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_36 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_37 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_38 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_39 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_3A = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_3B = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_3C = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_3D = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_3E = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_3F = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_40 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_41 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_42 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_43 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_44 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_45 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_46 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_47 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_48 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_49 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_4A = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_4B = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_4C = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_4D = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_4E = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_4F = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_50 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_51 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_52 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_53 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_54 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_55 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_56 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_57 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_58 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_59 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_5A = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_5B = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_5C = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_5D = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_5E = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_5F = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_60 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_61 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_62 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_63 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_64 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_65 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_66 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_67 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_68 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_69 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_6A = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_6B = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_6C = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_6D = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_6E = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_6F = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_70 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_71 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_72 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_73 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_74 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_75 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_76 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_77 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_78 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_79 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_7A = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_7B = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_7C = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_7D = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_7E = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [255:0] INIT_7F = 256'h0000000000000000000000000000000000000000000000000000000000000000;
parameter [35:0] INIT_A = 36'h000000000;
parameter [35:0] INIT_B = 36'h000000000;
parameter INIT_FILE = "NONE";
parameter [0:0] IS_CLKARDCLK_INVERTED = 1'b0;
parameter [0:0] IS_CLKBWRCLK_INVERTED = 1'b0;
parameter [0:0] IS_ENARDEN_INVERTED = 1'b0;
parameter [0:0] IS_ENBWREN_INVERTED = 1'b0;
parameter [0:0] IS_RSTRAMARSTRAM_INVERTED = 1'b0;
parameter [0:0] IS_RSTRAMB_INVERTED = 1'b0;
parameter [0:0] IS_RSTREGARSTREG_INVERTED = 1'b0;
parameter [0:0] IS_RSTREGB_INVERTED = 1'b0;
parameter RDADDRCHANGEA = "FALSE";
parameter RDADDRCHANGEB = "FALSE";
parameter integer READ_WIDTH_A = 0;
parameter integer READ_WIDTH_B = 0;
parameter RSTREG_PRIORITY_A = "RSTREG";
parameter RSTREG_PRIORITY_B = "RSTREG";
parameter SIM_COLLISION_CHECK = "ALL";
parameter SLEEP_ASYNC = "FALSE";
parameter [35:0] SRVAL_A = 36'h000000000;
parameter [35:0] SRVAL_B = 36'h000000000;
parameter WRITE_MODE_A = "NO_CHANGE";
parameter WRITE_MODE_B = "NO_CHANGE";
parameter integer WRITE_WIDTH_A = 0;
parameter integer WRITE_WIDTH_B = 0;
output [31:0] CASDOUTA;
output [31:0] CASDOUTB;
output [3:0] CASDOUTPA;
output [3:0] CASDOUTPB;
output CASOUTDBITERR;
output CASOUTSBITERR;
output DBITERR;
output [31:0] DOUTADOUT;
output [31:0] DOUTBDOUT;
output [3:0] DOUTPADOUTP;
output [3:0] DOUTPBDOUTP;
output [7:0] ECCPARITY;
output [8:0] RDADDRECC;
output SBITERR;
input [14:0] ADDRARDADDR;
input [14:0] ADDRBWRADDR;
input ADDRENA;
input ADDRENB;
input CASDIMUXA;
input CASDIMUXB;
input [31:0] CASDINA;
input [31:0] CASDINB;
input [3:0] CASDINPA;
input [3:0] CASDINPB;
input CASDOMUXA;
input CASDOMUXB;
input CASDOMUXEN_A;
input CASDOMUXEN_B;
input CASINDBITERR;
input CASINSBITERR;
input CASOREGIMUXA;
input CASOREGIMUXB;
input CASOREGIMUXEN_A;
input CASOREGIMUXEN_B;
(* clkbuf_sink *)
(* invertible_pin = "IS_CLKARDCLK_INVERTED" *)
input CLKARDCLK;
(* clkbuf_sink *)
(* invertible_pin = "IS_CLKBWRCLK_INVERTED" *)
input CLKBWRCLK;
input [31:0] DINADIN;
input [31:0] DINBDIN;
input [3:0] DINPADINP;
input [3:0] DINPBDINP;
input ECCPIPECE;
(* invertible_pin = "IS_ENARDEN_INVERTED" *)
input ENARDEN;
(* invertible_pin = "IS_ENBWREN_INVERTED" *)
input ENBWREN;
input INJECTDBITERR;
input INJECTSBITERR;
input REGCEAREGCE;
input REGCEB;
(* invertible_pin = "IS_RSTRAMARSTRAM_INVERTED" *)
input RSTRAMARSTRAM;
(* invertible_pin = "IS_RSTRAMB_INVERTED" *)
input RSTRAMB;
(* invertible_pin = "IS_RSTREGARSTREG_INVERTED" *)
input RSTREGARSTREG;
(* invertible_pin = "IS_RSTREGB_INVERTED" *)
input RSTREGB;
input SLEEP;
input [3:0] WEA;
input [7:0] WEBWE;
endmodule
module URAM288 (...);
parameter integer AUTO_SLEEP_LATENCY = 8;
parameter integer AVG_CONS_INACTIVE_CYCLES = 10;
@ -9767,6 +9361,256 @@ module PLLE4_BASE (...);
input RST;
endmodule
module MMCME2_ADV (...);
parameter BANDWIDTH = "OPTIMIZED";
parameter real CLKFBOUT_MULT_F = 5.000;
parameter real CLKFBOUT_PHASE = 0.000;
parameter CLKFBOUT_USE_FINE_PS = "FALSE";
parameter real CLKIN1_PERIOD = 0.000;
parameter real CLKIN2_PERIOD = 0.000;
parameter real CLKIN_FREQ_MAX = 1066.000;
parameter real CLKIN_FREQ_MIN = 10.000;
parameter real CLKOUT0_DIVIDE_F = 1.000;
parameter real CLKOUT0_DUTY_CYCLE = 0.500;
parameter real CLKOUT0_PHASE = 0.000;
parameter CLKOUT0_USE_FINE_PS = "FALSE";
parameter integer CLKOUT1_DIVIDE = 1;
parameter real CLKOUT1_DUTY_CYCLE = 0.500;
parameter real CLKOUT1_PHASE = 0.000;
parameter CLKOUT1_USE_FINE_PS = "FALSE";
parameter integer CLKOUT2_DIVIDE = 1;
parameter real CLKOUT2_DUTY_CYCLE = 0.500;
parameter real CLKOUT2_PHASE = 0.000;
parameter CLKOUT2_USE_FINE_PS = "FALSE";
parameter integer CLKOUT3_DIVIDE = 1;
parameter real CLKOUT3_DUTY_CYCLE = 0.500;
parameter real CLKOUT3_PHASE = 0.000;
parameter CLKOUT3_USE_FINE_PS = "FALSE";
parameter CLKOUT4_CASCADE = "FALSE";
parameter integer CLKOUT4_DIVIDE = 1;
parameter real CLKOUT4_DUTY_CYCLE = 0.500;
parameter real CLKOUT4_PHASE = 0.000;
parameter CLKOUT4_USE_FINE_PS = "FALSE";
parameter integer CLKOUT5_DIVIDE = 1;
parameter real CLKOUT5_DUTY_CYCLE = 0.500;
parameter real CLKOUT5_PHASE = 0.000;
parameter CLKOUT5_USE_FINE_PS = "FALSE";
parameter integer CLKOUT6_DIVIDE = 1;
parameter real CLKOUT6_DUTY_CYCLE = 0.500;
parameter real CLKOUT6_PHASE = 0.000;
parameter CLKOUT6_USE_FINE_PS = "FALSE";
parameter real CLKPFD_FREQ_MAX = 550.000;
parameter real CLKPFD_FREQ_MIN = 10.000;
parameter COMPENSATION = "ZHOLD";
parameter integer DIVCLK_DIVIDE = 1;
parameter [0:0] IS_CLKINSEL_INVERTED = 1'b0;
parameter [0:0] IS_PSEN_INVERTED = 1'b0;
parameter [0:0] IS_PSINCDEC_INVERTED = 1'b0;
parameter [0:0] IS_PWRDWN_INVERTED = 1'b0;
parameter [0:0] IS_RST_INVERTED = 1'b0;
parameter real REF_JITTER1 = 0.010;
parameter real REF_JITTER2 = 0.010;
parameter SS_EN = "FALSE";
parameter SS_MODE = "CENTER_HIGH";
parameter integer SS_MOD_PERIOD = 10000;
parameter STARTUP_WAIT = "FALSE";
parameter real VCOCLK_FREQ_MAX = 1600.000;
parameter real VCOCLK_FREQ_MIN = 600.000;
parameter STARTUP_WAIT = "FALSE";
output CLKFBOUT;
output CLKFBOUTB;
output CLKFBSTOPPED;
output CLKINSTOPPED;
output CLKOUT0;
output CLKOUT0B;
output CLKOUT1;
output CLKOUT1B;
output CLKOUT2;
output CLKOUT2B;
output CLKOUT3;
output CLKOUT3B;
output CLKOUT4;
output CLKOUT5;
output CLKOUT6;
output [15:0] DO;
output DRDY;
output LOCKED;
output PSDONE;
input CLKFBIN;
input CLKIN1;
input CLKIN2;
(* invertible_pin = "IS_CLKINSEL_INVERTED" *)
input CLKINSEL;
input [6:0] DADDR;
input DCLK;
input DEN;
input [15:0] DI;
input DWE;
input PSCLK;
(* invertible_pin = "IS_PSEN_INVERTED" *)
input PSEN;
(* invertible_pin = "IS_PSINCDEC_INVERTED" *)
input PSINCDEC;
(* invertible_pin = "IS_PWRDWN_INVERTED" *)
input PWRDWN;
(* invertible_pin = "IS_RST_INVERTED" *)
input RST;
endmodule
module MMCME2_BASE (...);
parameter BANDWIDTH = "OPTIMIZED";
parameter real CLKFBOUT_MULT_F = 5.000;
parameter real CLKFBOUT_PHASE = 0.000;
parameter real CLKIN1_PERIOD = 0.000;
parameter real CLKOUT0_DIVIDE_F = 1.000;
parameter real CLKOUT0_DUTY_CYCLE = 0.500;
parameter real CLKOUT0_PHASE = 0.000;
parameter integer CLKOUT1_DIVIDE = 1;
parameter real CLKOUT1_DUTY_CYCLE = 0.500;
parameter real CLKOUT1_PHASE = 0.000;
parameter integer CLKOUT2_DIVIDE = 1;
parameter real CLKOUT2_DUTY_CYCLE = 0.500;
parameter real CLKOUT2_PHASE = 0.000;
parameter integer CLKOUT3_DIVIDE = 1;
parameter real CLKOUT3_DUTY_CYCLE = 0.500;
parameter real CLKOUT3_PHASE = 0.000;
parameter CLKOUT4_CASCADE = "FALSE";
parameter integer CLKOUT4_DIVIDE = 1;
parameter real CLKOUT4_DUTY_CYCLE = 0.500;
parameter real CLKOUT4_PHASE = 0.000;
parameter integer CLKOUT5_DIVIDE = 1;
parameter real CLKOUT5_DUTY_CYCLE = 0.500;
parameter real CLKOUT5_PHASE = 0.000;
parameter integer CLKOUT6_DIVIDE = 1;
parameter real CLKOUT6_DUTY_CYCLE = 0.500;
parameter real CLKOUT6_PHASE = 0.000;
parameter integer DIVCLK_DIVIDE = 1;
parameter real REF_JITTER1 = 0.010;
parameter STARTUP_WAIT = "FALSE";
output CLKFBOUT;
output CLKFBOUTB;
output CLKOUT0;
output CLKOUT0B;
output CLKOUT1;
output CLKOUT1B;
output CLKOUT2;
output CLKOUT2B;
output CLKOUT3;
output CLKOUT3B;
output CLKOUT4;
output CLKOUT5;
output CLKOUT6;
output LOCKED;
input CLKFBIN;
input CLKIN1;
input PWRDWN;
input RST;
endmodule
module PLLE2_ADV (...);
parameter BANDWIDTH = "OPTIMIZED";
parameter COMPENSATION = "ZHOLD";
parameter STARTUP_WAIT = "FALSE";
parameter integer CLKOUT0_DIVIDE = 1;
parameter integer CLKOUT1_DIVIDE = 1;
parameter integer CLKOUT2_DIVIDE = 1;
parameter integer CLKOUT3_DIVIDE = 1;
parameter integer CLKOUT4_DIVIDE = 1;
parameter integer CLKOUT5_DIVIDE = 1;
parameter integer DIVCLK_DIVIDE = 1;
parameter integer CLKFBOUT_MULT = 5;
parameter real CLKFBOUT_PHASE = 0.000;
parameter real CLKIN1_PERIOD = 0.000;
parameter real CLKIN2_PERIOD = 0.000;
parameter real CLKOUT0_DUTY_CYCLE = 0.500;
parameter real CLKOUT0_PHASE = 0.000;
parameter real CLKOUT1_DUTY_CYCLE = 0.500;
parameter real CLKOUT1_PHASE = 0.000;
parameter real CLKOUT2_DUTY_CYCLE = 0.500;
parameter real CLKOUT2_PHASE = 0.000;
parameter real CLKOUT3_DUTY_CYCLE = 0.500;
parameter real CLKOUT3_PHASE = 0.000;
parameter real CLKOUT4_DUTY_CYCLE = 0.500;
parameter real CLKOUT4_PHASE = 0.000;
parameter real CLKOUT5_DUTY_CYCLE = 0.500;
parameter real CLKOUT5_PHASE = 0.000;
parameter [0:0] IS_CLKINSEL_INVERTED = 1'b0;
parameter [0:0] IS_PWRDWN_INVERTED = 1'b0;
parameter [0:0] IS_RST_INVERTED = 1'b0;
parameter real REF_JITTER1 = 0.010;
parameter real REF_JITTER2 = 0.010;
parameter real VCOCLK_FREQ_MAX = 2133.000;
parameter real VCOCLK_FREQ_MIN = 800.000;
parameter real CLKIN_FREQ_MAX = 1066.000;
parameter real CLKIN_FREQ_MIN = 19.000;
parameter real CLKPFD_FREQ_MAX = 550.0;
parameter real CLKPFD_FREQ_MIN = 19.0;
output CLKFBOUT;
output CLKOUT0;
output CLKOUT1;
output CLKOUT2;
output CLKOUT3;
output CLKOUT4;
output CLKOUT5;
output DRDY;
output LOCKED;
output [15:0] DO;
input CLKFBIN;
input CLKIN1;
input CLKIN2;
(* invertible_pin = "IS_CLKINSEL_INVERTED" *)
input CLKINSEL;
input DCLK;
input DEN;
input DWE;
(* invertible_pin = "IS_PWRDWN_INVERTED" *)
input PWRDWN;
(* invertible_pin = "IS_RST_INVERTED" *)
input RST;
input [15:0] DI;
input [6:0] DADDR;
endmodule
module PLLE2_BASE (...);
parameter BANDWIDTH = "OPTIMIZED";
parameter integer CLKFBOUT_MULT = 5;
parameter real CLKFBOUT_PHASE = 0.000;
parameter real CLKIN1_PERIOD = 0.000;
parameter integer CLKOUT0_DIVIDE = 1;
parameter real CLKOUT0_DUTY_CYCLE = 0.500;
parameter real CLKOUT0_PHASE = 0.000;
parameter integer CLKOUT1_DIVIDE = 1;
parameter real CLKOUT1_DUTY_CYCLE = 0.500;
parameter real CLKOUT1_PHASE = 0.000;
parameter integer CLKOUT2_DIVIDE = 1;
parameter real CLKOUT2_DUTY_CYCLE = 0.500;
parameter real CLKOUT2_PHASE = 0.000;
parameter integer CLKOUT3_DIVIDE = 1;
parameter real CLKOUT3_DUTY_CYCLE = 0.500;
parameter real CLKOUT3_PHASE = 0.000;
parameter integer CLKOUT4_DIVIDE = 1;
parameter real CLKOUT4_DUTY_CYCLE = 0.500;
parameter real CLKOUT4_PHASE = 0.000;
parameter integer CLKOUT5_DIVIDE = 1;
parameter real CLKOUT5_DUTY_CYCLE = 0.500;
parameter real CLKOUT5_PHASE = 0.000;
parameter integer DIVCLK_DIVIDE = 1;
parameter real REF_JITTER1 = 0.010;
parameter STARTUP_WAIT = "FALSE";
output CLKFBOUT;
output CLKOUT0;
output CLKOUT1;
output CLKOUT2;
output CLKOUT3;
output CLKOUT4;
output CLKOUT5;
output LOCKED;
input CLKFBIN;
input CLKIN1;
input PWRDWN;
input RST;
endmodule
(* keep *)
module BSCANE2 (...);
parameter DISABLE_JTAG = "FALSE";