xilinx FPGA jesd204b ADC篇(0):JESD204术语-CSDN博客
xilinx FPGA jesd204b ADC篇(1):什么是JESD204-CSDN博客
xilinx FPGA jesd204b ADC篇(2):JESD204的意义-CSDN博客
xilinx FPGA jesd204b ADC篇(3):高速数据转换器的输出接口-CSDN博客
xilinx FPGA jesd204b ADC篇(4):JESD204B接口介绍-CSDN博客
xilinx FPGA jesd204b ADC篇(5):JESD204B接口的关键-CSDN博客
xilinx FPGA jesd204b ADC篇(6):JESD204B IP核简介-CSDN博客
xilinx FPGA jesd204b ADC篇(7):JESD204B IP核端口介绍-CSDN博客
xilinx FPGA jesd204b ADC篇(8):JESD204B IP核寄存器-CSDN博客
xilinx FPGA jesd204b ADC篇(9):JESD204B IP核设计实现-CSDN博客
xilinx FPGA jesd204b ADC篇(10):JESD204B IP核的AXI4-lite配置接口读写-CSDN博客
xilinx FPGA jesd204b ADC篇(11):JESD204B ADC硬件实现架构-CSDN博客
xilinx FPGA jesd204b ADC篇(12):JESD204B ADC数据采集实现-CSDN博客
*******私信博主请加V:FPGA_GO*******
博主小飞继续和大家分享xilinx FPGA jesd204b ADC篇的第7部分相关内容~
该篇小飞主要参考xilinx官方文档介绍JESD204 IP核的端口信号含义,大部分内容都是按自己的理解翻译成中文和大家分享,开发JESD204B时每个端口信号的含义和使用规则必须了然于胸,所以不得不仔细解释一些端口信号,以后咱们如果忘记了就当中文手册查看吧~
时钟和复位端口信号——TX核
在例化JESD204 IP核为发送器时,会有一个选项“Shared Logic”,根据用户选择不同的例化类型,时钟和复位端口信号端口会不一样。
Table2-1:Tx核:时钟和复位信号端口——shared logic in example design | ||
信号名称 | 方向 | 描述 |
tx_core_clk | 输入 | Ip核逻辑时钟输入,其频率为串行线速率的1/40倍 |
tx_reset | 输入 | Ip核异步复位信号 |
tx_reset_gt | 输出 | 输出到Jesd204_PHY的复位信号 |
tx_reset_done | 输入 | Jesd204_PHY已复位完成标志,表示它已经完成发送复位 |
tx_aresetn | 输出 | AXI4-Stream 复位,低有效,和发送数据逻辑相关。 |
s_axi_aclk | 输入 | AXI4-Lite时钟,和配置接口相关。 |
s_axi_ aresetn | 输入 | AXI4-Lite控制逻辑复位。 |
Table2-2:Tx核:时钟和复位信号端口——shared logic in the core | ||
信号名称 | 方向 | 描述 |
refclk_p/refclk_n | 输入 | gt收发器的输入参考时钟 |
glblclk_p/glblclk_n | 输入 | 差分的ip核时钟输入,其频率为串行线速率的1/40倍,仅在7系列产品使用 |
tx_core_clk | 输入 | Ip核逻辑时钟输入,其频率为串行线速率的1/40倍,仅在ultrascale产品使用 |
drpclk | 输入 | 动态重配置端口时钟,在ultrascale产品使用 |
common0_pll_clk_out | 输出 | 与0~3 lane有关的QPLL时钟输出 |
common0_pll_refclk_out | 输出 | 与0~3 lane有关的QPLL参考时钟输出 |
common0_pll_lock_out | 输出 | 与0~3 lane有关的QPLL时钟锁定状态输出,1表示QPLL锁定 |
common1_pll_clk_out | 输出 | 与4~7 lane有关的QPLL时钟输出 |
common1_pll_refclk_out | 输出 | 与4~7 lane有关的QPLL参考时钟输出 |
common1_pll_lock_out | 输出 | 与4~7 lane有关的QPLL时钟锁定状态输出,1表示QPLL锁定 |
tx_core_clk_out | 输出 | Ip核逻辑时钟输出,其频率为串行线速率的1/40倍 |
tx_aresetn | 输出 | AXI4-Stream 复位,低有效,和发送数据逻辑相关。 |
s_axi_aclk | 输入 | AXI4-Lite时钟,和配置接口相关。 |
s_axi_aresetn | 输入 | AXI4-Lite控制逻辑复位。 |
时钟和复位端口信号——RX核
在例化JESD204 IP核为接收器时,同样会有一个选项“Shared Logic”,根据用户选择不同的例化类型,时钟和复位端口信号端口会不一样。
Table2-3:Rx核:时钟和复位信号端口——shared logic in example design | ||
信号名称 | 方向 | 描述 |
rx_core_clk | 输入 | Ip核逻辑时钟输入,其频率为串行线速率的1/40倍 |
rx_reset | 输入 | Ip核异步复位信号 |
rx_reset_gt | 输出 | 输出到Jesd204_PHY的复位信号 |
rx_reset_done | 输入 | Jesd204_PHY已复位完成标志信号,表示它已经完成发送复位进程。 |
rx_aresetn | 输出 | AXI4-Stream 复位,低有效,和发送数据逻辑相关。 |
s_axi_aclk | 输入 | AXI4-Lite时钟,和配置接口相关。 |
s_axi_ aresetn | 输入 | AXI4-Lite控制逻辑复位。 |
Table2-4:Rx核:时钟和复位信号端口——shared logic in the core | ||
信号名称 | 方向 | 描述 |
refclk_p/refclk_n | 输入 | gt收发器的输入参考时钟 |
glblclk_p/glblclk_n | 输入 | 差分的ip核时钟输入,其频率为串行线速率的1/40倍,仅在7系列产品使用 |
rx_core_clk | 输入 | Ip核逻辑时钟输入,其频率为串行线速率的1/40倍,仅在ultrascale产品使用 |
drpclk | 输入 | 动态重配置端口时钟,在ultrascale产品使用 |
common0_pll_clk_out | 输出 | 与0~3 lane有关的QPLL时钟输出 |
common0_pll_refclk_out | 输出 | 与0~3 lane有关的QPLL参考时钟输出 |
common0_pll_lock_out | 输出 | 与0~3 lane有关的QPLL时钟锁定状态输出,1表示QPLL锁定 |
common1_pll_clk_out | 输出 | 与4~7 lane有关的QPLL时钟输出 |
common1_pll_refclk_out | 输出 | 与4~7 lane有关的QPLL参考时钟输出 |
common1_pll_lock_out | 输出 | 与4~7 lane有关的QPLL时钟锁定状态输出,1表示QPLL锁定 |
rx_core_clk_out | 输出 | Ip核逻辑时钟输出,其频率为串行线速率的1/40倍 |
rx_aresetn | 输出 | AXI4-Stream 复位,低有效,和发送数据逻辑相关。 |
s_axi_aclk | 输入 | AXI4-Lite时钟,和配置接口相关。 |
s_axi_aresetn | 输入 | AXI4-Lite控制逻辑复位。 |
JESD204 PHY和收发器信号——TX核
在例化JESD204 IP核为发送器时,会有一个选项“Shared Logic”,根据用户选择不同的例化类型,JESD204 PHY和收发器信号端口同样会不一样。
Table2-5:Tx核:JESD204 PHY和收发器信号端口——shared logic in example design | ||
信号名称 | 方向 | 描述 |
gtN_txdata[31:0] | 输出 | Tx数据发送到JESD204 PHY,N=Lane-1 |
gtN_txcharisk[3:0] | 输出 | Tx char 是k码发送到JESD204 PHY,N=Lane-1 |
gt_prbssel[X:0] | 输出 | TX PRBS 测试模式控制信号发送到JESD204 PHY |
Table2-6:Tx核:收发器信号端口——shared logic in the core | ||
信号名称 | 方向 | 描述 |
txp[N:0] | 输出 | P端差分串行输出,N=Lane-1 |
txn [N:0] | 输出 | N端差分串行输出,N=Lane-1 |
JESD204 PHY信号——RX核
在例化JESD204 IP核为接收器时,会有一个选项“Shared Logic”,根据用户选择不同的例化类型,JESD204 PHY端口同样会不一样。
Table2-7:Rx核:JESD204 PHY和收发器信号端口——shared logic in example | ||
信号名称 | 方向 | 描述 |
gtN_rxdata[31:0] | 输入 | Rx数据来自于JESD204 PHY |
gtN_rxcharisk[3:0] | 输入 | Rx char 是k码来自于JESD204 PHY |
gtN_rxdisperr[3:0] | 输入 | Rx数据不一致性错误来自于JESD204 PHY |
gtN_rxnotintable[3:0] | 输入 | Rx数据不在8b/10b编码表来自于JESD204 PHY |
rxencommalign_out | 输出 | Rx数据允许comma字符对齐发送到JESD204 PHY |
Table2-8:Rx核:收发器信号端口——shared logic in the core | ||
方向 | 描述 | |
txp[N:0] | 输入 | P端差分串行输入,N=Lane-1 |
txn [N:0] | 输入 | N端差分串行输入,N=Lane-1 |
JESD204 数据发送接口信号——TX核
在例化JESD204 IP核为发送器后,该接口的信号都在tx_core_clk时钟下工作。
Table2-9:Tx核:Transmit Data Interface | ||
信号名称 | 方向 | 描述 |
AXI4-Stream Interface Signals (Transmit Only) | ||
tx_aresetn | 输出 | 所有lane共享的低电平有效的复位信号 |
tx_tdata[(32*N)-1:0] | 输入 | AXI结构的发送数据(包括采样数据和控制字,低有效字节先发送): Lane0的数据:tx_tdata[31:0] Lane1的数据:tx_tdata[63:32] … LaneN的数据:tx_tdata[((N + 1) × 32) - 1:(N × 32))] |
tx_tready | 输出 | AXI slave ready for data |
Non-AXI Data Interface Signals (Transmit Only) | ||
tx_start_of_frame[3:0] | 输出 | 帧边界标志位,具体解释见后文:When start_of_frame = 0001, the first byte of a frame is in bits [7:0] of the tdata word with the next 3 bytes in bits[31:8]. • When start_of_frame = 0010, the first byte is in bits [15:8] of the tdata word with the next 2 bytes in bits[31:16]; bits [7:0] contain the end of the previous frame. • When start_of_frame = 0100, the first byte is in bits [23:16] of the tdata word with the next byte in bits[31:24]; bits [15:0] contain the end of the previous frame. • When start_of_frame = 1000, tdata contains the last 3 bytes of the previous frame in bits [23:0] and the first byte of a new frame in bits [31:24]. |
tx_start_of_multiframe [3:0] | 输出 | 多帧的边界标志位:The position of the first byte of each multiframe is encoded in the same way as start_of_frame. |
tx_sysref | 输入 | JESD204B协议的SYSREF信号,作为确定性延迟的参考信号 |
tx_sync | 输入 | JESD204B协议的SYNC信号,低有效 |
图2-2展示了AXI4-stream发送数据中tx_start_of_frame 和tx_start_of_multiframe的帧边界和多帧边界标志的含义。在JESD204 ip核中,数据都是以32bit位宽来处理的,32bit数据在1个tx_core_clk时钟周期下完成传输。4bit宽度的tx_start_of_frame 和tx_start_of_multiframe标志信号来区分32bit数据中哪个字节是帧起始位置和多帧起始位置,看如下时序图一目了然:以一帧数据有8个字节,一个多帧有4个帧为例。需要注意的是标志位比对应数据提前一个时钟周期。
JESD204 数据接收接口信号——RX核
在例化JESD204 IP核为接收器后,该接口的信号都在rx_core_clk时钟下工作。
Table2-10:Rx核:Receive Data Interface | ||
信号名称 | 方向 | 描述 |
AXI4-Stream Interface Signals (RX Only) | ||
rx_aresetn | 输出 | 所有lane共享的低电平有效的复位信号 |
rx_tdata[(32*N)-1:0] | 输出 | AXI结构的接收数据(包括采样数据和控制字,低有效字节先发送): Lane0的数据:tx_tdata[31:0] Lane1的数据:tx_tdata[63:32] … LaneN的数据:tx_tdata[((N + 1) × 32) - 1:(N × 32))] |
rx_tvalid | 输出 | AXI receive data valid |
Non-AXI Data Interface Signals (RX Only) | ||
rx_start_of_frame[3:0] | 输出 | 帧起始边界标志位 |
rx_end_of_frame[3:0] | 输出 | 帧结束边界标志位 |
rx_start_of_multiframe[3:0] | 输出 | 多帧起始边界标志位 |
rx_end_of_multiframe[3:0] | 输出 | 多帧结束边界标志位 |
rx_frame_error [(LANES*4)-1:0] | 输出 | 字节数据错误标志信号 |
rx_sync | 输出 | JESD204B协议的SYNC信号,低有效 |
rx_sysref | 输入 | JESD204B协议的SYSREF信号,作为确定性延迟的参考信号 |
图2-3展示了AXI4-stream接收数据中相关时序,实际工作时按该时序取数据即可:
JESD204核的配置接口——AXI4-Lite
在例化JESD204 IP核后,会出现一些基于AXI4-Lite协议的配置信号,用来读写IP内部的配置寄存器和状态寄存器。这些信号需要用户自己操作,其具体的含义及操作法则在后续的博文中小飞单独拿出来分析,这里仅给出这些信号的读写时序图,当然通过时序图,大家也很容易掌握。
JESD204 IP核的寄存器有很多,包含了JESD204协议所有的配置参数信息和IP核工作的状态信息,因此在调试时对寄存器的读写就十分重要,下篇博主小飞将介绍JESD204 IP核的寄存器分类~