我正在使用Cyclone V on a SoCKit board (link here)(由Terasic提供),将HSMC-NET子卡(此处链接)连接到它,以便创建一个可以使用以太网进行通信的系统,同时传输和接收通信通过FPGA - 问题是,我真的很难让这个系统使用Altera的三速以太网内核工作。
我正在使用Qsys构建包含三速以太网核心的系统,在VHDL包装器中实例化它,该包装器还包含数据包生成器模块的实例,直接连接到TSE核心的发送Avalon-ST宿端口并通过连接到JTAG到Avalon Master桥接核心的Avalon-MM从接口进行控制,并将其主端口导出到VHDL包装器。
然后,使用系统控制台,我按照the core's user guide (link here)第5-26节(注册初始化)中的说明配置三速以太网内核,并指示数据包生成器模块(也使用系统控制台)启动并生成以太网数据包进入TSE核心的发送Avalon-ST接收端口。
虽然完全按照核心用户指南(上面链接)中的描述配置了所有内容,但我无法在MII / GMII输出接口上输出任何内容,也不会让任何统计计数器增加甚至更改 - 显然,我我做错了什么,或者遗漏了什么,但我无法确切地知道它究竟是什么。
请问任何人,请帮帮我吗? 谢谢你, 伊塔马尔
答案 0 :(得分:1)
开始基本检查,
确保使用QIP文件来合成设计。它将自动包含您自动生成的SDC约束。您仍然需要添加自己的PIN约束,稍后会详细介绍。
TSE相当古老可靠,因此首先需要检查的是时钟,复位,电源和引脚。
a。)如果你已经运行了套件附带的演示,那么devkits的功能通常就不那么大了。
b。)如果它们没有映射到这个核心上,则引脚可能会引发大量问题。我假设你正在利用Terasic的东西。它应定义一个引脚,用于复位,输入时钟和信号标准。很多时候,这都在.qsf文件中,你也可以在这里引用QIP文件(如上所述)。
c。)时钟&在我看来,重置是一个更可能的罪魁祸首。界面上没有任何活动是一种线索。一种检查方法是将时钟路由到备用引脚并对其进行范围调整,并确保它们符合您的想法。同样,如果你想把你的重置带到一个引脚并检查它。请确认你知道极性并且你在某些地方没有使用〜重置而在其他地方没有使用非反转重置。
重新配置阻止。某些Altera芯片和某些版本的Quartus要求您使用重新配置块来配置XCVR。这似乎不是你的问题因为你说GMII是扁平的。