工具/软件:
您好:
我尝试将 JESD204内核集成到我的设计中。 作为我设计的主要语言是 VHDL、我试图围绕 IP 创建包装器。
我正在使用 Vivado 2022.2、因为我受到该设计的其他 IP 的限制。
在无法使系统正常工作后、我复制了提供的示例并开始从顶层到 TI_204C_IP_Ref 块使用 VHDL。 这是有效的。
请参见设计层次结构上的下图:
仿真日志显示以下设置:
我需要将 TI JESD204 IP 分开、并将其作为一个独立的块、以帮助我进行集成和验证。 所以我创建了一个 VHDL 包装器、它使用 SystemVerilog 包装器、它只实例化 SVP 文件。 我将其余的参考代码功能移至外部 VHDL 模块。
我使用中间 SystemVerilog Wrapper 只是为了预防不更改加密 IP 上的语言域。
仿真层次结构如下(请注意、在本例中我使用的是 VHDL-2008)
问题在于、虽然第一个设计正确仿真、但带有包装器的第二个设计没有。
似乎 IP 的所有输出信号都是"U"、"Z"或"X"。 我尝试使用来自 GTH 包装程序的 MGT_GPIO 信号将其发送到顶层并观察信号是否达到顶层、但这也不起作用、因为信号继续处于"U"状态。 例如、未定义或 tri 状态的示例信号是 Q/CPLL 锁定信号(但似乎所有输出都处于相同的此类状态)。
在我看来、IP 由于某种原因未连接。 在这种失败的情况下、仿真也会更快地启动。
我还使用了相同的架构和一个小的测试块来为示例系统验证执行相同的缠绕方法、并且 I/O 似乎按预期工作。
另请参阅、在失败的设计中、Vivado 层次结构中、隐藏节点(包括 GTH 驱动程序)的第二层和下面是灰色的。 虽然我可以修改 GTH、但似乎有一些不同之处。 Vivado 没有任何抱怨。
包装器还将常量(通过通用)从 VHDL 传递到 SV。
如果我必须采用不同的方法、您能提供任何可能出错的见解吗?
提前感谢、
Ilias