ad_serdes_in: Add CMOS support
parent
e6b9e21ad1
commit
837475db0d
|
@ -38,6 +38,7 @@
|
||||||
module ad_serdes_in #(
|
module ad_serdes_in #(
|
||||||
|
|
||||||
parameter FPGA_TECHNOLOGY = 0,
|
parameter FPGA_TECHNOLOGY = 0,
|
||||||
|
parameter CMOS_LVDS_N = 0,
|
||||||
parameter DDR_OR_SDR_N = 0,
|
parameter DDR_OR_SDR_N = 0,
|
||||||
parameter SERDES_FACTOR = 8,
|
parameter SERDES_FACTOR = 8,
|
||||||
parameter DATA_WIDTH = 16,
|
parameter DATA_WIDTH = 16,
|
||||||
|
@ -120,16 +121,25 @@ module ad_serdes_in #(
|
||||||
endgenerate
|
endgenerate
|
||||||
|
|
||||||
// received data interface: ibuf -> idelay -> iserdes
|
// received data interface: ibuf -> idelay -> iserdes
|
||||||
|
|
||||||
genvar l_inst;
|
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
|
generate if (FPGA_TECHNOLOGY == SEVEN_SERIES) begin
|
||||||
for (l_inst = 0; l_inst <= (DATA_WIDTH-1); l_inst = l_inst + 1) begin: g_data
|
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 *)
|
(* IODELAY_GROUP = IODELAY_GROUP *)
|
||||||
IDELAYE2 #(
|
IDELAYE2 #(
|
||||||
.CINVCTRL_SEL ("FALSE"),
|
.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
|
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;
|
wire div_dld;
|
||||||
reg [4:0] vtc_cnt = {5{1'b1}};
|
reg [4:0] vtc_cnt = {5{1'b1}};
|
||||||
|
|
Loading…
Reference in New Issue