米联客FEP-DAQ003-12-125M-250M-2数据采集模块采用一颗TI的ADS4225/ ADS4229低功耗高性能模数转换芯片, 实现了2通道125MSPS/250MSPS模数转换,并且支持2路数字IO输入/输出触发功能。通过设置不同的通信模式,ADS4225/ADS4229具有LVDS DDR和LVCMOS SDR接口两种模式。
11.1 125MHz时钟采样的情况
ADS4225 CMOS模式下的时序要求如图所示:
使用125MHz时钟采样时,采用源同步单沿采样中心对齐的时序约束模板,约束命令如下:
create_clock -period 8 -name I_ads422x_clk [get_ports I_ads422x_clk]
set_input_delay -clock I_ads422x_clk -min 3.100 [get_ports {I_ads422x_da}]
set_input_delay -clock I_ads422x_clk -max 5.300 [get_ports {I_ads422x_da}]
set_input_delay -clock I_ads422x_clk -min 3.100 [get_ports {I_ads422x_db}]
set_input_delay -clock I_ads422x_clk -max 5.300 [get_ports {I_ads422x_db}] | 时序报告结果如下图所示,在不添加IDELAY调整延迟的情况下,能很好地满足时序要求,没有出现时序违例,这是因为时钟和数据是中心对齐的, IBUF 到 BRAM 之间走线的空间比较大,工具能根据约束自动优化布局布线策略。而对以太网 PHY 的 RGMII 接口来说,输入数据会进入 IOBANK 中的时序单元,而 IOBANK 中个单元的走线都非常短,工具几乎没有自动调整的空间,所以需要我们通过 IDELAY 手动调整延时。
程序上板验证的结果如下图所示。
11.2 250MHz时钟采样的情况
ADS4229 CMOS模式下的时序要求如图所示:
使用250MHz时钟采样时,约束命令如下:create_clock -period 4 -name I_ads422x_clk [get_ports I_ads422x_clk]
set_input_delay -clock I_ads422x_clk -min 1.700 [get_ports {I_ads422x_da}]
set_input_delay -clock I_ads422x_clk -max 3.000 [get_ports {I_ads422x_da}]
set_input_delay -clock I_ads422x_clk -min 1.700 [get_ports {I_ads422x_db}]
set_input_delay -clock I_ads422x_clk -max 3.000 [get_ports {I_ads422x_db}] | 时序分析报告的结果如下图所示:
建立时间违例,对于外部输入的同步时钟和数据,经过PCB走线延迟,数据晚于时钟到达FPGA,可以增加时钟延迟或者适当减小数据的延迟约束,约束命令如下:
create_clock -period 4 -name I_ads422x_clk [get_ports I_ads422x_clk]
set_input_delay -clock I_ads422x_clk -min 1.700 [get_ports {I_ads422x_da}]
set_input_delay -clock I_ads422x_clk -max 2.700 [get_ports {I_ads422x_da}]
set_input_delay -clock I_ads422x_clk -min 1.700 [get_ports {I_ads422x_db}]
set_input_delay -clock I_ads422x_clk -max 2.700 [get_ports {I_ads422x_db}] |
时序报告结果如下图所示。
使用250MHz时钟采样的上板结果如图所示。
|