GTHE3开发记录1

最近有个项目用到Xilinx公司KU系列的板子开发SATA3.0接口与SSD进行高速数据传输。鉴于工程有点复杂,借此博客做些记录,也供大家共同进步。
Xilinx公司有提供了GTP、GTH、GTX、GTZ、GTY多种高速串并转换口,在建立Vivado工程选择芯片具体型号时就可以看到各个芯片所具有的资源数量。我使用的是xcku060-ffva1156-2-e型号具有28个GTHE3可调用高速串并转换收发器。
万事开头难,首先在Xilinx官网上找到了pg182与ug576支持文档,又在AD巨头提供的资源中找到了一个用在AD9371例程中调用GTHE3的开源IP Core,文末会给出资源链接。
之前使用过GTP,所以深知此类IP Core的Example Design的重要性。果然在pg182中就花费了大片篇幅讲解Example Design中提供的模块使用方法。废话不多说,分析如下:

1. Reset Controller Helper Block

该模块主要用于简化复位与初始化串并收发器的工作。该模块包含三个状态机:发送复位,接收复位与全复位。发送与接收是相互独立的,既可以由外部信号触发控制也可以由全复位状态机触发控制。
发送复位与接收复位都可以选择1、复位相关的PLL与相关数据链路2、只复位相关的数据链路。在复位成功后各自有一个User Indicator信号应该置高。

2. Transmitter User Clocking Network Helper Block

该模块用于管理单个或多个收发器中发送通道的TXUSRCLK与TXUSRCLK2时钟。内部会例化BUFG_GT原语(带分频功能的全局时钟Buffer)。

3. Receiver User Clocking Network Helper Block

该模块用于管理单个或多个收发器中接收通道的RXUSRCLK与RXUSRCLK2时钟,内部也会例化BUFG_GT原语。

4. User Data Width Sizing Helper Block

该模块用于简化用户接口与收发器数据接口之间的对接过程。每个收发通道的TXDATA与RXDATA都为128bits,未配置使用的位则被tied off或悬空。该模块分为发送与接收两部分,模块实现都是用wire型信号assign实现,未使用组合逻辑或时序逻辑

4.1 Transmitter Module

该模块中的 gtwiz_userdata_tx_in信号宽度等于用户数据宽度*使能通道数,经过转换,该信号的最低有效位对应在XY网格位置中最低通道的最低有效位。在用户数据宽度为20、40、80、160bits时,还负责驱动每个收发器的TXCTRL0与TXCTRL1端口中的某些位,并处理解缠绕情况。但在其他位宽的情况中则不由该模块进行驱动上述端口。

4.2 Receiver Module

同发送模块

5. Transmitter Buffer Bypass Controller Helper Block

在发送通道的buffer未启用的情况下,该模块用于自动处理buffer bypass,处理完成后会提供一个done信号与一个error信号。

6. Receiver Buffer Bypass Controller Helper Block

同发送模块

7. Transceiver Common Primitive

用于例化Transceiver Common原语模块,可以放在IP CORE之内或之外,可以使用一个Transceiver Common模块配置多个Transceiver Channel模块(共享模式),但该使用方法对新手不友好,若想使用,可以参照AR#65228

8.Design Flow Steps

IP Core参数设置界面分为Basic、Physical Resource、Optional Features、
Structure Options,此处不再详细分析,后续再行细说。

9. Constraining the Core

在Hierarchy界面可以看到一个在IP Core之外的xdc约束文件,其中有对GTHE3启用的参考时钟进行周期约束和位置约束,对free run clock进行周期约束,还将需要用户约束的信号以注释的方式提前给出,
在IP Core内部还可以看到一个*_0.xdc文件,其中对启用的GTHE3通道的位置做了约束,其他是一些set_false_path的约束,不懂~

pg182 https://www.xilinx.com/support/documentation/ip_documentation/gtwizard_ultrascale/v1_7/pg182-gtwizard-ultrascale.pdf
ug565 https://www.xilinx.com/support/documentation/user_guides/ug576-ultrascale-gth-transceivers.pdf
AD公司FPGA支持库 https://github.com/analogdevicesinc/hdl/tree/master

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值