ad_serdes_in: Add CMOS support

main
Laszlo Nagy 2020-04-28 13:41:47 +01:00 committed by Laszlo Nagy
parent e6b9e21ad1
commit 837475db0d
1 changed files with 16 additions and 10 deletions

View File

@ -38,6 +38,7 @@
module ad_serdes_in #(
parameter FPGA_TECHNOLOGY = 0,
parameter CMOS_LVDS_N = 0,
parameter DDR_OR_SDR_N = 0,
parameter SERDES_FACTOR = 8,
parameter DATA_WIDTH = 16,
@ -120,16 +121,25 @@ module ad_serdes_in #(
endgenerate
// received data interface: ibuf -> idelay -> iserdes
genvar l_inst;
generate
for (l_inst = 0; l_inst <= (DATA_WIDTH-1); l_inst = l_inst + 1) begin: g_io
if (CMOS_LVDS_N == 0) begin
IBUFDS i_ibuf (
.I (data_in_p[l_inst]),
.IB (data_in_n[l_inst]),
.O (data_in_ibuf_s[l_inst]));
end else begin
IBUF i_ibuf (
.I (data_in_p[l_inst]),
.O (data_in_ibuf_s[l_inst]));
end
end
endgenerate
generate if (FPGA_TECHNOLOGY == SEVEN_SERIES) begin
for (l_inst = 0; l_inst <= (DATA_WIDTH-1); l_inst = l_inst + 1) begin: g_data
IBUFDS i_ibuf (
.I (data_in_p[l_inst]),
.IB (data_in_n[l_inst]),
.O (data_in_ibuf_s[l_inst]));
(* IODELAY_GROUP = IODELAY_GROUP *)
IDELAYE2 #(
.CINVCTRL_SEL ("FALSE"),
@ -210,10 +220,6 @@ module ad_serdes_in #(
for (l_inst = 0; l_inst <= (DATA_WIDTH-1); l_inst = l_inst + 1) begin: g_data
IBUFDS i_ibuf (
.I (data_in_p[l_inst]),
.IB (data_in_n[l_inst]),
.O (data_in_ibuf_s[l_inst]));
wire div_dld;
reg [4:0] vtc_cnt = {5{1'b1}};