| // ============================================================================ |
| // 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 |