当前位置: 首页 > news >正文

gte2_common的作用

一、gte2_common的作用
1.GTXE2_COMMON 是 Xilinx 7 系列 FPGA 中 GTX 收发器 Quad 的核心组件
2.gtxe2_common用于封装QPLL
3.GTXE2_COMMON 原语封装了 Quad PLL (QPLL),为同一 Quad 内的 4 个 GTX 通道提供共享时钟
4.每个 Quad 只能包含一个 GTXE2_COMMON 实例,它通过 QPLL 生成高速时钟信号,支持 5.93GHz~12.5GHz 的线速率操作‌
5.用于时钟管理,该原语负责选择 Quad 的参考时钟(通过 QPLLREFCLKSEL[2:0] 配置),支持来自管脚、上方或下方 Quad 的 6 个时钟源选项,并协调时钟分配‌
6.GTE2_COMMON是共享逻辑的核心组成部分,包含收发器差分缓冲器、复位逻辑和时钟模块等关键资源。
7.不管是使用cpll还是qpll,都必须使用gtxe2_common。GTXE2_COMMON 使用模式:必须按照(Xilinx 答复 43339)中的说明为 GTX 量产收发器更改 GTXE2_COMMON 使用模式。只要在设计中使用了 CPLL,就必须对 GTXE2_COMMON 模块进行实例化。否则,BIAS_CFG 将在软件模型中被错误设置为 64'h0000000000000000

二、为何使用gte2_common
1.根本原因:在7系列FPGA中,GTXE2_COMMON 原语负责管理一个 Quad(包含4个GTX收发器通道和1个COMMON模块)的全局配置和电源偏置(Bias)电路。其配置参数 BIAS_CFG 是一个64位的十六进制值。
2.需要负责全局配置和电源偏置电路。

三、不使用gte2_common会造成的错误
如果在设计中使用了 CPLL(通道专用的PLL),但没有正确实例化 GTXE2_COMMON 原语,Vivado工具在综合实现时可能会无法正确推断出所需的 BIAS_CFG 值,从而将其错误地设置为全零 (64‘h0000000000000000)

四、异常后果
一个全零的 BIAS_CFG 设置会导致Quad的偏置电路工作异常,可能引发以下问题:
1.GTX收发器性能不稳定(高误码率)
2.收发器根本无法正常工作(无输出或无法锁定)
3.在极端情况下,甚至可能对硬件造成损害


五、正确实例化 GTXE2_COMMON
// 注意:这只是示例,请务必从您的Vivado Language Templates中获取最新版本
GTXE2_COMMON #(
// Synthesis attributes
.BIAS_CFG(64'h0000040000001000), // !!! 这就是正确的BIAS_CFG值示例 !!!
.COMMON_CFG(32'h00000000),
.QPLL_CFG(27'h06801C1),
.QPLL_CLKOUT_CFG(4'b0000),
.QPLL_COARSE_FREQ_OVRD(6'b010000),
.QPLL_COARSE_FREQ_OVRD_EN(1'b0),
.QPLL_CP(10'b0000011111),
.QPLL_CP_MONITOR_EN(1'b0),
.QPLL_DMONITOR_SEL(1'b0),
// ... 其他参数省略,保持默认即可
.QPLL_REFCLK_DIV(1)
)
gtxe2_common_inst (
.QPLLLOCKDETCLK(QPLLLOCKDETCLK),
.QPLLLOCKEN(1‘b1), // 通常需要使能
.QPLLOUTCLK(QPLLOUTCLK),    // QPLL输出时钟
.QPLLOUTREFCLK(QPLLOUTREFCLK),
.QPLLLOCK(QPLLLOCK),        // QPLL锁定信号
.QPLLREFCLKLOST(QPLLREFCLKLOST),
.QPLLREFCLKSEL(3’b001),     // 选择参考时钟源
.GTGREFCLK(1‘b0),
.GTNORTHREFCLK0(1’b0),
.GTNORTHREFCLK1(1‘b0),
.GTSOUTHREFCLK0(1’b0),
.GTSOUTHREFCLK1(1‘b0),
.QPLLPD(1’b0),              // 勿使能QPLL断电
.QPLLRESET(QPLLRESET),      // QPLL复位信号
.BGBYPASSB(1‘b1),
.BGMONITORENB(1’b1),
.BGPDB(1‘b1),
.BGRCALOVRD(5’b11111),
.REFCLKOUTMONITOR(),
.DRPADDR(8‘b0),
.DRPCLK(1’b0),
.DRPDI(16‘b0),
.DRPDO(),
.DRPEN(1’b0),
.DRPRDY(),
.DRPWE(1‘b0)
);

http://www.dtcms.com/a/349577.html

相关文章:

  • 数据集成平台-Kafka实时同步Doris能力演示
  • Appium学习笔记
  • 如何判断投手甲的认知比投手乙高?
  • “华生科技杯”2025年全国青少年龙舟锦标赛在海宁举行
  • 暴雨蓝色预警发布:我国多地将迎强降雨,局地伴有强对流天气 疾风气象大模型
  • 《李沐读论文》系列笔记:论文读写与研究方法【更新中】
  • 【机器学习】(11) --回归树算法
  • 【机器学习基础】朴素贝叶斯算法详解:从原理到实战
  • 机器学习-朴素贝叶斯
  • 机器学习采样方法深度详解:过采样、下采样与混合采样(附完整代码、可视化与多场景实战)
  • 机器学习:贝叶斯派
  • 【Linux | 网络】多路转接IO之poll
  • 编写Linux下usb设备驱动方法:usb设备驱动实现流程
  • AI-调查研究-60-机器人 机械臂技术发展趋势详解:工业、服务与DIY三大阵营全解析
  • rabbitmq集群
  • 基于RFM模型的客户群体大数据分析及用户聚类系统的设计与实现
  • AI+数据库:国内DBA职业发展与国产化转型实践
  • Torch入门小知识点--总结性语言
  • CSS基础学习第一天
  • The Google File System 详解
  • 【Docker基础】Docker-compose进阶配置:健康检查与服务就绪
  • 一、添加Viewport3DX,并设置相机、灯光
  • Java-包装类
  • 深度学习-----《PyTorch神经网络高效训练与测试:优化器对比、激活函数优化及实战技巧》
  • 【数据结构】栈和队列——队列
  • 向量库Qdrant vs Milvus 系统详细对比
  • 线性回归入门:从原理到实战的完整指南
  • 数据结构——线性表(链表,力扣中等篇,技巧型)
  • Postman 模拟mcp tool调用过程
  • 【数据结构】顺序表详解