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
    +关注

    关注

    1655

    文章

    22283

    浏览量

    630178
  • Xilinx
    +关注

    关注

    73

    文章

    2192

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

    开源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 297次阅读
    【VPX650 】青翼凌云科技基于 VPX 系统架构的 VU13P <b class='flag-5'>FPGA</b>+ZYNQ SOC 超宽带信号处理<b class='flag-5'>平台</b>

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

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

    gtx是光纤吗

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

    详解Xilinx的10G PCS PMA IP

    如果要在XilinxFPGA上使用万兆以太网通信,大致有三种方法构建协议栈。第一种使用GTX等Serdes作为底层的PHY,上层通过HDL实现构建MAC和IP层,这种方式难度会比较大,底层需要完成PHY层的设计,最终我想通过这
    的头像 发表于 04-18 15:16 1587次阅读
    详解<b class='flag-5'>Xilinx</b>的10G PCS PMA IP

    xilinx FPGA IOB约束使用以及注意事项

    xilinx FPGA IOB约束使用以及注意事项 一、什么是IOB约束 在xilinx FPGA中,IOB是位于IO附近的寄存器,是FPGA
    的头像 发表于 01-16 11:02 1486次阅读
    <b class='flag-5'>xilinx</b> <b class='flag-5'>FPGA</b> IOB约束使用以及注意事项

    【米尔-Xilinx XC7A100T FPGA开发板试用】Key-test

    硬件: 一Xilinx XC7A100T FPGA开发板 12V电源适配器 三下载器 四 win10笔记本 软件: 一Vivado (指导手册有详细的安装下载流程) 官方按键示例工
    发表于 01-09 16:08

    Verilog 测试平台设计方法 Verilog FPGA开发指南

    Verilog测试平台设计方法是Verilog FPGA开发中的重要环节,它用于验证Verilog设计的正确性和性能。以下是一个详细的Verilog测试平台设计方法及Verilog FPGA
    的头像 发表于 12-17 09:50 1558次阅读

    基于Xilinx ZYNQ7000 FPGA嵌入式开发实战指南

    电子发烧友网站提供《基于Xilinx ZYNQ7000 FPGA嵌入式开发实战指南.pdf》资料免费下载
    发表于 12-10 15:31 39次下载

    【米尔-Xilinx XC7A100T FPGA开发板试用】测试一

    感谢米尔电子和电子发烧友提供的米尔-Xilinx XC7A100T FPGA开发板。 MYD-J7A100T用的 FPGAXILINX 公司 ARTIX-7 系列的 XC 7A1
    发表于 12-08 08:48