2019-08-03 05:29:30 -05:00
|
|
|
module EFX_LUT4(
|
|
|
|
output O,
|
|
|
|
input I0,
|
|
|
|
input I1,
|
|
|
|
input I2,
|
|
|
|
input I3
|
|
|
|
);
|
|
|
|
parameter LUTMASK = 16'h0000;
|
|
|
|
endmodule
|
|
|
|
|
|
|
|
module EFX_ADD(
|
|
|
|
output O,
|
|
|
|
output CO,
|
|
|
|
input I0,
|
|
|
|
input I1,
|
|
|
|
input CI
|
|
|
|
);
|
|
|
|
parameter I0_POLARITY = 1;
|
|
|
|
parameter I1_POLARITY = 1;
|
|
|
|
endmodule
|
|
|
|
|
|
|
|
module EFX_FF(
|
|
|
|
output Q,
|
|
|
|
input D,
|
|
|
|
input CE,
|
|
|
|
input CLK,
|
|
|
|
input SR
|
|
|
|
);
|
|
|
|
parameter CLK_POLARITY = 1;
|
|
|
|
parameter CE_POLARITY = 1;
|
|
|
|
parameter SR_POLARITY = 1;
|
|
|
|
parameter SR_SYNC = 0;
|
|
|
|
parameter SR_VALUE = 0;
|
|
|
|
parameter SR_SYNC_PRIORITY = 0;
|
|
|
|
parameter D_POLARITY = 1;
|
2019-08-03 07:40:23 -05:00
|
|
|
endmodule
|
|
|
|
|
2019-08-04 04:46:36 -05:00
|
|
|
module EFX_GBUFCE(
|
2019-08-03 07:40:23 -05:00
|
|
|
input CE,
|
|
|
|
input I,
|
|
|
|
output O
|
|
|
|
);
|
|
|
|
parameter CE_POLARITY = 1'b1;
|
|
|
|
endmodule
|
2019-08-04 04:46:36 -05:00
|
|
|
|
|
|
|
module EFX_RAM_5K(
|
|
|
|
input [WRITE_WIDTH-1:0] WDATA,
|
|
|
|
input [WRITE_ADDR_WIDTH-1:0] WADDR,
|
|
|
|
input WE,
|
|
|
|
input WCLK,
|
|
|
|
input WCLKE,
|
|
|
|
output [READ_WIDTH-1:0] RDATA,
|
|
|
|
input [READ_ADDR_WIDTH-1:0] RADDR,
|
|
|
|
input RE,
|
|
|
|
input RCLK
|
|
|
|
);
|
|
|
|
parameter READ_WIDTH = 20;
|
|
|
|
parameter WRITE_WIDTH = 20;
|
|
|
|
parameter OUTPUT_REG = 1'b0;
|
|
|
|
parameter RCLK_POLARITY = 1'b1;
|
|
|
|
parameter RE_POLARITY = 1'b1;
|
|
|
|
parameter WCLK_POLARITY = 1'b1;
|
|
|
|
parameter WE_POLARITY = 1'b1;
|
|
|
|
parameter WCLKE_POLARITY = 1'b1;
|
|
|
|
parameter WRITE_MODE = "READ_FIRST";
|
|
|
|
parameter INIT_0 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
|
|
|
|
parameter INIT_1 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
|
|
|
|
parameter INIT_2 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
|
|
|
|
parameter INIT_3 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
|
|
|
|
parameter INIT_4 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
|
|
|
|
parameter INIT_5 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
|
|
|
|
parameter INIT_6 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
|
|
|
|
parameter INIT_7 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
|
|
|
|
parameter INIT_8 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
|
|
|
|
parameter INIT_9 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
|
|
|
|
parameter INIT_A = 256'h0000000000000000000000000000000000000000000000000000000000000000;
|
|
|
|
parameter INIT_B = 256'h0000000000000000000000000000000000000000000000000000000000000000;
|
|
|
|
parameter INIT_C = 256'h0000000000000000000000000000000000000000000000000000000000000000;
|
|
|
|
parameter INIT_D = 256'h0000000000000000000000000000000000000000000000000000000000000000;
|
|
|
|
parameter INIT_E = 256'h0000000000000000000000000000000000000000000000000000000000000000;
|
|
|
|
parameter INIT_F = 256'h0000000000000000000000000000000000000000000000000000000000000000;
|
|
|
|
parameter INIT_10 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
|
|
|
|
parameter INIT_11 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
|
|
|
|
parameter INIT_12 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
|
|
|
|
parameter INIT_13 = 256'h0000000000000000000000000000000000000000000000000000000000000000;
|
|
|
|
|
|
|
|
localparam READ_ADDR_WIDTH =
|
|
|
|
(READ_WIDTH == 16) ? 8 : // 256x16
|
|
|
|
(READ_WIDTH == 8) ? 9 : // 512x8
|
|
|
|
(READ_WIDTH == 4) ? 10 : // 1024x4
|
|
|
|
(READ_WIDTH == 2) ? 11 : // 2048x2
|
|
|
|
(READ_WIDTH == 1) ? 12 : // 4096x1
|
|
|
|
(READ_WIDTH == 20) ? 8 : // 256x20
|
|
|
|
(READ_WIDTH == 10) ? 9 : // 512x10
|
|
|
|
(READ_WIDTH == 5) ? 10 : -1; // 1024x5
|
|
|
|
|
|
|
|
localparam WRITE_ADDR_WIDTH =
|
|
|
|
(WRITE_WIDTH == 16) ? 8 : // 256x16
|
|
|
|
(WRITE_WIDTH == 8) ? 9 : // 512x8
|
|
|
|
(WRITE_WIDTH == 4) ? 10 : // 1024x4
|
|
|
|
(WRITE_WIDTH == 2) ? 11 : // 2048x2
|
|
|
|
(WRITE_WIDTH == 1) ? 12 : // 4096x1
|
|
|
|
(WRITE_WIDTH == 20) ? 8 : // 256x20
|
|
|
|
(WRITE_WIDTH == 10) ? 9 : // 512x10
|
|
|
|
(WRITE_WIDTH == 5) ? 10 : -1; // 1024x5
|
|
|
|
|
|
|
|
endmodule
|