Xilinx 7系列收发器GTX入门讲解

关注、星标公众号,精彩内容每日送达
来源:网络素材

一、前言

    芯片间的数据传输根据同一时间传输的bit数分为串行传输和并行传输。

串行传输:每次传输1bit数据,该方式具有传输距离长,传输可靠,但延迟高,数据带宽低。

并行传输:每次可传输多bit数据,具有传输效率高,但传输距离短,因同时多路传输相互之间存在干扰导致信号容易失真。

二、芯片间数据传输技术发展

    芯片间数据传输时,要保证数据准确被接收端接收,需要考虑时钟信号在准确的时刻采集数据信号,因为需要考虑时钟信号与数据信号的同步。

2.1 时钟/数据同步方式

    根据时钟信号与数据信号的同步方式分为系统同步,源同步,自同步

系统同步:发送端和接收端的时钟来自同一个外部时钟,简单原理图如下

d84d289791873b5d32758cbf8ce5b379.png

对应的详细时间模型如下图,下图中灰色背景的都是实际需要考虑的,可见需要考虑不少相关单元的延时。

334a4213ee4d4698f04e44343d36dd08.png

源同步:接收端的时钟和数据都来自发送端

ff042a61dff2daea9ea6c86e94cb6f38.png

源同步对应的时间模型如下图,相比于系统同步,只需考虑输出延时和板间延时

c087022504243468c7f8a344c2959f9b.png

自同步:源同步设计会带来时钟域的增加,如上图中的clk2,因此,出现了自同步这种方式,时钟信号和数据信号在同一路传输。

4f9b229ad49583fa9d228ac90fb566e9.png

对应的时间模型如下图,自同步中包含了3个主要模块:串并转换,并串转换以及时钟数据恢复单元

401767fc357bc6693eaab275fb82cfac.png

并串转换有两种实现方式:移位寄存器,旋转选择器(revolving selectors)

2e2bd18db8e1a08e169a10983ecb7204.png

   串并转换的方式与并串转换相反

a9b49c31ef0ee1c4c557efd81b78d2bb.png

时钟数据恢复

时钟数据恢复是通过PLL去同步一个和生成输入串行数据流的时钟频率相匹配的时钟

8ea42ce85168d915bdc25d75f5304208.png

    2.2 Serdes

    Serdes是属于自同步的一种,通常结构如下

ce961f04a9126e73c6ae93ab861ae07f.png

Serializer(并串转换):将并行数据流转换成串行数据

Deserializer(串并转换): 将串行数据流转换成并行数据

Rx (Receive) Align:将输入数据以合适的长度进行分组,从自动检测到用户控制的位流分隔有多个不同的机制

Clock Manager:管理设计中需要的不同时钟,包括分频时钟,倍频时钟,以及时钟恢复

Transmit FIFO (First In First Out): 将需发送的数据先存储

Receive FIFO:允许在移除接收到的数据前先进行存储,对于需要进行时钟纠正的系统很重要

Receive Line Interface:指模拟接收电路,包括差分接收器,以及正向均衡或反向均衡

Transmit Line Interface:模拟发送电路,可以改变驱动强度

Line Encoder:将数据编码成一种更有友好的线性格式,包括将无变化的长序列移除,对于serdes不是必需的模块

Line Decoder:将经过Line Encoder的数据恢复成原始数据

Clock Correction and Channel Bonding:允许纠正发射时钟和接收时钟的差异,也可以纠正不同信道中时钟的偏斜

三、 7系列GTX/GTH

GT的全称为Gigabit Transceiver ,是基于serdes技术发展起来的。Xilinx 7系列器件的收发器有GTX和GTH两类,GTX支持的线速率范围为500Mb/s到12.5Gb/s

GTH支持的线速率范围为500Mb/s到13.1Gb/s. GTX/GTH可以通过配置灵活使用。

3.1 GTXE2

下图右上角显示了Kintex-7中GTXE2的位置,由4个GTX Quad组成,每个GTX Quad由一个GTXE2_COMMON和4个GTXE2_CHANNEL组成,其中GTXE2_COMMON和GTXE2_CHANNEL是用于例化该单元的原语。

8f7ba7cd332d8fd5085f1c5b91bb5967.png

3.2 Quad

    单个Quad的内部结构如下图,包含了1个GTXE2_COMMON和4个Four GTXE2 CHANNEL,时钟都是来自差分时钟输入,有两个差分输入对IBUFDS_GTE2,通过一个参考时钟分配单元传输到GTXE2_CHANNEL中的CPLL和GTXE2_COMMON中的QPLL

700158b2256c4e6ad52b5115f0599f9b.png

3.3 GTXE2_CHANNEL

    GTXEW_CHANNEL的内部结构如下图,模块较多,结构也复杂。

bd335b29149661a96ece10925e14aea5.png

3.4 参考时钟结构

    QPLL和CPLL(Channel PLL)是GT的时钟管理单元,用于生成以及管理时钟信号,从而实现数据的高速传输。CPLL是使用环形振荡器的PLL,QPLL是使用LC共振器的PLL。时钟来源于输入的参考时钟,其中GTSOUTHREFCLK/GTNORTHREFCLK表示参考时钟来自南北方向其他Quad的参考时钟,所谓的南北方向也即临近的上下Quad的参考时钟。

QPLL的时钟连接如下图,如果需要使用QPLL,必须例化GTXE2_COMMON/

GTHE2_COMMON。其中QPLLREFCLKSEL为参考时钟选择端口,为3bit的数据。具体的端口选择规则如下表

f59f9149a3e1aa3b9246f007c8e615ab.png

GTREFCLK0/GTREFCLK1为IBUFDS_GTE2使用的外部时钟,GTGREFCLK为FPGA内部生成的参考时钟输入端口,一般用于内部测试。

4da1955f85a048dc6e8fc700efc2c74e.png

CPLL的时钟连接如下图,如果只使用CPLL时,也必须例化GTXE2_COMMON/GTHE2_COMMON

4cbd9b470129faf566e3ac79bbf4441c.png

对于单个Quad来说,参考时钟可来自6个输入引脚

1)Quad自身的GTREFCLK0和GTREFCLK1

2)来自上方相邻Quad参考时钟GTSOUTHREFCLK0和GTSOUTHREFCLK1

3)来自下方相邻Quad参考时钟GTNORTHREFCLK0和GTNORTHREFCLK1

4)1个外部参考时钟最多驱动3个Quad

3.4.1 外部参考时钟

    每一个Quad有两对差分输入端口可以连接外部时钟源,使用IBUFDS_GTE2可以实例化使用来自外部的时钟作为参考时钟对

cde8b79c21654d84b52b0d878e7accef.png

3.5 CPLL

    上一小节描述了外部时钟与QPLL/CPLL的连接关系,下面是CPLL内部时钟连接,TX和RX时钟分频器都可以选择时钟来自CPLL还是QPLL, 然后再传输到对应的PMA/PCS的串并时钟上

6ad715a3934ecc1a073bdf8035488c66.png

    CPLL的内部结构如下图

6d6f692863cd3836f02960ef07d09bc6.png

上述图中的各系数含义如下图

cef3ecb0626d542d9ee54e4654e2644e.png

CPLL的时钟输出频率计算公式为

c63a5ce878eed763d18029403b4d8490.png

对应的线速率的计算公式为,D为TX/RX的时钟分频器的分频系数,由于时钟的上升沿和下降沿都可以使用,因此乘2

ec1f0e594c00d0589f255be6d48d683f.png

3.6 QPLL

    每个Quad包含了一个基于LC振荡器的PLL,即QPLL,QPLL可以被同一个Quad内的收发信道使用,不能被其他Quad内的收发器使用。QPLL支持的速率在GTX和GTH中不同,在GTX中还分为低带宽和高带宽。

895816ef2d5c80f744528091baada1a4.png

当运行的线速率超过CPLL的范围时就需要使用QPLL,QPLL的内部结构如下图

223dec2a26bdde58c4f73cbb58df62a3.png

各系数的含义如下表

afa9437f1230abe1c4951eee5d3eea35.png

QPLL的输出频率计算公式如下

4dfaeaa7b4d97fb46283fe21db52744d.png

线速率的计算公式如下

4022d46a15053eacabb57e01f8b8a161.png

四、收发器GTX/GTH

4.1 发送器TX

        发送器的内部结构如下图,每个收发器包含一个独立的发送器,主要由左侧的物理媒介适配层(‌PMA)‌和右侧的物理编码子层(‌PCS)‌组成。PMA子层负责高速串并转换、‌预/后加重、‌接收均衡、‌时钟发生器及时钟恢复等电路功能,‌而PCS子层则包含8B/10B编解码、‌缓冲区、‌通道绑定和时钟修正等电路。‌

并行数据从PFGA的内部流向发送器接口,通过PCS和PMA,转换成串行数据被TX传输出去。

68b10651bf662b4b71c857b91bfe06b5.png

通过TX的结构图可知,主要有以下模块组成

1. FPGA TX Interface:TX接口就像是进入TX数据路径的网关,在时钟TXUSRCLK2
的上升沿将要发送的数据写入到TXDATA端口,TXDATA端口的宽度可配置成2,4,8个字节。具体配置为TX_DATA_WIDTH控制FPGA接口宽度(FPGA Interface Width),TX_INT_DATAWIDTH属性控制内部数据宽度(Internal Data Width),对应关系如下图。

8c0f35d0e69eb61ac77fddd5e2b9e6e2.png

2. TX 8B/10B Encoder:对于输出数据,很多协议使用8B/10B这一行业标准编码方案,只要在每个字节增加2bit就可达到DC平衡(直流平衡)和界限差异从而恢复时钟信号。GTX/GTH有一个专用的8B/10B TX路径来编码发送数据,而不需要其他的FPGA资源。

3. TX Gearbox:一些高速数据传输协议会用64B/66B的编码方式来代替8B/10B编码,可在维持原有编码方案的优势下减少增加bit的开销。TX Gearbox支持2字节、4字节、8字节接口,但是加扰数据需要使用FPGA的逻辑资源来实现。

4. TX Buffer:GTX/GTH收发器的发送数据路径在PCS部分上有两个内部的并行时钟域,即PMA并行时钟域XCLK和PCS的TXUSRCLK时钟域。

    如果要发送数据,XCLK的速率必须和TXUSRCLK速率匹配,两个时钟域不能存在相位差。因此,GTX/GTH中有一个TX相位对齐电路来解决XCLK和TXUSRCK间的相位差,即下图的Phase Adjust FIFO,当TX Buffer为bypass模式时,就使用Phase Adjust FIFO。所有的发送数据要么被TX buffer使用,要么被Phase Adjust FIFO使用。

3bad53a0daab1f33789f2fda35e2ea0c.png

TX buffer和TX buffer bypass(相位对齐电路)如下图

7dad62616e5cfc98a17328bcf93290af.png

5. TX Buffer Bypass:TX buffer的bypass模式是7系列收发器的高级功能。前面提到TX相位对齐电路可以调整PISO并行时钟域与TXXCLK时钟域的相位差。它也可以连续地调整TXUSRCLK来控制TX延时分配,从而补偿因温度和电压变化带来的波动。TX相位调整与延时对齐都可以由GTX自动控制,也可也用户手动控制。

6. TX Pattern Generator:伪随机序列(PRBS)通常用于测试高速链路的完整性。序列看似随机的,却是有一定的特性可以用来测试链路的质量。GTX/GTH的pattern generator可以生成多个行业标准的PRBS,如PRBS-7,PRBS-15,PRBS-23,PRBS-31

7. TX Polarity Control:如果差分引脚TXP和TXN在PCB上意外地被交换了,TX发送的数据将会取反。一种办法是在并行数据串行化以及发送前将其极性取反,来抵消在差分对上的极性取反。也可以通过TX极性控制模块来实现输出数据的极性取反。

8. TX Fabric Clock Output Control:TX fabric时钟输出控制模块有两部分组成:串行时钟分频控制与选择器,并行时钟分频控制与选择器。

下图中分频模块/2或/4的由TX_INT_DATAWIDTH属性决定,/4与/5由TX_DATA_WIDTH
决定

8eee8b783b945856ecbc1f839ba0449f.png

9. TX Phase Interpolator PPM Controller:TX相位插入器PPP控制器可以动态地控制TX相位插入(TX PI)。该模块位于TX的PCS模块,接收来自TX接口的数据并且输出到TX的PMA上。当需要对TX PMA上的数据进行微调时才会使用,TX PI可以控制PLL的输出时钟,反过来也可以被TX相位插入PPM控制器模块控制。

10. TX Configurable Driver:TX可配置驱动器是一个高速电流模式差分输出缓冲器。为了最好的保持信号的完整性,该模块可以通过控制差分电压,发送预加重进行Pre-cursor和Post-cursor,校准终端电阻来实现。

11. TX Receiver Detect Support for PCI Express Designs:PCIE指标包括允许发送器在一个指定连接上检测接收器是否存在,确认接收器是否存在是基于TXP/TXN的上升沿实现的。

12. TX Out-of-Band Signaling:每一个GTX/GTH收发器都支持生成带外序列,可用在SATA,SAS以及PCIE协议中。

4.2 接收器RX

    接收器RX的内部结构图如下,每个GTX/GTH的收发器都包含一个独立的接收器RX,和发送器类似,由PCS和PMA两大部分组成,高速串行数据从每个接收器的PMA到PCS,然后进入到FPGA内部逻辑。

ebe040051d9db6abe38eda4d15c35f43.png

接收器的主要由以下部分组成

1. RX Analog Front End:RX AFE是一个高速电流模式输入差分缓冲器,可以配置RX终端的电压以及校准终端电阻。

2. RX Out-of-Band Signaling:每一个GTX/GTH接收器都支持解码SATA,SAS
和PCIE协议的带外序列。

3. RX Equalizer (DFE and LPM):通常发送媒介或信道是一个带宽有限的信道,信号传输存在衰减或失真。对于接收器在要在功耗和性能间折衷,有两种自适应的过滤方式。如果要功耗优先,则接收器有一种低功耗模式(LPM)。如果要信号失真减少,则选择DFE模式。相比于使用线性均衡器,DFE可以更好的调整过滤参数来补充发送信道的衰减,它是一个离散时间自使用高通滤波器。

5982b3953549e15f8d2e2cd405bd8ffc.png

GTX接收器的DFE模式结构如下图

02f06806a48ec1e00a801541816451b7.png

4. RX CDR:RX CDR电路用于从一个输入数据流中恢复出其中的时钟信号。

dddc07d027bdf702707eee2bfccb7d96.png

CDR状态机使用来自边沿采样器和数据采样器的数据来决定输入数据流的相位以及控制相位插入器(PIs)。当数据采样器的相位处于数据眼图的中间位置时,边沿采样器的相位将锁定在数据流的转换区域。CPLL/QPLL为相位插入器PI提供基准时钟,PI反过来产生好的采样相位使得CDR状态机有最佳的相位控制。

dc745416d65c653dd9f54aa1b1fc097a.png

5. RX Fabric Clock Output Control:和发送器类似,RX时钟分频控制模块主要由两部分组成:串行/并行时钟分频器控制以及选择器控制

6. RX Margin Analysis:随着线速率以及信道衰落增加,对于接收端的均衡器要求更高。7系列的RX眼图扫描可以在均衡器后测量以及将接收器眼图边沿可视化。

7. RX Polarity Control:如果差分引脚RXP和RXN在PCB上意外地被交换了,RX接收到的数据将会取反。一种办法是在SIPO后并行数据进入PCS中将其极性取反,来抵消在差分对上的极性取反。也可以通过RX极性控制模块来实现\数据的极性取反。

8. RX Pattern Checker:RX模式检查器可以设置去检查四种行业PRBS模式(PRBS-7/PRBS-15/PRBS-23/PRBS-31)的任意一种,检查器是自同步并且在"逗号"对齐或解码前处理输入数据,主要用于测试信道上信号的完整性。

RXPRBSSEL用于选择PRBS模式,值与对应模式关系如下

001: PRBS-7
010: PRBS-15
011: PRBS- 23
100: PRBS-31

当PRBS检查器运行时,会尝试在输入数据中去寻找选择的模式,如果输入数据已经发送器或差分对取反,接收到的数据将会通过RXPOLARITY来进行取反。当查找到选择的模式后,将会通过对比输入的模式与预期的结果模式来检测PRBS错误,预期的模式时来自之前的输入数据。检查器会统计错误字(每个字20bit)的数量。因此,如果输入的并行数据包含2个以上的错误时,错误的字数和错误的bit数就会出现不一致的情况,当统计的错误数达到0XFFFF时计数器停止计数。

a5bd71b12d3d5b9e4ae903c7fd878b8f.png

9. RX Byte and Word Alignment:串行数据在被用于并行数据前必须按符号对齐,为了对齐成为可能,发送器发送一个可识别的序路,该序列称为“逗号”。接收器在接收数据中查找“逗号”,找到逗号后会将其移除。

10. RX 8B/10B Decoder:如果接收到的是8B/10B编码,接收器一定能解码,因为接收器有一个自带的8B/10B解码器,该解码器有以下特点

1)支持2字节,4字节,8字节的数据路径操作

2)为差异提供菊式联机运行

3)生成K字符和状态输出

4)如果输入数据不是8B/10B编码可以转为Bypassed模式

5)当遇到非表内错误时,可以输出10bit的编码值

11. RX Buffer Bypass:RX相位对齐电路用于调整SIPO并行时钟域和RX XCLK时钟域间的相位差,从而使得数据有效地从SIPO传输到PCS.同时可以通过调整RXUSRCLK实现RX延时对齐从而消除温度和电压变化的影响。

12. RX Elastic Buffer:RX数据路径上在PCS中有2个内部并行时钟域,PMA并行时钟域XCLK和RCUSRCLK时钟域。为了接收数据,PMA并行速率必须足够的接近RXUSRCLK速率,两者之间的相位差必须要消除,这个就需要靠RX Elastic缓冲器。

257f815313d31e8843c1bbfb5d5aa9e3.png

13. RX Clock Correction:前面提到RX Elastic缓冲器可以消除两个不同时钟域的相位差,但XCLK和RXUSRCLK不是完全相同,RX elastic缓冲器可能会溢出或空缺多。为了解决这种问题,TX会周期性的发送一个或多个特殊字符,接收器接收到该特殊字符会将其移除或复制。当缓冲器满了时会将其移除,当缓冲器很空时会对齐进行复制,从而避免溢出或空缺的状态。

14. RX Channel Bonding:像PCIE和XAUI协议可以将多个串行收发器连接成一个单个的高流量信道,每个串行收发器为一个lane。除非每个串行连接是完全相同的长度,否则两个lane间即使是同时发送,接收也会出现不同步,从而有偏斜。通过信道绑定可以消除这种偏斜,对于一个绑定信道的收发器,所有发送器同时发送一个信道绑定字符(或一个字符序列),接收器接收到该字符后,接收器会根据字符的偏斜调整RX elastic缓冲器的延迟,从而数据可以无偏斜的到达RX的用户接口。信道绑定支持8B/10B编码,但不支持64B/66B,64B/67B,128B/130B以及扰码数据。

e3ee5a4967e2bc2c8ae6503196e65fae.png

15. RX Gearbox:同发送端一样,RX gearbox也支持64B/66B和64B/67B头和载荷分离

16. FPGA RX Interface:RX接口是进入RX数据路径的网关,也即是数据经过接收器后进入到FPGA内部逻辑的控制接口。通过在时钟RXUSRCLK2的上升沿读取来自RXDATA端口的数据从而接收数据。端口的宽度也是可配置的,可为2,4,8个字节。

    同TX接口类似,属性RX_INT_DATAWIDTH控制内部数据宽度是2字节还是4字节,属性RX_DATA_WIDTH控制FPGA接口宽度。但与TX有差异的是,也支持8B/10B为bypassed模式时的宽度配置,也即下图RX8B/10BEN为0时的场景。

02f980e71afa6889d59be5244301e3e7.png

4.3 TX与RX全流程分析

    借用前面的GTXE2_CHANNEL的内部结构图,左右各加上信道传输模块,FPGA内部逻辑,即是一个完整的闭环。图中数字为根据数据流程对一些主要流程进行标记

    发送流程:FPGA内部的串行数据通过TX接口进入到TX内部,经过8B/10B进行编码处理,在TX buffer上进行相位调节,Polarity中极性极性处理,进入到PISO完成并串转换,最后由TX Driver将串行数据发送出去。

    接收流程:TX发送的数据经过传输信道进入到RX中,先是通过RX EQ/DFE或RX OOB对信道衰减进行的一些处理,进入SIPO实现数据串行转换成并行数据,完成极性处理以及相位对齐,然后进行解码操作,数据对齐后再通过RX接口进入到FPGA的内部,从而一个收发流程完成。

beaa87ac8a14f83801e684b08ed3cf2c.png

596ca3f1203c1f5547b2c9fb24b556af.png

7de537ee60e2ac5a06559a6faaf5e9ea.jpeg

想要了解FPGA吗?这里有实例分享,ZYNQ设计,关注我们的公众号,探索

<think>好的,用户想了解GTX收发器的使用说明或技术文档。首先,我需要回顾一下系统中提供的引用内容,看看哪些部分相关。引用[1]提到GTX/GTH收发器Quad的位置、pad编号以及如何用XDC文件约束,这些信息对用户可能有帮助。引用[2]解释了GTX的基本概念、工作原理和应用场景,可以作为背景知识。引用[3]和[4]涉及具体配置步骤和Xilinx FPGA的应用案例,尤其是IP核的调用和HDL例化方法,这应该是用户需要的实操部分。 接下来,我需要整理这些信息,分步骤说明使用方法。首先应该介绍GTX收发器的基本概念,然后讲硬件资源布局,接着是时钟配置和约束文件的使用,再是IP核的配置和例化,最后是调试和优化。同时,根据系统指令,要生成相关问题,可能需要包括性能优化、调试工具、应用场景差异等。 需要确保使用正确的中文术语,比如“收发器Quad”、“XDC约束文件”等。同时注意数学公式和代码块的格式,比如IP核配置部分可能需要代码示例,但根据引用中的例子,用户可能更关注HDL例化模板的查看方法,所以需要提到如何通过Vivado生成例化代码。另外,引用[3]提到了千兆以太网MAC控制器的例子,可以作为应用案例说明。 可能还需要提醒用户参考Xilinx官方文档,比如UG476和UG482,这些在引用中没有直接提到,但根据知识库中的常见做法,应该建议用户查阅官方技术手册。此外,注意引用标识的正确添加,比如在提到Quad布局和XDC约束时引用[1],在基础概念部分引用[2],在IP核配置时引用[3]。 最后,生成的问题需要覆盖用户可能进一步询问的方向,比如设计中的常见错误、不同FPGA型号的差异、误码率测试方法等。确保问题具体且有引导性,帮助用户深入理解GTX收发器的使用。</think>### GTX收发器使用说明与技术文档解读 #### 一、硬件资源布局 GTX收发器在FPGA中以Quad(四通道组)形式组织,每个Quad包含4个收发通道和共享的时钟资源[^1]。使用前需通过器件手册确认: 1. 目标FPGA型号支持的Quad数量(如Kintex-7系列XC7K325T含16个Quad) 2. 具体封装引脚对应关系,例如: ```tcl # XDC约束示例 set_property LOC GTXE2_CHANNEL_X0Y5 [get_cells gtx_inst/gtx_channel] ``` #### 二、时钟架构配置 $$ PLL_{out} = \frac{N}{M} \times REFCLK_{in} $$ 需配置QPLL(Quad级PLL)或CPLL(通道级PLL): - QPLL适用于多通道同步场景 - CPLL支持单通道独立调频 通过Vivado的IBERT工具可实时监测时钟质量[^3]。 #### 三、IP核配置流程(以千兆以太网为例) 1. 在Vivado IP Catalog中搜索"Gigabit Transceiver" 2. 配置协议类型(如SFP+、PCIe、10G以太网) 3. 设置线速率(1.25Gbps-12.5Gbps) 4. 生成例化模板: ```verilog gtx_ethernet u_gtx( .sysclk(refclk_125m), .rxp(rx_p), .rxn(rx_n), .txp(tx_p), .txn(tx_n) ); // [^3] ``` #### 四、信号完整性保障 参数 | 典型值 | 测试方法 ---|---|--- 误码率 | <1e-12 | PRBS模式测试[^2] 眼图余量 | >0.3UI | 示波器模板扫描 抖动容限 | 符合协议标准 | 抖动注入测试 #### 五、调试工具链 1. IBERT(集成误码率测试仪) 2. ChipScope/VIO实时监控 3. Tcl脚本自动化配置: ```tcl create_clock -name gtrefclk -period 8.0 [get_ports refclk_p] set_property DIFF_TERM TRUE [get_ports refclk_p] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值