|  | // ============================================================================ | 
|  | // Define FFs required by VPR | 
|  | // | 
|  | module CE_VCC (output VCC); | 
|  | wire VCC = 1; | 
|  | endmodule | 
|  |  | 
|  | module SR_GND (output GND); | 
|  | wire GND = 0; | 
|  | endmodule | 
|  |  | 
|  | module SYN_OBUF(input I, output O); | 
|  | assign O = I; | 
|  | endmodule | 
|  |  | 
|  | module SYN_IBUF(input I, output O); | 
|  | assign O = I; | 
|  | endmodule | 
|  |  | 
|  | module FDRE_ZINI (output reg Q, input C, CE, D, R); | 
|  | parameter [0:0] ZINI = 1'b0; | 
|  | parameter [0:0] IS_C_INVERTED = 1'b0; | 
|  | initial Q <= !ZINI; | 
|  | generate case (|IS_C_INVERTED) | 
|  | 1'b0: always @(posedge C) if (R) Q <= 1'b0; else if (CE) Q <= D; | 
|  | 1'b1: always @(negedge C) if (R) Q <= 1'b0; else if (CE) Q <= D; | 
|  | endcase endgenerate | 
|  | endmodule | 
|  |  | 
|  | module FDSE_ZINI (output reg Q, input C, CE, D, S); | 
|  | parameter [0:0] ZINI = 1'b0; | 
|  | parameter [0:0] IS_C_INVERTED = 1'b0; | 
|  | initial Q <= !ZINI; | 
|  | generate case (|IS_C_INVERTED) | 
|  | 1'b0: always @(posedge C) if (S) Q <= 1'b1; else if (CE) Q <= D; | 
|  | 1'b1: always @(negedge C) if (S) Q <= 1'b1; else if (CE) Q <= D; | 
|  | endcase endgenerate | 
|  | endmodule | 
|  |  | 
|  | module FDCE_ZINI (output reg Q, input C, CE, D, CLR); | 
|  | parameter [0:0] ZINI = 1'b0; | 
|  | parameter [0:0] IS_C_INVERTED = 1'b0; | 
|  | initial Q <= !ZINI; | 
|  | generate case (|IS_C_INVERTED) | 
|  | 1'b0: always @(posedge C, posedge CLR) if (CLR) Q <= 1'b0; else if (CE) Q <= D; | 
|  | 1'b1: always @(negedge C, posedge CLR) if (CLR) Q <= 1'b0; else if (CE) Q <= D; | 
|  | endcase endgenerate | 
|  | endmodule | 
|  |  | 
|  | module FDPE_ZINI (output reg Q, input C, CE, D, PRE); | 
|  | parameter [0:0] ZINI = 1'b0; | 
|  | parameter [0:0] IS_C_INVERTED = 1'b0; | 
|  | initial Q <= !ZINI; | 
|  | generate case (|IS_C_INVERTED) | 
|  | 1'b0: always @(posedge C, posedge PRE) if (PRE) Q <= 1'b1; else if (CE) Q <= D; | 
|  | 1'b1: always @(negedge C, posedge PRE) if (PRE) Q <= 1'b1; else if (CE) Q <= D; | 
|  | endcase endgenerate | 
|  | endmodule | 
|  |  | 
|  | // ============================================================================ | 
|  | // Carry chain primitives | 
|  |  | 
|  | // Output CO directly | 
|  | module CARRY_CO_DIRECT(input CO, input O, input S, input DI, output OUT); | 
|  |  | 
|  | assign OUT = CO; | 
|  |  | 
|  | endmodule | 
|  |  | 
|  | // Compute CO from O and S | 
|  | module CARRY_CO_LUT(input CO, input O, input S, input DI, output OUT); | 
|  |  | 
|  | assign OUT = O ^ S; | 
|  |  | 
|  | endmodule | 
|  |  | 
|  | (* abc9_box, blackbox *) | 
|  | module CARRY_COUT_PLUG(input CIN, output COUT); | 
|  |  | 
|  | assign COUT = CIN; | 
|  |  | 
|  | specify | 
|  | (CIN => COUT) = 0; | 
|  | endspecify | 
|  |  | 
|  | endmodule | 
|  |  | 
|  | module CARRY4_VPR(O0, O1, O2, O3, CO0, CO1, CO2, CO3, CYINIT, CIN, DI0, DI1, DI2, DI3, S0, S1, S2, S3); | 
|  | parameter CYINIT_AX = 1'b0; | 
|  | parameter CYINIT_C0 = 1'b0; | 
|  | parameter CYINIT_C1 = 1'b0; | 
|  |  | 
|  | (* DELAY_CONST_CYINIT="0.491e-9" *) | 
|  | (* DELAY_CONST_CIN="0.235e-9" *) | 
|  | (* DELAY_CONST_S0="0.223e-9" *) | 
|  | output wire O0; | 
|  |  | 
|  | (* DELAY_CONST_CYINIT="0.613e-9" *) | 
|  | (* DELAY_CONST_CIN="0.348e-9" *) | 
|  | (* DELAY_CONST_S0="0.400e-9" *) | 
|  | (* DELAY_CONST_S1="0.205e-9" *) | 
|  | (* DELAY_CONST_DI0="0.337e-9" *) | 
|  | output wire O1; | 
|  |  | 
|  | (* DELAY_CONST_CYINIT="0.600e-9" *) | 
|  | (* DELAY_CONST_CIN="0.256e-9" *) | 
|  | (* DELAY_CONST_S0="0.523e-9" *) | 
|  | (* DELAY_CONST_S1="0.558e-9" *) | 
|  | (* DELAY_CONST_S2="0.226e-9" *) | 
|  | (* DELAY_CONST_DI0="0.486e-9" *) | 
|  | (* DELAY_CONST_DI1="0.471e-9" *) | 
|  | output wire O2; | 
|  |  | 
|  | (* DELAY_CONST_CYINIT="0.657e-9" *) | 
|  | (* DELAY_CONST_CIN="0.329e-9" *) | 
|  | (* DELAY_CONST_S0="0.582e-9" *) | 
|  | (* DELAY_CONST_S1="0.618e-9" *) | 
|  | (* DELAY_CONST_S2="0.330e-9" *) | 
|  | (* DELAY_CONST_S3="0.227e-9" *) | 
|  | (* DELAY_CONST_DI0="0.545e-9" *) | 
|  | (* DELAY_CONST_DI1="0.532e-9" *) | 
|  | (* DELAY_CONST_DI2="0.372e-9" *) | 
|  | output wire O3; | 
|  |  | 
|  | (* DELAY_CONST_CYINIT="0.578e-9" *) | 
|  | (* DELAY_CONST_CIN="0.293e-9" *) | 
|  | (* DELAY_CONST_S0="0.340e-9" *) | 
|  | (* DELAY_CONST_DI0="0.329e-9" *) | 
|  | output wire CO0; | 
|  |  | 
|  | (* DELAY_CONST_CYINIT="0.529e-9" *) | 
|  | (* DELAY_CONST_CIN="0.178e-9" *) | 
|  | (* DELAY_CONST_S0="0.433e-9" *) | 
|  | (* DELAY_CONST_S1="0.469e-9" *) | 
|  | (* DELAY_CONST_DI0="0.396e-9" *) | 
|  | (* DELAY_CONST_DI1="0.376e-9" *) | 
|  | output wire CO1; | 
|  |  | 
|  | (* DELAY_CONST_CYINIT="0.617e-9" *) | 
|  | (* DELAY_CONST_CIN="0.250e-9" *) | 
|  | (* DELAY_CONST_S0="0.512e-9" *) | 
|  | (* DELAY_CONST_S1="0.548e-9" *) | 
|  | (* DELAY_CONST_S2="0.292e-9" *) | 
|  | (* DELAY_CONST_DI0="0.474e-9" *) | 
|  | (* DELAY_CONST_DI1="0.459e-9" *) | 
|  | (* DELAY_CONST_DI2="0.289e-9" *) | 
|  | output wire CO2; | 
|  |  | 
|  | (* DELAY_CONST_CYINIT="0.580e-9" *) | 
|  | (* DELAY_CONST_CIN="0.114e-9" *) | 
|  | (* DELAY_CONST_S0="0.508e-9" *) | 
|  | (* DELAY_CONST_S1="0.528e-9" *) | 
|  | (* DELAY_CONST_S2="0.376e-9" *) | 
|  | (* DELAY_CONST_S3="0.380e-9" *) | 
|  | (* DELAY_CONST_DI0="0.456e-9" *) | 
|  | (* DELAY_CONST_DI1="0.443e-9" *) | 
|  | (* DELAY_CONST_DI2="0.324e-9" *) | 
|  | (* DELAY_CONST_DI3="0.327e-9" *) | 
|  | output wire CO3; | 
|  |  | 
|  | input wire DI0, DI1, DI2, DI3; | 
|  | input wire S0, S1, S2, S3; | 
|  |  | 
|  | input wire CYINIT; | 
|  | input wire CIN; | 
|  |  | 
|  | wire CI0; | 
|  | wire CI1; | 
|  | wire CI2; | 
|  | wire CI3; | 
|  | wire CI4; | 
|  |  | 
|  | assign CI0 = CYINIT_AX ? CYINIT : | 
|  | CYINIT_C1 ? 1'b1 : | 
|  | CYINIT_C0 ? 1'b0 : | 
|  | CIN; | 
|  | assign CI1 = S0 ? CI0 : DI0; | 
|  | assign CI2 = S1 ? CI1 : DI1; | 
|  | assign CI3 = S2 ? CI2 : DI2; | 
|  | assign CI4 = S3 ? CI3 : DI3; | 
|  |  | 
|  | assign CO0 = CI1; | 
|  | assign CO1 = CI2; | 
|  | assign CO2 = CI3; | 
|  | assign CO3 = CI4; | 
|  |  | 
|  | assign O0 = CI0 ^ S0; | 
|  | assign O1 = CI1 ^ S1; | 
|  | assign O2 = CI2 ^ S2; | 
|  | assign O3 = CI3 ^ S3; | 
|  |  | 
|  | specify | 
|  | // https://github.com/SymbiFlow/prjxray-db/blob/34ea6eb08a63d21ec16264ad37a0a7b142ff6031/artix7/timings/CLBLL_L.sdf#L11-L46 | 
|  | (CYINIT => O0) = 482; | 
|  | (S0     => O0) = 223; | 
|  | (CIN    => O0) = 222; | 
|  | (CYINIT => O1) = 598; | 
|  | (DI0    => O1) = 407; | 
|  | (S0     => O1) = 400; | 
|  | (S1     => O1) = 205; | 
|  | (CIN    => O1) = 334; | 
|  | (CYINIT => O2) = 584; | 
|  | (DI0    => O2) = 556; | 
|  | (DI1    => O2) = 537; | 
|  | (S0     => O2) = 523; | 
|  | (S1     => O2) = 558; | 
|  | (S2     => O2) = 226; | 
|  | (CIN    => O2) = 239; | 
|  | (CYINIT => O3) = 642; | 
|  | (DI0    => O3) = 615; | 
|  | (DI1    => O3) = 596; | 
|  | (DI2    => O3) = 438; | 
|  | (S0     => O3) = 582; | 
|  | (S1     => O3) = 618; | 
|  | (S2     => O3) = 330; | 
|  | (S3     => O3) = 227; | 
|  | (CIN    => O3) = 313; | 
|  | (CYINIT => CO0) = 536; | 
|  | (DI0    => CO0) = 379; | 
|  | (S0     => CO0) = 340; | 
|  | (CIN    => CO0) = 271; | 
|  | (CYINIT => CO1) = 494; | 
|  | (DI0    => CO1) = 465; | 
|  | (DI1    => CO1) = 445; | 
|  | (S0     => CO1) = 433; | 
|  | (S1     => CO1) = 469; | 
|  | (CIN    => CO1) = 157; | 
|  | (CYINIT => CO2) = 592; | 
|  | (DI0    => CO2) = 540; | 
|  | (DI1    => CO2) = 520; | 
|  | (DI2    => CO2) = 356; | 
|  | (S0     => CO2) = 512; | 
|  | (S1     => CO2) = 548; | 
|  | (S2     => CO2) = 292; | 
|  | (CIN    => CO2) = 228; | 
|  | (CYINIT => CO3) = 580; | 
|  | (DI0    => CO3) = 526; | 
|  | (DI1    => CO3) = 507; | 
|  | (DI2    => CO3) = 398; | 
|  | (DI3    => CO3) = 385; | 
|  | (S0     => CO3) = 508; | 
|  | (S1     => CO3) = 528; | 
|  | (S2     => CO3) = 378; | 
|  | (S3     => CO3) = 380; | 
|  | (CIN    => CO3) = 114; | 
|  | endspecify | 
|  | endmodule | 
|  |  | 
|  | // ============================================================================ | 
|  | // Distributed RAMs | 
|  |  | 
|  | module DPRAM64_for_RAM128X1D ( | 
|  | output O, | 
|  | input  DI, CLK, WE, WA7, | 
|  | input [5:0] A, WA | 
|  | ); | 
|  | parameter [63:0] INIT = 64'h0; | 
|  | parameter IS_WCLK_INVERTED = 1'b0; | 
|  | parameter HIGH_WA7_SELECT = 1'b0; | 
|  | wire [5:0] A; | 
|  | wire [5:0] WA; | 
|  | reg [63:0] mem; | 
|  | initial mem <= INIT; | 
|  | assign O = mem[A]; | 
|  | wire clk = CLK ^ IS_WCLK_INVERTED; | 
|  | always @(posedge clk) if (WE & (WA7 == HIGH_WA7_SELECT)) mem[WA] <= DI; | 
|  | endmodule | 
|  |  | 
|  | module DPRAM64 ( | 
|  | output O, | 
|  | input  DI, CLK, WE, WA7, WA8, | 
|  | input [5:0] A, WA | 
|  | ); | 
|  | parameter [63:0] INIT = 64'h0; | 
|  | parameter IS_WCLK_INVERTED = 1'b0; | 
|  | parameter WA7USED = 1'b0; | 
|  | parameter WA8USED = 1'b0; | 
|  | parameter HIGH_WA7_SELECT = 1'b0; | 
|  | parameter HIGH_WA8_SELECT = 1'b0; | 
|  | wire [5:0] A; | 
|  | wire [5:0] WA; | 
|  | reg [63:0] mem; | 
|  | initial mem <= INIT; | 
|  | assign O = mem[A]; | 
|  | wire clk = CLK ^ IS_WCLK_INVERTED; | 
|  |  | 
|  | wire WA7SELECT = !WA7USED | (WA7 == HIGH_WA7_SELECT); | 
|  | wire WA8SELECT = !WA8USED | (WA8 == HIGH_WA8_SELECT); | 
|  | wire address_selected = WA7SELECT & WA8SELECT; | 
|  | always @(posedge clk) if (WE & address_selected) mem[WA] <= DI; | 
|  | endmodule | 
|  |  | 
|  | module DPRAM32 ( | 
|  | output O, | 
|  | input  DI, CLK, WE, | 
|  | input [4:0] A, WA | 
|  | ); | 
|  | parameter [31:0] INIT_00 = 32'h0; | 
|  | parameter IS_WCLK_INVERTED = 1'b0; | 
|  | wire [4:0] A; | 
|  | wire [4:0] WA; | 
|  | reg [31:0] mem; | 
|  | initial mem <= INIT_00; | 
|  | assign O = mem[A]; | 
|  | wire clk = CLK ^ IS_WCLK_INVERTED; | 
|  | always @(posedge clk) if (WE) begin | 
|  | mem[WA] <= DI; | 
|  | end | 
|  | endmodule | 
|  |  | 
|  | module SPRAM32 ( | 
|  | output O, | 
|  | input  DI, CLK, WE, | 
|  | input [4:0] A, WA | 
|  | ); | 
|  | parameter [31:0] INIT_ZERO = 32'h0; | 
|  | parameter [31:0] INIT_00 = 32'h0; | 
|  | parameter IS_WCLK_INVERTED = 1'b0; | 
|  | wire [4:0] A; | 
|  | wire [4:0] WA; | 
|  | reg [31:0] mem; | 
|  | initial mem <= INIT_00; | 
|  | assign O = mem[A]; | 
|  | wire clk = CLK ^ IS_WCLK_INVERTED; | 
|  | always @(posedge clk) if (WE) begin | 
|  | mem[WA] <= DI; | 
|  | end | 
|  | endmodule | 
|  |  | 
|  | module DI64_STUB ( | 
|  | input DI, output DO | 
|  | ); | 
|  | assign DO = DI; | 
|  | endmodule | 
|  |  | 
|  | // To ensure that all DRAMs are co-located within a SLICEM, this block is | 
|  | // a simple passthrough black box to allow a pack pattern for dual port DRAMs. | 
|  | module DRAM_2_OUTPUT_STUB( | 
|  | input SPO, DPO, | 
|  | output SPO_OUT, DPO_OUT | 
|  | ); | 
|  | wire SPO_OUT; | 
|  | wire DPO_OUT; | 
|  | assign SPO_OUT = SPO; | 
|  | assign DPO_OUT = DPO; | 
|  | endmodule | 
|  |  | 
|  | module DRAM_4_OUTPUT_STUB( | 
|  | input DOA, DOB, DOC, DOD, | 
|  | output DOA_OUT, DOB_OUT, DOC_OUT, DOD_OUT | 
|  | ); | 
|  | assign DOA_OUT = DOA; | 
|  | assign DOB_OUT = DOB; | 
|  | assign DOC_OUT = DOC; | 
|  | assign DOD_OUT = DOD; | 
|  | endmodule | 
|  |  | 
|  | module DRAM_8_OUTPUT_STUB( | 
|  | input DOA1, DOB1, DOC1, DOD1, DOA0, DOB0, DOC0, DOD0, | 
|  | output DOA1_OUT, DOB1_OUT, DOC1_OUT, DOD1_OUT, DOA0_OUT, DOB0_OUT, DOC0_OUT, DOD0_OUT | 
|  | ); | 
|  | assign DOA1_OUT = DOA1; | 
|  | assign DOB1_OUT = DOB1; | 
|  | assign DOC1_OUT = DOC1; | 
|  | assign DOD1_OUT = DOD1; | 
|  | assign DOA0_OUT = DOA0; | 
|  | assign DOB0_OUT = DOB0; | 
|  | assign DOC0_OUT = DOC0; | 
|  | assign DOD0_OUT = DOD0; | 
|  | endmodule | 
|  |  | 
|  | // ============================================================================ | 
|  | // Block RAMs | 
|  |  | 
|  | module RAMB18E1_VPR ( | 
|  | input CLKARDCLK, | 
|  | input CLKBWRCLK, | 
|  | input ENARDEN, | 
|  | input ENBWREN, | 
|  | input REGCLKARDRCLK, | 
|  | input REGCEAREGCE, | 
|  | input REGCEB, | 
|  | input REGCLKB, | 
|  | input RSTRAMARSTRAM, | 
|  | input RSTRAMB, | 
|  | input RSTREGARSTREG, | 
|  | input RSTREGB, | 
|  |  | 
|  | input [1:0]  ADDRBTIEHIGH, | 
|  | input [13:0] ADDRBWRADDR, | 
|  | input [1:0]  ADDRATIEHIGH, | 
|  | input [13:0] ADDRARDADDR, | 
|  | input [15:0] DIADI, | 
|  | input [15:0] DIBDI, | 
|  | input [1:0] DIPADIP, | 
|  | input [1:0] DIPBDIP, | 
|  | input [3:0] WEA, | 
|  | input [7:0] WEBWE, | 
|  |  | 
|  | output [15:0] DOADO, | 
|  | output [15:0] DOBDO, | 
|  | output [1:0] DOPADOP, | 
|  | output [1:0] DOPBDOP | 
|  | ); | 
|  | parameter IN_USE = 1'b0; | 
|  |  | 
|  | parameter ZINIT_A = 18'h0; | 
|  | parameter ZINIT_B = 18'h0; | 
|  |  | 
|  | parameter ZSRVAL_A = 18'h0; | 
|  | parameter ZSRVAL_B = 18'h0; | 
|  |  | 
|  | parameter INITP_00 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INITP_01 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INITP_02 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INITP_03 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INITP_04 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INITP_05 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INITP_06 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INITP_07 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  |  | 
|  | parameter INIT_00 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_01 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_02 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_03 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_04 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_05 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_06 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_07 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_08 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_09 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_0A = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_0B = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_0C = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_0D = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_0E = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_0F = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_10 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_11 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_12 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_13 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_14 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_15 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_16 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_17 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_18 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_19 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_1A = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_1B = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_1C = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_1D = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_1E = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_1F = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_20 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_21 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_22 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_23 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_24 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_25 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_26 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_27 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_28 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_29 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_2A = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_2B = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_2C = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_2D = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_2E = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_2F = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_30 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_31 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_32 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_33 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_34 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_35 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_36 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_37 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_38 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_39 = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_3A = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_3B = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_3C = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_3D = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_3E = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  | parameter INIT_3F = 256'h0000000000000000000000000000000000000000000000000000000000000000; | 
|  |  | 
|  | parameter ZINV_CLKARDCLK = 1'b1; | 
|  | parameter ZINV_CLKBWRCLK = 1'b1; | 
|  | parameter ZINV_ENARDEN = 1'b1; | 
|  | parameter ZINV_ENBWREN = 1'b1; | 
|  | parameter ZINV_RSTRAMARSTRAM = 1'b1; | 
|  | parameter ZINV_RSTRAMB = 1'b1; | 
|  | parameter ZINV_RSTREGARSTREG = 1'b1; | 
|  | parameter ZINV_RSTREGB = 1'b1; | 
|  | parameter ZINV_REGCLKARDRCLK = 1'b1; | 
|  | parameter ZINV_REGCLKB = 1'b1; | 
|  |  | 
|  | parameter DOA_REG = 1'b0; | 
|  | parameter DOB_REG = 1'b0; | 
|  |  | 
|  | parameter integer SDP_READ_WIDTH_36 = 1'b0; | 
|  | parameter integer Y0_READ_WIDTH_A_18 = 1'b0; | 
|  | parameter integer Y1_READ_WIDTH_A_18 = 1'b0; | 
|  | parameter integer READ_WIDTH_A_9 = 1'b0; | 
|  | parameter integer READ_WIDTH_A_4 = 1'b0; | 
|  | parameter integer READ_WIDTH_A_2 = 1'b0; | 
|  | parameter integer Y0_READ_WIDTH_A_1 = 1'b0; | 
|  | parameter integer Y1_READ_WIDTH_A_1 = 1'b0; | 
|  | parameter integer READ_WIDTH_B_18 = 1'b0; | 
|  | parameter integer READ_WIDTH_B_9 = 1'b0; | 
|  | parameter integer READ_WIDTH_B_4 = 1'b0; | 
|  | parameter integer READ_WIDTH_B_2 = 1'b0; | 
|  | parameter integer READ_WIDTH_B_1 = 1'b1; | 
|  |  | 
|  | parameter integer SDP_WRITE_WIDTH_36 = 1'b0; | 
|  | parameter integer WRITE_WIDTH_A_18 = 1'b0; | 
|  | parameter integer WRITE_WIDTH_A_9 = 1'b0; | 
|  | parameter integer WRITE_WIDTH_A_4 = 1'b0; | 
|  | parameter integer WRITE_WIDTH_A_2 = 1'b0; | 
|  | parameter integer WRITE_WIDTH_A_1 = 1'b1; | 
|  | parameter integer WRITE_WIDTH_B_18 = 1'b0; | 
|  | parameter integer WRITE_WIDTH_B_9 = 1'b0; | 
|  | parameter integer WRITE_WIDTH_B_4 = 1'b0; | 
|  | parameter integer WRITE_WIDTH_B_2 = 1'b0; | 
|  | parameter integer WRITE_WIDTH_B_1 = 1'b1; | 
|  |  | 
|  | parameter WRITE_MODE_A_NO_CHANGE = 1'b0; | 
|  | parameter WRITE_MODE_A_READ_FIRST = 1'b0; | 
|  | parameter WRITE_MODE_B_NO_CHANGE = 1'b0; | 
|  | parameter WRITE_MODE_B_READ_FIRST = 1'b0; | 
|  | endmodule | 
|  |  | 
|  | module RAMB36E1_PRIM ( | 
|  | input CLKARDCLKU,           input CLKARDCLKL, | 
|  | input CLKBWRCLKU,           input CLKBWRCLKL, | 
|  | input ENARDENU,             input ENARDENL, | 
|  | input ENBWRENU,             input ENBWRENL, | 
|  | input REGCLKARDRCLKU,       input REGCLKARDRCLKL, | 
|  | input REGCEAREGCEU,         input REGCEAREGCEL, | 
|  | input REGCEBU,              input REGCEBL, | 
|  | input REGCLKBU,             input REGCLKBK, | 
|  | input RSTRAMARSTRAMU,       input RSTRAMARSTRAMLRST, | 
|  | input RSTRAMBU,             input RSTRAMBL, | 
|  | input RSTREGARSTREGU,       input RSTREGARSTREGL, | 
|  | input RSTREGBU,             input RSTREGBL, | 
|  |  | 
|  | input [14:0] ADDRBWRADDRU,  input [15:0] ADDRBWRADDRL, | 
|  | input [14:0] ADDRARDADDRU,  input [15:0] ADDRARDADDRL, | 
|  | input [31:0] DIADI, | 
|  | input [31:0] DIBDI, | 
|  | input [3:0] DIPADIP, | 
|  | input [3:0] DIPBDIP, | 
|  | input [3:0] WEAU,           input [3:0] WEAL, | 
|  | input [7:0] WEBWEU,         input [7:0] WEBWEL, | 
|  |  | 
|  | output [31:0] DOADO, | 
|  | output [31:0] DOBDO, | 
|  | output [3:0] DOPADOP, | 
|  | output [3:0] DOPBDOP | 
|  | ); | 
|  | parameter IN_USE = 1'b0; | 
|  |  | 
|  | parameter ZINIT_A = 36'h0; | 
|  | parameter ZINIT_B = 36'h0; | 
|  |  | 
|  | parameter ZSRVAL_A = 36'h0; | 
|  | parameter ZSRVAL_B = 36'h0; | 
|  |  | 
|  | `define INIT_BLOCK(pre) \ | 
|  | parameter ``pre``0 = 256'h0000000000000000000000000000000000000000000000000000000000000000; \ | 
|  | parameter ``pre``1 = 256'h0000000000000000000000000000000000000000000000000000000000000000; \ | 
|  | parameter ``pre``2 = 256'h0000000000000000000000000000000000000000000000000000000000000000; \ | 
|  | parameter ``pre``3 = 256'h0000000000000000000000000000000000000000000000000000000000000000; \ | 
|  | parameter ``pre``4 = 256'h0000000000000000000000000000000000000000000000000000000000000000; \ | 
|  | parameter ``pre``5 = 256'h0000000000000000000000000000000000000000000000000000000000000000; \ | 
|  | parameter ``pre``6 = 256'h0000000000000000000000000000000000000000000000000000000000000000; \ | 
|  | parameter ``pre``7 = 256'h0000000000000000000000000000000000000000000000000000000000000000; \ | 
|  | parameter ``pre``8 = 256'h0000000000000000000000000000000000000000000000000000000000000000; \ | 
|  | parameter ``pre``9 = 256'h0000000000000000000000000000000000000000000000000000000000000000; \ | 
|  | parameter ``pre``A = 256'h0000000000000000000000000000000000000000000000000000000000000000; \ | 
|  | parameter ``pre``B = 256'h0000000000000000000000000000000000000000000000000000000000000000; \ | 
|  | parameter ``pre``C = 256'h0000000000000000000000000000000000000000000000000000000000000000; \ | 
|  | parameter ``pre``D = 256'h0000000000000000000000000000000000000000000000000000000000000000; \ | 
|  | parameter ``pre``E = 256'h0000000000000000000000000000000000000000000000000000000000000000; \ | 
|  | parameter ``pre``F = 256'h0000000000000000000000000000000000000000000000000000000000000000 | 
|  |  | 
|  | `INIT_BLOCK(INITP_0); | 
|  | `INIT_BLOCK(INIT_1); | 
|  | `INIT_BLOCK(INIT_2); | 
|  | `INIT_BLOCK(INIT_3); | 
|  | `INIT_BLOCK(INIT_4); | 
|  | `INIT_BLOCK(INIT_5); | 
|  | `INIT_BLOCK(INIT_6); | 
|  | `INIT_BLOCK(INIT_7); | 
|  | `undef INIT_BLOCK | 
|  |  | 
|  | parameter ZINV_CLKARDCLK = 1'b1; | 
|  | parameter ZINV_CLKBWRCLK = 1'b1; | 
|  | parameter ZINV_ENARDEN = 1'b1; | 
|  | parameter ZINV_ENBWREN = 1'b1; | 
|  | parameter ZINV_RSTRAMARSTRAM = 1'b1; | 
|  | parameter ZINV_RSTRAMB = 1'b1; | 
|  | parameter ZINV_RSTREGARSTREG = 1'b1; | 
|  | parameter ZINV_RSTREGB = 1'b1; | 
|  | parameter ZINV_REGCLKARDRCLK = 1'b1; | 
|  | parameter ZINV_REGCLKB = 1'b1; | 
|  |  | 
|  | parameter DOA_REG = 1'b0; | 
|  | parameter DOB_REG = 1'b0; | 
|  |  | 
|  | parameter integer SDP_READ_WIDTH_72 = 1'b0; | 
|  |  | 
|  | parameter integer READ_WIDTH_A_36 = 1'b0; | 
|  | parameter integer READ_WIDTH_A_18 = 1'b0; | 
|  | parameter integer READ_WIDTH_A_9 = 1'b0; | 
|  | parameter integer READ_WIDTH_A_4 = 1'b0; | 
|  | parameter integer READ_WIDTH_A_2 = 1'b0; | 
|  | parameter integer READ_WIDTH_A_1 = 1'b1; | 
|  | parameter integer BRAM36_READ_WIDTH_A_1 = 1'b0; | 
|  |  | 
|  | parameter integer READ_WIDTH_B_18 = 1'b0; | 
|  | parameter integer READ_WIDTH_B_9 = 1'b0; | 
|  | parameter integer READ_WIDTH_B_4 = 1'b0; | 
|  | parameter integer READ_WIDTH_B_2 = 1'b0; | 
|  | parameter integer READ_WIDTH_B_1 = 1'b1; | 
|  | parameter integer BRAM36_READ_WIDTH_B_1 = 1'b0; | 
|  |  | 
|  | parameter integer SDP_WRITE_WIDTH_72 = 1'b0; | 
|  |  | 
|  | parameter integer WRITE_WIDTH_A_36 = 1'b0; | 
|  | parameter integer WRITE_WIDTH_A_18 = 1'b0; | 
|  | parameter integer WRITE_WIDTH_A_9 = 1'b0; | 
|  | parameter integer WRITE_WIDTH_A_4 = 1'b0; | 
|  | parameter integer WRITE_WIDTH_A_2 = 1'b0; | 
|  | parameter integer WRITE_WIDTH_A_1 = 1'b1; | 
|  | parameter integer BRAM36_WRITE_WIDTH_A_1 = 1'b0; | 
|  |  | 
|  | parameter integer WRITE_WIDTH_B_18 = 1'b0; | 
|  | parameter integer WRITE_WIDTH_B_9 = 1'b0; | 
|  | parameter integer WRITE_WIDTH_B_4 = 1'b0; | 
|  | parameter integer WRITE_WIDTH_B_2 = 1'b0; | 
|  | parameter integer WRITE_WIDTH_B_1 = 1'b1; | 
|  | parameter integer BRAM36_WRITE_WIDTH_B_1 = 1'b0; | 
|  |  | 
|  | parameter WRITE_MODE_A_NO_CHANGE = 1'b0; | 
|  | parameter WRITE_MODE_A_READ_FIRST = 1'b0; | 
|  | parameter WRITE_MODE_B_NO_CHANGE = 1'b0; | 
|  | parameter WRITE_MODE_B_READ_FIRST = 1'b0; | 
|  | endmodule | 
|  |  | 
|  | // ============================================================================ | 
|  | // SRLs | 
|  |  | 
|  | // SRLC32E_VPR | 
|  | module SRLC32E_VPR | 
|  | ( | 
|  | input CLK, CE, D, | 
|  | input [4:0] A, | 
|  | output Q, Q31 | 
|  | ); | 
|  | parameter [64:0] INIT = 64'd0; | 
|  | parameter [0:0] IS_CLK_INVERTED = 1'b0; | 
|  |  | 
|  | reg [31:0] r; | 
|  | integer i; | 
|  |  | 
|  | initial for (i=0; i<32; i=i+1) | 
|  | r[i] <= INIT[2*i]; | 
|  |  | 
|  | assign Q31 = r[31]; | 
|  | assign Q = r[A]; | 
|  |  | 
|  | generate begin | 
|  | if (IS_CLK_INVERTED) begin | 
|  | always @(negedge CLK) if (CE) r <= { r[30:0], D }; | 
|  | end else begin | 
|  | always @(posedge CLK) if (CE) r <= { r[30:0], D }; | 
|  | end | 
|  | end endgenerate | 
|  |  | 
|  | endmodule | 
|  |  | 
|  | // SRLC16E_VPR | 
|  | module SRLC16E_VPR | 
|  | ( | 
|  | input CLK, CE, D, | 
|  | input A0, A1, A2, A3, | 
|  | output Q, Q15 | 
|  | ); | 
|  | parameter [15:0] INIT = 16'd0; | 
|  | parameter [0:0] IS_CLK_INVERTED = 1'b0; | 
|  |  | 
|  | reg [15:0] r = INIT; | 
|  |  | 
|  | assign Q15 = r[15]; | 
|  | assign Q = r[{A3,A2,A1,A0}]; | 
|  |  | 
|  | generate | 
|  | if (IS_CLK_INVERTED) begin | 
|  | always @(negedge CLK) if (CE) r <= { r[14:0], D }; | 
|  | end else begin | 
|  | always @(posedge CLK) if (CE) r <= { r[14:0], D }; | 
|  | end | 
|  | endgenerate | 
|  |  | 
|  | endmodule | 
|  |  | 
|  | // ============================================================================ | 
|  | // IO | 
|  |  | 
|  | module IBUF_VPR ( | 
|  | input I, | 
|  | output O | 
|  | ); | 
|  |  | 
|  | parameter [0:0] LVCMOS12_LVCMOS15_LVCMOS18_IN = 1'b0; | 
|  | parameter [0:0] LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVDS_25_LVTTL_SSTL135_SSTL15_TMDS_33_IN_ONLY = 1'b0; | 
|  | parameter [0:0] LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SLEW_FAST = 1'b0; | 
|  | parameter [0:0] LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15_STEPDOWN = 1'b0; | 
|  | parameter [0:0] LVCMOS25_LVCMOS33_LVTTL_IN = 1'b0; | 
|  | parameter [0:0] SSTL135_SSTL15_IN = 1'b0; | 
|  |  | 
|  | parameter [0:0] IN_TERM_UNTUNED_SPLIT_40 = 1'b0; | 
|  | parameter [0:0] IN_TERM_UNTUNED_SPLIT_50 = 1'b0; | 
|  | parameter [0:0] IN_TERM_UNTUNED_SPLIT_60 = 1'b0; | 
|  |  | 
|  | parameter [0:0] IBUF_LOW_PWR = 1'b0; | 
|  |  | 
|  | parameter [0:0] PULLTYPE_PULLUP = 1'b0; | 
|  | parameter [0:0] PULLTYPE_PULLDOWN = 1'b0; | 
|  | parameter [0:0] PULLTYPE_NONE = 1'b0; | 
|  | parameter [0:0] PULLTYPE_KEEPER = 1'b0; | 
|  |  | 
|  | parameter PULLTYPE = ""; | 
|  |  | 
|  | parameter IOSTANDARD = ""; | 
|  |  | 
|  | assign O = I; | 
|  |  | 
|  | endmodule | 
|  |  | 
|  | module OBUFT_VPR ( | 
|  | input  I, | 
|  | input  T, | 
|  | output O | 
|  | ); | 
|  |  | 
|  | parameter [0:0] LVCMOS12_DRIVE_I12 = 1'b0; | 
|  | parameter [0:0] LVCMOS12_DRIVE_I4 = 1'b0; | 
|  | parameter [0:0] LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SLEW_FAST = 1'b0; | 
|  | parameter [0:0] LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135_SSTL15_SLEW_SLOW = 1'b0; | 
|  | parameter [0:0] LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15_STEPDOWN = 1'b0; | 
|  | parameter [0:0] LVCMOS12_LVCMOS25_DRIVE_I8 = 1'b0; | 
|  | parameter [0:0] LVCMOS15_DRIVE_I12 = 1'b0; | 
|  | parameter [0:0] LVCMOS15_DRIVE_I8 = 1'b0; | 
|  | parameter [0:0] LVCMOS15_LVCMOS18_LVCMOS25_DRIVE_I4 = 1'b0; | 
|  | parameter [0:0] LVCMOS15_SSTL15_DRIVE_I16_I_FIXED = 1'b0; | 
|  | parameter [0:0] LVCMOS18_DRIVE_I12_I8 = 1'b0; | 
|  | parameter [0:0] LVCMOS18_DRIVE_I16 = 1'b0; | 
|  | parameter [0:0] LVCMOS18_DRIVE_I24 = 1'b0; | 
|  | parameter [0:0] LVCMOS25_DRIVE_I12 = 1'b0; | 
|  | parameter [0:0] LVCMOS25_DRIVE_I16 = 1'b0; | 
|  | parameter [0:0] LVCMOS33_DRIVE_I16 = 1'b0; | 
|  | parameter [0:0] LVCMOS33_LVTTL_DRIVE_I12_I16 = 1'b0; | 
|  | parameter [0:0] LVCMOS33_LVTTL_DRIVE_I12_I8 = 1'b0; | 
|  | parameter [0:0] LVCMOS33_LVTTL_DRIVE_I4 = 1'b0; | 
|  | parameter [0:0] LVTTL_DRIVE_I24 = 1'b0; | 
|  | parameter [0:0] SSTL135_DRIVE_I_FIXED = 1'b0; | 
|  | parameter [0:0] SSTL135_SSTL15_SLEW_FAST = 1'b0; | 
|  |  | 
|  | parameter [0:0] PULLTYPE_PULLUP = 1'b0; | 
|  | parameter [0:0] PULLTYPE_PULLDOWN = 1'b0; | 
|  | parameter [0:0] PULLTYPE_NONE = 1'b0; | 
|  | parameter [0:0] PULLTYPE_KEEPER = 1'b0; | 
|  |  | 
|  | parameter PULLTYPE = ""; | 
|  |  | 
|  | parameter IOSTANDARD = ""; | 
|  | parameter DRIVE = 0; | 
|  | parameter SLEW = ""; | 
|  |  | 
|  | assign O = (T == 1'b0) ? I : 1'bz; | 
|  |  | 
|  | endmodule | 
|  |  | 
|  |  | 
|  | module IOBUF_VPR ( | 
|  | input  I, | 
|  | input  T, | 
|  | output O, | 
|  | input  IOPAD_$inp, | 
|  | output IOPAD_$out | 
|  | ); | 
|  |  | 
|  | parameter [0:0] LVCMOS12_DRIVE_I12 = 1'b0; | 
|  | parameter [0:0] LVCMOS12_DRIVE_I4 = 1'b0; | 
|  | parameter [0:0] LVCMOS12_LVCMOS15_LVCMOS18_IN = 1'b0; | 
|  | parameter [0:0] LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SLEW_FAST = 1'b0; | 
|  | parameter [0:0] LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135_SSTL15_SLEW_SLOW = 1'b0; | 
|  | parameter [0:0] LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15_STEPDOWN = 1'b0; | 
|  | parameter [0:0] LVCMOS12_LVCMOS25_DRIVE_I8 = 1'b0; | 
|  | parameter [0:0] LVCMOS15_DRIVE_I12 = 1'b0; | 
|  | parameter [0:0] LVCMOS15_DRIVE_I8 = 1'b0; | 
|  | parameter [0:0] LVCMOS15_LVCMOS18_LVCMOS25_DRIVE_I4 = 1'b0; | 
|  | parameter [0:0] LVCMOS15_SSTL15_DRIVE_I16_I_FIXED = 1'b0; | 
|  | parameter [0:0] LVCMOS18_DRIVE_I12_I8 = 1'b0; | 
|  | parameter [0:0] LVCMOS18_DRIVE_I16 = 1'b0; | 
|  | parameter [0:0] LVCMOS18_DRIVE_I24 = 1'b0; | 
|  | parameter [0:0] LVCMOS25_DRIVE_I12 = 1'b0; | 
|  | parameter [0:0] LVCMOS25_DRIVE_I16 = 1'b0; | 
|  | parameter [0:0] LVCMOS25_LVCMOS33_LVTTL_IN = 1'b0; | 
|  | parameter [0:0] LVCMOS33_DRIVE_I16 = 1'b0; | 
|  | parameter [0:0] LVCMOS33_LVTTL_DRIVE_I12_I16 = 1'b0; | 
|  | parameter [0:0] LVCMOS33_LVTTL_DRIVE_I12_I8 = 1'b0; | 
|  | parameter [0:0] LVCMOS33_LVTTL_DRIVE_I4 = 1'b0; | 
|  | parameter [0:0] LVTTL_DRIVE_I24 = 1'b0; | 
|  | parameter [0:0] SSTL135_DRIVE_I_FIXED = 1'b0; | 
|  | parameter [0:0] SSTL135_SSTL15_IN = 1'b0; | 
|  | parameter [0:0] SSTL135_SSTL15_SLEW_FAST = 1'b0; | 
|  |  | 
|  | parameter [0:0] IN_TERM_UNTUNED_SPLIT_40 = 1'b0; | 
|  | parameter [0:0] IN_TERM_UNTUNED_SPLIT_50 = 1'b0; | 
|  | parameter [0:0] IN_TERM_UNTUNED_SPLIT_60 = 1'b0; | 
|  |  | 
|  | parameter [0:0] IBUF_LOW_PWR = 1'b0; | 
|  |  | 
|  | parameter [0:0] PULLTYPE_PULLUP = 1'b0; | 
|  | parameter [0:0] PULLTYPE_PULLDOWN = 1'b0; | 
|  | parameter [0:0] PULLTYPE_NONE = 1'b0; | 
|  | parameter [0:0] PULLTYPE_KEEPER = 1'b0; | 
|  |  | 
|  | parameter PULLTYPE = ""; | 
|  |  | 
|  | parameter IOSTANDARD = ""; | 
|  | parameter DRIVE = 0; | 
|  | parameter SLEW = ""; | 
|  |  | 
|  | assign O = IOPAD_$inp; | 
|  | assign IOPAD_$out = (T == 1'b0) ? I : 1'bz; | 
|  |  | 
|  | endmodule | 
|  |  | 
|  |  | 
|  | module OBUFTDS_M_VPR ( | 
|  | input  I, | 
|  | input  T, | 
|  | output O, | 
|  | output OB | 
|  | ); | 
|  |  | 
|  | parameter [0:0] LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135_SSTL15_SLEW_SLOW = 1'b0; | 
|  | parameter [0:0] LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15_STEPDOWN = 1'b0; | 
|  | parameter [0:0] LVCMOS15_SSTL15_DRIVE_I16_I_FIXED = 1'b0; | 
|  | parameter [0:0] LVDS_25_DRIVE_I_FIXED = 1'b0; | 
|  | parameter [0:0] LVDS_25_OUT = 1'b0; | 
|  | parameter [0:0] SSTL135_DRIVE_I_FIXED = 1'b0; | 
|  | parameter [0:0] SSTL135_SSTL15_SLEW_FAST = 1'b0; | 
|  | parameter [0:0] TMDS_33_DRIVE_I_FIXED = 1'b0; | 
|  | parameter [0:0] TMDS_33_OUT = 1'b0; | 
|  |  | 
|  | parameter [0:0] IN_TERM_UNTUNED_SPLIT_40 = 1'b0; | 
|  | parameter [0:0] IN_TERM_UNTUNED_SPLIT_50 = 1'b0; | 
|  | parameter [0:0] IN_TERM_UNTUNED_SPLIT_60 = 1'b0; | 
|  |  | 
|  | parameter [0:0] PULLTYPE_PULLUP = 1'b0; | 
|  | parameter [0:0] PULLTYPE_PULLDOWN = 1'b0; | 
|  | parameter [0:0] PULLTYPE_NONE = 1'b0; | 
|  | parameter [0:0] PULLTYPE_KEEPER = 1'b0; | 
|  |  | 
|  | parameter PULLTYPE = ""; | 
|  |  | 
|  | parameter IOSTANDARD = ""; | 
|  | parameter SLEW = ""; | 
|  |  | 
|  | assign O  = (T == 1'b0) ?  I : 1'bz; | 
|  | assign OB = (T == 1'b0) ? !I : 1'bz; | 
|  |  | 
|  | endmodule | 
|  |  | 
|  | module OBUFTDS_S_VPR ( | 
|  | input  IB, | 
|  | output OB | 
|  | ); | 
|  |  | 
|  | parameter [0:0] LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135_SSTL15_SLEW_SLOW = 1'b0; | 
|  | parameter [0:0] LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15_STEPDOWN = 1'b0; | 
|  | parameter [0:0] LVCMOS15_SSTL15_DRIVE_I16_I_FIXED = 1'b0; | 
|  | parameter [0:0] SSTL135_DRIVE_I_FIXED = 1'b0; | 
|  | parameter [0:0] SSTL135_SSTL15_SLEW_FAST = 1'b0; | 
|  |  | 
|  | parameter [0:0] IN_TERM_UNTUNED_SPLIT_40 = 1'b0; | 
|  | parameter [0:0] IN_TERM_UNTUNED_SPLIT_50 = 1'b0; | 
|  | parameter [0:0] IN_TERM_UNTUNED_SPLIT_60 = 1'b0; | 
|  |  | 
|  | parameter [0:0] PULLTYPE_PULLUP = 1'b0; | 
|  | parameter [0:0] PULLTYPE_PULLDOWN = 1'b0; | 
|  | parameter [0:0] PULLTYPE_NONE = 1'b0; | 
|  | parameter [0:0] PULLTYPE_KEEPER = 1'b0; | 
|  |  | 
|  | parameter PULLTYPE = ""; | 
|  |  | 
|  | parameter IOSTANDARD = ""; | 
|  | parameter SLEW = ""; | 
|  |  | 
|  | assign OB = IB; | 
|  |  | 
|  | endmodule | 
|  |  | 
|  |  | 
|  | module IOBUFDS_M_VPR ( | 
|  | input  I, | 
|  | input  T, | 
|  | output O, | 
|  | input  IOPAD_$inp, | 
|  | output IOPAD_$out, | 
|  | input  IB, | 
|  | output OB | 
|  | ); | 
|  |  | 
|  | parameter [0:0] LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SLEW_FAST = 1'b0; | 
|  | parameter [0:0] LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135_SSTL15_SLEW_SLOW = 1'b0; | 
|  | parameter [0:0] LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15_STEPDOWN = 1'b0; | 
|  | parameter [0:0] LVCMOS15_SSTL15_DRIVE_I16_I_FIXED = 1'b0; | 
|  | parameter [0:0] LVDS_25_DRIVE_I_FIXED = 1'b0; | 
|  | parameter [0:0] LVDS_25_OUT = 1'b0; | 
|  | parameter [0:0] SSTL135_DRIVE_I_FIXED = 1'b0; | 
|  | parameter [0:0] SSTL135_SSTL15_SLEW_FAST = 1'b0; | 
|  | parameter [0:0] TMDS_33_DRIVE_I_FIXED = 1'b0; | 
|  | parameter [0:0] TMDS_33_OUT = 1'b0; | 
|  | parameter [0:0] LVDS_25_SSTL135_SSTL15_IN_DIFF = 1'b0; | 
|  | parameter [0:0] TMDS_33_IN_DIFF = 1'b0; | 
|  |  | 
|  | parameter [0:0] IN_TERM_UNTUNED_SPLIT_40 = 1'b0; | 
|  | parameter [0:0] IN_TERM_UNTUNED_SPLIT_50 = 1'b0; | 
|  | parameter [0:0] IN_TERM_UNTUNED_SPLIT_60 = 1'b0; | 
|  |  | 
|  | parameter [0:0] PULLTYPE_PULLUP = 1'b0; | 
|  | parameter [0:0] PULLTYPE_PULLDOWN = 1'b0; | 
|  | parameter [0:0] PULLTYPE_NONE = 1'b0; | 
|  | parameter [0:0] PULLTYPE_KEEPER = 1'b0; | 
|  |  | 
|  | parameter PULLTYPE = ""; | 
|  |  | 
|  | parameter IOSTANDARD = ""; | 
|  | parameter SLEW = ""; | 
|  |  | 
|  | reg O; | 
|  | always @(*) case ({IB, IOPAD_$inp}) | 
|  | 2'b00: O <= 1'bX; | 
|  | 2'b01: O <= 1'b1; | 
|  | 2'b10: O <= 1'b0; | 
|  | 2'b11: O <= 1'bX; | 
|  | endcase | 
|  |  | 
|  | assign IOPAD_$out = (T == 1'b0) ?  I : 1'bz; | 
|  | assign OB         = (T == 1'b0) ? !I : 1'bz; | 
|  |  | 
|  | endmodule | 
|  |  | 
|  | module IOBUFDS_S_VPR ( | 
|  | input  IB, | 
|  | output OB, | 
|  | input  IOPAD_$inp, | 
|  | output IOPAD_$out | 
|  | ); | 
|  |  | 
|  | parameter [0:0] LVCMOS12_LVCMOS15_LVCMOS18_LVCMOS25_LVCMOS33_LVTTL_SSTL135_SSTL15_SLEW_SLOW = 1'b0; | 
|  | parameter [0:0] LVCMOS12_LVCMOS15_LVCMOS18_SSTL135_SSTL15_STEPDOWN = 1'b0; | 
|  | parameter [0:0] LVCMOS15_SSTL15_DRIVE_I16_I_FIXED = 1'b0; | 
|  | parameter [0:0] SSTL135_DRIVE_I_FIXED = 1'b0; | 
|  | parameter [0:0] LVDS_25_SSTL135_SSTL15_IN_DIFF = 1'b0; | 
|  | parameter [0:0] SSTL135_SSTL15_SLEW_FAST = 1'b0; | 
|  |  | 
|  | parameter [0:0] IN_TERM_UNTUNED_SPLIT_40 = 1'b0; | 
|  | parameter [0:0] IN_TERM_UNTUNED_SPLIT_50 = 1'b0; | 
|  | parameter [0:0] IN_TERM_UNTUNED_SPLIT_60 = 1'b0; | 
|  |  | 
|  | parameter [0:0] PULLTYPE_PULLUP = 1'b0; | 
|  | parameter [0:0] PULLTYPE_PULLDOWN = 1'b0; | 
|  | parameter [0:0] PULLTYPE_NONE = 1'b0; | 
|  | parameter [0:0] PULLTYPE_KEEPER = 1'b0; | 
|  |  | 
|  | parameter PULLTYPE = ""; | 
|  |  | 
|  | parameter IOSTANDARD = ""; | 
|  | parameter SLEW = ""; | 
|  |  | 
|  | assign IOPAD_$out = IB; | 
|  | assign OB = IOPAD_$inp; | 
|  |  | 
|  | endmodule | 
|  |  | 
|  | (* whitebox *) | 
|  | module T_INV ( | 
|  | input  TI, | 
|  | output TO | 
|  | ); | 
|  |  | 
|  | assign TO = ~TI; | 
|  |  | 
|  | endmodule | 
|  |  | 
|  | // ============================================================================ | 
|  | // I/OSERDES | 
|  |  | 
|  | module OSERDESE2_VPR ( | 
|  | input CLK, | 
|  | input CLKDIV, | 
|  | input D1, | 
|  | input D2, | 
|  | input D3, | 
|  | input D4, | 
|  | input D5, | 
|  | input D6, | 
|  | input D7, | 
|  | input D8, | 
|  | input OCE, | 
|  | input RST, | 
|  | input T1, | 
|  | input T2, | 
|  | input T3, | 
|  | input T4, | 
|  | input TCE, | 
|  | output OFB, | 
|  | output OQ, | 
|  | output TFB, | 
|  | output TQ | 
|  | ); | 
|  |  | 
|  | parameter [0:0] SERDES_MODE_SLAVE = 1'b0; | 
|  |  | 
|  | parameter [0:0] TRISTATE_WIDTH_W4 = 1'b0; | 
|  |  | 
|  | parameter [0:0] DATA_RATE_OQ_DDR = 1'b0; | 
|  | parameter [0:0] DATA_RATE_OQ_SDR = 1'b0; | 
|  | parameter [0:0] DATA_RATE_TQ_BUF = 1'b0; | 
|  | parameter [0:0] DATA_RATE_TQ_DDR = 1'b0; | 
|  | parameter [0:0] DATA_RATE_TQ_SDR = 1'b0; | 
|  |  | 
|  | parameter [0:0] DATA_WIDTH_DDR_W6_8 = 1'b0; | 
|  | parameter [0:0] DATA_WIDTH_SDR_W2_4_5_6 = 1'b0; | 
|  |  | 
|  | parameter [0:0] DATA_WIDTH_W2 = 1'b0; | 
|  | parameter [0:0] DATA_WIDTH_W3 = 1'b0; | 
|  | parameter [0:0] DATA_WIDTH_W4 = 1'b0; | 
|  | parameter [0:0] DATA_WIDTH_W5 = 1'b0; | 
|  | parameter [0:0] DATA_WIDTH_W6 = 1'b0; | 
|  | parameter [0:0] DATA_WIDTH_W7 = 1'b0; | 
|  | parameter [0:0] DATA_WIDTH_W8 = 1'b0; | 
|  |  | 
|  | // Inverter parameters | 
|  | parameter [0:0] IS_CLKDIV_INVERTED = 1'b0; | 
|  | parameter [0:0] IS_D1_INVERTED = 1'b0; | 
|  | parameter [0:0] IS_D2_INVERTED = 1'b0; | 
|  | parameter [0:0] IS_D3_INVERTED = 1'b0; | 
|  | parameter [0:0] IS_D4_INVERTED = 1'b0; | 
|  | parameter [0:0] IS_D5_INVERTED = 1'b0; | 
|  | parameter [0:0] IS_D6_INVERTED = 1'b0; | 
|  | parameter [0:0] IS_D7_INVERTED = 1'b0; | 
|  | parameter [0:0] IS_D8_INVERTED = 1'b0; | 
|  |  | 
|  | parameter [0:0] ZINV_CLK = 1'b0; | 
|  | parameter [0:0] ZINV_T1 = 1'b0; | 
|  | parameter [0:0] ZINV_T2 = 1'b0; | 
|  | parameter [0:0] ZINV_T3 = 1'b0; | 
|  | parameter [0:0] ZINV_T4 = 1'b0; | 
|  |  | 
|  | parameter [0:0] ZINIT_OQ = 1'b0; | 
|  | parameter [0:0] ZINIT_TQ = 1'b0; | 
|  | parameter [0:0] ZSRVAL_OQ = 1'b0; | 
|  | parameter [0:0] ZSRVAL_TQ = 1'b0; | 
|  | endmodule | 
|  |  | 
|  | module ISERDESE2_IDELAY_VPR ( | 
|  | input  BITSLIP, | 
|  | input  CE1, | 
|  | input  CE2, | 
|  | input  CLK, | 
|  | input  CLKB, | 
|  | input  CLKDIV, | 
|  | input  RST, | 
|  | input  DDLY, | 
|  | output Q1, | 
|  | output Q2, | 
|  | output Q3, | 
|  | output Q4, | 
|  | output Q5, | 
|  | output Q6, | 
|  | output Q7, | 
|  | output Q8 | 
|  | ); | 
|  |  | 
|  | parameter [0:0] MEMORY_DDR3_4     = 1'b0; | 
|  | parameter [0:0] MEMORY_DDR_4      = 1'b0; | 
|  | parameter [0:0] MEMORY_QDR_4      = 1'b0; | 
|  |  | 
|  | parameter [0:0] NETWORKING_SDR_2  = 1'b0; | 
|  | parameter [0:0] NETWORKING_SDR_3  = 1'b0; | 
|  | parameter [0:0] NETWORKING_SDR_4  = 1'b0; | 
|  | parameter [0:0] NETWORKING_SDR_5  = 1'b0; | 
|  | parameter [0:0] NETWORKING_SDR_6  = 1'b0; | 
|  | parameter [0:0] NETWORKING_SDR_7  = 1'b0; | 
|  | parameter [0:0] NETWORKING_SDR_8  = 1'b0; | 
|  |  | 
|  | parameter [0:0] NETWORKING_DDR_4  = 1'b0; | 
|  | parameter [0:0] NETWORKING_DDR_6  = 1'b0; | 
|  | parameter [0:0] NETWORKING_DDR_8  = 1'b0; | 
|  | parameter [0:0] NETWORKING_DDR_10 = 1'b0; | 
|  | parameter [0:0] NETWORKING_DDR_14 = 1'b0; | 
|  |  | 
|  | parameter [0:0] OVERSAMPLE_DDR_4  = 1'b0; | 
|  |  | 
|  | parameter [0:0] NUM_CE_N1 = 1'b0; | 
|  | parameter [0:0] NUM_CE_N2 = 1'b1; | 
|  |  | 
|  | parameter [0:0] IOBDELAY_IFD = 1'b0; | 
|  | parameter [0:0] IOBDELAY_IBUF = 1'b0; | 
|  |  | 
|  | parameter [0:0] ZINIT_Q1 = 1'b0; | 
|  | parameter [0:0] ZINIT_Q2 = 1'b0; | 
|  | parameter [0:0] ZINIT_Q3 = 1'b0; | 
|  | parameter [0:0] ZINIT_Q4 = 1'b0; | 
|  |  | 
|  | parameter [0:0] ZSRVAL_Q1 = 1'b0; | 
|  | parameter [0:0] ZSRVAL_Q2 = 1'b0; | 
|  | parameter [0:0] ZSRVAL_Q3 = 1'b0; | 
|  | parameter [0:0] ZSRVAL_Q4 = 1'b0; | 
|  |  | 
|  | parameter [0:0] ZINV_D = 1'b0; | 
|  | parameter [0:0] ZINV_C = 1'b0; | 
|  |  | 
|  | endmodule | 
|  |  | 
|  | module ISERDESE2_NO_IDELAY_VPR ( | 
|  | input  BITSLIP, | 
|  | input  CE1, | 
|  | input  CE2, | 
|  | input  CLK, | 
|  | input  CLKB, | 
|  | input  CLKDIV, | 
|  | input  RST, | 
|  | input  D, | 
|  | output Q1, | 
|  | output Q2, | 
|  | output Q3, | 
|  | output Q4, | 
|  | output Q5, | 
|  | output Q6, | 
|  | output Q7, | 
|  | output Q8 | 
|  | ); | 
|  |  | 
|  | parameter [0:0] MEMORY_DDR3_4     = 1'b0; | 
|  | parameter [0:0] MEMORY_DDR_4      = 1'b0; | 
|  | parameter [0:0] MEMORY_QDR_4      = 1'b0; | 
|  |  | 
|  | parameter [0:0] NETWORKING_SDR_2  = 1'b0; | 
|  | parameter [0:0] NETWORKING_SDR_3  = 1'b0; | 
|  | parameter [0:0] NETWORKING_SDR_4  = 1'b0; | 
|  | parameter [0:0] NETWORKING_SDR_5  = 1'b0; | 
|  | parameter [0:0] NETWORKING_SDR_6  = 1'b0; | 
|  | parameter [0:0] NETWORKING_SDR_7  = 1'b0; | 
|  | parameter [0:0] NETWORKING_SDR_8  = 1'b0; | 
|  |  | 
|  | parameter [0:0] NETWORKING_DDR_4  = 1'b0; | 
|  | parameter [0:0] NETWORKING_DDR_6  = 1'b0; | 
|  | parameter [0:0] NETWORKING_DDR_8  = 1'b0; | 
|  | parameter [0:0] NETWORKING_DDR_10 = 1'b0; | 
|  | parameter [0:0] NETWORKING_DDR_14 = 1'b0; | 
|  |  | 
|  | parameter [0:0] OVERSAMPLE_DDR_4  = 1'b0; | 
|  |  | 
|  | parameter [0:0] NUM_CE_N1 = 1'b0; | 
|  | parameter [0:0] NUM_CE_N2 = 1'b1; | 
|  |  | 
|  | parameter [0:0] IOBDELAY_IFD = 1'b0; | 
|  | parameter [0:0] IOBDELAY_IBUF = 1'b0; | 
|  |  | 
|  | parameter [0:0] ZINIT_Q1 = 1'b0; | 
|  | parameter [0:0] ZINIT_Q2 = 1'b0; | 
|  | parameter [0:0] ZINIT_Q3 = 1'b0; | 
|  | parameter [0:0] ZINIT_Q4 = 1'b0; | 
|  |  | 
|  | parameter [0:0] ZSRVAL_Q1 = 1'b0; | 
|  | parameter [0:0] ZSRVAL_Q2 = 1'b0; | 
|  | parameter [0:0] ZSRVAL_Q3 = 1'b0; | 
|  | parameter [0:0] ZSRVAL_Q4 = 1'b0; | 
|  |  | 
|  | parameter [0:0] ZINV_D = 1'b0; | 
|  | parameter [0:0] ZINV_C = 1'b0; | 
|  |  | 
|  | endmodule | 
|  |  | 
|  | // ============================================================================ | 
|  | // IDDR/ODDR | 
|  |  | 
|  | (* blackbox *) | 
|  | module IDDR_VPR ( | 
|  | input  CK, | 
|  | input  CKB, | 
|  | input  CE, | 
|  | input  SR, | 
|  | input  D, | 
|  | output Q1, | 
|  | output Q2 | 
|  | ); | 
|  |  | 
|  | parameter [0:0] ZINV_D = 1'b1; | 
|  | parameter [0:0] ZINV_C = 1'b1; | 
|  |  | 
|  | parameter [0:0] SRTYPE_SYNC = 1'b0; | 
|  |  | 
|  | parameter [0:0] SAME_EDGE     = 1'b0; | 
|  | parameter [0:0] OPPOSITE_EDGE = 1'b0; | 
|  |  | 
|  | parameter [0:0] ZINIT_Q1   = 1'b0; | 
|  | parameter [0:0] ZINIT_Q2   = 1'b0; | 
|  | parameter [0:0] ZINIT_Q3   = 1'b0; | 
|  | parameter [0:0] ZINIT_Q4   = 1'b0; | 
|  | parameter [0:0] ZSRVAL_Q12 = 1'b0; | 
|  | parameter [0:0] ZSRVAL_Q34 = 1'b0; | 
|  |  | 
|  | endmodule | 
|  |  | 
|  | (* blackbox *) | 
|  | module ODDR_VPR ( | 
|  | input  CK, | 
|  | input  CE, | 
|  | input  SR, | 
|  | input  D1, | 
|  | input  D2, | 
|  | output Q | 
|  | ); | 
|  |  | 
|  | parameter [0:0] ZINV_CLK = 1'b1; | 
|  | parameter [0:0] ZINV_D1  = 1'b1; | 
|  | parameter [0:0] ZINV_D2  = 1'b1; | 
|  |  | 
|  | parameter [0:0] INV_D1  = 1'b0; | 
|  | parameter [0:0] INV_D2  = 1'b0; | 
|  |  | 
|  | parameter [0:0] SRTYPE_SYNC = 1'b0; | 
|  | parameter [0:0] SAME_EDGE   = 1'b1; | 
|  |  | 
|  | parameter [0:0] ZINIT_Q  = 1'b1; | 
|  | parameter [0:0] ZSRVAL_Q = 1'b1; | 
|  |  | 
|  | endmodule | 
|  |  | 
|  | // ============================================================================ | 
|  | // IDELAYE2 | 
|  |  | 
|  | module IDELAYE2_VPR ( | 
|  | input C, | 
|  | input CE, | 
|  | input CINVCTRL, | 
|  | input CNTVALUEIN0, | 
|  | input CNTVALUEIN1, | 
|  | input CNTVALUEIN2, | 
|  | input CNTVALUEIN3, | 
|  | input CNTVALUEIN4, | 
|  | input DATAIN, | 
|  | input IDATAIN, | 
|  | input INC, | 
|  | input LD, | 
|  | input LDPIPEEN, | 
|  | input REGRST, | 
|  |  | 
|  | output CNTVALUEOUT0, | 
|  | output CNTVALUEOUT1, | 
|  | output CNTVALUEOUT2, | 
|  | output CNTVALUEOUT3, | 
|  | output CNTVALUEOUT4, | 
|  | output DATAOUT | 
|  | ); | 
|  |  | 
|  | parameter [0:0] IN_USE = 1'b0; | 
|  |  | 
|  | parameter [4:0] IDELAY_VALUE = 5'b00000; | 
|  | parameter [4:0] ZIDELAY_VALUE = 5'b11111; | 
|  |  | 
|  | parameter [0:0] PIPE_SEL = 1'b0; | 
|  | parameter [0:0] CINVCTRL_SEL = 1'b0; | 
|  | parameter [0:0] DELAY_SRC_DATAIN = 1'b0; | 
|  | parameter [0:0] DELAY_SRC_IDATAIN = 1'b0; | 
|  | parameter [0:0] HIGH_PERFORMANCE_MODE = 1'b0; | 
|  |  | 
|  | parameter [0:0] DELAY_TYPE_FIXED = 1'b0; | 
|  | parameter [0:0] DELAY_TYPE_VAR_LOAD = 1'b0; | 
|  | parameter [0:0] DELAY_TYPE_VARIABLE = 1'b0; | 
|  |  | 
|  | parameter [0:0] IS_DATAIN_INVERTED = 1'b0; | 
|  | parameter [0:0] IS_IDATAIN_INVERTED = 1'b0; | 
|  |  | 
|  | endmodule | 
|  |  | 
|  | // ============================================================================ | 
|  | // Clock Buffers | 
|  |  | 
|  | // BUFGCTRL_VPR | 
|  | module BUFGCTRL_VPR | 
|  | ( | 
|  | output O, | 
|  | input I0, input I1, | 
|  | input S0, input S1, | 
|  | input CE0, input CE1, | 
|  | input IGNORE0, input IGNORE1 | 
|  | ); | 
|  |  | 
|  | parameter [0:0] INIT_OUT = 1'b0; | 
|  | parameter [0:0] ZPRESELECT_I0 = 1'b0; | 
|  | parameter [0:0] ZPRESELECT_I1 = 1'b0; | 
|  | parameter [0:0] ZINV_CE0 = 1'b0; | 
|  | parameter [0:0] ZINV_CE1 = 1'b0; | 
|  | parameter [0:0] ZINV_S0 = 1'b0; | 
|  | parameter [0:0] ZINV_S1 = 1'b0; | 
|  | parameter [0:0] IS_IGNORE0_INVERTED = 1'b0; | 
|  | parameter [0:0] IS_IGNORE1_INVERTED = 1'b0; | 
|  |  | 
|  | wire I0_internal = ((CE0 ^ !ZINV_CE0) ? I0 : INIT_OUT); | 
|  | wire I1_internal = ((CE1 ^ !ZINV_CE1) ? I1 : INIT_OUT); | 
|  | wire S0_true = (S0 ^ !ZINV_S0); | 
|  | wire S1_true = (S1 ^ !ZINV_S1); | 
|  |  | 
|  | assign O = S0_true ? I0_internal : (S1_true ? I1_internal : INIT_OUT); | 
|  |  | 
|  | endmodule | 
|  |  | 
|  | // BUFHCE_VPR | 
|  | module BUFHCE_VPR | 
|  | ( | 
|  | output O, | 
|  | input I, | 
|  | input CE | 
|  | ); | 
|  |  | 
|  | parameter [0:0] INIT_OUT = 1'b0; | 
|  | parameter CE_TYPE = "SYNC"; | 
|  | parameter [0:0] ZINV_CE = 1'b0; | 
|  |  | 
|  | wire I = ((CE ^ !ZINV_CE) ? I : INIT_OUT); | 
|  |  | 
|  | assign O = I; | 
|  |  | 
|  | endmodule | 
|  |  | 
|  | // ============================================================================ | 
|  | // CMT | 
|  |  | 
|  | // PLLE2_ADV_VPR | 
|  | (* blackbox *) | 
|  | module PLLE2_ADV_VPR | 
|  | ( | 
|  | input         CLKFBIN, | 
|  | input         CLKIN1, | 
|  | input         CLKIN2, | 
|  | input         CLKINSEL, | 
|  |  | 
|  | output        CLKFBOUT, | 
|  | output        CLKOUT0, | 
|  | output        CLKOUT1, | 
|  | output        CLKOUT2, | 
|  | output        CLKOUT3, | 
|  | output        CLKOUT4, | 
|  | output        CLKOUT5, | 
|  |  | 
|  | input         PWRDWN, | 
|  | input         RST, | 
|  | output        LOCKED, | 
|  |  | 
|  | input         DCLK, | 
|  | input         DEN, | 
|  | input         DWE, | 
|  | output        DRDY, | 
|  | input  [ 6:0] DADDR, | 
|  | input  [15:0] DI, | 
|  | output [15:0] DO | 
|  | ); | 
|  |  | 
|  | parameter [0:0] INV_CLKINSEL = 1'd0; | 
|  | parameter [0:0] ZINV_PWRDWN = 1'd0; | 
|  | parameter [0:0] ZINV_RST = 1'd1; | 
|  |  | 
|  | parameter [0:0] STARTUP_WAIT = 1'd0; | 
|  |  | 
|  | // Tables | 
|  | parameter [9:0] TABLE = 10'd0; | 
|  | parameter [39:0] LKTABLE = 40'd0; | 
|  | parameter [15:0] POWER_REG = 16'd0; | 
|  | parameter [11:0] FILTREG1_RESERVED = 12'd0; | 
|  | parameter [9:0] FILTREG2_RESERVED = 10'd0; | 
|  | parameter [5:0] LOCKREG1_RESERVED = 6'd0; | 
|  | parameter [0:0] LOCKREG2_RESERVED = 1'b0; | 
|  | parameter [0:0] LOCKREG3_RESERVED = 1'b0; | 
|  |  | 
|  | // DIVCLK | 
|  | parameter [5:0] DIVCLK_DIVCLK_HIGH_TIME = 6'd0; | 
|  | parameter [5:0] DIVCLK_DIVCLK_LOW_TIME = 6'd0; | 
|  | parameter [0:0] DIVCLK_DIVCLK_NO_COUNT = 1'b1; | 
|  | parameter [0:0] DIVCLK_DIVCLK_EDGE = 1'b0; | 
|  |  | 
|  | // CLKFBOUT | 
|  | parameter [5:0] CLKFBOUT_CLKOUT1_HIGH_TIME = 6'd0; | 
|  | parameter [5:0] CLKFBOUT_CLKOUT1_LOW_TIME = 6'd0; | 
|  | parameter [0:0] CLKFBOUT_CLKOUT1_OUTPUT_ENABLE = 1'b0; | 
|  | parameter [2:0] CLKFBOUT_CLKOUT1_PHASE_MUX = 3'd0; | 
|  | parameter [5:0] CLKFBOUT_CLKOUT2_DELAY_TIME = 6'd0; | 
|  | parameter [0:0] CLKFBOUT_CLKOUT2_EDGE = 1'b0; | 
|  | parameter [2:0] CLKFBOUT_CLKOUT2_FRAC = 3'd0; | 
|  | parameter [0:0] CLKFBOUT_CLKOUT2_FRAC_EN = 1'b0; | 
|  | parameter [0:0] CLKFBOUT_CLKOUT2_FRAC_WF_R = 1'b0; | 
|  | parameter [0:0] CLKFBOUT_CLKOUT2_NO_COUNT = 1'b1; | 
|  |  | 
|  | // CLKOUT0 | 
|  | parameter [5:0] CLKOUT0_CLKOUT1_HIGH_TIME = 6'd0; | 
|  | parameter [5:0] CLKOUT0_CLKOUT1_LOW_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT0_CLKOUT1_OUTPUT_ENABLE = 1'b0; | 
|  | parameter [2:0] CLKOUT0_CLKOUT1_PHASE_MUX = 3'd0; | 
|  | parameter [5:0] CLKOUT0_CLKOUT2_DELAY_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT0_CLKOUT2_EDGE = 1'b0; | 
|  | parameter [2:0] CLKOUT0_CLKOUT2_FRAC = 3'd0; | 
|  | parameter [0:0] CLKOUT0_CLKOUT2_FRAC_EN = 1'b0; | 
|  | parameter [0:0] CLKOUT0_CLKOUT2_FRAC_WF_R = 1'b0; | 
|  | parameter [0:0] CLKOUT0_CLKOUT2_NO_COUNT = 1'b1; | 
|  |  | 
|  | // CLKOUT1 | 
|  | parameter [5:0] CLKOUT1_CLKOUT1_HIGH_TIME = 6'd0; | 
|  | parameter [5:0] CLKOUT1_CLKOUT1_LOW_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT1_CLKOUT1_OUTPUT_ENABLE = 1'b0; | 
|  | parameter [2:0] CLKOUT1_CLKOUT1_PHASE_MUX = 3'd0; | 
|  | parameter [5:0] CLKOUT1_CLKOUT2_DELAY_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT1_CLKOUT2_EDGE = 1'b0; | 
|  | parameter [2:0] CLKOUT1_CLKOUT2_FRAC = 3'd0; | 
|  | parameter [0:0] CLKOUT1_CLKOUT2_FRAC_EN = 1'b0; | 
|  | parameter [0:0] CLKOUT1_CLKOUT2_FRAC_WF_R = 1'b0; | 
|  | parameter [0:0] CLKOUT1_CLKOUT2_NO_COUNT = 1'b1; | 
|  |  | 
|  | // CLKOUT2 | 
|  | parameter [5:0] CLKOUT2_CLKOUT1_HIGH_TIME = 6'd0; | 
|  | parameter [5:0] CLKOUT2_CLKOUT1_LOW_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT2_CLKOUT1_OUTPUT_ENABLE = 1'b0; | 
|  | parameter [2:0] CLKOUT2_CLKOUT1_PHASE_MUX = 3'd0; | 
|  | parameter [5:0] CLKOUT2_CLKOUT2_DELAY_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT2_CLKOUT2_EDGE = 1'b0; | 
|  | parameter [2:0] CLKOUT2_CLKOUT2_FRAC = 3'd0; | 
|  | parameter [0:0] CLKOUT2_CLKOUT2_FRAC_EN = 1'b0; | 
|  | parameter [0:0] CLKOUT2_CLKOUT2_FRAC_WF_R = 1'b0; | 
|  | parameter [0:0] CLKOUT2_CLKOUT2_NO_COUNT = 1'b1; | 
|  |  | 
|  | // CLKOUT3 | 
|  | parameter [5:0] CLKOUT3_CLKOUT1_HIGH_TIME = 6'd0; | 
|  | parameter [5:0] CLKOUT3_CLKOUT1_LOW_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT3_CLKOUT1_OUTPUT_ENABLE = 1'b0; | 
|  | parameter [2:0] CLKOUT3_CLKOUT1_PHASE_MUX = 3'd0; | 
|  | parameter [5:0] CLKOUT3_CLKOUT2_DELAY_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT3_CLKOUT2_EDGE = 1'b0; | 
|  | parameter [2:0] CLKOUT3_CLKOUT2_FRAC = 3'd0; | 
|  | parameter [0:0] CLKOUT3_CLKOUT2_FRAC_EN = 1'b0; | 
|  | parameter [0:0] CLKOUT3_CLKOUT2_FRAC_WF_R = 1'b0; | 
|  | parameter [0:0] CLKOUT3_CLKOUT2_NO_COUNT = 1'b1; | 
|  |  | 
|  | // CLKOUT4 | 
|  | parameter [5:0] CLKOUT4_CLKOUT1_HIGH_TIME = 6'd0; | 
|  | parameter [5:0] CLKOUT4_CLKOUT1_LOW_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT4_CLKOUT1_OUTPUT_ENABLE = 1'b0; | 
|  | parameter [2:0] CLKOUT4_CLKOUT1_PHASE_MUX = 3'd0; | 
|  | parameter [5:0] CLKOUT4_CLKOUT2_DELAY_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT4_CLKOUT2_EDGE = 1'b0; | 
|  | parameter [2:0] CLKOUT4_CLKOUT2_FRAC = 3'd0; | 
|  | parameter [0:0] CLKOUT4_CLKOUT2_FRAC_EN = 1'b0; | 
|  | parameter [0:0] CLKOUT4_CLKOUT2_FRAC_WF_R = 1'b0; | 
|  | parameter [0:0] CLKOUT4_CLKOUT2_NO_COUNT = 1'b1; | 
|  |  | 
|  | // CLKOUT5 | 
|  | parameter [5:0] CLKOUT5_CLKOUT1_HIGH_TIME = 6'd0; | 
|  | parameter [5:0] CLKOUT5_CLKOUT1_LOW_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT5_CLKOUT1_OUTPUT_ENABLE = 1'b0; | 
|  | parameter [2:0] CLKOUT5_CLKOUT1_PHASE_MUX = 3'd0; | 
|  | parameter [5:0] CLKOUT5_CLKOUT2_DELAY_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT5_CLKOUT2_EDGE = 1'b0; | 
|  | parameter [2:0] CLKOUT5_CLKOUT2_FRAC = 3'd0; | 
|  | parameter [0:0] CLKOUT5_CLKOUT2_FRAC_EN = 1'b0; | 
|  | parameter [0:0] CLKOUT5_CLKOUT2_FRAC_WF_R = 1'b0; | 
|  | parameter [0:0] CLKOUT5_CLKOUT2_NO_COUNT = 1'b1; | 
|  |  | 
|  |  | 
|  | // TODO: Compensation parameters | 
|  |  | 
|  | // TODO: How to simulate a PLL in verilog (i.e. the VCO) ??? | 
|  |  | 
|  | endmodule | 
|  |  | 
|  | // MMCME2_ADV_VPR | 
|  | (* blackbox *) | 
|  | module MMCME2_ADV_VPR | 
|  | ( | 
|  | input     CLKFBIN, | 
|  | input     CLKIN1, | 
|  | input     CLKIN2, | 
|  | input     CLKINSEL, | 
|  |  | 
|  | 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    CLKINSTOPPED, | 
|  | output    CLKFBSTOPPED, | 
|  |  | 
|  | input     PWRDWN, | 
|  | input     RST, | 
|  | output    LOCKED, | 
|  |  | 
|  | input     PSCLK, | 
|  | input     PSEN, | 
|  | input     PSINCDEC, | 
|  | output    PSDONE, | 
|  |  | 
|  | input     DCLK, | 
|  | input     DEN, | 
|  | input     DWE, | 
|  | output    DRDY, | 
|  | input     DADDR0, | 
|  | input     DADDR1, | 
|  | input     DADDR2, | 
|  | input     DADDR3, | 
|  | input     DADDR4, | 
|  | input     DADDR5, | 
|  | input     DADDR6, | 
|  | input     DI0, | 
|  | input     DI1, | 
|  | input     DI2, | 
|  | input     DI3, | 
|  | input     DI4, | 
|  | input     DI5, | 
|  | input     DI6, | 
|  | input     DI7, | 
|  | input     DI8, | 
|  | input     DI9, | 
|  | input     DI10, | 
|  | input     DI11, | 
|  | input     DI12, | 
|  | input     DI13, | 
|  | input     DI14, | 
|  | input     DI15, | 
|  | output    DO0, | 
|  | output    DO1, | 
|  | output    DO2, | 
|  | output    DO3, | 
|  | output    DO4, | 
|  | output    DO5, | 
|  | output    DO6, | 
|  | output    DO7, | 
|  | output    DO8, | 
|  | output    DO9, | 
|  | output    DO10, | 
|  | output    DO11, | 
|  | output    DO12, | 
|  | output    DO13, | 
|  | output    DO14, | 
|  | output    DO15 | 
|  | ); | 
|  |  | 
|  | parameter [0:0] INV_CLKINSEL = 1'd0; | 
|  | parameter [0:0] ZINV_PWRDWN = 1'd0; | 
|  | parameter [0:0] ZINV_RST = 1'd1; | 
|  | parameter [0:0] ZINV_PSEN = 1'd1; | 
|  | parameter [0:0] ZINV_PSINCDEC = 1'd1; | 
|  |  | 
|  | parameter [0:0] STARTUP_WAIT = 1'd0; | 
|  |  | 
|  | // Compensation | 
|  | parameter [0:0] COMP_ZHOLD = 1'd0; | 
|  | parameter [0:0] COMP_Z_ZHOLD = 1'd0; | 
|  |  | 
|  | // Spread spectrum | 
|  | parameter [0:0] SS_EN = 1'd0; | 
|  | // TODO: Fuzz and add more | 
|  |  | 
|  | // Tables | 
|  | parameter [9:0] TABLE = 10'd0; | 
|  | parameter [39:0] LKTABLE = 40'd0; | 
|  | parameter [15:0] POWER_REG = 16'd0; | 
|  | parameter [11:0] FILTREG1_RESERVED = 12'd0; | 
|  | parameter [9:0] FILTREG2_RESERVED = 10'd0; | 
|  | parameter [5:0] LOCKREG1_RESERVED = 6'd0; | 
|  | parameter [0:0] LOCKREG2_RESERVED = 1'b0; | 
|  | parameter [0:0] LOCKREG3_RESERVED = 1'b0; | 
|  |  | 
|  | // DIVCLK | 
|  | parameter [5:0] DIVCLK_DIVCLK_HIGH_TIME = 6'd0; | 
|  | parameter [5:0] DIVCLK_DIVCLK_LOW_TIME = 6'd0; | 
|  | parameter [0:0] DIVCLK_DIVCLK_NO_COUNT = 1'b1; | 
|  | parameter [0:0] DIVCLK_DIVCLK_EDGE = 1'b0; | 
|  |  | 
|  | // CLKFBOUT | 
|  | parameter [5:0] CLKFBOUT_CLKOUT1_HIGH_TIME = 6'd0; | 
|  | parameter [5:0] CLKFBOUT_CLKOUT1_LOW_TIME = 6'd0; | 
|  | parameter [0:0] CLKFBOUT_CLKOUT1_OUTPUT_ENABLE = 1'b0; | 
|  | parameter [2:0] CLKFBOUT_CLKOUT1_PHASE_MUX = 3'd0; | 
|  | parameter [5:0] CLKFBOUT_CLKOUT2_DELAY_TIME = 6'd0; | 
|  | parameter [0:0] CLKFBOUT_CLKOUT2_EDGE = 1'b0; | 
|  | parameter [2:0] CLKFBOUT_CLKOUT2_FRAC = 3'd0; | 
|  | parameter [0:0] CLKFBOUT_CLKOUT2_FRAC_EN = 1'b0; | 
|  | parameter [0:0] CLKFBOUT_CLKOUT2_FRAC_WF_R = 1'b0; | 
|  | parameter [0:0] CLKFBOUT_CLKOUT2_NO_COUNT = 1'b1; | 
|  |  | 
|  | // CLKOUT0 | 
|  | parameter [5:0] CLKOUT0_CLKOUT1_HIGH_TIME = 6'd0; | 
|  | parameter [5:0] CLKOUT0_CLKOUT1_LOW_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT0_CLKOUT1_OUTPUT_ENABLE = 1'b0; | 
|  | parameter [2:0] CLKOUT0_CLKOUT1_PHASE_MUX = 3'd0; | 
|  | parameter [5:0] CLKOUT0_CLKOUT2_DELAY_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT0_CLKOUT2_EDGE = 1'b0; | 
|  | parameter [2:0] CLKOUT0_CLKOUT2_FRAC = 3'd0; | 
|  | parameter [0:0] CLKOUT0_CLKOUT2_FRAC_EN = 1'b0; | 
|  | parameter [0:0] CLKOUT0_CLKOUT2_FRAC_WF_R = 1'b0; | 
|  | parameter [0:0] CLKOUT0_CLKOUT2_NO_COUNT = 1'b1; | 
|  |  | 
|  | // CLKOUT1 | 
|  | parameter [5:0] CLKOUT1_CLKOUT1_HIGH_TIME = 6'd0; | 
|  | parameter [5:0] CLKOUT1_CLKOUT1_LOW_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT1_CLKOUT1_OUTPUT_ENABLE = 1'b0; | 
|  | parameter [2:0] CLKOUT1_CLKOUT1_PHASE_MUX = 3'd0; | 
|  | parameter [5:0] CLKOUT1_CLKOUT2_DELAY_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT1_CLKOUT2_EDGE = 1'b0; | 
|  | parameter [0:0] CLKOUT1_CLKOUT2_NO_COUNT = 1'b1; | 
|  |  | 
|  | // CLKOUT2 | 
|  | parameter [5:0] CLKOUT2_CLKOUT1_HIGH_TIME = 6'd0; | 
|  | parameter [5:0] CLKOUT2_CLKOUT1_LOW_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT2_CLKOUT1_OUTPUT_ENABLE = 1'b0; | 
|  | parameter [2:0] CLKOUT2_CLKOUT1_PHASE_MUX = 3'd0; | 
|  | parameter [5:0] CLKOUT2_CLKOUT2_DELAY_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT2_CLKOUT2_EDGE = 1'b0; | 
|  | parameter [0:0] CLKOUT2_CLKOUT2_NO_COUNT = 1'b1; | 
|  |  | 
|  | // CLKOUT3 | 
|  | parameter [5:0] CLKOUT3_CLKOUT1_HIGH_TIME = 6'd0; | 
|  | parameter [5:0] CLKOUT3_CLKOUT1_LOW_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT3_CLKOUT1_OUTPUT_ENABLE = 1'b0; | 
|  | parameter [2:0] CLKOUT3_CLKOUT1_PHASE_MUX = 3'd0; | 
|  | parameter [5:0] CLKOUT3_CLKOUT2_DELAY_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT3_CLKOUT2_EDGE = 1'b0; | 
|  | parameter [0:0] CLKOUT3_CLKOUT2_NO_COUNT = 1'b1; | 
|  |  | 
|  | // CLKOUT4 | 
|  | parameter [5:0] CLKOUT4_CLKOUT1_HIGH_TIME = 6'd0; | 
|  | parameter [5:0] CLKOUT4_CLKOUT1_LOW_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT4_CLKOUT1_OUTPUT_ENABLE = 1'b0; | 
|  | parameter [2:0] CLKOUT4_CLKOUT1_PHASE_MUX = 3'd0; | 
|  | parameter [5:0] CLKOUT4_CLKOUT2_DELAY_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT4_CLKOUT2_EDGE = 1'b0; | 
|  | parameter [0:0] CLKOUT4_CLKOUT2_NO_COUNT = 1'b1; | 
|  |  | 
|  | // CLKOUT5 | 
|  | parameter [5:0] CLKOUT5_CLKOUT1_HIGH_TIME = 6'd0; | 
|  | parameter [5:0] CLKOUT5_CLKOUT1_LOW_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT5_CLKOUT1_OUTPUT_ENABLE = 1'b0; | 
|  | parameter [2:0] CLKOUT5_CLKOUT1_PHASE_MUX = 3'd0; | 
|  | parameter [5:0] CLKOUT5_CLKOUT2_FRACTIONAL_DELAY_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT5_CLKOUT2_FRACTIONAL_EDGE = 1'b0; | 
|  | parameter [0:0] CLKOUT5_CLKOUT2_FRACTIONAL_FRAC_WF_F = 1'd0; | 
|  | parameter [0:0] CLKOUT5_CLKOUT2_FRACTIONAL_NO_COUNT = 1'b0; | 
|  | parameter [2:0] CLKOUT5_CLKOUT1_FRACTIONAL_PHASE_MUX_F = 3'd0; | 
|  |  | 
|  | // CLKOUT6 | 
|  | parameter [5:0] CLKOUT6_CLKOUT1_HIGH_TIME = 6'd0; | 
|  | parameter [5:0] CLKOUT6_CLKOUT1_LOW_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT6_CLKOUT1_OUTPUT_ENABLE = 1'b0; | 
|  | parameter [2:0] CLKOUT6_CLKOUT1_PHASE_MUX = 3'd0; | 
|  | parameter [5:0] CLKOUT6_CLKOUT2_FRACTIONAL_DELAY_TIME = 6'd0; | 
|  | parameter [0:0] CLKOUT6_CLKOUT2_FRACTIONAL_EDGE = 1'b0; | 
|  | parameter [0:0] CLKOUT6_CLKOUT2_FRACTIONAL_FRAC_WF_F = 1'd0; | 
|  | parameter [0:0] CLKOUT6_CLKOUT2_FRACTIONAL_NO_COUNT = 1'b0; | 
|  | parameter [2:0] CLKOUT6_CLKOUT1_FRACTIONAL_PHASE_MUX_F = 3'd0; | 
|  |  | 
|  | endmodule | 
|  |  | 
|  | // ============================================================================ | 
|  | // The Zynq PS7 | 
|  |  | 
|  | (* blackbox *) | 
|  | module PS7_VPR ( | 
|  | input  [ 3: 0] DDRARB, | 
|  | input          DMA0ACLK, | 
|  | input          DMA0DAREADY, | 
|  | output [ 1: 0] DMA0DATYPE, | 
|  | output         DMA0DAVALID, | 
|  | input          DMA0DRLAST, | 
|  | output         DMA0DRREADY, | 
|  | input  [ 1: 0] DMA0DRTYPE, | 
|  | input          DMA0DRVALID, | 
|  | output         DMA0RSTN, | 
|  | input          DMA1ACLK, | 
|  | input          DMA1DAREADY, | 
|  | output [ 1: 0] DMA1DATYPE, | 
|  | output         DMA1DAVALID, | 
|  | input          DMA1DRLAST, | 
|  | output         DMA1DRREADY, | 
|  | input  [ 1: 0] DMA1DRTYPE, | 
|  | input          DMA1DRVALID, | 
|  | output         DMA1RSTN, | 
|  | input          DMA2ACLK, | 
|  | input          DMA2DAREADY, | 
|  | output [ 1: 0] DMA2DATYPE, | 
|  | output         DMA2DAVALID, | 
|  | input          DMA2DRLAST, | 
|  | output         DMA2DRREADY, | 
|  | input  [ 1: 0] DMA2DRTYPE, | 
|  | input          DMA2DRVALID, | 
|  | output         DMA2RSTN, | 
|  | input          DMA3ACLK, | 
|  | input          DMA3DAREADY, | 
|  | output [ 1: 0] DMA3DATYPE, | 
|  | output         DMA3DAVALID, | 
|  | input          DMA3DRLAST, | 
|  | output         DMA3DRREADY, | 
|  | input  [ 1: 0] DMA3DRTYPE, | 
|  | input          DMA3DRVALID, | 
|  | output         DMA3RSTN, | 
|  | input          EMIOCAN0PHYRX, | 
|  | output         EMIOCAN0PHYTX, | 
|  | input          EMIOCAN1PHYRX, | 
|  | output         EMIOCAN1PHYTX, | 
|  | input          EMIOENET0EXTINTIN, | 
|  | input          EMIOENET0GMIICOL, | 
|  | input          EMIOENET0GMIICRS, | 
|  | input          EMIOENET0GMIIRXCLK, | 
|  | input  [ 7: 0] EMIOENET0GMIIRXD, | 
|  | input          EMIOENET0GMIIRXDV, | 
|  | input          EMIOENET0GMIIRXER, | 
|  | input          EMIOENET0GMIITXCLK, | 
|  | output [ 7: 0] EMIOENET0GMIITXD, | 
|  | output         EMIOENET0GMIITXEN, | 
|  | output         EMIOENET0GMIITXER, | 
|  | input          EMIOENET0MDIOI, | 
|  | output         EMIOENET0MDIOMDC, | 
|  | output         EMIOENET0MDIOO, | 
|  | output         EMIOENET0MDIOTN, | 
|  | output         EMIOENET0PTPDELAYREQRX, | 
|  | output         EMIOENET0PTPDELAYREQTX, | 
|  | output         EMIOENET0PTPPDELAYREQRX, | 
|  | output         EMIOENET0PTPPDELAYREQTX, | 
|  | output         EMIOENET0PTPPDELAYRESPRX, | 
|  | output         EMIOENET0PTPPDELAYRESPTX, | 
|  | output         EMIOENET0PTPSYNCFRAMERX, | 
|  | output         EMIOENET0PTPSYNCFRAMETX, | 
|  | output         EMIOENET0SOFRX, | 
|  | output         EMIOENET0SOFTX, | 
|  | input          EMIOENET1EXTINTIN, | 
|  | input          EMIOENET1GMIICOL, | 
|  | input          EMIOENET1GMIICRS, | 
|  | input          EMIOENET1GMIIRXCLK, | 
|  | input  [ 7: 0] EMIOENET1GMIIRXD, | 
|  | input          EMIOENET1GMIIRXDV, | 
|  | input          EMIOENET1GMIIRXER, | 
|  | input          EMIOENET1GMIITXCLK, | 
|  | output [ 7: 0] EMIOENET1GMIITXD, | 
|  | output         EMIOENET1GMIITXEN, | 
|  | output         EMIOENET1GMIITXER, | 
|  | input          EMIOENET1MDIOI, | 
|  | output         EMIOENET1MDIOMDC, | 
|  | output         EMIOENET1MDIOO, | 
|  | output         EMIOENET1MDIOTN, | 
|  | output         EMIOENET1PTPDELAYREQRX, | 
|  | output         EMIOENET1PTPDELAYREQTX, | 
|  | output         EMIOENET1PTPPDELAYREQRX, | 
|  | output         EMIOENET1PTPPDELAYREQTX, | 
|  | output         EMIOENET1PTPPDELAYRESPRX, | 
|  | output         EMIOENET1PTPPDELAYRESPTX, | 
|  | output         EMIOENET1PTPSYNCFRAMERX, | 
|  | output         EMIOENET1PTPSYNCFRAMETX, | 
|  | output         EMIOENET1SOFRX, | 
|  | output         EMIOENET1SOFTX, | 
|  | input  [63: 0] EMIOGPIOI, | 
|  | output [63: 0] EMIOGPIOO, | 
|  | output [63: 0] EMIOGPIOTN, | 
|  | input          EMIOI2C0SCLI, | 
|  | output         EMIOI2C0SCLO, | 
|  | output         EMIOI2C0SCLTN, | 
|  | input          EMIOI2C0SDAI, | 
|  | output         EMIOI2C0SDAO, | 
|  | output         EMIOI2C0SDATN, | 
|  | input          EMIOI2C1SCLI, | 
|  | output         EMIOI2C1SCLO, | 
|  | output         EMIOI2C1SCLTN, | 
|  | input          EMIOI2C1SDAI, | 
|  | output         EMIOI2C1SDAO, | 
|  | output         EMIOI2C1SDATN, | 
|  | input          EMIOPJTAGTCK, | 
|  | input          EMIOPJTAGTDI, | 
|  | output         EMIOPJTAGTDO, | 
|  | output         EMIOPJTAGTDTN, | 
|  | input          EMIOPJTAGTMS, | 
|  | output         EMIOSDIO0BUSPOW, | 
|  | output [ 2: 0] EMIOSDIO0BUSVOLT, | 
|  | input          EMIOSDIO0CDN, | 
|  | output         EMIOSDIO0CLK, | 
|  | input          EMIOSDIO0CLKFB, | 
|  | input          EMIOSDIO0CMDI, | 
|  | output         EMIOSDIO0CMDO, | 
|  | output         EMIOSDIO0CMDTN, | 
|  | input  [ 3: 0] EMIOSDIO0DATAI, | 
|  | output [ 3: 0] EMIOSDIO0DATAO, | 
|  | output [ 3: 0] EMIOSDIO0DATATN, | 
|  | output         EMIOSDIO0LED, | 
|  | input          EMIOSDIO0WP, | 
|  | output         EMIOSDIO1BUSPOW, | 
|  | output [ 2: 0] EMIOSDIO1BUSVOLT, | 
|  | input          EMIOSDIO1CDN, | 
|  | output         EMIOSDIO1CLK, | 
|  | input          EMIOSDIO1CLKFB, | 
|  | input          EMIOSDIO1CMDI, | 
|  | output         EMIOSDIO1CMDO, | 
|  | output         EMIOSDIO1CMDTN, | 
|  | input  [ 3: 0] EMIOSDIO1DATAI, | 
|  | output [ 3: 0] EMIOSDIO1DATAO, | 
|  | output [ 3: 0] EMIOSDIO1DATATN, | 
|  | output         EMIOSDIO1LED, | 
|  | input          EMIOSDIO1WP, | 
|  | input          EMIOSPI0MI, | 
|  | output         EMIOSPI0MO, | 
|  | output         EMIOSPI0MOTN, | 
|  | input          EMIOSPI0SCLKI, | 
|  | output         EMIOSPI0SCLKO, | 
|  | output         EMIOSPI0SCLKTN, | 
|  | input          EMIOSPI0SI, | 
|  | output         EMIOSPI0SO, | 
|  | input          EMIOSPI0SSIN, | 
|  | output         EMIOSPI0SSNTN, | 
|  | output [ 2: 0] EMIOSPI0SSON, | 
|  | output         EMIOSPI0STN, | 
|  | input          EMIOSPI1MI, | 
|  | output         EMIOSPI1MO, | 
|  | output         EMIOSPI1MOTN, | 
|  | input          EMIOSPI1SCLKI, | 
|  | output         EMIOSPI1SCLKO, | 
|  | output         EMIOSPI1SCLKTN, | 
|  | input          EMIOSPI1SI, | 
|  | output         EMIOSPI1SO, | 
|  | input          EMIOSPI1SSIN, | 
|  | output         EMIOSPI1SSNTN, | 
|  | output [ 2: 0] EMIOSPI1SSON, | 
|  | output         EMIOSPI1STN, | 
|  | input          EMIOSRAMINTIN, | 
|  | input          EMIOTRACECLK, | 
|  | output         EMIOTRACECTL, | 
|  | output [31: 0] EMIOTRACEDATA, | 
|  | input  [ 2: 0] EMIOTTC0CLKI, | 
|  | output [ 2: 0] EMIOTTC0WAVEO, | 
|  | input  [ 2: 0] EMIOTTC1CLKI, | 
|  | output [ 2: 0] EMIOTTC1WAVEO, | 
|  | input          EMIOUART0CTSN, | 
|  | input          EMIOUART0DCDN, | 
|  | input          EMIOUART0DSRN, | 
|  | output         EMIOUART0DTRN, | 
|  | input          EMIOUART0RIN, | 
|  | output         EMIOUART0RTSN, | 
|  | input          EMIOUART0RX, | 
|  | output         EMIOUART0TX, | 
|  | input          EMIOUART1CTSN, | 
|  | input          EMIOUART1DCDN, | 
|  | input          EMIOUART1DSRN, | 
|  | output         EMIOUART1DTRN, | 
|  | input          EMIOUART1RIN, | 
|  | output         EMIOUART1RTSN, | 
|  | input          EMIOUART1RX, | 
|  | output         EMIOUART1TX, | 
|  | output [ 1: 0] EMIOUSB0PORTINDCTL, | 
|  | input          EMIOUSB0VBUSPWRFAULT, | 
|  | output         EMIOUSB0VBUSPWRSELECT, | 
|  | output [ 1: 0] EMIOUSB1PORTINDCTL, | 
|  | input          EMIOUSB1VBUSPWRFAULT, | 
|  | output         EMIOUSB1VBUSPWRSELECT, | 
|  | input          EMIOWDTCLKI, | 
|  | output         EMIOWDTRSTO, | 
|  | input          EVENTEVENTI, | 
|  | output         EVENTEVENTO, | 
|  | output [ 1: 0] EVENTSTANDBYWFE, | 
|  | output [ 1: 0] EVENTSTANDBYWFI, | 
|  | output [ 3: 0] FCLKCLK, | 
|  | input  [ 3: 0] FCLKCLKTRIGN, | 
|  | output [ 3: 0] FCLKRESETN, | 
|  | input          FPGAIDLEN, | 
|  | input  [ 3: 0] FTMDTRACEINATID, | 
|  | input          FTMDTRACEINCLOCK, | 
|  | input  [31: 0] FTMDTRACEINDATA, | 
|  | input          FTMDTRACEINVALID, | 
|  | input  [31: 0] FTMTF2PDEBUG, | 
|  | input  [ 3: 0] FTMTF2PTRIG, | 
|  | output [ 3: 0] FTMTF2PTRIGACK, | 
|  | output [31: 0] FTMTP2FDEBUG, | 
|  | output [ 3: 0] FTMTP2FTRIG, | 
|  | input  [ 3: 0] FTMTP2FTRIGACK, | 
|  | input  [19: 0] IRQF2P, | 
|  | output [28: 0] IRQP2F, | 
|  | input          MAXIGP0ACLK, | 
|  | output [31: 0] MAXIGP0ARADDR, | 
|  | output [ 1: 0] MAXIGP0ARBURST, | 
|  | output [ 3: 0] MAXIGP0ARCACHE, | 
|  | output         MAXIGP0ARESETN, | 
|  | output [11: 0] MAXIGP0ARID, | 
|  | output [ 3: 0] MAXIGP0ARLEN, | 
|  | output [ 1: 0] MAXIGP0ARLOCK, | 
|  | output [ 2: 0] MAXIGP0ARPROT, | 
|  | output [ 3: 0] MAXIGP0ARQOS, | 
|  | input          MAXIGP0ARREADY, | 
|  | output [ 1: 0] MAXIGP0ARSIZE, | 
|  | output         MAXIGP0ARVALID, | 
|  | output [31: 0] MAXIGP0AWADDR, | 
|  | output [ 1: 0] MAXIGP0AWBURST, | 
|  | output [ 3: 0] MAXIGP0AWCACHE, | 
|  | output [11: 0] MAXIGP0AWID, | 
|  | output [ 3: 0] MAXIGP0AWLEN, | 
|  | output [ 1: 0] MAXIGP0AWLOCK, | 
|  | output [ 2: 0] MAXIGP0AWPROT, | 
|  | output [ 3: 0] MAXIGP0AWQOS, | 
|  | input          MAXIGP0AWREADY, | 
|  | output [ 1: 0] MAXIGP0AWSIZE, | 
|  | output         MAXIGP0AWVALID, | 
|  | input  [11: 0] MAXIGP0BID, | 
|  | output         MAXIGP0BREADY, | 
|  | input  [ 1: 0] MAXIGP0BRESP, | 
|  | input          MAXIGP0BVALID, | 
|  | input  [31: 0] MAXIGP0RDATA, | 
|  | input  [11: 0] MAXIGP0RID, | 
|  | input          MAXIGP0RLAST, | 
|  | output         MAXIGP0RREADY, | 
|  | input  [ 1: 0] MAXIGP0RRESP, | 
|  | input          MAXIGP0RVALID, | 
|  | output [31: 0] MAXIGP0WDATA, | 
|  | output [11: 0] MAXIGP0WID, | 
|  | output         MAXIGP0WLAST, | 
|  | input          MAXIGP0WREADY, | 
|  | output [ 3: 0] MAXIGP0WSTRB, | 
|  | output         MAXIGP0WVALID, | 
|  | input          MAXIGP1ACLK, | 
|  | output [31: 0] MAXIGP1ARADDR, | 
|  | output [ 1: 0] MAXIGP1ARBURST, | 
|  | output [ 3: 0] MAXIGP1ARCACHE, | 
|  | output         MAXIGP1ARESETN, | 
|  | output [11: 0] MAXIGP1ARID, | 
|  | output [ 3: 0] MAXIGP1ARLEN, | 
|  | output [ 1: 0] MAXIGP1ARLOCK, | 
|  | output [ 2: 0] MAXIGP1ARPROT, | 
|  | output [ 3: 0] MAXIGP1ARQOS, | 
|  | input          MAXIGP1ARREADY, | 
|  | output [ 1: 0] MAXIGP1ARSIZE, | 
|  | output         MAXIGP1ARVALID, | 
|  | output [31: 0] MAXIGP1AWADDR, | 
|  | output [ 1: 0] MAXIGP1AWBURST, | 
|  | output [ 3: 0] MAXIGP1AWCACHE, | 
|  | output [11: 0] MAXIGP1AWID, | 
|  | output [ 3: 0] MAXIGP1AWLEN, | 
|  | output [ 1: 0] MAXIGP1AWLOCK, | 
|  | output [ 2: 0] MAXIGP1AWPROT, | 
|  | output [ 3: 0] MAXIGP1AWQOS, | 
|  | input          MAXIGP1AWREADY, | 
|  | output [ 1: 0] MAXIGP1AWSIZE, | 
|  | output         MAXIGP1AWVALID, | 
|  | input  [11: 0] MAXIGP1BID, | 
|  | output         MAXIGP1BREADY, | 
|  | input  [ 1: 0] MAXIGP1BRESP, | 
|  | input          MAXIGP1BVALID, | 
|  | input  [31: 0] MAXIGP1RDATA, | 
|  | input  [11: 0] MAXIGP1RID, | 
|  | input          MAXIGP1RLAST, | 
|  | output         MAXIGP1RREADY, | 
|  | input  [ 1: 0] MAXIGP1RRESP, | 
|  | input          MAXIGP1RVALID, | 
|  | output [31: 0] MAXIGP1WDATA, | 
|  | output [11: 0] MAXIGP1WID, | 
|  | output         MAXIGP1WLAST, | 
|  | input          MAXIGP1WREADY, | 
|  | output [ 3: 0] MAXIGP1WSTRB, | 
|  | output         MAXIGP1WVALID, | 
|  | input          SAXIACPACLK, | 
|  | input  [31: 0] SAXIACPARADDR, | 
|  | input  [ 1: 0] SAXIACPARBURST, | 
|  | input  [ 3: 0] SAXIACPARCACHE, | 
|  | output         SAXIACPARESETN, | 
|  | input  [ 2: 0] SAXIACPARID, | 
|  | input  [ 3: 0] SAXIACPARLEN, | 
|  | input  [ 1: 0] SAXIACPARLOCK, | 
|  | input  [ 2: 0] SAXIACPARPROT, | 
|  | input  [ 3: 0] SAXIACPARQOS, | 
|  | output         SAXIACPARREADY, | 
|  | input  [ 1: 0] SAXIACPARSIZE, | 
|  | input  [ 4: 0] SAXIACPARUSER, | 
|  | input          SAXIACPARVALID, | 
|  | input  [31: 0] SAXIACPAWADDR, | 
|  | input  [ 1: 0] SAXIACPAWBURST, | 
|  | input  [ 3: 0] SAXIACPAWCACHE, | 
|  | input  [ 2: 0] SAXIACPAWID, | 
|  | input  [ 3: 0] SAXIACPAWLEN, | 
|  | input  [ 1: 0] SAXIACPAWLOCK, | 
|  | input  [ 2: 0] SAXIACPAWPROT, | 
|  | input  [ 3: 0] SAXIACPAWQOS, | 
|  | output         SAXIACPAWREADY, | 
|  | input  [ 1: 0] SAXIACPAWSIZE, | 
|  | input  [ 4: 0] SAXIACPAWUSER, | 
|  | input          SAXIACPAWVALID, | 
|  | output [ 2: 0] SAXIACPBID, | 
|  | input          SAXIACPBREADY, | 
|  | output [ 1: 0] SAXIACPBRESP, | 
|  | output         SAXIACPBVALID, | 
|  | output [63: 0] SAXIACPRDATA, | 
|  | output [ 2: 0] SAXIACPRID, | 
|  | output         SAXIACPRLAST, | 
|  | input          SAXIACPRREADY, | 
|  | output [ 1: 0] SAXIACPRRESP, | 
|  | output         SAXIACPRVALID, | 
|  | input  [63: 0] SAXIACPWDATA, | 
|  | input  [ 2: 0] SAXIACPWID, | 
|  | input          SAXIACPWLAST, | 
|  | output         SAXIACPWREADY, | 
|  | input  [ 7: 0] SAXIACPWSTRB, | 
|  | input          SAXIACPWVALID, | 
|  | input          SAXIGP0ACLK, | 
|  | input  [31: 0] SAXIGP0ARADDR, | 
|  | input  [ 1: 0] SAXIGP0ARBURST, | 
|  | input  [ 3: 0] SAXIGP0ARCACHE, | 
|  | output         SAXIGP0ARESETN, | 
|  | input  [ 5: 0] SAXIGP0ARID, | 
|  | input  [ 3: 0] SAXIGP0ARLEN, | 
|  | input  [ 1: 0] SAXIGP0ARLOCK, | 
|  | input  [ 2: 0] SAXIGP0ARPROT, | 
|  | input  [ 3: 0] SAXIGP0ARQOS, | 
|  | output         SAXIGP0ARREADY, | 
|  | input  [ 1: 0] SAXIGP0ARSIZE, | 
|  | input          SAXIGP0ARVALID, | 
|  | input  [31: 0] SAXIGP0AWADDR, | 
|  | input  [ 1: 0] SAXIGP0AWBURST, | 
|  | input  [ 3: 0] SAXIGP0AWCACHE, | 
|  | input  [ 5: 0] SAXIGP0AWID, | 
|  | input  [ 3: 0] SAXIGP0AWLEN, | 
|  | input  [ 1: 0] SAXIGP0AWLOCK, | 
|  | input  [ 2: 0] SAXIGP0AWPROT, | 
|  | input  [ 3: 0] SAXIGP0AWQOS, | 
|  | output         SAXIGP0AWREADY, | 
|  | input  [ 1: 0] SAXIGP0AWSIZE, | 
|  | input          SAXIGP0AWVALID, | 
|  | output [ 5: 0] SAXIGP0BID, | 
|  | input          SAXIGP0BREADY, | 
|  | output [ 1: 0] SAXIGP0BRESP, | 
|  | output         SAXIGP0BVALID, | 
|  | output [31: 0] SAXIGP0RDATA, | 
|  | output [ 5: 0] SAXIGP0RID, | 
|  | output         SAXIGP0RLAST, | 
|  | input          SAXIGP0RREADY, | 
|  | output [ 1: 0] SAXIGP0RRESP, | 
|  | output         SAXIGP0RVALID, | 
|  | input  [31: 0] SAXIGP0WDATA, | 
|  | input  [ 5: 0] SAXIGP0WID, | 
|  | input          SAXIGP0WLAST, | 
|  | output         SAXIGP0WREADY, | 
|  | input  [ 3: 0] SAXIGP0WSTRB, | 
|  | input          SAXIGP0WVALID, | 
|  | input          SAXIGP1ACLK, | 
|  | input  [31: 0] SAXIGP1ARADDR, | 
|  | input  [ 1: 0] SAXIGP1ARBURST, | 
|  | input  [ 3: 0] SAXIGP1ARCACHE, | 
|  | output         SAXIGP1ARESETN, | 
|  | input  [ 5: 0] SAXIGP1ARID, | 
|  | input  [ 3: 0] SAXIGP1ARLEN, | 
|  | input  [ 1: 0] SAXIGP1ARLOCK, | 
|  | input  [ 2: 0] SAXIGP1ARPROT, | 
|  | input  [ 3: 0] SAXIGP1ARQOS, | 
|  | output         SAXIGP1ARREADY, | 
|  | input  [ 1: 0] SAXIGP1ARSIZE, | 
|  | input          SAXIGP1ARVALID, | 
|  | input  [31: 0] SAXIGP1AWADDR, | 
|  | input  [ 1: 0] SAXIGP1AWBURST, | 
|  | input  [ 3: 0] SAXIGP1AWCACHE, | 
|  | input  [ 5: 0] SAXIGP1AWID, | 
|  | input  [ 3: 0] SAXIGP1AWLEN, | 
|  | input  [ 1: 0] SAXIGP1AWLOCK, | 
|  | input  [ 2: 0] SAXIGP1AWPROT, | 
|  | input  [ 3: 0] SAXIGP1AWQOS, | 
|  | output         SAXIGP1AWREADY, | 
|  | input  [ 1: 0] SAXIGP1AWSIZE, | 
|  | input          SAXIGP1AWVALID, | 
|  | output [ 5: 0] SAXIGP1BID, | 
|  | input          SAXIGP1BREADY, | 
|  | output [ 1: 0] SAXIGP1BRESP, | 
|  | output         SAXIGP1BVALID, | 
|  | output [31: 0] SAXIGP1RDATA, | 
|  | output [ 5: 0] SAXIGP1RID, | 
|  | output         SAXIGP1RLAST, | 
|  | input          SAXIGP1RREADY, | 
|  | output [ 1: 0] SAXIGP1RRESP, | 
|  | output         SAXIGP1RVALID, | 
|  | input  [31: 0] SAXIGP1WDATA, | 
|  | input  [ 5: 0] SAXIGP1WID, | 
|  | input          SAXIGP1WLAST, | 
|  | output         SAXIGP1WREADY, | 
|  | input  [ 3: 0] SAXIGP1WSTRB, | 
|  | input          SAXIGP1WVALID, | 
|  | input          SAXIHP0ACLK, | 
|  | input  [31: 0] SAXIHP0ARADDR, | 
|  | input  [ 1: 0] SAXIHP0ARBURST, | 
|  | input  [ 3: 0] SAXIHP0ARCACHE, | 
|  | output         SAXIHP0ARESETN, | 
|  | input  [ 5: 0] SAXIHP0ARID, | 
|  | input  [ 3: 0] SAXIHP0ARLEN, | 
|  | input  [ 1: 0] SAXIHP0ARLOCK, | 
|  | input  [ 2: 0] SAXIHP0ARPROT, | 
|  | input  [ 3: 0] SAXIHP0ARQOS, | 
|  | output         SAXIHP0ARREADY, | 
|  | input  [ 1: 0] SAXIHP0ARSIZE, | 
|  | input          SAXIHP0ARVALID, | 
|  | input  [31: 0] SAXIHP0AWADDR, | 
|  | input  [ 1: 0] SAXIHP0AWBURST, | 
|  | input  [ 3: 0] SAXIHP0AWCACHE, | 
|  | input  [ 5: 0] SAXIHP0AWID, | 
|  | input  [ 3: 0] SAXIHP0AWLEN, | 
|  | input  [ 1: 0] SAXIHP0AWLOCK, | 
|  | input  [ 2: 0] SAXIHP0AWPROT, | 
|  | input  [ 3: 0] SAXIHP0AWQOS, | 
|  | output         SAXIHP0AWREADY, | 
|  | input  [ 1: 0] SAXIHP0AWSIZE, | 
|  | input          SAXIHP0AWVALID, | 
|  | output [ 5: 0] SAXIHP0BID, | 
|  | input          SAXIHP0BREADY, | 
|  | output [ 1: 0] SAXIHP0BRESP, | 
|  | output         SAXIHP0BVALID, | 
|  | output [ 2: 0] SAXIHP0RACOUNT, | 
|  | output [ 7: 0] SAXIHP0RCOUNT, | 
|  | output [63: 0] SAXIHP0RDATA, | 
|  | input          SAXIHP0RDISSUECAP1EN, | 
|  | output [ 5: 0] SAXIHP0RID, | 
|  | output         SAXIHP0RLAST, | 
|  | input          SAXIHP0RREADY, | 
|  | output [ 1: 0] SAXIHP0RRESP, | 
|  | output         SAXIHP0RVALID, | 
|  | output [ 5: 0] SAXIHP0WACOUNT, | 
|  | output [ 7: 0] SAXIHP0WCOUNT, | 
|  | input  [63: 0] SAXIHP0WDATA, | 
|  | input  [ 5: 0] SAXIHP0WID, | 
|  | input          SAXIHP0WLAST, | 
|  | output         SAXIHP0WREADY, | 
|  | input          SAXIHP0WRISSUECAP1EN, | 
|  | input  [ 7: 0] SAXIHP0WSTRB, | 
|  | input          SAXIHP0WVALID, | 
|  | input          SAXIHP1ACLK, | 
|  | input  [31: 0] SAXIHP1ARADDR, | 
|  | input  [ 1: 0] SAXIHP1ARBURST, | 
|  | input  [ 3: 0] SAXIHP1ARCACHE, | 
|  | output         SAXIHP1ARESETN, | 
|  | input  [ 5: 0] SAXIHP1ARID, | 
|  | input  [ 3: 0] SAXIHP1ARLEN, | 
|  | input  [ 1: 0] SAXIHP1ARLOCK, | 
|  | input  [ 2: 0] SAXIHP1ARPROT, | 
|  | input  [ 3: 0] SAXIHP1ARQOS, | 
|  | output         SAXIHP1ARREADY, | 
|  | input  [ 1: 0] SAXIHP1ARSIZE, | 
|  | input          SAXIHP1ARVALID, | 
|  | input  [31: 0] SAXIHP1AWADDR, | 
|  | input  [ 1: 0] SAXIHP1AWBURST, | 
|  | input  [ 3: 0] SAXIHP1AWCACHE, | 
|  | input  [ 5: 0] SAXIHP1AWID, | 
|  | input  [ 3: 0] SAXIHP1AWLEN, | 
|  | input  [ 1: 0] SAXIHP1AWLOCK, | 
|  | input  [ 2: 0] SAXIHP1AWPROT, | 
|  | input  [ 3: 0] SAXIHP1AWQOS, | 
|  | output         SAXIHP1AWREADY, | 
|  | input  [ 1: 0] SAXIHP1AWSIZE, | 
|  | input          SAXIHP1AWVALID, | 
|  | output [ 5: 0] SAXIHP1BID, | 
|  | input          SAXIHP1BREADY, | 
|  | output [ 1: 0] SAXIHP1BRESP, | 
|  | output         SAXIHP1BVALID, | 
|  | output [ 2: 0] SAXIHP1RACOUNT, | 
|  | output [ 7: 0] SAXIHP1RCOUNT, | 
|  | output [63: 0] SAXIHP1RDATA, | 
|  | input          SAXIHP1RDISSUECAP1EN, | 
|  | output [ 5: 0] SAXIHP1RID, | 
|  | output         SAXIHP1RLAST, | 
|  | input          SAXIHP1RREADY, | 
|  | output [ 1: 0] SAXIHP1RRESP, | 
|  | output         SAXIHP1RVALID, | 
|  | output [ 5: 0] SAXIHP1WACOUNT, | 
|  | output [ 7: 0] SAXIHP1WCOUNT, | 
|  | input  [63: 0] SAXIHP1WDATA, | 
|  | input  [ 5: 0] SAXIHP1WID, | 
|  | input          SAXIHP1WLAST, | 
|  | output         SAXIHP1WREADY, | 
|  | input          SAXIHP1WRISSUECAP1EN, | 
|  | input  [ 7: 0] SAXIHP1WSTRB, | 
|  | input          SAXIHP1WVALID, | 
|  | input          SAXIHP2ACLK, | 
|  | input  [31: 0] SAXIHP2ARADDR, | 
|  | input  [ 1: 0] SAXIHP2ARBURST, | 
|  | input  [ 3: 0] SAXIHP2ARCACHE, | 
|  | output         SAXIHP2ARESETN, | 
|  | input  [ 5: 0] SAXIHP2ARID, | 
|  | input  [ 3: 0] SAXIHP2ARLEN, | 
|  | input  [ 1: 0] SAXIHP2ARLOCK, | 
|  | input  [ 2: 0] SAXIHP2ARPROT, | 
|  | input  [ 3: 0] SAXIHP2ARQOS, | 
|  | output         SAXIHP2ARREADY, | 
|  | input  [ 1: 0] SAXIHP2ARSIZE, | 
|  | input          SAXIHP2ARVALID, | 
|  | input  [31: 0] SAXIHP2AWADDR, | 
|  | input  [ 1: 0] SAXIHP2AWBURST, | 
|  | input  [ 3: 0] SAXIHP2AWCACHE, | 
|  | input  [ 5: 0] SAXIHP2AWID, | 
|  | input  [ 3: 0] SAXIHP2AWLEN, | 
|  | input  [ 1: 0] SAXIHP2AWLOCK, | 
|  | input  [ 2: 0] SAXIHP2AWPROT, | 
|  | input  [ 3: 0] SAXIHP2AWQOS, | 
|  | output         SAXIHP2AWREADY, | 
|  | input  [ 1: 0] SAXIHP2AWSIZE, | 
|  | input          SAXIHP2AWVALID, | 
|  | output [ 5: 0] SAXIHP2BID, | 
|  | input          SAXIHP2BREADY, | 
|  | output [ 1: 0] SAXIHP2BRESP, | 
|  | output         SAXIHP2BVALID, | 
|  | output [ 2: 0] SAXIHP2RACOUNT, | 
|  | output [ 7: 0] SAXIHP2RCOUNT, | 
|  | output [63: 0] SAXIHP2RDATA, | 
|  | input          SAXIHP2RDISSUECAP1EN, | 
|  | output [ 5: 0] SAXIHP2RID, | 
|  | output         SAXIHP2RLAST, | 
|  | input          SAXIHP2RREADY, | 
|  | output [ 1: 0] SAXIHP2RRESP, | 
|  | output         SAXIHP2RVALID, | 
|  | output [ 5: 0] SAXIHP2WACOUNT, | 
|  | output [ 7: 0] SAXIHP2WCOUNT, | 
|  | input  [63: 0] SAXIHP2WDATA, | 
|  | input  [ 5: 0] SAXIHP2WID, | 
|  | input          SAXIHP2WLAST, | 
|  | output         SAXIHP2WREADY, | 
|  | input          SAXIHP2WRISSUECAP1EN, | 
|  | input  [ 7: 0] SAXIHP2WSTRB, | 
|  | input          SAXIHP2WVALID, | 
|  | input          SAXIHP3ACLK, | 
|  | input  [31: 0] SAXIHP3ARADDR, | 
|  | input  [ 1: 0] SAXIHP3ARBURST, | 
|  | input  [ 3: 0] SAXIHP3ARCACHE, | 
|  | output         SAXIHP3ARESETN, | 
|  | input  [ 5: 0] SAXIHP3ARID, | 
|  | input  [ 3: 0] SAXIHP3ARLEN, | 
|  | input  [ 1: 0] SAXIHP3ARLOCK, | 
|  | input  [ 2: 0] SAXIHP3ARPROT, | 
|  | input  [ 3: 0] SAXIHP3ARQOS, | 
|  | output         SAXIHP3ARREADY, | 
|  | input  [ 1: 0] SAXIHP3ARSIZE, | 
|  | input          SAXIHP3ARVALID, | 
|  | input  [31: 0] SAXIHP3AWADDR, | 
|  | input  [ 1: 0] SAXIHP3AWBURST, | 
|  | input  [ 3: 0] SAXIHP3AWCACHE, | 
|  | input  [ 5: 0] SAXIHP3AWID, | 
|  | input  [ 3: 0] SAXIHP3AWLEN, | 
|  | input  [ 1: 0] SAXIHP3AWLOCK, | 
|  | input  [ 2: 0] SAXIHP3AWPROT, | 
|  | input  [ 3: 0] SAXIHP3AWQOS, | 
|  | output         SAXIHP3AWREADY, | 
|  | input  [ 1: 0] SAXIHP3AWSIZE, | 
|  | input          SAXIHP3AWVALID, | 
|  | output [ 5: 0] SAXIHP3BID, | 
|  | input          SAXIHP3BREADY, | 
|  | output [ 1: 0] SAXIHP3BRESP, | 
|  | output         SAXIHP3BVALID, | 
|  | output [ 2: 0] SAXIHP3RACOUNT, | 
|  | output [ 7: 0] SAXIHP3RCOUNT, | 
|  | output [63: 0] SAXIHP3RDATA, | 
|  | input          SAXIHP3RDISSUECAP1EN, | 
|  | output [ 5: 0] SAXIHP3RID, | 
|  | output         SAXIHP3RLAST, | 
|  | input          SAXIHP3RREADY, | 
|  | output [ 1: 0] SAXIHP3RRESP, | 
|  | output         SAXIHP3RVALID, | 
|  | output [ 5: 0] SAXIHP3WACOUNT, | 
|  | output [ 7: 0] SAXIHP3WCOUNT, | 
|  | input  [63: 0] SAXIHP3WDATA, | 
|  | input  [ 5: 0] SAXIHP3WID, | 
|  | input          SAXIHP3WLAST, | 
|  | output         SAXIHP3WREADY, | 
|  | input          SAXIHP3WRISSUECAP1EN, | 
|  | input  [ 7: 0] SAXIHP3WSTRB, | 
|  | input          SAXIHP3WVALID | 
|  | ); | 
|  |  | 
|  | endmodule | 
|  |  | 
|  | module BANK(); | 
|  |  | 
|  | parameter KEEP = 1; | 
|  | parameter DONT_TOUCH = 1; | 
|  | parameter FASM_EXTRA = ""; | 
|  | parameter INTERNAL_VREF = ""; | 
|  | parameter NUMBER = ""; | 
|  |  | 
|  | endmodule | 
|  |  | 
|  | module IPAD_GTP_VPR ( | 
|  | input I, | 
|  | output O | 
|  | ); | 
|  |  | 
|  | assign O = I; | 
|  | endmodule | 
|  |  | 
|  | module OPAD_GTP_VPR ( | 
|  | input I, | 
|  | output O | 
|  | ); | 
|  |  | 
|  | assign O = I; | 
|  | endmodule | 
|  |  | 
|  | module IBUFDS_GTE2_VPR ( | 
|  | output O, | 
|  | output ODIV2, | 
|  | input CEB, | 
|  | input I, | 
|  | input IB | 
|  | ); | 
|  |  | 
|  | parameter CLKCM_CFG = 1'b1; | 
|  | parameter CLKRCV_TRST = 1'b1; | 
|  | endmodule | 
|  |  | 
|  | module GTPE2_COMMON_VPR ( | 
|  | output DRPRDY, | 
|  | output PLL0FBCLKLOST, | 
|  | output PLL0LOCK, | 
|  | output PLL0OUTCLK, | 
|  | output PLL0OUTREFCLK, | 
|  | output PLL0REFCLKLOST, | 
|  | output PLL1FBCLKLOST, | 
|  | output PLL1LOCK, | 
|  | output PLL1OUTCLK, | 
|  | output PLL1OUTREFCLK, | 
|  | output PLL1REFCLKLOST, | 
|  | output REFCLKOUTMONITOR0, | 
|  | output REFCLKOUTMONITOR1, | 
|  | output [15:0] DRPDO, | 
|  | output [15:0] PMARSVDOUT, | 
|  | output [7:0] DMONITOROUT, | 
|  | input BGBYPASSB, | 
|  | input BGMONITORENB, | 
|  | input BGPDB, | 
|  | input BGRCALOVRDENB, | 
|  | input DRPCLK, | 
|  | input DRPEN, | 
|  | input DRPWE, | 
|  | input GTREFCLK0, | 
|  | input GTREFCLK1, | 
|  | input GTGREFCLK0, | 
|  | input GTGREFCLK1, | 
|  | input PLL0LOCKDETCLK, | 
|  | input PLL0LOCKEN, | 
|  | input PLL0PD, | 
|  | input PLL0RESET, | 
|  | input PLL1LOCKDETCLK, | 
|  | input PLL1LOCKEN, | 
|  | input PLL1PD, | 
|  | input PLL1RESET, | 
|  | input RCALENB, | 
|  | input [15:0] DRPDI, | 
|  | input [2:0] PLL0REFCLKSEL, | 
|  | input [2:0] PLL1REFCLKSEL, | 
|  | input [4:0] BGRCALOVRD, | 
|  | input [7:0] DRPADDR, | 
|  | input [7:0] PMARSVD | 
|  | ); | 
|  | parameter [63:0] BIAS_CFG = 64'h0000000000000000; | 
|  | parameter [31:0] COMMON_CFG = 32'h00000000; | 
|  | parameter [26:0] PLL0_CFG = 27'h01F03DC; | 
|  | parameter [0:0] PLL0_DMON_CFG = 1'b0; | 
|  | parameter [5:0] PLL0_FBDIV = 6'b000010; | 
|  | parameter PLL0_FBDIV_45 = 1'b1; | 
|  | parameter [23:0] PLL0_INIT_CFG = 24'h00001E; | 
|  | parameter [8:0] PLL0_LOCK_CFG = 9'h1E8; | 
|  | parameter [4:0] PLL0_REFCLK_DIV = 5'b10000; | 
|  | parameter [26:0] PLL1_CFG = 27'h01F03DC; | 
|  | parameter [0:0] PLL1_DMON_CFG = 1'b0; | 
|  | parameter [5:0] PLL1_FBDIV = 6'b000010; | 
|  | parameter PLL1_FBDIV_45 = 1'b1; | 
|  | parameter [23:0] PLL1_INIT_CFG = 24'h00001E; | 
|  | parameter [8:0] PLL1_LOCK_CFG = 9'h1E8; | 
|  | parameter [4:0] PLL1_REFCLK_DIV = 5'b10000; | 
|  | parameter [7:0] PLL_CLKOUT_CFG = 8'b00000000; | 
|  | parameter [15:0] RSVD_ATTR0 = 16'h0000; | 
|  | parameter [15:0] RSVD_ATTR1 = 16'h0000; | 
|  | parameter INV_DRPCLK = 1'b0; | 
|  | parameter INV_PLL1LOCKDETCLK = 1'b0; | 
|  | parameter INV_PLL0LOCKDETCLK = 1'b0; | 
|  | parameter GTREFCLK0_USED = 1'b0; | 
|  | parameter GTREFCLK1_USED = 1'b0; | 
|  | parameter BOTH_GTREFCLK_USED = 1'b0; | 
|  | parameter ENABLE_DRP = 1'b1; | 
|  |  | 
|  | // This parameter should never be changed according to UG482 (v1.9), pg 24 | 
|  | parameter [1:0] IBUFDS_GTE2_CLKSWING_CFG = 2'b11; | 
|  |  | 
|  | endmodule | 
|  |  | 
|  | module GTPE2_CHANNEL_VPR ( | 
|  | input GTPRXN, | 
|  | input GTPRXP, | 
|  | output GTPTXN, | 
|  | output GTPTXP, | 
|  | output DRPRDY, | 
|  | output EYESCANDATAERROR, | 
|  | output PHYSTATUS, | 
|  | output PMARSVDOUT0, | 
|  | output PMARSVDOUT1, | 
|  | output RXBYTEISALIGNED, | 
|  | output RXBYTEREALIGN, | 
|  | output RXCDRLOCK, | 
|  | output RXCHANBONDSEQ, | 
|  | output RXCHANISALIGNED, | 
|  | output RXCHANREALIGN, | 
|  | output RXCOMINITDET, | 
|  | output RXCOMMADET, | 
|  | output RXCOMSASDET, | 
|  | output RXCOMWAKEDET, | 
|  | output RXDLYSRESETDONE, | 
|  | output RXELECIDLE, | 
|  | output RXHEADERVALID, | 
|  | output RXOSINTDONE, | 
|  | output RXOSINTSTARTED, | 
|  | output RXOSINTSTROBEDONE, | 
|  | output RXOSINTSTROBESTARTED, | 
|  | output RXOUTCLK, | 
|  | output RXOUTCLKFABRIC, | 
|  | output RXOUTCLKPCS, | 
|  | output RXPHALIGNDONE, | 
|  | output RXPMARESETDONE, | 
|  | output RXPRBSERR, | 
|  | output RXRATEDONE, | 
|  | output RXRESETDONE, | 
|  | output RXSYNCDONE, | 
|  | output RXSYNCOUT, | 
|  | output RXVALID, | 
|  | output TXCOMFINISH, | 
|  | output TXDLYSRESETDONE, | 
|  | output TXGEARBOXREADY, | 
|  | output TXOUTCLK, | 
|  | output TXOUTCLKFABRIC, | 
|  | output TXOUTCLKPCS, | 
|  | output TXPHALIGNDONE, | 
|  | output TXPHINITDONE, | 
|  | output TXPMARESETDONE, | 
|  | output TXRATEDONE, | 
|  | output TXRESETDONE, | 
|  | output TXSYNCDONE, | 
|  | output TXSYNCOUT, | 
|  | output [14:0] DMONITOROUT, | 
|  | output [15:0] DRPDO, | 
|  | output [15:0] PCSRSVDOUT, | 
|  | output [1:0] RXCLKCORCNT, | 
|  | output [1:0] RXDATAVALID, | 
|  | output [1:0] RXSTARTOFSEQ, | 
|  | output [1:0] TXBUFSTATUS, | 
|  | output [2:0] RXBUFSTATUS, | 
|  | output [2:0] RXHEADER, | 
|  | output [2:0] RXSTATUS, | 
|  | output [31:0] RXDATA, | 
|  | output [3:0] RXCHARISCOMMA, | 
|  | output [3:0] RXCHARISK, | 
|  | output [3:0] RXCHBONDO, | 
|  | output [3:0] RXDISPERR, | 
|  | output [3:0] RXNOTINTABLE, | 
|  | output [4:0] RXPHMONITOR, | 
|  | output [4:0] RXPHSLIPMONITOR, | 
|  | input CFGRESET, | 
|  | input CLKRSVD0, | 
|  | input CLKRSVD1, | 
|  | input DMONFIFORESET, | 
|  | input DMONITORCLK, | 
|  | input DRPCLK, | 
|  | input DRPEN, | 
|  | input DRPWE, | 
|  | input EYESCANMODE, | 
|  | input EYESCANRESET, | 
|  | input EYESCANTRIGGER, | 
|  | input GTRESETSEL, | 
|  | input GTRXRESET, | 
|  | input GTTXRESET, | 
|  | input PMARSVDIN0, | 
|  | input PMARSVDIN1, | 
|  | input PMARSVDIN2, | 
|  | input PMARSVDIN3, | 
|  | input PMARSVDIN4, | 
|  | input RESETOVRD, | 
|  | input RX8B10BEN, | 
|  | input RXBUFRESET, | 
|  | input RXCDRFREQRESET, | 
|  | input RXCDRHOLD, | 
|  | input RXCDROVRDEN, | 
|  | input RXCDRRESET, | 
|  | input RXCDRRESETRSV, | 
|  | input RXCHBONDEN, | 
|  | input RXCHBONDMASTER, | 
|  | input RXCHBONDSLAVE, | 
|  | input RXCOMMADETEN, | 
|  | input RXDDIEN, | 
|  | input RXDFEXYDEN, | 
|  | input RXDLYBYPASS, | 
|  | input RXDLYEN, | 
|  | input RXDLYOVRDEN, | 
|  | input RXDLYSRESET, | 
|  | input RXGEARBOXSLIP, | 
|  | input RXLPMHFHOLD, | 
|  | input RXLPMHFOVRDEN, | 
|  | input RXLPMLFHOLD, | 
|  | input RXLPMLFOVRDEN, | 
|  | input RXLPMOSINTNTRLEN, | 
|  | input RXLPMRESET, | 
|  | input RXMCOMMAALIGNEN, | 
|  | input RXOOBRESET, | 
|  | input RXOSCALRESET, | 
|  | input RXOSHOLD, | 
|  | input RXOSINTEN, | 
|  | input RXOSINTHOLD, | 
|  | input RXOSINTNTRLEN, | 
|  | input RXOSINTOVRDEN, | 
|  | input RXOSINTPD, | 
|  | input RXOSINTSTROBE, | 
|  | input RXOSINTTESTOVRDEN, | 
|  | input RXOSOVRDEN, | 
|  | input RXPCOMMAALIGNEN, | 
|  | input RXPCSRESET, | 
|  | input RXPHALIGN, | 
|  | input RXPHALIGNEN, | 
|  | input RXPHDLYPD, | 
|  | input RXPHDLYRESET, | 
|  | input RXPHOVRDEN, | 
|  | input RXPMARESET, | 
|  | input RXPOLARITY, | 
|  | input RXPRBSCNTRESET, | 
|  | input RXRATEMODE, | 
|  | input RXSLIDE, | 
|  | input RXSYNCALLIN, | 
|  | input RXSYNCIN, | 
|  | input RXSYNCMODE, | 
|  | input RXUSERRDY, | 
|  | input RXUSRCLK2, | 
|  | input RXUSRCLK, | 
|  | input SETERRSTATUS, | 
|  | input SIGVALIDCLK, | 
|  | input TX8B10BEN, | 
|  | input TXCOMINIT, | 
|  | input TXCOMSAS, | 
|  | input TXCOMWAKE, | 
|  | input TXDEEMPH, | 
|  | input TXDETECTRX, | 
|  | input TXDIFFPD, | 
|  | input TXDLYBYPASS, | 
|  | input TXDLYEN, | 
|  | input TXDLYHOLD, | 
|  | input TXDLYOVRDEN, | 
|  | input TXDLYSRESET, | 
|  | input TXDLYUPDOWN, | 
|  | input TXELECIDLE, | 
|  | input TXINHIBIT, | 
|  | input TXPCSRESET, | 
|  | input TXPDELECIDLEMODE, | 
|  | input TXPHALIGN, | 
|  | input TXPHALIGNEN, | 
|  | input TXPHDLYPD, | 
|  | input TXPHDLYRESET, | 
|  | input TXPHDLYTSTCLK, | 
|  | input TXPHINIT, | 
|  | input TXPHOVRDEN, | 
|  | input TXPIPPMEN, | 
|  | input TXPIPPMOVRDEN, | 
|  | input TXPIPPMPD, | 
|  | input TXPIPPMSEL, | 
|  | input TXPISOPD, | 
|  | input TXPMARESET, | 
|  | input TXPOLARITY, | 
|  | input TXPOSTCURSORINV, | 
|  | input TXPRBSFORCEERR, | 
|  | input TXPRECURSORINV, | 
|  | input TXRATEMODE, | 
|  | input TXSTARTSEQ, | 
|  | input TXSWING, | 
|  | input TXSYNCALLIN, | 
|  | input TXSYNCIN, | 
|  | input TXSYNCMODE, | 
|  | input TXUSERRDY, | 
|  | input TXUSRCLK2, | 
|  | input TXUSRCLK, | 
|  | input [13:0] RXADAPTSELTEST, | 
|  | input [15:0] DRPDI, | 
|  | input [15:0] GTRSVD, | 
|  | input [15:0] PCSRSVDIN, | 
|  | input [19:0] TSTIN, | 
|  | input [1:0] RXELECIDLEMODE, | 
|  | input [1:0] RXPD, | 
|  | input [1:0] RXSYSCLKSEL, | 
|  | input [1:0] TXPD, | 
|  | input [1:0] TXSYSCLKSEL, | 
|  | input [2:0] LOOPBACK, | 
|  | input [2:0] RXCHBONDLEVEL, | 
|  | input [2:0] RXOUTCLKSEL, | 
|  | input [2:0] RXPRBSSEL, | 
|  | input [2:0] RXRATE, | 
|  | input [2:0] TXBUFDIFFCTRL, | 
|  | input [2:0] TXHEADER, | 
|  | input [2:0] TXMARGIN, | 
|  | input [2:0] TXOUTCLKSEL, | 
|  | input [2:0] TXPRBSSEL, | 
|  | input [2:0] TXRATE, | 
|  | input [31:0] TXDATA, | 
|  | input [3:0] RXCHBONDI, | 
|  | input [3:0] RXOSINTCFG, | 
|  | input [3:0] RXOSINTID0, | 
|  | input [3:0] TX8B10BBYPASS, | 
|  | input [3:0] TXCHARDISPMODE, | 
|  | input [3:0] TXCHARDISPVAL, | 
|  | input [3:0] TXCHARISK, | 
|  | input [3:0] TXDIFFCTRL, | 
|  | input [4:0] TXPIPPMSTEPSIZE, | 
|  | input [4:0] TXPOSTCURSOR, | 
|  | input [4:0] TXPRECURSOR, | 
|  | input [6:0] TXMAINCURSOR, | 
|  | input [6:0] TXSEQUENCE, | 
|  | input [8:0] DRPADDR | 
|  | ); | 
|  | parameter [0:0] ACJTAG_DEBUG_MODE = 1'b0; | 
|  | parameter [0:0] ACJTAG_MODE = 1'b0; | 
|  | parameter [0:0] ACJTAG_RESET = 1'b0; | 
|  | parameter [19:0] ADAPT_CFG0 = 20'b00000000000000000000; | 
|  | parameter ALIGN_COMMA_DOUBLE = 1'b0; | 
|  | parameter [9:0] ALIGN_COMMA_ENABLE = 10'b0001111111; | 
|  | parameter [1:0] ALIGN_COMMA_WORD = 1; | 
|  | parameter ALIGN_MCOMMA_DET = 1'b1; | 
|  | parameter [9:0] ALIGN_MCOMMA_VALUE = 10'b1010000011; | 
|  | parameter ALIGN_PCOMMA_DET = 1'b1; | 
|  | parameter [9:0] ALIGN_PCOMMA_VALUE = 10'b0101111100; | 
|  | parameter CBCC_DATA_SOURCE_SEL_DECODED = 1'b1; | 
|  | parameter [42:0] CFOK_CFG = 43'b1001001000000000000000001000000111010000000; | 
|  | parameter [6:0] CFOK_CFG2 = 7'b0100000; | 
|  | parameter [6:0] CFOK_CFG3 = 7'b0100000; | 
|  | parameter [0:0] CFOK_CFG4 = 1'b0; | 
|  | parameter [1:0] CFOK_CFG5 = 2'b00; | 
|  | parameter [3:0] CFOK_CFG6 = 4'b0000; | 
|  | parameter CHAN_BOND_KEEP_ALIGN = 1'b0; | 
|  | parameter [3:0] CHAN_BOND_MAX_SKEW = 7; | 
|  | parameter [9:0] CHAN_BOND_SEQ_1_1 = 10'b0101111100; | 
|  | parameter [9:0] CHAN_BOND_SEQ_1_2 = 10'b0000000000; | 
|  | parameter [9:0] CHAN_BOND_SEQ_1_3 = 10'b0000000000; | 
|  | parameter [9:0] CHAN_BOND_SEQ_1_4 = 10'b0000000000; | 
|  | parameter [3:0] CHAN_BOND_SEQ_1_ENABLE = 4'b1111; | 
|  | parameter [9:0] CHAN_BOND_SEQ_2_1 = 10'b0100000000; | 
|  | parameter [9:0] CHAN_BOND_SEQ_2_2 = 10'b0100000000; | 
|  | parameter [9:0] CHAN_BOND_SEQ_2_3 = 10'b0100000000; | 
|  | parameter [9:0] CHAN_BOND_SEQ_2_4 = 10'b0100000000; | 
|  | parameter [3:0] CHAN_BOND_SEQ_2_ENABLE = 4'b1111; | 
|  | parameter CHAN_BOND_SEQ_2_USE = 1'b0; | 
|  | parameter [1:0] CHAN_BOND_SEQ_LEN = 2'b00; | 
|  | parameter [0:0] CLK_COMMON_SWING = 1'b0; | 
|  | parameter CLK_CORRECT_USE = 1'b1; | 
|  | parameter CLK_COR_KEEP_IDLE = 1'b0; | 
|  | parameter [5:0] CLK_COR_MAX_LAT = 20; | 
|  | parameter [5:0] CLK_COR_MIN_LAT = 18; | 
|  | parameter CLK_COR_PRECEDENCE = 1'b1; | 
|  | parameter [4:0] CLK_COR_REPEAT_WAIT = 0; | 
|  | parameter [9:0] CLK_COR_SEQ_1_1 = 10'b0100011100; | 
|  | parameter [9:0] CLK_COR_SEQ_1_2 = 10'b0000000000; | 
|  | parameter [9:0] CLK_COR_SEQ_1_3 = 10'b0000000000; | 
|  | parameter [9:0] CLK_COR_SEQ_1_4 = 10'b0000000000; | 
|  | parameter [3:0] CLK_COR_SEQ_1_ENABLE = 4'b1111; | 
|  | parameter [9:0] CLK_COR_SEQ_2_1 = 10'b0100000000; | 
|  | parameter [9:0] CLK_COR_SEQ_2_2 = 10'b0100000000; | 
|  | parameter [9:0] CLK_COR_SEQ_2_3 = 10'b0100000000; | 
|  | parameter [9:0] CLK_COR_SEQ_2_4 = 10'b0100000000; | 
|  | parameter [3:0] CLK_COR_SEQ_2_ENABLE = 4'b1111; | 
|  | parameter CLK_COR_SEQ_2_USE = 1'b0; | 
|  | parameter [1:0] CLK_COR_SEQ_LEN = 2'b00; | 
|  | parameter DEC_MCOMMA_DETECT = 1'b1; | 
|  | parameter DEC_PCOMMA_DETECT = 1'b1; | 
|  | parameter DEC_VALID_COMMA_ONLY = 1'b1; | 
|  | parameter [23:0] DMONITOR_CFG = 24'h000A00; | 
|  | parameter [0:0] ES_CLK_PHASE_SEL = 1'b0; | 
|  | parameter [5:0] ES_CONTROL = 6'b000000; | 
|  | parameter ES_ERRDET_EN = 1'b0; | 
|  | parameter ES_EYE_SCAN_EN = 1'b0; | 
|  | parameter [11:0] ES_HORZ_OFFSET = 12'h010; | 
|  | parameter [9:0] ES_PMA_CFG = 10'b0000000000; | 
|  | parameter [4:0] ES_PRESCALE = 5'b00000; | 
|  | parameter [79:0] ES_QUALIFIER = 80'h00000000000000000000; | 
|  | parameter [79:0] ES_QUAL_MASK = 80'h00000000000000000000; | 
|  | parameter [79:0] ES_SDATA_MASK = 80'h00000000000000000000; | 
|  | parameter [8:0] ES_VERT_OFFSET = 9'b000000000; | 
|  | parameter [3:0] FTS_DESKEW_SEQ_ENABLE = 4'b1111; | 
|  | parameter [3:0] FTS_LANE_DESKEW_CFG = 4'b1111; | 
|  | parameter FTS_LANE_DESKEW_EN = 1'b0; | 
|  | parameter [2:0] GEARBOX_MODE = 3'b000; | 
|  | parameter [0:0] LOOPBACK_CFG = 1'b0; | 
|  | parameter [1:0] OUTREFCLK_SEL_INV = 2'b11; | 
|  | parameter PCS_PCIE_EN = 1'b0; | 
|  | parameter [47:0] PCS_RSVD_ATTR = 48'h000000000000; | 
|  | parameter [11:0] PD_TRANS_TIME_FROM_P2 = 12'h03C; | 
|  | parameter [7:0] PD_TRANS_TIME_NONE_P2 = 8'h19; | 
|  | parameter [7:0] PD_TRANS_TIME_TO_P2 = 8'h64; | 
|  | parameter [0:0] PMA_LOOPBACK_CFG = 1'b0; | 
|  | parameter [31:0] PMA_RSV = 32'h00000333; | 
|  | parameter [31:0] PMA_RSV2 = 32'h00002050; | 
|  | parameter [1:0] PMA_RSV3 = 2'b00; | 
|  | parameter [3:0] PMA_RSV4 = 4'b0000; | 
|  | parameter [0:0] PMA_RSV5 = 1'b0; | 
|  | parameter [0:0] PMA_RSV6 = 1'b0; | 
|  | parameter [0:0] PMA_RSV7 = 1'b0; | 
|  | parameter [4:0] RXBUFRESET_TIME = 5'b00001; | 
|  | parameter RXBUF_ADDR_MODE_FAST = 1'b0; | 
|  | parameter [3:0] RXBUF_EIDLE_HI_CNT = 4'b1000; | 
|  | parameter [3:0] RXBUF_EIDLE_LO_CNT = 4'b0000; | 
|  | parameter RXBUF_EN = 1'b1; | 
|  | parameter RXBUF_RESET_ON_CB_CHANGE = 1'b1; | 
|  | parameter RXBUF_RESET_ON_COMMAALIGN = 1'b0; | 
|  | parameter RXBUF_RESET_ON_EIDLE = 1'b0; | 
|  | parameter RXBUF_RESET_ON_RATE_CHANGE = 1'b1; | 
|  | parameter [5:0] RXBUF_THRESH_OVFLW = 61; | 
|  | parameter RXBUF_THRESH_OVRD = 1'b0; | 
|  | parameter [5:0] RXBUF_THRESH_UNDFLW = 4; | 
|  | parameter [4:0] RXCDRFREQRESET_TIME = 5'b00001; | 
|  | parameter [4:0] RXCDRPHRESET_TIME = 5'b00001; | 
|  | parameter [82:0] RXCDR_CFG = 83'h0000107FE406001041010; | 
|  | parameter [0:0] RXCDR_FR_RESET_ON_EIDLE = 1'b0; | 
|  | parameter [0:0] RXCDR_HOLD_DURING_EIDLE = 1'b0; | 
|  | parameter [5:0] RXCDR_LOCK_CFG = 6'b001001; | 
|  | parameter [0:0] RXCDR_PH_RESET_ON_EIDLE = 1'b0; | 
|  | parameter [15:0] RXDLY_CFG = 16'h0010; | 
|  | parameter [8:0] RXDLY_LCFG = 9'h020; | 
|  | parameter [15:0] RXDLY_TAP_CFG = 16'h0000; | 
|  | parameter RXGEARBOX_EN = 1'b0; | 
|  | parameter [4:0] RXISCANRESET_TIME = 5'b00001; | 
|  | parameter [6:0] RXLPMRESET_TIME = 7'b0001111; | 
|  | parameter [0:0] RXLPM_BIAS_STARTUP_DISABLE = 1'b0; | 
|  | parameter [3:0] RXLPM_CFG = 4'b0110; | 
|  | parameter [0:0] RXLPM_CFG1 = 1'b0; | 
|  | parameter [0:0] RXLPM_CM_CFG = 1'b0; | 
|  | parameter [8:0] RXLPM_GC_CFG = 9'b111100010; | 
|  | parameter [2:0] RXLPM_GC_CFG2 = 3'b001; | 
|  | parameter [13:0] RXLPM_HF_CFG = 14'b00001111110000; | 
|  | parameter [4:0] RXLPM_HF_CFG2 = 5'b01010; | 
|  | parameter [3:0] RXLPM_HF_CFG3 = 4'b0000; | 
|  | parameter [0:0] RXLPM_HOLD_DURING_EIDLE = 1'b0; | 
|  | parameter [0:0] RXLPM_INCM_CFG = 1'b0; | 
|  | parameter [0:0] RXLPM_IPCM_CFG = 1'b0; | 
|  | parameter [17:0] RXLPM_LF_CFG = 18'b000000001111110000; | 
|  | parameter [4:0] RXLPM_LF_CFG2 = 5'b01010; | 
|  | parameter [2:0] RXLPM_OSINT_CFG = 3'b100; | 
|  | parameter [6:0] RXOOB_CFG = 7'b0000110; | 
|  | parameter RXOOB_CLK_CFG_FABRIC = 1'b0; | 
|  | parameter [4:0] RXOSCALRESET_TIME = 5'b00011; | 
|  | parameter [4:0] RXOSCALRESET_TIMEOUT = 5'b00000; | 
|  | parameter [1:0] RXOUT_DIV = 2'b01; | 
|  | parameter [4:0] RXPCSRESET_TIME = 5'b00001; | 
|  | parameter [23:0] RXPHDLY_CFG = 24'h084000; | 
|  | parameter [23:0] RXPH_CFG = 24'hC00002; | 
|  | parameter [4:0] RXPH_MONITOR_SEL = 5'b00000; | 
|  | parameter [2:0] RXPI_CFG0 = 3'b000; | 
|  | parameter [0:0] RXPI_CFG1 = 1'b0; | 
|  | parameter [0:0] RXPI_CFG2 = 1'b0; | 
|  | parameter [4:0] RXPMARESET_TIME = 5'b00011; | 
|  | parameter [0:0] RXPRBS_ERR_LOOPBACK = 1'b0; | 
|  | parameter [3:0] RXSLIDE_AUTO_WAIT = 7; | 
|  | parameter RXSLIDE_MODE_AUTO = 1'b0; | 
|  | parameter RXSLIDE_MODE_PCS = 1'b0; | 
|  | parameter RXSLIDE_MODE_PMA = 1'b0; | 
|  | parameter [0:0] RXSYNC_MULTILANE = 1'b0; | 
|  | parameter [0:0] RXSYNC_OVRD = 1'b0; | 
|  | parameter [0:0] RXSYNC_SKIP_DA = 1'b0; | 
|  | parameter [15:0] RX_BIAS_CFG = 16'b0000111100110011; | 
|  | parameter [5:0] RX_BUFFER_CFG = 6'b000000; | 
|  | parameter [4:0] RX_CLK25_DIV = 5'b00110; | 
|  | parameter [0:0] RX_CLKMUX_EN = 1'b1; | 
|  | parameter [1:0] RX_CM_SEL = 2'b11; | 
|  | parameter [3:0] RX_CM_TRIM = 4'b0100; | 
|  | parameter [2:0] RX_DATA_WIDTH = 3'b011; | 
|  | parameter [5:0] RX_DDI_SEL = 6'b000000; | 
|  | parameter [13:0] RX_DEBUG_CFG = 14'b00000000000000; | 
|  | parameter RX_DEFER_RESET_BUF_EN = 1'b1; | 
|  | parameter RX_DISPERR_SEQ_MATCH = 1'b1; | 
|  | parameter [12:0] RX_OS_CFG = 13'b0001111110000; | 
|  | parameter [4:0] RX_SIG_VALID_DLY = 5'b01001; | 
|  | parameter RX_XCLK_SEL_RXUSR = 1'b0; | 
|  | parameter [6:0] SAS_MAX_COM = 64; | 
|  | parameter [5:0] SAS_MIN_COM = 36; | 
|  | parameter [3:0] SATA_BURST_SEQ_LEN = 4'b1111; | 
|  | parameter [2:0] SATA_BURST_VAL = 3'b100; | 
|  | parameter [2:0] SATA_EIDLE_VAL = 3'b100; | 
|  | parameter [5:0] SATA_MAX_BURST = 8; | 
|  | parameter [5:0] SATA_MAX_INIT = 21; | 
|  | parameter [5:0] SATA_MAX_WAKE = 7; | 
|  | parameter [5:0] SATA_MIN_BURST = 4; | 
|  | parameter [5:0] SATA_MIN_INIT = 12; | 
|  | parameter [5:0] SATA_MIN_WAKE = 4; | 
|  | parameter SATA_PLL_CFG_VCO_1500MHZ = 1'b0; | 
|  | parameter SATA_PLL_CFG_VCO_750MHZ = 1'b0; | 
|  | parameter SHOW_REALIGN_COMMA = 1'b1; | 
|  | parameter SIM_RECEIVER_DETECT_PASS = 1'b1; | 
|  | parameter SIM_RESET_SPEEDUP = 1'b1; | 
|  | parameter SIM_TX_EIDLE_DRIVE_LEVEL = "X"; | 
|  | parameter SIM_VERSION = "1.0"; | 
|  | parameter [14:0] TERM_RCAL_CFG = 15'b100001000010000; | 
|  | parameter [2:0] TERM_RCAL_OVRD = 3'b000; | 
|  | parameter [7:0] TRANS_TIME_RATE = 8'h0E; | 
|  | parameter [31:0] TST_RSV = 32'h00000000; | 
|  | parameter TXBUF_EN = 1'b1; | 
|  | parameter TXBUF_RESET_ON_RATE_CHANGE = 1'b0; | 
|  | parameter [15:0] TXDLY_CFG = 16'h0010; | 
|  | parameter [8:0] TXDLY_LCFG = 9'h020; | 
|  | parameter [15:0] TXDLY_TAP_CFG = 16'h0000; | 
|  | parameter TXGEARBOX_EN = 1'b0; | 
|  | parameter [0:0] TXOOB_CFG = 1'b0; | 
|  | parameter [1:0] TXOUT_DIV = 2'b01; | 
|  | parameter [4:0] TXPCSRESET_TIME = 5'b00001; | 
|  | parameter [23:0] TXPHDLY_CFG = 24'h084000; | 
|  | parameter [15:0] TXPH_CFG = 16'h0400; | 
|  | parameter [4:0] TXPH_MONITOR_SEL = 5'b00000; | 
|  | parameter [1:0] TXPI_CFG0 = 2'b00; | 
|  | parameter [1:0] TXPI_CFG1 = 2'b00; | 
|  | parameter [1:0] TXPI_CFG2 = 2'b00; | 
|  | parameter [0:0] TXPI_CFG3 = 1'b0; | 
|  | parameter [0:0] TXPI_CFG4 = 1'b0; | 
|  | parameter [2:0] TXPI_CFG5 = 3'b000; | 
|  | parameter [0:0] TXPI_GREY_SEL = 1'b0; | 
|  | parameter [0:0] TXPI_INVSTROBE_SEL = 1'b0; | 
|  | parameter TXPI_PPMCLK_SEL_TXUSRCLK2 = 1'b1; | 
|  | parameter [7:0] TXPI_PPM_CFG = 8'b00000000; | 
|  | parameter [2:0] TXPI_SYNFREQ_PPM = 3'b000; | 
|  | parameter [4:0] TXPMARESET_TIME = 5'b00001; | 
|  | parameter [0:0] TXSYNC_MULTILANE = 1'b0; | 
|  | parameter [0:0] TXSYNC_OVRD = 1'b0; | 
|  | parameter [0:0] TXSYNC_SKIP_DA = 1'b0; | 
|  | parameter [4:0] TX_CLK25_DIV = 5'b00110; | 
|  | parameter [0:0] TX_CLKMUX_EN = 1'b1; | 
|  | parameter [2:0] TX_DATA_WIDTH = 3'b011; | 
|  | parameter [5:0] TX_DEEMPH0 = 6'b000000; | 
|  | parameter [5:0] TX_DEEMPH1 = 6'b000000; | 
|  | parameter TX_DRIVE_MODE_PIPE = 1'b0; | 
|  | parameter [2:0] TX_EIDLE_ASSERT_DELAY = 3'b110; | 
|  | parameter [2:0] TX_EIDLE_DEASSERT_DELAY = 3'b100; | 
|  | parameter TX_LOOPBACK_DRIVE_HIZ = 1'b0; | 
|  | parameter [0:0] TX_MAINCURSOR_SEL = 1'b0; | 
|  | parameter [6:0] TX_MARGIN_FULL_0 = 7'b1001110; | 
|  | parameter [6:0] TX_MARGIN_FULL_1 = 7'b1001001; | 
|  | parameter [6:0] TX_MARGIN_FULL_2 = 7'b1000101; | 
|  | parameter [6:0] TX_MARGIN_FULL_3 = 7'b1000010; | 
|  | parameter [6:0] TX_MARGIN_FULL_4 = 7'b1000000; | 
|  | parameter [6:0] TX_MARGIN_LOW_0 = 7'b1000110; | 
|  | parameter [6:0] TX_MARGIN_LOW_1 = 7'b1000100; | 
|  | parameter [6:0] TX_MARGIN_LOW_2 = 7'b1000010; | 
|  | parameter [6:0] TX_MARGIN_LOW_3 = 7'b1000000; | 
|  | parameter [6:0] TX_MARGIN_LOW_4 = 7'b1000000; | 
|  | parameter [0:0] TX_PREDRIVER_MODE = 1'b0; | 
|  | parameter [13:0] TX_RXDETECT_CFG = 14'h1832; | 
|  | parameter [2:0] TX_RXDETECT_REF = 3'b100; | 
|  | parameter TX_XCLK_SEL_TXUSR = 1'b1; | 
|  | parameter [0:0] UCODEER_CLR = 1'b0; | 
|  | parameter [0:0] USE_PCS_CLK_PHASE_SEL = 1'b0; | 
|  |  | 
|  | parameter INV_TXUSRCLK = 1'b1; | 
|  | parameter INV_TXUSRCLK2 = 1'b1; | 
|  | parameter INV_TXPHDLYTSTCLK = 1'b1; | 
|  | parameter INV_SIGVALIDCLK = 1'b1; | 
|  | parameter INV_RXUSRCLK = 1'b1; | 
|  | parameter INV_RXUSRCLK2 = 1'b1; | 
|  | parameter INV_DRPCLK = 1'b1; | 
|  | parameter INV_DMONITORCLK = 1'b1; | 
|  | parameter INV_CLKRSVD0 = 1'b1; | 
|  | parameter INV_CLKRSVD1 = 1'b1; | 
|  | endmodule | 
|  |  | 
|  | module PCIE_2_1_VPR ( | 
|  | output CFGAERECRCCHECKEN, | 
|  | output CFGAERECRCGENEN, | 
|  | input [4:0] CFGAERINTERRUPTMSGNUM, | 
|  | output CFGAERROOTERRCORRERRRECEIVED, | 
|  | output CFGAERROOTERRCORRERRREPORTINGEN, | 
|  | output CFGAERROOTERRFATALERRRECEIVED, | 
|  | output CFGAERROOTERRFATALERRREPORTINGEN, | 
|  | output CFGAERROOTERRNONFATALERRRECEIVED, | 
|  | output CFGAERROOTERRNONFATALERRREPORTINGEN, | 
|  | output CFGBRIDGESERREN, | 
|  | output CFGCOMMANDBUSMASTERENABLE, | 
|  | output CFGCOMMANDINTERRUPTDISABLE, | 
|  | output CFGCOMMANDIOENABLE, | 
|  | output CFGCOMMANDMEMENABLE, | 
|  | output CFGCOMMANDSERREN, | 
|  | output CFGDEVCONTROL2ARIFORWARDEN, | 
|  | output CFGDEVCONTROL2ATOMICEGRESSBLOCK, | 
|  | output CFGDEVCONTROL2ATOMICREQUESTEREN, | 
|  | output CFGDEVCONTROL2CPLTIMEOUTDIS, | 
|  | output [3:0] CFGDEVCONTROL2CPLTIMEOUTVAL, | 
|  | output CFGDEVCONTROL2IDOCPLEN, | 
|  | output CFGDEVCONTROL2IDOREQEN, | 
|  | output CFGDEVCONTROL2LTREN, | 
|  | output CFGDEVCONTROL2TLPPREFIXBLOCK, | 
|  | output CFGDEVCONTROLAUXPOWEREN, | 
|  | output CFGDEVCONTROLCORRERRREPORTINGEN, | 
|  | output CFGDEVCONTROLENABLERO, | 
|  | output CFGDEVCONTROLEXTTAGEN, | 
|  | output CFGDEVCONTROLFATALERRREPORTINGEN, | 
|  | output [2:0] CFGDEVCONTROLMAXPAYLOAD, | 
|  | output [2:0] CFGDEVCONTROLMAXREADREQ, | 
|  | output CFGDEVCONTROLNONFATALREPORTINGEN, | 
|  | output CFGDEVCONTROLNOSNOOPEN, | 
|  | output CFGDEVCONTROLPHANTOMEN, | 
|  | output CFGDEVCONTROLURERRREPORTINGEN, | 
|  | input [15:0] CFGDEVID, | 
|  | output CFGDEVSTATUSCORRERRDETECTED, | 
|  | output CFGDEVSTATUSFATALERRDETECTED, | 
|  | output CFGDEVSTATUSNONFATALERRDETECTED, | 
|  | output CFGDEVSTATUSURDETECTED, | 
|  | input [7:0] CFGDSBUSNUMBER, | 
|  | input [4:0] CFGDSDEVICENUMBER, | 
|  | input [2:0] CFGDSFUNCTIONNUMBER, | 
|  | input [63:0] CFGDSN, | 
|  | input CFGERRACSN, | 
|  | input [127:0] CFGERRAERHEADERLOG, | 
|  | output CFGERRAERHEADERLOGSETN, | 
|  | input CFGERRATOMICEGRESSBLOCKEDN, | 
|  | input CFGERRCORN, | 
|  | input CFGERRCPLABORTN, | 
|  | output CFGERRCPLRDYN, | 
|  | input CFGERRCPLTIMEOUTN, | 
|  | input CFGERRCPLUNEXPECTN, | 
|  | input CFGERRECRCN, | 
|  | input CFGERRINTERNALCORN, | 
|  | input CFGERRINTERNALUNCORN, | 
|  | input CFGERRLOCKEDN, | 
|  | input CFGERRMALFORMEDN, | 
|  | input CFGERRMCBLOCKEDN, | 
|  | input CFGERRNORECOVERYN, | 
|  | input CFGERRPOISONEDN, | 
|  | input CFGERRPOSTEDN, | 
|  | input [47:0] CFGERRTLPCPLHEADER, | 
|  | input CFGERRURN, | 
|  | input CFGFORCECOMMONCLOCKOFF, | 
|  | input CFGFORCEEXTENDEDSYNCON, | 
|  | input [2:0] CFGFORCEMPS, | 
|  | input CFGINTERRUPTASSERTN, | 
|  | input [7:0] CFGINTERRUPTDI, | 
|  | output [7:0] CFGINTERRUPTDO, | 
|  | output [2:0] CFGINTERRUPTMMENABLE, | 
|  | output CFGINTERRUPTMSIENABLE, | 
|  | output CFGINTERRUPTMSIXENABLE, | 
|  | output CFGINTERRUPTMSIXFM, | 
|  | input CFGINTERRUPTN, | 
|  | output CFGINTERRUPTRDYN, | 
|  | input CFGINTERRUPTSTATN, | 
|  | output [1:0] CFGLINKCONTROLASPMCONTROL, | 
|  | output CFGLINKCONTROLAUTOBANDWIDTHINTEN, | 
|  | output CFGLINKCONTROLBANDWIDTHINTEN, | 
|  | output CFGLINKCONTROLCLOCKPMEN, | 
|  | output CFGLINKCONTROLCOMMONCLOCK, | 
|  | output CFGLINKCONTROLEXTENDEDSYNC, | 
|  | output CFGLINKCONTROLHWAUTOWIDTHDIS, | 
|  | output CFGLINKCONTROLLINKDISABLE, | 
|  | output CFGLINKCONTROLRCB, | 
|  | output CFGLINKCONTROLRETRAINLINK, | 
|  | output CFGLINKSTATUSAUTOBANDWIDTHSTATUS, | 
|  | output CFGLINKSTATUSBANDWIDTHSTATUS, | 
|  | output [1:0] CFGLINKSTATUSCURRENTSPEED, | 
|  | output CFGLINKSTATUSDLLACTIVE, | 
|  | output CFGLINKSTATUSLINKTRAINING, | 
|  | output [3:0] CFGLINKSTATUSNEGOTIATEDWIDTH, | 
|  | input [3:0] CFGMGMTBYTEENN, | 
|  | input [31:0] CFGMGMTDI, | 
|  | output [31:0] CFGMGMTDO, | 
|  | input [9:0] CFGMGMTDWADDR, | 
|  | input CFGMGMTRDENN, | 
|  | output CFGMGMTRDWRDONEN, | 
|  | input CFGMGMTWRENN, | 
|  | input CFGMGMTWRREADONLYN, | 
|  | input CFGMGMTWRRW1CASRWN, | 
|  | output [15:0] CFGMSGDATA, | 
|  | output CFGMSGRECEIVED, | 
|  | output CFGMSGRECEIVEDASSERTINTA, | 
|  | output CFGMSGRECEIVEDASSERTINTB, | 
|  | output CFGMSGRECEIVEDASSERTINTC, | 
|  | output CFGMSGRECEIVEDASSERTINTD, | 
|  | output CFGMSGRECEIVEDDEASSERTINTA, | 
|  | output CFGMSGRECEIVEDDEASSERTINTB, | 
|  | output CFGMSGRECEIVEDDEASSERTINTC, | 
|  | output CFGMSGRECEIVEDDEASSERTINTD, | 
|  | output CFGMSGRECEIVEDERRCOR, | 
|  | output CFGMSGRECEIVEDERRFATAL, | 
|  | output CFGMSGRECEIVEDERRNONFATAL, | 
|  | output CFGMSGRECEIVEDPMASNAK, | 
|  | output CFGMSGRECEIVEDPMETO, | 
|  | output CFGMSGRECEIVEDPMETOACK, | 
|  | output CFGMSGRECEIVEDPMPME, | 
|  | output CFGMSGRECEIVEDSETSLOTPOWERLIMIT, | 
|  | output CFGMSGRECEIVEDUNLOCK, | 
|  | input [4:0] CFGPCIECAPINTERRUPTMSGNUM, | 
|  | output [2:0] CFGPCIELINKSTATE, | 
|  | output CFGPMCSRPMEEN, | 
|  | output CFGPMCSRPMESTATUS, | 
|  | output [1:0] CFGPMCSRPOWERSTATE, | 
|  | input [1:0] CFGPMFORCESTATE, | 
|  | input CFGPMFORCESTATEENN, | 
|  | input CFGPMHALTASPML0SN, | 
|  | input CFGPMHALTASPML1N, | 
|  | output CFGPMRCVASREQL1N, | 
|  | output CFGPMRCVENTERL1N, | 
|  | output CFGPMRCVENTERL23N, | 
|  | output CFGPMRCVREQACKN, | 
|  | input CFGPMSENDPMETON, | 
|  | input CFGPMTURNOFFOKN, | 
|  | input CFGPMWAKEN, | 
|  | input [7:0] CFGPORTNUMBER, | 
|  | input [7:0] CFGREVID, | 
|  | output CFGROOTCONTROLPMEINTEN, | 
|  | output CFGROOTCONTROLSYSERRCORRERREN, | 
|  | output CFGROOTCONTROLSYSERRFATALERREN, | 
|  | output CFGROOTCONTROLSYSERRNONFATALERREN, | 
|  | output CFGSLOTCONTROLELECTROMECHILCTLPULSE, | 
|  | input [15:0] CFGSUBSYSID, | 
|  | input [15:0] CFGSUBSYSVENDID, | 
|  | output CFGTRANSACTION, | 
|  | output [6:0] CFGTRANSACTIONADDR, | 
|  | output CFGTRANSACTIONTYPE, | 
|  | input CFGTRNPENDINGN, | 
|  | output [6:0] CFGVCTCVCMAP, | 
|  | input [15:0] CFGVENDID, | 
|  | input CMRSTN, | 
|  | input CMSTICKYRSTN, | 
|  | input [1:0] DBGMODE, | 
|  | output DBGSCLRA, | 
|  | output DBGSCLRB, | 
|  | output DBGSCLRC, | 
|  | output DBGSCLRD, | 
|  | output DBGSCLRE, | 
|  | output DBGSCLRF, | 
|  | output DBGSCLRG, | 
|  | output DBGSCLRH, | 
|  | output DBGSCLRI, | 
|  | output DBGSCLRJ, | 
|  | output DBGSCLRK, | 
|  | input DBGSUBMODE, | 
|  | output [63:0] DBGVECA, | 
|  | output [63:0] DBGVECB, | 
|  | output [11:0] DBGVECC, | 
|  | input DLRSTN, | 
|  | input [8:0] DRPADDR, | 
|  | input DRPCLK, | 
|  | input [15:0] DRPDI, | 
|  | output [15:0] DRPDO, | 
|  | input DRPEN, | 
|  | output DRPRDY, | 
|  | input DRPWE, | 
|  | input FUNCLVLRSTN, | 
|  | output LL2BADDLLPERR, | 
|  | output LL2BADTLPERR, | 
|  | output [4:0] LL2LINKSTATUS, | 
|  | output LL2PROTOCOLERR, | 
|  | output LL2RECEIVERERR, | 
|  | output LL2REPLAYROERR, | 
|  | output LL2REPLAYTOERR, | 
|  | input LL2SENDASREQL1, | 
|  | input LL2SENDENTERL1, | 
|  | input LL2SENDENTERL23, | 
|  | input LL2SENDPMACK, | 
|  | input LL2SUSPENDNOW, | 
|  | output LL2SUSPENDOK, | 
|  | output LL2TFCINIT1SEQ, | 
|  | output LL2TFCINIT2SEQ, | 
|  | input LL2TLPRCV, | 
|  | output LL2TXIDLE, | 
|  | output LNKCLKEN, | 
|  | output [12:0] MIMRXRADDR, | 
|  | input [67:0] MIMRXRDATA, | 
|  | output MIMRXREN, | 
|  | output [12:0] MIMRXWADDR, | 
|  | output [67:0] MIMRXWDATA, | 
|  | output MIMRXWEN, | 
|  | output [12:0] MIMTXRADDR, | 
|  | input [68:0] MIMTXRDATA, | 
|  | output MIMTXREN, | 
|  | output [12:0] MIMTXWADDR, | 
|  | output [68:0] MIMTXWDATA, | 
|  | output MIMTXWEN, | 
|  | input PIPECLK, | 
|  | input PIPERX0CHANISALIGNED, | 
|  | input [1:0] PIPERX0CHARISK, | 
|  | input [15:0] PIPERX0DATA, | 
|  | input PIPERX0ELECIDLE, | 
|  | input PIPERX0PHYSTATUS, | 
|  | output PIPERX0POLARITY, | 
|  | input [2:0] PIPERX0STATUS, | 
|  | input PIPERX0VALID, | 
|  | input PIPERX1CHANISALIGNED, | 
|  | input [1:0] PIPERX1CHARISK, | 
|  | input [15:0] PIPERX1DATA, | 
|  | input PIPERX1ELECIDLE, | 
|  | input PIPERX1PHYSTATUS, | 
|  | output PIPERX1POLARITY, | 
|  | input [2:0] PIPERX1STATUS, | 
|  | input PIPERX1VALID, | 
|  | input PIPERX2CHANISALIGNED, | 
|  | input [1:0] PIPERX2CHARISK, | 
|  | input [15:0] PIPERX2DATA, | 
|  | input PIPERX2ELECIDLE, | 
|  | input PIPERX2PHYSTATUS, | 
|  | output PIPERX2POLARITY, | 
|  | input [2:0] PIPERX2STATUS, | 
|  | input PIPERX2VALID, | 
|  | input PIPERX3CHANISALIGNED, | 
|  | input [1:0] PIPERX3CHARISK, | 
|  | input [15:0] PIPERX3DATA, | 
|  | input PIPERX3ELECIDLE, | 
|  | input PIPERX3PHYSTATUS, | 
|  | output PIPERX3POLARITY, | 
|  | input [2:0] PIPERX3STATUS, | 
|  | input PIPERX3VALID, | 
|  | input PIPERX4CHANISALIGNED, | 
|  | input [1:0] PIPERX4CHARISK, | 
|  | input [15:0] PIPERX4DATA, | 
|  | input PIPERX4ELECIDLE, | 
|  | input PIPERX4PHYSTATUS, | 
|  | output PIPERX4POLARITY, | 
|  | input [2:0] PIPERX4STATUS, | 
|  | input PIPERX4VALID, | 
|  | input PIPERX5CHANISALIGNED, | 
|  | input [1:0] PIPERX5CHARISK, | 
|  | input [15:0] PIPERX5DATA, | 
|  | input PIPERX5ELECIDLE, | 
|  | input PIPERX5PHYSTATUS, | 
|  | output PIPERX5POLARITY, | 
|  | input [2:0] PIPERX5STATUS, | 
|  | input PIPERX5VALID, | 
|  | input PIPERX6CHANISALIGNED, | 
|  | input [1:0] PIPERX6CHARISK, | 
|  | input [15:0] PIPERX6DATA, | 
|  | input PIPERX6ELECIDLE, | 
|  | input PIPERX6PHYSTATUS, | 
|  | output PIPERX6POLARITY, | 
|  | input [2:0] PIPERX6STATUS, | 
|  | input PIPERX6VALID, | 
|  | input PIPERX7CHANISALIGNED, | 
|  | input [1:0] PIPERX7CHARISK, | 
|  | input [15:0] PIPERX7DATA, | 
|  | input PIPERX7ELECIDLE, | 
|  | input PIPERX7PHYSTATUS, | 
|  | output PIPERX7POLARITY, | 
|  | input [2:0] PIPERX7STATUS, | 
|  | input PIPERX7VALID, | 
|  | output [1:0] PIPETX0CHARISK, | 
|  | output PIPETX0COMPLIANCE, | 
|  | output [15:0] PIPETX0DATA, | 
|  | output PIPETX0ELECIDLE, | 
|  | output [1:0] PIPETX0POWERDOWN, | 
|  | output [1:0] PIPETX1CHARISK, | 
|  | output PIPETX1COMPLIANCE, | 
|  | output [15:0] PIPETX1DATA, | 
|  | output PIPETX1ELECIDLE, | 
|  | output [1:0] PIPETX1POWERDOWN, | 
|  | output [1:0] PIPETX2CHARISK, | 
|  | output PIPETX2COMPLIANCE, | 
|  | output [15:0] PIPETX2DATA, | 
|  | output PIPETX2ELECIDLE, | 
|  | output [1:0] PIPETX2POWERDOWN, | 
|  | output [1:0] PIPETX3CHARISK, | 
|  | output PIPETX3COMPLIANCE, | 
|  | output [15:0] PIPETX3DATA, | 
|  | output PIPETX3ELECIDLE, | 
|  | output [1:0] PIPETX3POWERDOWN, | 
|  | output [1:0] PIPETX4CHARISK, | 
|  | output PIPETX4COMPLIANCE, | 
|  | output [15:0] PIPETX4DATA, | 
|  | output PIPETX4ELECIDLE, | 
|  | output [1:0] PIPETX4POWERDOWN, | 
|  | output [1:0] PIPETX5CHARISK, | 
|  | output PIPETX5COMPLIANCE, | 
|  | output [15:0] PIPETX5DATA, | 
|  | output PIPETX5ELECIDLE, | 
|  | output [1:0] PIPETX5POWERDOWN, | 
|  | output [1:0] PIPETX6CHARISK, | 
|  | output PIPETX6COMPLIANCE, | 
|  | output [15:0] PIPETX6DATA, | 
|  | output PIPETX6ELECIDLE, | 
|  | output [1:0] PIPETX6POWERDOWN, | 
|  | output [1:0] PIPETX7CHARISK, | 
|  | output PIPETX7COMPLIANCE, | 
|  | output [15:0] PIPETX7DATA, | 
|  | output PIPETX7ELECIDLE, | 
|  | output [1:0] PIPETX7POWERDOWN, | 
|  | output PIPETXDEEMPH, | 
|  | output [2:0] PIPETXMARGIN, | 
|  | output PIPETXRATE, | 
|  | output PIPETXRCVRDET, | 
|  | output PIPETXRESET, | 
|  | input [4:0] PL2DIRECTEDLSTATE, | 
|  | output PL2L0REQ, | 
|  | output PL2LINKUP, | 
|  | output PL2RECEIVERERR, | 
|  | output PL2RECOVERY, | 
|  | output PL2RXELECIDLE, | 
|  | output [1:0] PL2RXPMSTATE, | 
|  | output PL2SUSPENDOK, | 
|  | input [2:0] PLDBGMODE, | 
|  | output [11:0] PLDBGVEC, | 
|  | output PLDIRECTEDCHANGEDONE, | 
|  | input PLDIRECTEDLINKAUTON, | 
|  | input [1:0] PLDIRECTEDLINKCHANGE, | 
|  | input PLDIRECTEDLINKSPEED, | 
|  | input [1:0] PLDIRECTEDLINKWIDTH, | 
|  | input [5:0] PLDIRECTEDLTSSMNEW, | 
|  | input PLDIRECTEDLTSSMNEWVLD, | 
|  | input PLDIRECTEDLTSSMSTALL, | 
|  | input PLDOWNSTREAMDEEMPHSOURCE, | 
|  | output [2:0] PLINITIALLINKWIDTH, | 
|  | output [1:0] PLLANEREVERSALMODE, | 
|  | output PLLINKGEN2CAP, | 
|  | output PLLINKPARTNERGEN2SUPPORTED, | 
|  | output PLLINKUPCFGCAP, | 
|  | output [5:0] PLLTSSMSTATE, | 
|  | output PLPHYLNKUPN, | 
|  | output PLRECEIVEDHOTRST, | 
|  | input PLRSTN, | 
|  | output [1:0] PLRXPMSTATE, | 
|  | output PLSELLNKRATE, | 
|  | output [1:0] PLSELLNKWIDTH, | 
|  | input PLTRANSMITHOTRST, | 
|  | output [2:0] PLTXPMSTATE, | 
|  | input PLUPSTREAMPREFERDEEMPH, | 
|  | output RECEIVEDFUNCLVLRSTN, | 
|  | input SYSRSTN, | 
|  | input TL2ASPMSUSPENDCREDITCHECK, | 
|  | output TL2ASPMSUSPENDCREDITCHECKOK, | 
|  | output TL2ASPMSUSPENDREQ, | 
|  | output TL2ERRFCPE, | 
|  | output [63:0] TL2ERRHDR, | 
|  | output TL2ERRMALFORMED, | 
|  | output TL2ERRRXOVERFLOW, | 
|  | output TL2PPMSUSPENDOK, | 
|  | input TL2PPMSUSPENDREQ, | 
|  | input TLRSTN, | 
|  | output [11:0] TRNFCCPLD, | 
|  | output [7:0] TRNFCCPLH, | 
|  | output [11:0] TRNFCNPD, | 
|  | output [7:0] TRNFCNPH, | 
|  | output [11:0] TRNFCPD, | 
|  | output [7:0] TRNFCPH, | 
|  | input [2:0] TRNFCSEL, | 
|  | output TRNLNKUP, | 
|  | output [7:0] TRNRBARHIT, | 
|  | output [127:0] TRNRD, | 
|  | output [63:0] TRNRDLLPDATA, | 
|  | output [1:0] TRNRDLLPSRCRDY, | 
|  | input TRNRDSTRDY, | 
|  | output TRNRECRCERR, | 
|  | output TRNREOF, | 
|  | output TRNRERRFWD, | 
|  | input TRNRFCPRET, | 
|  | input TRNRNPOK, | 
|  | input TRNRNPREQ, | 
|  | output [1:0] TRNRREM, | 
|  | output TRNRSOF, | 
|  | output TRNRSRCDSC, | 
|  | output TRNRSRCRDY, | 
|  | output [5:0] TRNTBUFAV, | 
|  | input TRNTCFGGNT, | 
|  | output TRNTCFGREQ, | 
|  | input [127:0] TRNTD, | 
|  | input [31:0] TRNTDLLPDATA, | 
|  | output TRNTDLLPDSTRDY, | 
|  | input TRNTDLLPSRCRDY, | 
|  | output [3:0] TRNTDSTRDY, | 
|  | input TRNTECRCGEN, | 
|  | input TRNTEOF, | 
|  | output TRNTERRDROP, | 
|  | input TRNTERRFWD, | 
|  | input [1:0] TRNTREM, | 
|  | input TRNTSOF, | 
|  | input TRNTSRCDSC, | 
|  | input TRNTSRCRDY, | 
|  | input TRNTSTR, | 
|  | input USERCLK, | 
|  | input USERCLK2, | 
|  | output USERRSTN | 
|  | ); | 
|  | parameter [11:0] AER_BASE_PTR = 12'd0; | 
|  | parameter AER_CAP_ECRC_CHECK_CAPABLE = "FALSE"; | 
|  | parameter AER_CAP_ECRC_GEN_CAPABLE = "FALSE"; | 
|  | parameter [15:0] AER_CAP_ID = 16'd0; | 
|  | parameter AER_CAP_MULTIHEADER = "FALSE"; | 
|  | parameter [11:0] AER_CAP_NEXTPTR = 12'd0; | 
|  | parameter AER_CAP_ON = "FALSE"; | 
|  | parameter [23:0] AER_CAP_OPTIONAL_ERR_SUPPORT = 24'd0; | 
|  | parameter AER_CAP_PERMIT_ROOTERR_UPDATE = "FALSE"; | 
|  | parameter [3:0] AER_CAP_VERSION = 4'd0; | 
|  | parameter ALLOW_X8_GEN2 = "FALSE"; | 
|  | parameter [31:0] BAR0 = 32'd0; | 
|  | parameter [31:0] BAR1 = 32'd0; | 
|  | parameter [31:0] BAR2 = 32'd0; | 
|  | parameter [31:0] BAR3 = 32'd0; | 
|  | parameter [31:0] BAR4 = 32'd0; | 
|  | parameter [31:0] BAR5 = 32'd0; | 
|  | parameter [7:0] CAPABILITIES_PTR = 8'd0; | 
|  | parameter [31:0] CARDBUS_CIS_POINTER = 32'd0; | 
|  | parameter [23:0] CLASS_CODE = 24'd0; | 
|  | parameter CMD_INTX_IMPLEMENTED = "FALSE"; | 
|  | parameter CPL_TIMEOUT_DISABLE_SUPPORTED = "FALSE"; | 
|  | parameter [3:0] CPL_TIMEOUT_RANGES_SUPPORTED = 4'd0; | 
|  | parameter [6:0] CRM_MODULE_RSTS = 7'd0; | 
|  | parameter DEV_CAP2_ARI_FORWARDING_SUPPORTED = "FALSE"; | 
|  | parameter DEV_CAP2_ATOMICOP32_COMPLETER_SUPPORTED = "FALSE"; | 
|  | parameter DEV_CAP2_ATOMICOP64_COMPLETER_SUPPORTED = "FALSE"; | 
|  | parameter DEV_CAP2_ATOMICOP_ROUTING_SUPPORTED = "FALSE"; | 
|  | parameter DEV_CAP2_CAS128_COMPLETER_SUPPORTED = "FALSE"; | 
|  | parameter DEV_CAP2_ENDEND_TLP_PREFIX_SUPPORTED = "FALSE"; | 
|  | parameter DEV_CAP2_EXTENDED_FMT_FIELD_SUPPORTED = "FALSE"; | 
|  | parameter DEV_CAP2_LTR_MECHANISM_SUPPORTED = "FALSE"; | 
|  | parameter [1:0] DEV_CAP2_MAX_ENDEND_TLP_PREFIXES = 2'd0; | 
|  | parameter DEV_CAP2_NO_RO_ENABLED_PRPR_PASSING = "FALSE"; | 
|  | parameter [1:0] DEV_CAP2_TPH_COMPLETER_SUPPORTED = 2'd0; | 
|  | parameter DEV_CAP_ENABLE_SLOT_PWR_LIMIT_SCALE = "FALSE"; | 
|  | parameter DEV_CAP_ENABLE_SLOT_PWR_LIMIT_VALUE = "FALSE"; | 
|  | parameter DEV_CAP_EXT_TAG_SUPPORTED = "FALSE"; | 
|  | parameter DEV_CAP_FUNCTION_LEVEL_RESET_CAPABLE = "FALSE"; | 
|  | parameter [2:0] DEV_CAP_MAX_PAYLOAD_SUPPORTED = 3'd0; | 
|  | parameter DEV_CAP_ROLE_BASED_ERROR = "FALSE"; | 
|  | parameter [2:0] DEV_CAP_RSVD_14_12 = 3'd0; | 
|  | parameter [1:0] DEV_CAP_RSVD_17_16 = 2'd0; | 
|  | parameter [2:0] DEV_CAP_RSVD_31_29 = 3'd0; | 
|  | parameter DEV_CONTROL_AUX_POWER_SUPPORTED = "FALSE"; | 
|  | parameter DEV_CONTROL_EXT_TAG_DEFAULT = "FALSE"; | 
|  | parameter DISABLE_ASPM_L1_TIMER = "FALSE"; | 
|  | parameter DISABLE_BAR_FILTERING = "FALSE"; | 
|  | parameter DISABLE_ERR_MSG = "FALSE"; | 
|  | parameter DISABLE_ID_CHECK = "FALSE"; | 
|  | parameter DISABLE_LANE_REVERSAL = "FALSE"; | 
|  | parameter DISABLE_LOCKED_FILTER = "FALSE"; | 
|  | parameter DISABLE_PPM_FILTER = "FALSE"; | 
|  | parameter DISABLE_RX_POISONED_RESP = "FALSE"; | 
|  | parameter DISABLE_RX_TC_FILTER = "FALSE"; | 
|  | parameter DISABLE_SCRAMBLING = "FALSE"; | 
|  | parameter [7:0] DNSTREAM_LINK_NUM = 8'd0; | 
|  | parameter [11:0] DSN_BASE_PTR = 12'd0; | 
|  | parameter [15:0] DSN_CAP_ID = 16'd0; | 
|  | parameter [11:0] DSN_CAP_NEXTPTR = 12'd0; | 
|  | parameter DSN_CAP_ON = "FALSE"; | 
|  | parameter [3:0] DSN_CAP_VERSION = 4'd0; | 
|  | parameter [10:0] ENABLE_MSG_ROUTE = 11'd0; | 
|  | parameter ENABLE_RX_TD_ECRC_TRIM = "FALSE"; | 
|  | parameter ENDEND_TLP_PREFIX_FORWARDING_SUPPORTED = "FALSE"; | 
|  | parameter ENTER_RVRY_EI_L0 = "FALSE"; | 
|  | parameter EXIT_LOOPBACK_ON_EI = "FALSE"; | 
|  | parameter [31:0] EXPANSION_ROM = 32'd0; | 
|  | parameter [5:0] EXT_CFG_CAP_PTR = 6'd0; | 
|  | parameter [9:0] EXT_CFG_XP_CAP_PTR = 10'd0; | 
|  | parameter [7:0] HEADER_TYPE = 8'd0; | 
|  | parameter [4:0] INFER_EI = 5'd0; | 
|  | parameter [7:0] INTERRUPT_PIN = 8'd0; | 
|  | parameter INTERRUPT_STAT_AUTO = "FALSE"; | 
|  | parameter IS_SWITCH = "FALSE"; | 
|  | parameter [9:0] LAST_CONFIG_DWORD = 10'd0; | 
|  | parameter LINK_CAP_ASPM_OPTIONALITY = "FALSE"; | 
|  | parameter [1:0] LINK_CAP_ASPM_SUPPORT = 2'd0; | 
|  | parameter LINK_CAP_CLOCK_POWER_MANAGEMENT = "FALSE"; | 
|  | parameter LINK_CAP_DLL_LINK_ACTIVE_REPORTING_CAP = "FALSE"; | 
|  | parameter LINK_CAP_LINK_BANDWIDTH_NOTIFICATION_CAP = "FALSE"; | 
|  | parameter [3:0] LINK_CAP_MAX_LINK_SPEED = 4'd0; | 
|  | parameter [5:0] LINK_CAP_MAX_LINK_WIDTH = 6'd0; | 
|  | parameter [0:0] LINK_CAP_RSVD_23 = 1'd0; | 
|  | parameter LINK_CAP_SURPRISE_DOWN_ERROR_CAPABLE = "FALSE"; | 
|  | parameter LINK_CTRL2_DEEMPHASIS = "FALSE"; | 
|  | parameter LINK_CTRL2_HW_AUTONOMOUS_SPEED_DISABLE = "FALSE"; | 
|  | parameter [3:0] LINK_CTRL2_TARGET_LINK_SPEED = 4'd0; | 
|  | parameter LINK_STATUS_SLOT_CLOCK_CONFIG = "FALSE"; | 
|  | parameter [14:0] LL_ACK_TIMEOUT = 15'd0; | 
|  | parameter LL_ACK_TIMEOUT_EN = "FALSE"; | 
|  | parameter [1:0] LL_ACK_TIMEOUT_FUNC = 2'd0; | 
|  | parameter [14:0] LL_REPLAY_TIMEOUT = 15'd0; | 
|  | parameter LL_REPLAY_TIMEOUT_EN = "FALSE"; | 
|  | parameter [1:0] LL_REPLAY_TIMEOUT_FUNC = 2'd0; | 
|  | parameter [5:0] LTSSM_MAX_LINK_WIDTH = 6'd0; | 
|  | parameter MPS_FORCE = "FALSE"; | 
|  | parameter [7:0] MSIX_BASE_PTR = 8'd0; | 
|  | parameter [7:0] MSIX_CAP_ID = 8'd0; | 
|  | parameter [7:0] MSIX_CAP_NEXTPTR = 8'd0; | 
|  | parameter MSIX_CAP_ON = "FALSE"; | 
|  | parameter [2:0] MSIX_CAP_PBA_BIR = 3'd0; | 
|  | parameter [28:0] MSIX_CAP_PBA_OFFSET = 29'd0; | 
|  | parameter [2:0] MSIX_CAP_TABLE_BIR = 3'd0; | 
|  | parameter [28:0] MSIX_CAP_TABLE_OFFSET = 29'd0; | 
|  | parameter [10:0] MSIX_CAP_TABLE_SIZE = 11'd0; | 
|  | parameter [7:0] MSI_BASE_PTR = 8'd0; | 
|  | parameter MSI_CAP_64_BIT_ADDR_CAPABLE = "FALSE"; | 
|  | parameter [7:0] MSI_CAP_ID = 8'd0; | 
|  | parameter [2:0] MSI_CAP_MULTIMSGCAP = 3'd0; | 
|  | parameter [7:0] MSI_CAP_NEXTPTR = 8'd0; | 
|  | parameter MSI_CAP_ON = "FALSE"; | 
|  | parameter MSI_CAP_PER_VECTOR_MASKING_CAPABLE = "FALSE"; | 
|  | parameter [7:0] N_FTS_COMCLK_GEN1 = 8'd255; | 
|  | parameter [7:0] N_FTS_COMCLK_GEN2 = 8'd255; | 
|  | parameter [7:0] N_FTS_GEN1 = 8'd255; | 
|  | parameter [7:0] N_FTS_GEN2 = 8'd255; | 
|  | parameter [7:0] PCIE_BASE_PTR = 8'd0; | 
|  | parameter [7:0] PCIE_CAP_CAPABILITY_ID = 8'd0; | 
|  | parameter [3:0] PCIE_CAP_CAPABILITY_VERSION = 4'd0; | 
|  | parameter [3:0] PCIE_CAP_DEVICE_PORT_TYPE = 4'd0; | 
|  | parameter [7:0] PCIE_CAP_NEXTPTR = 8'd0; | 
|  | parameter PCIE_CAP_ON = "FALSE"; | 
|  | parameter [1:0] PCIE_CAP_RSVD_15_14 = 2'd0; | 
|  | parameter PCIE_CAP_SLOT_IMPLEMENTED = "FALSE"; | 
|  | parameter [3:0] PCIE_REVISION = 4'd2; | 
|  | parameter PL_FAST_TRAIN = "FALSE"; | 
|  | parameter [14:0] PM_ASPML0S_TIMEOUT = 15'd0; | 
|  | parameter PM_ASPML0S_TIMEOUT_EN = "FALSE"; | 
|  | parameter [1:0] PM_ASPML0S_TIMEOUT_FUNC = 2'd0; | 
|  | parameter PM_ASPM_FASTEXIT = "FALSE"; | 
|  | parameter [7:0] PM_BASE_PTR = 8'd0; | 
|  | parameter PM_CAP_D1SUPPORT = "FALSE"; | 
|  | parameter PM_CAP_D2SUPPORT = "FALSE"; | 
|  | parameter PM_CAP_DSI = "FALSE"; | 
|  | parameter [7:0] PM_CAP_ID = 8'd0; | 
|  | parameter [7:0] PM_CAP_NEXTPTR = 8'd0; | 
|  | parameter PM_CAP_ON = "FALSE"; | 
|  | parameter [4:0] PM_CAP_PMESUPPORT = 5'd0; | 
|  | parameter PM_CAP_PME_CLOCK = "FALSE"; | 
|  | parameter [0:0] PM_CAP_RSVD_04 = 1'd0; | 
|  | parameter [2:0] PM_CAP_VERSION = 3'd3; | 
|  | parameter PM_CSR_B2B3 = "FALSE"; | 
|  | parameter PM_CSR_BPCCEN = "FALSE"; | 
|  | parameter PM_CSR_NOSOFTRST = "FALSE"; | 
|  | parameter [7:0] PM_DATA0 = 8'd0; | 
|  | parameter [7:0] PM_DATA1 = 8'd0; | 
|  | parameter [7:0] PM_DATA2 = 8'd0; | 
|  | parameter [7:0] PM_DATA3 = 8'd0; | 
|  | parameter [7:0] PM_DATA4 = 8'd0; | 
|  | parameter [7:0] PM_DATA5 = 8'd0; | 
|  | parameter [7:0] PM_DATA6 = 8'd0; | 
|  | parameter [7:0] PM_DATA7 = 8'd0; | 
|  | parameter [1:0] PM_DATA_SCALE0 = 2'd0; | 
|  | parameter [1:0] PM_DATA_SCALE1 = 2'd0; | 
|  | parameter [1:0] PM_DATA_SCALE2 = 2'd0; | 
|  | parameter [1:0] PM_DATA_SCALE3 = 2'd0; | 
|  | parameter [1:0] PM_DATA_SCALE4 = 2'd0; | 
|  | parameter [1:0] PM_DATA_SCALE5 = 2'd0; | 
|  | parameter [1:0] PM_DATA_SCALE6 = 2'd0; | 
|  | parameter [1:0] PM_DATA_SCALE7 = 2'd0; | 
|  | parameter PM_MF = "FALSE"; | 
|  | parameter [11:0] RBAR_BASE_PTR = 12'd0; | 
|  | parameter [4:0] RBAR_CAP_CONTROL_ENCODEDBAR0 = 5'd0; | 
|  | parameter [4:0] RBAR_CAP_CONTROL_ENCODEDBAR1 = 5'd0; | 
|  | parameter [4:0] RBAR_CAP_CONTROL_ENCODEDBAR2 = 5'd0; | 
|  | parameter [4:0] RBAR_CAP_CONTROL_ENCODEDBAR3 = 5'd0; | 
|  | parameter [4:0] RBAR_CAP_CONTROL_ENCODEDBAR4 = 5'd0; | 
|  | parameter [4:0] RBAR_CAP_CONTROL_ENCODEDBAR5 = 5'd0; | 
|  | parameter [15:0] RBAR_CAP_ID = 16'd0; | 
|  | parameter [2:0] RBAR_CAP_INDEX0 = 3'd0; | 
|  | parameter [2:0] RBAR_CAP_INDEX1 = 3'd0; | 
|  | parameter [2:0] RBAR_CAP_INDEX2 = 3'd0; | 
|  | parameter [2:0] RBAR_CAP_INDEX3 = 3'd0; | 
|  | parameter [2:0] RBAR_CAP_INDEX4 = 3'd0; | 
|  | parameter [2:0] RBAR_CAP_INDEX5 = 3'd0; | 
|  | parameter [11:0] RBAR_CAP_NEXTPTR = 12'd0; | 
|  | parameter RBAR_CAP_ON = "FALSE"; | 
|  | parameter [31:0] RBAR_CAP_SUP0 = 32'd0; | 
|  | parameter [31:0] RBAR_CAP_SUP1 = 32'd0; | 
|  | parameter [31:0] RBAR_CAP_SUP2 = 32'd0; | 
|  | parameter [31:0] RBAR_CAP_SUP3 = 32'd0; | 
|  | parameter [31:0] RBAR_CAP_SUP4 = 32'd0; | 
|  | parameter [31:0] RBAR_CAP_SUP5 = 32'd0; | 
|  | parameter [3:0] RBAR_CAP_VERSION = 4'd0; | 
|  | parameter [2:0] RBAR_NUM = 3'd0; | 
|  | parameter [1:0] RECRC_CHK = 2'd0; | 
|  | parameter RECRC_CHK_TRIM = "FALSE"; | 
|  | parameter ROOT_CAP_CRS_SW_VISIBILITY = "FALSE"; | 
|  | parameter [1:0] RP_AUTO_SPD = 2'd0; | 
|  | parameter [4:0] RP_AUTO_SPD_LOOPCNT = 5'd0; | 
|  | parameter SELECT_DLL_IF = "FALSE"; | 
|  | parameter SLOT_CAP_ATT_BUTTON_PRESENT = "FALSE"; | 
|  | parameter SLOT_CAP_ATT_INDICATOR_PRESENT = "FALSE"; | 
|  | parameter SLOT_CAP_ELEC_INTERLOCK_PRESENT = "FALSE"; | 
|  | parameter SLOT_CAP_HOTPLUG_CAPABLE = "FALSE"; | 
|  | parameter SLOT_CAP_HOTPLUG_SURPRISE = "FALSE"; | 
|  | parameter SLOT_CAP_MRL_SENSOR_PRESENT = "FALSE"; | 
|  | parameter SLOT_CAP_NO_CMD_COMPLETED_SUPPORT = "FALSE"; | 
|  | parameter [12:0] SLOT_CAP_PHYSICAL_SLOT_NUM = 13'd0; | 
|  | parameter SLOT_CAP_POWER_CONTROLLER_PRESENT = "FALSE"; | 
|  | parameter SLOT_CAP_POWER_INDICATOR_PRESENT = "FALSE"; | 
|  | parameter [7:0] SLOT_CAP_SLOT_POWER_LIMIT_VALUE = 8'd0; | 
|  | parameter [0:0] SPARE_BIT0 = 1'd0; | 
|  | parameter [0:0] SPARE_BIT1 = 1'd0; | 
|  | parameter [0:0] SPARE_BIT2 = 1'd0; | 
|  | parameter [0:0] SPARE_BIT3 = 1'd0; | 
|  | parameter [0:0] SPARE_BIT4 = 1'd0; | 
|  | parameter [0:0] SPARE_BIT5 = 1'd0; | 
|  | parameter [0:0] SPARE_BIT6 = 1'd0; | 
|  | parameter [0:0] SPARE_BIT7 = 1'd0; | 
|  | parameter [0:0] SPARE_BIT8 = 1'd0; | 
|  | parameter [7:0] SPARE_BYTE0 = 8'd0; | 
|  | parameter [7:0] SPARE_BYTE1 = 8'd0; | 
|  | parameter [7:0] SPARE_BYTE2 = 8'd0; | 
|  | parameter [7:0] SPARE_BYTE3 = 8'd0; | 
|  | parameter [31:0] SPARE_WORD0 = 32'd0; | 
|  | parameter [31:0] SPARE_WORD1 = 32'd0; | 
|  | parameter [31:0] SPARE_WORD2 = 32'd0; | 
|  | parameter [31:0] SPARE_WORD3 = 32'd0; | 
|  | parameter SSL_MESSAGE_AUTO = "FALSE"; | 
|  | parameter TECRC_EP_INV = "FALSE"; | 
|  | parameter TL_RBYPASS = "FALSE"; | 
|  | parameter [1:0] TL_RX_RAM_RDATA_LATENCY = 2'd1; | 
|  | parameter TL_TFC_DISABLE = "FALSE"; | 
|  | parameter TL_TX_CHECKS_DISABLE = "FALSE"; | 
|  | parameter [1:0] TL_TX_RAM_RDATA_LATENCY = 2'd1; | 
|  | parameter TRN_DW = "FALSE"; | 
|  | parameter TRN_NP_FC = "FALSE"; | 
|  | parameter UPCONFIG_CAPABLE = "FALSE"; | 
|  | parameter UPSTREAM_FACING = "FALSE"; | 
|  | parameter UR_ATOMIC = "FALSE"; | 
|  | parameter UR_CFG1 = "FALSE"; | 
|  | parameter UR_INV_REQ = "FALSE"; | 
|  | parameter UR_PRS_RESPONSE = "FALSE"; | 
|  | parameter USER_CLK2_DIV2 = "FALSE"; | 
|  | parameter USE_RID_PINS = "FALSE"; | 
|  | parameter VC0_CPL_INFINITE = "FALSE"; | 
|  | parameter [12:0] VC0_RX_RAM_LIMIT = 13'd0; | 
|  | parameter [6:0] VC0_TOTAL_CREDITS_CH = 7'd36; | 
|  | parameter [6:0] VC0_TOTAL_CREDITS_NPH = 7'd12; | 
|  | parameter [6:0] VC0_TOTAL_CREDITS_PH = 7'd32; | 
|  | parameter [11:0] VC_BASE_PTR = 12'd0; | 
|  | parameter [15:0] VC_CAP_ID = 16'd0; | 
|  | parameter [11:0] VC_CAP_NEXTPTR = 12'd0; | 
|  | parameter VC_CAP_ON = "FALSE"; | 
|  | parameter VC_CAP_REJECT_SNOOP_TRANSACTIONS = "FALSE"; | 
|  | parameter [3:0] VC_CAP_VERSION = 4'd0; | 
|  | parameter [11:0] VSEC_BASE_PTR = 12'd0; | 
|  | parameter [15:0] VSEC_CAP_HDR_ID = 16'd0; | 
|  | parameter [11:0] VSEC_CAP_HDR_LENGTH = 12'd0; | 
|  | parameter [3:0] VSEC_CAP_HDR_REVISION = 4'd0; | 
|  | parameter [15:0] VSEC_CAP_ID = 16'd0; | 
|  | parameter VSEC_CAP_IS_LINK_VISIBLE = "FALSE"; | 
|  | parameter [11:0] VSEC_CAP_NEXTPTR = 12'd0; | 
|  | parameter VSEC_CAP_ON = "FALSE"; | 
|  | parameter [3:0] VSEC_CAP_VERSION = 4'd0; | 
|  | parameter [2:0] DEV_CAP_ENDPOINT_L0S_LATENCY = 3'd0; | 
|  | parameter [2:0] DEV_CAP_ENDPOINT_L1_LATENCY = 3'd0; | 
|  | parameter [1:0] DEV_CAP_PHANTOM_FUNCTIONS_SUPPORT = 2'd0; | 
|  | parameter [2:0] LINK_CAP_L0S_EXIT_LATENCY_COMCLK_GEN1 = 3'd0; | 
|  | parameter [2:0] LINK_CAP_L0S_EXIT_LATENCY_COMCLK_GEN2 = 3'd0; | 
|  | parameter [2:0] LINK_CAP_L0S_EXIT_LATENCY_GEN1 = 3'd0; | 
|  | parameter [2:0] LINK_CAP_L0S_EXIT_LATENCY_GEN2 = 3'd0; | 
|  | parameter [2:0] LINK_CAP_L1_EXIT_LATENCY_COMCLK_GEN1 = 3'd0; | 
|  | parameter [2:0] LINK_CAP_L1_EXIT_LATENCY_COMCLK_GEN2 = 3'd0; | 
|  | parameter [2:0] LINK_CAP_L1_EXIT_LATENCY_GEN1 = 3'd0; | 
|  | parameter [2:0] LINK_CAP_L1_EXIT_LATENCY_GEN2 = 3'd0; | 
|  | parameter [0:0] LINK_CONTROL_RCB = 1'd0; | 
|  | parameter [0:0] MSI_CAP_MULTIMSG_EXTENSION = 1'd0; | 
|  | parameter [2:0] PM_CAP_AUXCURRENT = 3'd0; | 
|  | parameter [1:0] SLOT_CAP_SLOT_POWER_LIMIT_SCALE = 2'd0; | 
|  | parameter [2:0] USER_CLK_FREQ = 3'd0; | 
|  | parameter [2:0] PL_AUTO_CONFIG = 3'd0; | 
|  | parameter [0:0] TL_RX_RAM_RADDR_LATENCY = 1'd0; | 
|  | parameter [0:0] TL_RX_RAM_WRITE_LATENCY = 1'd0; | 
|  | parameter [0:0] TL_TX_RAM_RADDR_LATENCY = 1'd0; | 
|  | parameter [0:0] TL_TX_RAM_WRITE_LATENCY = 1'd0; | 
|  | parameter [10:0] VC0_TOTAL_CREDITS_CD = 11'd0; | 
|  | parameter [10:0] VC0_TOTAL_CREDITS_NPD = 11'd0; | 
|  | parameter [10:0] VC0_TOTAL_CREDITS_PD = 11'd0; | 
|  | parameter [4:0] VC0_TX_LASTPACKET = 5'd0; | 
|  | parameter [1:0] CFG_ECRC_ERR_CPLSTAT = 2'd0; | 
|  | endmodule |