This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TI-JESD204-IP:Vivado 上的仿真

Guru**** 2016200 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1059074/ti-jesd204-ip-the-simulation-on-the-vivado

器件型号:TI-JESD204-IP

您好!

使用 TI204c-IP_Xilinx.SVP 进行仿真能否在 Vivado 上实现?

我尝试了 TI204c-IP 仿真、但无法获得预期的结果。

我创建了一个测试台、如 TI204c-IP-Users-Guide.pdf (5/17/2021)的"8.1.2参考设计环回测试环境"图示。
*它不使用 SYSREF。
* sys_clk_p 和 n 将频率设置为78.125MHz。
* REFCLK_p &n 将频率设置为156.25MHz。
*它显示 MASTER_RESET_n 的低电平
* qpll0_locked、qpll1_locked 和 cpll_locked 为低电平。
*我模拟了大约20us。

使用 IP
TI204C-IP-Release-v1.10-latest
 Zc706_8b10b
 我在 Vivado 2019.1的网页包中试用了它。
 我将器件从 xc7z045更改为 xc7k160、因为 Web Pack 无法编译 xc7z045。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Haginoya、您好!

    我正在与我们的团队谈论这一点、并将向您回复他们的回复。

    此致、

    David Chaparro

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 David:
    感谢您的回答。
    我将等待您的下一次答复。
    此致、
    Naoki Haginoya

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    TI204c JESD IP 支持 Vivado 中的仿真。 更改目标器件时、请确保为新收发器重新生成与原始器件参数相同的 xci。 IP 用户指南的第8.7节对此进行了说明。  

    如果已经正确完成、 您可以在环回中连接 Tx 和 Rx、并遵循 第8.6节中描述的复位机制。  

    对于环回、将所有 Tx 通道连接到 Rx 通道、将 TX_SYNC_n 连接到 RX_SYNC_n

    1>从 MASTER_RESET_n 设置为"0"开始、RX_SYNC_RESET 和 TX_SYNC_RESET 设置为"1"。  

    2>将 MASTER_RESET_n 设置为"1"。 在这一步完成之前、收发器将不会从复位中释放。 运行约5us。 之后、QPLL0锁定信号应设置为"11"、表示两个四路 PLL 都已锁定。 请注意、只有 当基准时钟正确路由到每个四通道中的 PLL 时、才会发生这种情况。

    3>一旦 PLL 锁定值为"11"、将 TX_SYNC_RESET 和 RX_SYNC_RESET 设置为"0"。 运行约100us (时间取决于收发器型号)、您应该会看到 Tx 和 Rx IP 正在导入和导出数据。

    此致、

    阿迈德

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ameet、

    感谢您的回答。 但我无法获得希望的结果。

    我检查了已更改设备的 GTX_8b10b_rxtx.xci。
    我发现器件名称、速度等级、架构和封装都有所不同。

    此外、我将列出的单通道器件从"TI_204C_IP_Ref.SV"的内部信号更改为端口信号、因为我不了解 IP 内部的工作情况、而 IP 中的名称是"VIO"。
    信号为 MASTER_RESET_n、Rx_SYNC_RESET 和 TX_SYNC_RESET。
    我从我的测试台发出了他们的信号、他们正在工作、你教过我。

    我想、如果 TI IP 需要 Vivado 的某个选项、请告诉我。

    此致、
    Naoki Haginoya

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ameet、

    你有函馆吗?

    谢谢

    穆克

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Mukuno、

    请将以下文件发送给我:

    收发器的 XCI 文件(在您将设计重新映射到 xc7k FPGA 之后)

    执行时钟和数据回送连接的顶级 testBench 文件。

    我将查看上述内容、看看是否可以发现一些问题。 Vivado 不应要求对仿真进行任何特殊设置、因为相同的文件用于合成和 P&R

    VIO 模块用于在运行时控制 FPGA 中的信号。 这使得设计人员能够通过 Vivado HW 管理器将信号设置为1/0。

    此致、

    阿迈德

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我还注意到您在第一封邮件中的更多内容。 该参考设计的 sys_clk 输入也应为156.25MHz (如8.1.2节中的图所示)、但您的消息显示为78.125MHz。 该时钟由参考设计中的 PLL 用于生成 Rx_SYS_CLOCK 信号、该信号应为78.125MHz。 在您的情况下、它将创建所需速率的一半(39.0625MHz)。 即使在这种情况下、IP 仍将初始化并释放通道、但是、您将看到缓冲区溢出错误(Rx_lane 缓冲区溢出输出将不为零)。 这是因为您提供的 Rx 时钟与链路发送数据的速率相比太慢。

    我已经能够为 xc7z 和 xc7k 器件运行仿真、并且在这两种情况下链路都正确启动。 我已经为它附加了一个波形。  

    1>4US:QPLL0首先从0x0变为0x3 (表示两个四路 PLL 都已锁定)

    2>5us:RX_SYNC_RESET 和 TX_SYNC_RESET 从"1"更改为"0"

    3>34us:收发器完成初始化、您可以在 TxP/TXN 和 RXP/RxN 端口上看到活动

    4>~52us:TX_DATA_READY 信号从"0"更改为"1"。 此时、Tx IP 已准备好接受来自用户端的数据。  

    4>54us:Rx 锁定到 Tx、SYNC_n 信号从"0"变为"1"。 这允许链路从 CGS 模式(控制字符)更改为数据

    5>55us:Rx 数据通道在用户端发布、Tx 数据反映在 Rx 上。 由于 RX_SYS_CLOCK (由 PLL 生成)为78.125MHz、因此 RX_LAY_Buffer_overflow 信号保持为"0"。

    请注意、即使 sys_clk 设置为78.125MHz (使 RX_SYS_CLOCK 为39.0625MHz)、仿真也会工作。 但是、 在这种情况下、一旦 Rx 数据通道释放、您还将看到 RX_lanebrate_overflow 信号从"0"更改为"1"。

    此致、

    阿迈德

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ameet、

    感谢您的响应、您的波形、您发现了我的错误。
    此外、我可能会找到原因、它是时间刻度句子的设置。
    "1ns/1PS"设置用于锁定 PLL、但"1PS/1PS"设置似乎无法锁定 PLL。
    我将继续使用 TI IP 进行仿真。

    此致、
    Naoki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ameet、

    仿真结果还不正确。
    Rx 数据与 Tx 数据不匹配、如所连接的波形。

    mgt_lane rx (p/n)与正确的一样、但 rx_lane 数据[7:0]是相同的值。


    我仅在 ADC_lane (p/n)中连接了零号通道、RX_lane 数据[7:0]的值相同。
    为什么 Rx_lane 数据[7:1]与'Z'不匹配?
    您认为我有什么错误吗?

    此致、

    Naoki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ameet、

    我找到了解决上部问题的方法。
    Xilinx 的仿真器不能在 JESD_LINK_params.vh 中使用以下设置。

    `define lane ADC_TO_GT_MAP{7、6、5、4、3、2、1、0}

    如果我更改为下面、则可以正常工作。

    `define lane ADC_TO_GT_MAP{3'b111、3'b110、3'b101、3'b100、3'b011、3'b010、3'b00、3'b000}

    此致、
    Naoki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Naoki、

    您的观察结果正确。 Vivado 仿真器未正确解释这些值。 有趣的是、Vivado 合成流程没有此错误。

    此致、

    阿迈德

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ameet、

    感谢您的信息。

    此致、
    Naoki