AD9176(AD9172) ADC12DJ3200 204B ip

模式10 AD9176 延迟1* 1的是7 4 ,1 4的没有
单link 8lane 1
4* 最大datarate=3080M
L=8 M=2 F=1 S=2 N=16 K=32
组帧 每个时钟32bit 其中I路8个点 Q路8个点
时钟 预定是150M 本振1800M 带宽1000M 2.4倍采样
data_rate=1200M dac_rate=1200*4=4800M
lane_rate=6000M core_clk=6000/40=150M
ch4=2400M N=2 M=4
ch5=ch7=9.375M ch6=150M

3200
mode1 单通道 采样率6400M
dev clk=3200M sysref clk=2.5M
lanerate=6400M core clk=160M refclk0=refclk1=160M
hmc7044 ch4=3200M ch5=2.5M ch6=160M ch7=2.5M ch8=160M

//-----------
M_JesdCtrl jesd204_i (
.gt0_rxdata(gt0_rxdata), // input wire [31 : 0] gt0_rxdata
.gt0_rxcharisk(gt0_rxcharisk), // input wire [3 : 0] gt0_rxcharisk
.gt0_rxdisperr(gt0_rxdisperr), // input wire [3 : 0] gt0_rxdisperr
.gt0_rxnotintable(gt0_rxnotintable), // input wire [3 : 0] gt0_rxnotintable
.gt1_rxdata(gt1_rxdata), // input wire [31 : 0] gt1_rxdata
.gt1_rxcharisk(gt1_rxcharisk), // input wire [3 : 0] gt1_rxcharisk
.gt1_rxdisperr(gt1_rxdisperr), // input wire [3 : 0] gt1_rxdisperr
.gt1_rxnotintable(gt1_rxnotintable), // input wire [3 : 0] gt1_rxnotintable
.gt2_rxdata(gt2_rxdata), // input wire [31 : 0] gt2_rxdata
.gt2_rxcharisk(gt2_rxcharisk), // input wire [3 : 0] gt2_rxcharisk
.gt2_rxdisperr(gt2_rxdisperr), // input wire [3 : 0] gt2_rxdisperr
.gt2_rxnotintable(gt2_rxnotintable), // input wire [3 : 0] gt2_rxnotintable
.gt3_rxdata(gt3_rxdata), // input wire [31 : 0] gt3_rxdata
.gt3_rxcharisk(gt3_rxcharisk), // input wire [3 : 0] gt3_rxcharisk
.gt3_rxdisperr(gt3_rxdisperr), // input wire [3 : 0] gt3_rxdisperr
.gt3_rxnotintable(gt3_rxnotintable), // input wire [3 : 0] gt3_rxnotintable
.rx_reset_done(rx_reset_done), // input wire rx_reset_done
.rxencommaalign_out(rxencommaalign_i), // output wire rxencommaalign_out
.rx_reset_gt(rx_reset_gt), // output wire rx_reset_gt
.rx_core_clk(rx_core_clk), // input wire rx_core_clk
.s_axi_aclk(s_axi_aclk), // input wire s_axi_aclk
.s_axi_aresetn(s_axi_aresetn), // input wire s_axi_aresetn
.s_axi_awaddr(s_axi_awaddr), // input wire [11 : 0] s_axi_awaddr
.s_axi_awvalid(s_axi_awvalid), // input wire s_axi_awvalid
.s_axi_awready(s_axi_awready), // output wire s_axi_awready
.s_axi_wdata(s_axi_wdata), // input wire [31 : 0] s_axi_wdata
.s_axi_wstrb(s_axi_wstrb), // input wire [3 : 0] s_axi_wstrb
.s_axi_wvalid(s_axi_wvalid), // input wire s_axi_wvalid
.s_axi_wready(s_axi_wready), // output wire s_axi_wready
.s_axi_bresp(s_axi_bresp), // output wire [1 : 0] s_axi_bresp
.s_axi_bvalid(s_axi_bvalid), // output wire s_axi_bvalid
.s_axi_bready(s_axi_bready), // input wire s_axi_bready
.s_axi_araddr(s_axi_araddr), // input wire [11 : 0] s_axi_araddr
.s_axi_arvalid(s_axi_arvalid), // input wire s_axi_arvalid
.s_axi_arready(s_axi_arready), // output wire s_axi_arready
.s_axi_rdata(s_axi_rdata), // output wire [31 : 0] s_axi_rdata
.s_axi_rresp(s_axi_rresp), // output wire [1 : 0] s_axi_rresp
.s_axi_rvalid(s_axi_rvalid), // output wire s_axi_rvalid
.s_axi_rready(s_axi_rready), // input wire s_axi_rready
.rx_reset(rx_reset_gt), // input wire rx_reset
.rx_aresetn(rx_aresetn), // output wire rx_aresetn
.rx_tdata(rx_tdata), // output wire [127 : 0] rx_tdata
.rx_tvalid(rx_tvalid), // output wire rx_tvalid
.rx_start_of_frame(rx_start_of_frame), // output wire [3 : 0] rx_start_of_frame
.rx_end_of_frame(rx_end_of_frame), // output wire [3 : 0] rx_end_of_frame
.rx_start_of_multiframe(rx_start_of_multiframe), // output wire [3 : 0] rx_start_of_multiframe
.rx_end_of_multiframe(rx_end_of_multiframe), // output wire [3 : 0] rx_end_of_multiframe
.rx_frame_error(rx_frame_error), // output wire [15 : 0] rx_frame_error
.rx_sysref(rx_sysref), // input wire rx_sysref
.rx_sync(rx_sync) // output wire rx_sync
);


//-----------
M_JesdCtrl_phy i_jesd204_phy (
.qpll_refclk(refclk), // input wire qpll_refclk
.drpclk(drpclk), // input wire drpclk
.tx_reset_gt(rx_reset_gt), // input wire tx_reset_gt
.rx_reset_gt(rx_reset_gt), // input wire rx_reset_gt
.tx_sys_reset(rx_reset), // input wire tx_sys_reset
.rx_sys_reset(rx_reset), // input wire rx_sys_reset
.txp_out(), // output wire [3 : 0] txp_out
.txn_out(), // output wire [3 : 0] txn_out
.rxp_in(rxp), // input wire [3 : 0] rxp_in
.rxn_in(rxn), // input wire [3 : 0] rxn_in
.tx_core_clk(rx_core_clk), // input wire tx_core_clk
.rx_core_clk(rx_core_clk), // input wire rx_core_clk
.txoutclk(txoutclk), // output wire txoutclk
.rxoutclk(rxoutclk), // output wire rxoutclk
.gt_prbssel(3’b000), // input wire [2 : 0] gt_prbssel
.gt0_txdata(32’d0), // input wire [31 : 0] gt0_txdata
.gt0_txcharisk(4’d0), // input wire [3 : 0] gt0_txcharisk
.gt1_txdata(32’d0), // input wire [31 : 0] gt1_txdata
.gt1_txcharisk(4’d0), // input wire [3 : 0] gt1_txcharisk
.gt2_txdata(32’d0), // input wire [31 : 0] gt2_txdata
.gt2_txcharisk(4’d0), // input wire [3 : 0] gt2_txcharisk
.gt3_txdata(32’d0), // input wire [31 : 0] gt3_txdata
.gt3_txcharisk(4’d0), // input wire [3 : 0] gt3_txcharisk
.tx_reset_done(tx_reset_done), // output wire tx_reset_done
.gt0_rxdata(gt0_rxdata), // output wire [31 : 0] gt0_rxdata
.gt0_rxcharisk(gt0_rxcharisk), // output wire [3 : 0] gt0_rxcharisk
.gt0_rxdisperr(gt0_rxdisperr), // output wire [3 : 0] gt0_rxdisperr
.gt0_rxnotintable(gt0_rxnotintable), // output wire [3 : 0] gt0_rxnotintable
.gt1_rxdata(gt1_rxdata), // output wire [31 : 0] gt1_rxdata
.gt1_rxcharisk(gt1_rxcharisk), // output wire [3 : 0] gt1_rxcharisk
.gt1_rxdisperr(gt1_rxdisperr), // output wire [3 : 0] gt1_rxdisperr
.gt1_rxnotintable(gt1_rxnotintable), // output wire [3 : 0] gt1_rxnotintable
.gt2_rxdata(gt2_rxdata), // output wire [31 : 0] gt2_rxdata
.gt2_rxcharisk(gt2_rxcharisk), // output wire [3 : 0] gt2_rxcharisk
.gt2_rxdisperr(gt2_rxdisperr), // output wire [3 : 0] gt2_rxdisperr
.gt2_rxnotintable(gt2_rxnotintable), // output wire [3 : 0] gt2_rxnotintable
.gt3_rxdata(gt3_rxdata), // output wire [31 : 0] gt3_rxdata
.gt3_rxcharisk(gt3_rxcharisk), // output wire [3 : 0] gt3_rxcharisk
.gt3_rxdisperr(gt3_rxdisperr), // output wire [3 : 0] gt3_rxdisperr
.gt3_rxnotintable(gt3_rxnotintable), // output wire [3 : 0] gt3_rxnotintable
.rx_reset_done(rx_reset_done), // output wire rx_reset_done
.rxencommaalign(rxencommaalign_i), // input wire rxencommaalign
.common0_qpll_clk_out(common0_qpll_clk_out), // output wire common0_qpll_clk_out
.common0_qpll_refclk_out(common0_qpll_refclk_out), // output wire common0_qpll_refclk_out
.common0_qpll_lock_out(common0_qpll_lock_out) // output wire common0_qpll_lock_out
);

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
JESD204B是一种高速数据传输协议,常用于与AD(模数转换器)或DA(数模转换器)芯片配合使用,替代了LVDS接口。它能提供更高的通信速率,更强的抗干扰能力,并且需要较少的布线数量。 对于AD9172这款芯片,通过使用FPGA来进行调试是一种常见的方法。您可以使用FPGA作为JESD204B的接收端,并配置相应的IP核用于与AD9172进行通信。此外,您还可以将FPGA作为JESD204B的发送端,可以选择单独使用FPGA,或者与JESD204B PHY(物理层)配合使用。 关于AD9172的例程,具体的实现方法和代码可能因厂商或项目而异。一种常见的做法是使用厂商提供的开发套件或参考设计,其中包括了示例代码和相关文档。通过参考这些示例代码,您可以了解如何配置FPGAAD9172进行通信,包括初始化设置、数据传输和时钟同步等步骤。 为了更详细地了解AD9172的例程,您可以参考AD9172的产品手册、厂商提供的参考设计或开发套件的文档。这些资源通常会提供详细的步骤和示例代码,帮助您快速上手使用AD9172芯片,并进行相应的调试和开发工作。 总结起来,JESD204BAD9172的调试可以通过FPGA来实现。您可以使用FPGA作为JESD204B的接收端或发送端,配合相应的IP核和芯片进行通信。关于AD9172的例程,您可以参考厂商的开发套件、参考设计或产品手册,以获取更详细的信息和示例代码,以帮助您进行调试和开发工作。 : jesd204b高速ad/da调试,在做项目中使用到AD9172和AD9689系列芯片,如何使用fpga来调试,调试过程中遇到的问题记录。 : JESD204B通常配合AD或DA使用,替代LVDS,提供更高的通讯速率,抗干扰能力更强,布线数量更少。 : JESD204B IP核作为接收端时,单独使用,作为发送端时,可以单独使用,也可以配合JESD204b PHY使用。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值