0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Xilinx FPGA平台GTX简易使用教程(二)

C29F_xilinx_inc 来源:赛灵思 作者:赛灵思 2022-03-01 17:23 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

时钟就是脉搏,能否工作全靠它!

话不多说,直接上干货!

文中全部使用GTX代指GT Transceiver,同样适用于GTH。

一、参考时钟
1.1 收发测试能跑起来的基本参考时钟设置
我们先回顾下上一节的基础知识:Quad、QPLL、CPLL、Channel、Common;基础知识理解了有利于后面内容的了解。

Xilinx FPGA平台GTX简易使用教程(二)

每一个GTX独有的CPLL,4个GTX共有的一个QPLL,2个外部参考时钟输入,和专用参考时钟布线(REFCLK Distribution)。

在Quad中,GTXE2_CHANNEL原语以及GTXE2_COMMON原语都必须例化,需要注意的是不管使用还是不使用QPLL,GT_COMMON都是要例化的,这是工具自动操作的。

外部参考差分时钟输入经过 IBUFDS_GTE2原语转为单端时钟后,就是GTX的参考时钟输入端口

Xilinx FPGA平台GTX简易使用教程(二)

IBUFDS IBUFDS_inst (
.O(O), // 1-bit output: Buffer output
.I(I), // 1-bit input: Diff_p buffer input (connect directly to top-level port)
.IB(IB) // 1-bit input: Diff_n buffer input (connect directly to top-level port)
);

前文已说过,1个Quad有2个参考时钟,我们称之为REFCLK0,REFCLK1,具体用哪一个,看你外部板卡设计时,实际给了哪一路。然后在IP配置时候,选择使用对应的参考时钟:

Xilinx FPGA平台GTX简易使用教程(二)

总结如下:

①参考时钟根据板子实际时钟来选择频率;

②参考时钟给到REFCLK0 还是REFCLK1也由板子设计决定。

但是对于我们学习做仿真而言,暂时不用管它;如果按照上图配置来例化IP;那么对应到程序中就是:

(根据IP配置)差分输入参考时钟频率为156.25Mhz,然后经过IBUFDS原语后转为单端时钟并给到参考时钟REFCLK1;而REFCLK0由于没有使用,直接给0 。

1.2 继续了解时钟,走着
如果只是测试收发,跑跑仿真,那么到这里,我们就可以不用继续研究了。直接跳到第二章--系统时钟。但是GTX的时钟远不止如此;要知道K7325T有16个GTX ,V7系列更多;当GTX数量多了的时候,时钟又如何设定?

继续上图:

Xilinx FPGA平台GTX简易使用教程(二)

注意到红框的REFCLK Distribution了吗?专用参考时钟布线。

REFCLK Distribution的上下参考时钟引脚分别为南北时钟输入引脚。用于Quad之间共享参考时钟;也就是说,并不一定每一个Quad都需要外部参考时钟,有的Quad可以和其他Quad共享参考时钟,而共享的来源就是南北时钟输入引脚。Quad的南北参考时钟称为GTSOUTHREFCLK以及GTNORTHREFCLK。

我们再继续看来自QPLL参考时钟的4通道结构图:

Xilinx FPGA平台GTX简易使用教程(二)

又总结一下:

每个Quad中的GTX通道有6个可用的参考时钟输入:

两个外部输入参考差分时钟,经过IBUFDS后就是GTREFCLK0和GTREFCLK1;

来自于Quad上面的两个参考时钟引脚对,GTSOUTHREFCLK0和GTSOUTHREFCLK1;

来自于Quad下面的两个参考时钟引脚对,GTNORTHREFCLK0和GTNORTHREFCLK1;

好家伙,一下子来这么多参考时钟,GTX都蒙了,用哪个呢?

时钟多路选择器安排呗。

下图是QPLL参考时钟多路选择器:

Xilinx FPGA平台GTX简易使用教程(二)

注意:多了一个GTGREFCLK,这个时钟是由内部逻辑产生的参考时钟。貌似只用于内部测试。

CPLL同理,就不啰嗦了,直接上图:

Xilinx FPGA平台GTX简易使用教程(二)

1.3 单个外部参考时钟使用情形
(1)单个外部参考时钟驱动单个Quad中的多个GTX

这种情况很简单,也很常见,一个Quad共用一个外部参考时钟,直接看图:

Xilinx FPGA平台GTX简易使用教程(二)

用户设计直接将外部参考时钟经过IBUFDS_GTE2输出REFCLK连接到GTX 的COMMON 、CHANNEL 原语。

(2)单个外部参考时钟驱动多个Quad中的多个GTX

单个外部参考时钟也可以驱动多个Quad中的多个GTX,例如:

Xilinx FPGA平台GTX简易使用教程(二)

但是,须得遵守一定的规则:

源Quad上方的Quad数量不能超过1个;

源Quad下方的Quad数量不能超过1个;

源Quad,指的是直接连接到外部参考时钟的Quad。

即是说: 1个外部参考时钟所驱动的Quad总数不超过3个,或驱动的Transceiver不超过12个。

1.4 多个外部参考时钟使用情形
(1)同一个QUAD中,多个GTX Transceiver使用多个参考时钟

每个Quad有两个专用的差分时钟输入引脚(MGTREFCLK0[P/N]或 MGTREFCLK1[P/N]) ,可以连接到外部时钟源。 每个专用的参考时钟引脚对输入进来后必须例化IBUFDS_GTE2,再给到GTX使用。

说再多也不如一张图看的直接:

Xilinx FPGA平台GTX简易使用教程(二)

看图说话:MGTREFCLK0[P/N]连接到GTREFCLK0,将MGTREFCLK1[P/N]连接到GTREFCLK1管脚。

(2)不同QUAD中,多个GTX Transceiver 使用多个参考时钟

参考时钟选择结构的灵活性允许Quad中的每个Transceiver都可以访问上下Quad中的专用参考时钟。

不啰嗦,上图上图:

Xilinx FPGA平台GTX简易使用教程(二)

在每个GTX有多个参考时钟选项的情况下,设计的时候根据需求设置 QPLLREFCLKSEL[2:0]和CPLLREFCLKSEL[2:0]。该遵守的规则还是要遵守的:1个外部参考时钟所驱动的Quad总数不超过3个,或驱动的Transceiver不超过12个。

1.5 QPLL/CPLL工作原理
算了, 略过吧,有兴趣具体查阅手册《UG476》。

二、系统时钟

Xilinx FPGA平台GTX简易使用教程(二)

对应IP设置的第三页,我们所设置的时钟频率,也是DRP CLOCK;跟板子提供的时钟对应;

对应到代码:
input wire DRP_CLK_IN_P,

input wire DRP_CLK_IN_N,

我们参照Example Design中对该时钟的处理:

先经过IBUFDS转为单端时钟,然后经过BUFG,再给到GTX核。
IBUFDS IBUFDS_DRP_CLK (
.I (DRP_CLK_IN_P),
.IB (DRP_CLK_IN_N),
.O (DRPCLK_IN)
);

BUFG DRP_CLK_BUFG(
.I (DRPCLK_IN),
.O (drpclk_in_i)
);

这里,有个有意思的事情:

笔者使用50Mhz / 100Mhz 输入,最终GTX输出都是OK的,什么原因呢?

三、逻辑使用的时钟
TXUSRCLK 和 TXUSRCLK2 生成:

(以下内容为UG476翻译)

FPGA发送端包含两个并行时钟:TXUSRCLK 和 TXUSRCLK2,

TXUSRCLK是GTX中PCS逻辑的内部时钟。它的频率由TX端的Line Rate和内部数据总线宽度共同决定:

Xilinx FPGA平台GTX简易使用教程(二)

TXUSRCLK2是GTX的TX端信号的主要同步时钟。 GTX发送的大多数信号都是在TXUSRCLK2的上升沿进行采样。TXUSRCLK2和TXUSRCLK之间有一个固定比率关系,由TX_DATA_WIDTH 和TX_INT_DATAWIDTH决定,见下图:

Xilinx FPGA平台GTX简易使用教程(二)

回想一下,我们要通过某个IP核进行发送数据,那么发送数据模块所使用的时钟必然是该IP核出来的同步时钟。

对于GTX而言,我们发送数据所在的时钟域,就是由核输出的gt0_txoutclk_i。

再来看两种情况:

(1)单通道——TXOUTCLK 驱动TXUSRCLK2 (2-Byte 或者4-Byte 模式)

Xilinx FPGA平台GTX简易使用教程(二)

(2)多通道——TXOUTCLK 驱动TXUSRCLK2 (2-Byte or 4-Byte 模式)

Xilinx FPGA平台GTX简易使用教程(二)

四、时钟篇小结
前面解释的很详细了,最后放张图吧。

Xilinx FPGA平台GTX简易使用教程(二)
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1664

    文章

    22504

    浏览量

    639341
  • Xilinx
    +关注

    关注

    73

    文章

    2208

    浏览量

    131926
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Xilinx FPGA中的混合模式时钟管理器MMCME2_ADV详解

    FPGA 的浩瀚宇宙中,时钟系统不仅是驱动逻辑运转的“心脏”,更是决定系统稳定性与性能上限的“指挥棒”。对于 Xilinx 7 系列 FPGA 开发者而言,如果仅满足于使用 Clocking Wizard IP 核点点鼠标,
    的头像 发表于 04-10 11:20 190次阅读
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>中的混合模式时钟管理器MMCME2_ADV详解

    青翼基于KU115FPGA 高性能数据预处理载板-PCIe信号处理板-FPGA载板

    PCIE702A-2 是一款基于 PCIE 总线架构的 KU115 FPGA 高性能 数据预处理平台,该平台具有 1 个 FMC+(HPC)接口,1 路 PCIe x8 主机接口,该平台
    的头像 发表于 03-17 19:00 1070次阅读
    青翼基于KU115<b class='flag-5'>FPGA</b> 高性能数据预处理载板-PCIe信号处理板-<b class='flag-5'>FPGA</b>载板

    基于XILINX Vivado平台GTX收发器的开发

    此选项根据你所用的FPGA型号确定GT类型,我所用的是7k325t系列,故GT类型为GTX
    的头像 发表于 03-03 14:46 5286次阅读
    基于<b class='flag-5'>XILINX</b> Vivado<b class='flag-5'>平台</b>的<b class='flag-5'>GTX</b>收发器的开发

    Xilinx FPGA中IDELAYCTRL参考时钟控制模块的使用

    IDELAYCTRL 是 Xilinx FPGA(特别是支持高速 I/O 的系列,如 Virtex-5/6/7、Kintex-7、Artix-7、Spartan-6/7 等)中用于管理和校准输入延迟模块(IDELAYE2/IDELAYE3)的必须存在的参考时钟控制模块。
    的头像 发表于 02-26 14:41 4950次阅读

    使用Xilinx 7系列FPGA的四位乘法器设计

    (Shinshu University)研究团队的最新设计中,一个专为 Xilinx 7 系列 FPGA 量身打造的 4 位乘法器使用了仅 11 个 LUT + 2 个 CARRY4 块,关键路径延迟达到 2.75 ns。这是一次令人印象深刻的工艺优化实践。
    的头像 发表于 11-17 09:49 3648次阅读
    使用<b class='flag-5'>Xilinx</b> 7系列<b class='flag-5'>FPGA</b>的四位乘法器设计

    Xilinx FPGA串行通信协议介绍

    Xilinx FPGA因其高性能和低延迟,常用于串行通信接口设计。本文深入分析了Aurora、PCI Express和Serial RapidIO这三种在Xilinx系统设计中关键的串行通信协议。介绍了它们的特性、优势和应用场景
    的头像 发表于 11-14 15:02 2803次阅读
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>串行通信协议介绍

    请问如何将蜂鸟E203移植到Xilinx NEXYS A7 FPGA 开发板上?

    如何将蜂鸟E203移植到Xilinx NEXYS A7 FPGA 开发板上?有参考教程吗?小白求教 主要是引脚分配,我这边有移植到Xilinx Artix-7 系列XC7A100T-fgg484的案
    发表于 11-11 07:44

    开源RISC-V处理器(蜂鸟E203)学习()修改FPGA综合环境(移植到自己的Xilinx FPGA板卡)

    ,所以我喜欢折腾,因为折腾迫使我不断去解决问题,在解决问题的过程中会思考很多细节,而且印象更加深刻。当然这是我个人的学习方法。 如果手上有XilinxFPGA板卡,可以一起学习一下怎么将e203
    发表于 10-31 08:46

    【VPX650 】青翼凌云科技基于 VPX 系统架构的 VU13P FPGA+ZYNQ SOC 超宽带信号处理平台

    VPX650 是一款基于 6U VPX 系统架构的 VU13P FPGA + XC7Z100 SOC 超宽带信号处理平台,该平台采用一片 Xilinx 的 Virtex Ultra
    的头像 发表于 10-16 10:48 825次阅读
    【VPX650 】青翼凌云科技基于 VPX 系统架构的 VU13P <b class='flag-5'>FPGA</b>+ZYNQ SOC 超宽带信号处理<b class='flag-5'>平台</b>

    【 VPX638】青翼凌云科技基于KU115 FPGA+C6678 DSP的6U VPX双FMC接口通用信号处理平台

    VPX638是一款基于KU115 FPGA + C6678 DSP的6U VPX双FMC接口通用信号处理平台,该平台采用一片Xilinx的Kintex UltraScale系列
    的头像 发表于 09-01 13:42 1130次阅读
    【 VPX638】青翼凌云科技基于KU115 <b class='flag-5'>FPGA</b>+C6678 DSP的6U VPX双FMC接口通用信号处理<b class='flag-5'>平台</b>

    一文详解xilinx 7系列FPGA配置技巧

    本文旨在通过讲解不同模式的原理图连接方式,进而配置用到引脚的含义(手册上相关引脚含义有四、五页,通过本文理解基本上能够记住所有引脚含义以及使用场景),熟悉xilinx 7系列配置流程,以及设计原理图时需要注意的一些事项,比如flash与FPGA的上电时序。
    的头像 发表于 08-30 14:35 1.1w次阅读
    一文详解<b class='flag-5'>xilinx</b> 7系列<b class='flag-5'>FPGA</b>配置技巧

    【TES807】青翼凌云科技基于 XCKU115 FPGA 的双 FMC 接口万兆光纤传输信号处理平台

    TES807 是一款基于千兆或者万兆以太网传输的双 FMC 接口信 号处理平台。该平台采用 XILINX 的 Kintex UltraSacle 系列 FPGA:XCKU115-2FL
    的头像 发表于 08-29 15:57 662次阅读
    【TES807】青翼凌云科技基于 XCKU115 <b class='flag-5'>FPGA</b> 的双 FMC 接口万兆光纤传输信号处理<b class='flag-5'>平台</b>

    基于AD9613与Xilinx MPSoC平台的高速AD/DA案例分享

    本文主要介绍基于Xilinx UltraScale+MPSoC XCZU7EV的高速AD采集与高速DA输出案例
    的头像 发表于 06-03 14:22 1126次阅读
    基于AD9613与<b class='flag-5'>Xilinx</b> MPSoC<b class='flag-5'>平台</b>的高速AD/DA案例分享

    XILINX XCZU67DR FPGA完整原理图

    电子发烧友网站提供《XILINX XCZU67DR FPGA完整原理图.pdf》资料免费下载
    发表于 05-30 15:29 26次下载

    gtx是光纤吗

    ”,主要面向高端游戏玩家和追求高性能的用户。GTX显卡支持最新的图形处理技术,如DirectX 12、HDR等,能够为玩家带来流畅的游戏体验和高品质的图像效果。 GTX在高速收发器领域的定义: 在FPGA(现场可编程门阵列)等高
    的头像 发表于 05-08 10:37 1951次阅读