2、开发环境搭建:Vivado/Vivado ML版本安装、Modelsim/Questa Sim仿真器配置、开发板选型建议(以Xilinx Artix-7为例)、必备工具链清单

做千兆以太网开发,第一步就是把家伙事儿备齐。我见过不少新手,上来就急着写代码,结果装工具装到崩溃,仿真跑不起来,最后连板子都点不亮。嗯,这章咱们就把环境捋顺了。

2.1 Vivado / Vivado ML 版本选择与安装

Xilinx 现在主推 Vivado 和 Vivado ML 两个系列。说白了,ML 版就是多了机器学习优化引擎,对大型工程布局布线有提升。但咱们做千兆以太网,Artix-7 级别的设计,标准版完全够用。

我的建议: 如果你刚入门,直接装 Vivado Standard 2023.1 或 2022.2。别追最新版,稳定第一。我在项目中遇到过 2024.1 对某些老 IP 核兼容性翻车的情况,折腾了两天才回退。

安装时注意几点:

  • 磁盘空间: 完整安装需要 80GB 以上。别省这个,我吃过亏,装到一半空间不够,卸载重来。
  • 操作系统: Windows 10/11 专业版或 Ubuntu 18.04/20.04。家庭版有时会莫名其妙报权限错误。
  • 许可证: 申请免费的 WebPack 许可证即可,Artix-7 全系列都支持。

小技巧: 安装时勾选 "Install Cable Drivers",否则后面连不上下载器。我曾经忘了勾,折腾了一下午驱动。

2.2 仿真器配置:Modelsim 与 Questa Sim

Vivado 自带仿真器,但说实话,做千兆以太网这种带时序收敛要求的设计,我习惯用 Modelsim 或 Questa Sim。为什么?调试波形更顺手,脚本支持更好。

配置流程其实不复杂:

  1. 安装 Modelsim SE-64 2020.4 或 Questa Sim 2023.3
  2. 在 Vivado 中设置:Tools → Settings → Tool Settings → 3rd Party Simulators
  3. 指定 Modelsim/Questa 的安装路径

注意: 路径不要有中文和空格!我见过有人把软件装在 "Program Files (x86)" 下,结果编译库时报错,改了一天。

我个人习惯用 Questa Sim,因为它的波形压缩做得好,跑千兆以太网的 GMII/RGMII 接口仿真时,动辄几百万个时钟周期,Questa 能省不少内存。

2.3 开发板选型建议:以 Xilinx Artix-7 为例

千兆以太网开发,选板子核心看三点:

  • 是否有 RGMII/GMII 接口: 这是和 PHY 芯片通信的关键
  • 时钟资源: 至少需要 125MHz 差分时钟(用于 GTX)或 125MHz 单端时钟(用于 RGMII)
  • BRAM 容量: 做以太网帧缓存,至少 36Kb 以上,Artix-7 的 XC7A35T 起步够用
开发板型号 FPGA 芯片 以太网接口 适合场景
Nexys A7-100T XC7A100T RGMII + 百兆 入门学习,性价比高
Arty A7-35T XC7A35T RGMII 轻量级原型验证
AC701 XC7A200T SGMII + 千兆 高性能开发,带 PCIe

我的推荐: 新手首选 Nexys A7-100T。板载 PHY 芯片是 Realtek RTL8211,资料多,坑少。我当年用 Arty A7 踩过 PHY 配置寄存器的坑,折腾了一周才搞定。

2.4 必备工具链清单

除了 Vivado 和仿真器,还有几个工具我建议你提前备好:

  • 串口调试工具: Putty 或 MobaXterm。千兆以太网调试时,串口打印状态信息是救命稻草。
  • Wireshark: 抓包分析。我习惯在 PC 端和 FPGA 对打时,用 Wireshark 看 MAC 帧结构对不对。
  • Git: 版本管理。别问我为什么强调这个,我见过有人代码丢了重写三天。
  • 文本编辑器: VS Code 或 Sublime Text。Vivado 自带的编辑器难用,写 Tcl 脚本时你会感谢我的建议。

额外提醒: 准备一个 USB 转串口模块(CP2102 或 CH340),很多开发板不标配串口,但调试时你一定会用到。

2.5 本章知识体系总览

下面这张图,把开发环境搭建的核心逻辑串起来了。你想想看,从工具安装到板子选型,再到调试工具链,每一步都环环相扣。

千兆以太网 FPGA 开发环境搭建 Vivado / Vivado ML Modelsim / Questa Sim 开发板选型 RGMII/GMII 接口 125MHz 时钟 BRAM 缓存 串口调试 (Putty) Wireshark 抓包 Git 版本管理 VS Code 编辑器 工具链 → 硬件平台 → 调试手段,三者缺一不可

嗯,环境搭建就这些。工具装好了,板子选对了,后面写代码才踏实。别急着往下走,先把 Vivado 装好,跑个 LED 闪烁例程验证一下环境。我当年就是跳过这步,结果后面仿真报错,排查半天发现是库没编译对。