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

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

3天内不再提示

Versal GTY仿真:初始化,复位和速率变更

XILINX开发者社区 来源:XILINX开发者社区 作者:XILINX开发者社区 2022-11-23 10:02 次阅读

本篇博文侧重于提供 Versal GTY 仿真示例、演示 GTY 如何解复位以及如何执行速率变更。

在 Versal ACAP GTY 收发器中,引入了“Master Reset Controller”(主复位控制器)的概念。
主复位控制器用于自动单步执行 LCPLL、RPLL、ILO、TX 可编程分频器、RX 可编程分频器、TX 通道以及 RX 通道的复位。
您可在 AM002 的“收发器主复位”部分中找到详细描述。GTY 中的全新主复位控制器取代了前几代 UltraScale/UltraScale+ 收发器的 GT Wizard 内包含的复位控制器帮助程序块。

在本仿真示例中,Versal GTY 配置如下:

通道 2 (ch2) 上为单通道

采用双线速率,将 10G/25G 编程到 CONFIG0/CONFIG1 内

对于这两个速率,REFCLK 均为 156.25MHz 并穿过相同的参考时钟端口

IP 设计示例用于完成设计并提供仿真测试激励文件。

模块框图

设计示例的模块框图如下图所示。

1a6c1ffa-6a56-11ed-8abf-dac502259ad0.png

此处随附了块设计 Tcl 脚本 (run.tcl)。(请点击阅读原文进行下载

Vivado 步骤

创建 gt_quad_base IP 并打开 IP 设计示例

创建 gt_quad_base IP。在此例中,我们使用单通道配置。

针对“Number of Lanes”(通道数)和“Transceiver Configs Protocol 0”(收发器配置协议 0),将滑块设为“Manual”(手动)。这样即可使用自定义配置。

将“Number of Lanes”设为 1。

单击“Transceiver Configs Protocol 0”,以自定义收发器。

将 CONFIG0 设为 10.3125Gbps。

将 CONFIG1 设为 25.78125Gbps。

在 IP integrator 画布中,右键单击 gt_quad_base,然后选择“Open IP Example Design”(打开 IP 设计示例)。这样将在新的 Vivado 工程内创建设计示例。

1a8d2920-6a56-11ed-8abf-dac502259ad0.png1baaa9cc-6a56-11ed-8abf-dac502259ad0.png1bee72f6-6a56-11ed-8abf-dac502259ad0.png1c478378-6a56-11ed-8abf-dac502259ad0.png

启动仿真

设计示例会为时钟和复位建立所有必要的连接,并生成顶层仿真测试激励文件 gt_quad_base_exdes_tb.sv。
在设计示例工程中,单击“Run Simulation”(运行仿真)启动仿真。

1c65688e-6a56-11ed-8abf-dac502259ad0.png

下图显示了仿真波形,其中包含要监控的关键信号

1c8dedfe-6a56-11ed-8abf-dac502259ad0.png

复位初始化

默认 bridge_ip 使用 Versal GTY 中包含的 Master Reset Controller 来复位排序。
请参阅(AM002)中的“收发器主复位”部分以获取详细信息

当 T=0.8ns 时,gt_reset_ip0 将切换为启动复位初始化。

复位控制器状态机首先会等待 gtpowergood,然后再开始执行任何复位操作。当 T=34us 时,gtpowergood 断言有效。

txmstreset 和 rxmstreset 断言无效,这样即可启动主复位序列。

*resetdone 信号将断言无效,以响应 tx/rxmstreset 断言无效。

当 T=48us 时,lcplllock 断言有效。

当 T=50us 时,txpmaresetdone 断言有效,随后 txuserrdy 驱动至高位、txresetdone 断言有效,不久后 txmstresetdone 即断言有效。bridge_ip tx_resetdone_out_ip0 同样会断言有效。这样即可完成 TX 复位序列。

当 T=52us 时,rxpmaresetdone 断言有效,随后 rxuserrdy、rxresetdone、rxmstresetdone 以及(最后)rx_resetdone_out_ip0 断言有效。这样即可完成 RX 复位序列。

GTY 现已正常启动并运行,并采用默认 (CONFIG0) 速率 (rate_sel_ip0 = 0)。

速率变更

速率变更序列是通过将 rate_sel 端口更改为目标速率来发起的。所需的复位、时钟切换和属性更新都将自动执行。用户应等待 txresetdone 和 rxresetdone,这两者可作为当前速率变更进程和必要的复位序列均已完成的标志。

当 T=63us 时,rate_sel_ip0 从 0 变更为 1。这样将发起速率变更序列,目标为自定义 GUI 的 CONFIG1 中配置的新线速率(在此例中为 25Gbps)。

当 T=85us 时,txresetdone 断言有效。当 88us 时,rxresetdone 断言有效。这样即可完成速率变更序列。

GTY 现已正常启动并运行,并采用 CONFIG1 速率 (rate_sel_ip0 = 1)。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 收发器
    +关注

    关注

    10

    文章

    3454

    浏览量

    106222
  • 控制器
    +关注

    关注

    112

    文章

    16444

    浏览量

    179336
  • 仿真
    +关注

    关注

    50

    文章

    4124

    浏览量

    133952
  • Versal
    +关注

    关注

    1

    文章

    163

    浏览量

    7707

原文标题:开发者分享|Versal GTY 仿真: 初始化, 复位和速率变更

文章出处:【微信号:gh_2d1c7e2d540e,微信公众号:XILINX开发者社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    DSP复位地址不在0x20b00000导致仿真初始化失败

    在对dsp仿真时,点击systeam reset后,复位地址不在0x20b00000,出现这种现象后,使用XDS560仿真仿真程序的初始化
    发表于 08-12 09:56

    uPP初始化复位问题

    uPP初始化子程序里,为什么uPP复位的时候,UPCTL寄存器、UPICR寄存器等没有清零,寄存器里一直有初值存在,当改变初始化配置时,一直配置不成其他状态,例:当最开始是16位通道的状态,当改为8位通道状态时,重新编译,运行,
    发表于 05-18 19:18

    手机模块初始化向导

    手机模块初始化向导:为了刚好的对手机模块进行初始化,所以把最基本的向导写下来.本向导适用于本公司的西门子TC35I和华为GT9000模块。一、在初始化手机模块前,请先确定DT
    发表于 09-18 09:41 17次下载

    RDA1846S初始化设置

    RDA1846S初始化设置RDA1846S初始化设置RDA1846S初始化设置
    发表于 01-15 17:08 0次下载

    UCOS_III_配置与初始化

    UCOS_III_配置与初始化
    发表于 12-20 22:53 5次下载

    嵌入式开发复位初始化详细讨论

    13.5 复位初始化 任何运行在实际硬件上的嵌入式应用程序,都必须在启动时实现一些基本的系统初始化。本节将对此予以详细讨论。 13.5.1 初始化序列 图13.14显示了一个适用于A
    发表于 10-19 09:12 1次下载
    嵌入式开发<b class='flag-5'>复位</b>和<b class='flag-5'>初始化</b>详细讨论

    8253初始化程序分享_8253应用案例

    本文首先介绍了8253概念及8253各通道的工作方式,其次详细介绍了8253初始化要求及编程,最后用一个例子介绍了8253的初始化程序。
    发表于 05-23 15:52 2.2w次阅读
    8253<b class='flag-5'>初始化</b>程序分享_8253应用案例

    如何设置STM32单片机非初始化数据变量不被零初始化

    一些产品,当系统复位后(非上电复位),可能要求保持住复位前RAM中的数据,用来快速恢复现场,或者不至于因瞬间复位而重启现场设备。而keil mdk在默认情况下,任何形式的
    发表于 01-02 15:56 8426次阅读
    如何设置STM32单片机非<b class='flag-5'>初始化</b>数据变量不被零<b class='flag-5'>初始化</b>

    在51平台下初始化文件的引入导致全局变量无法初始化的问题如何解决

    本文档的主要内容详细介绍的是在51平台下初始化文件的引入导致全局变量无法初始化的问题如何解决。
    发表于 08-20 17:31 0次下载
    在51平台下<b class='flag-5'>初始化</b>文件的引入导致全局变量无法<b class='flag-5'>初始化</b>的问题如何解决

    一种修饰符能使变量在处理器复位而不被初始化

    有一种修饰符能使变量在处理器复位而不被初始化
    的头像 发表于 03-14 15:01 4111次阅读
    一种修饰符能使变量在处理器<b class='flag-5'>复位</b>而不被<b class='flag-5'>初始化</b>

    C++之初始化列表学习的总结

    类中可以使用初始化列表对成员进行初始化
    的头像 发表于 12-24 17:39 894次阅读

    STM32执行代码初始化卡住,或者上电卡住,或者复位卡住,导致代码不执行

    STM32的板子上电或者复位,接有显示屏或者LED指示灯的都会卡住解决:1、检查自己的代码是否有中断,有中断的话,其初始化放在其他硬件初始化之后 即:中断的初始化放在进入while
    发表于 12-09 09:21 22次下载
    STM32执行代码<b class='flag-5'>初始化</b>卡住,或者上电卡住,或者<b class='flag-5'>复位</b>卡住,导致代码不执行

    Versal ACAP GTY收发器仿真示例分析

    您可在 AM002 的“收发器主复位”部分中找到详细描述。GTY 中的全新主复位控制器取代了前几代 UltraScale/UltraScale+ 收发器的 GT Wizard 内包含的复位
    的头像 发表于 11-15 09:23 1071次阅读

    复位电路如何回到初始化的状态

    单片机最小系统中复位电路属于必不可少的部分。数字电路中只有高低电平两个状态,电路刚上电或者电路不能正常工作时,需要复位电路使电路进入回到初始化的状态。由下图可以看出复位可以分为系统
    的头像 发表于 06-22 09:02 1354次阅读
    <b class='flag-5'>复位</b>电路如何回到<b class='flag-5'>初始化</b>的状态

    Versal GTY/GTYP:使用PRBS生成器和检查器

    本文涵盖了在 Versal GTY 和 GTYP 中使用模式生成器和检查器时对以下操作的限制
    的头像 发表于 07-10 17:18 1171次阅读