2. 开发环境搭建(上):Windows/Linux双系统安装、Vivado开发套件安装与配置、FPGA开发板驱动安装

说实话,做RISC-V + FPGA开发,环境搭建往往是新手第一个拦路虎。我见过太多人卡在这一步,还没开始写代码就先放弃了。今天咱们就把这事彻底搞定。

2.1 为什么需要双系统?

你可能想问:Windows不香吗?为什么非要折腾Linux?

嗯,这里有个现实问题。Vivado本身在Windows上跑得挺好,但蜂鸟E203的RISC-V工具链、编译脚本、仿真环境,绝大多数都是基于Linux生态的。我刚开始做这个项目时,试过在Windows上用WSL,结果各种路径问题、权限问题、USB驱动问题,折腾了两天没跑通。后来老老实实装了双系统,半小时搞定。

核心原则:Vivado在Windows上跑,RISC-V工具链在Linux上跑。双系统是最省心的方案。

2.2 双系统安装实战

2.2.1 准备工作

先列个清单,别到时候手忙脚乱:

项目 要求 备注
硬盘空间 至少120GB空闲 Windows 60GB + Linux 60GB
内存 16GB以上 Vivado很吃内存
U盘 8GB以上 × 2 一个做Windows启动盘,一个做Linux启动盘
CPU 支持虚拟化 BIOS里要开启VT-x/AMD-V

重要提醒:操作前请备份重要数据!我曾经帮一个同事恢复过误删的分区表,那滋味不好受。

2.2.2 Windows安装步骤

如果你已经有Windows系统,可以跳过这步。但建议还是用纯净安装,避免之前残留的驱动冲突。

  1. 用Rufus制作Windows启动U盘
  2. BIOS设置U盘启动,关闭Secure Boot
  3. 安装时只分60GB给Windows,留出空闲空间给Linux
  4. 安装完成后,先别装任何软件,直接进BIOS准备装Linux

2.2.3 Ubuntu 20.04 LTS安装

我个人推荐Ubuntu 20.04 LTS。为什么不是22.04?因为Vivado 2020.x对22.04的库支持有点问题,我踩过这个坑。

  1. 用Rufus制作Ubuntu启动U盘(模式选DD)
  2. BIOS设置U盘启动,选择"Install Ubuntu"
  3. 分区方案我建议这样:
/boot      → 1GB    (ext4)
/          → 30GB   (ext4)
/home      → 剩余空间 (ext4)
swap       → 8GB    (交换分区)

小技巧:安装时选择"Something else"手动分区,把引导程序装到Linux所在硬盘的MBR,不要覆盖Windows的引导。这样开机时GRUB会自动识别双系统。

2.3 Vivado开发套件安装与配置

2.3.1 版本选择

蜂鸟E203官方推荐Vivado 2018.3或2020.1。我实测下来,2020.1最稳定。别追新版本,Vivado的版本兼容性问题够你喝一壶的。

Vivado版本 蜂鸟E203兼容性 我的评价
2018.3 完全兼容 老版本,库文件齐全
2020.1 完全兼容 推荐,综合速度更快
2021.x 部分兼容 需要打补丁,不推荐新手
2022.x+ 不兼容 别试了,我试过

2.3.2 Windows下安装Vivado

安装包大概40GB,下载需要点耐心。我建议用迅雷下载,官网下载器太慢了。

  1. 双击xsetup.exe,选择"Vivado HL WebPACK"(免费版够用)
  2. 安装路径不要有中文和空格,我习惯用 D:\Xilinx\Vivado\2020.1
  3. 勾选"Design Tools"和"Devices"中的7系列(我们用的FPGA是Artix-7)
  4. 安装时间大约1-2小时,可以去喝杯咖啡

避坑:安装过程中如果报"Python 3.8 not found"的错误,别慌。手动安装Python 3.8.10,然后把路径加到系统环境变量里,重新运行安装程序就好。

2.3.3 配置Vivado环境

安装完成后,还需要配置一些东西:

  1. 添加Vivado到系统PATH
  2. 安装Digilent板级支持包(如果你用Nexys A7或类似板子)
  3. 配置许可证(WebPACK版不需要,但建议申请一个免费节点锁许可证)
# 系统环境变量添加(以Windows为例)
变量名: XILINX_VIVADO
变量值: D:\Xilinx\Vivado\2020.1

变量名: PATH
追加: %XILINX_VIVADO%\bin

2.4 FPGA开发板驱动安装

2.4.1 驱动类型

FPGA开发板的驱动主要分两类:

  • JTAG驱动:用于下载bitstream和调试
  • UART驱动:用于串口通信,看RISC-V的打印输出

2.4.2 安装Cable Drivers

Vivado安装包自带驱动,但有时候需要手动安装:

  1. 打开设备管理器,找到带黄色感叹号的设备
  2. 右键更新驱动,选择"浏览我的电脑"
  3. 路径指向 C:\Xilinx\Vivado\2020.1\data\xicom\cable_drivers\nt64\
  4. 选择"digilent"或"xilinx_windrv"文件夹,根据你的调试器类型

经验之谈:如果你用的是Nexys A7或Arty A7这类板子,建议去Digilent官网下载最新的Adept Runtime和Adept Utilities。Vivado自带的驱动有时候会识别不到板子。

2.4.3 验证驱动安装

驱动装好后,怎么知道成没成功?打开Vivado,在Tcl Console里输入:

open_hw_manager
connect_hw_server
get_hw_targets

如果返回了你的FPGA设备信息,恭喜你,驱动装好了。如果返回空或者报错,嗯,咱们继续排查。

2.5 环境验证:跑个Hello World

环境搭好了,总得验证一下。我习惯用Vivado自带的example project来测试:

  1. 打开Vivado,点击"Create Project"
  2. 选择"RTL Project",勾选"Do not specify sources at this time"
  3. 选择你的FPGA型号(比如xc7a35ticsg324-1L)
  4. 创建完成后,点击"Open Hardware Manager"
  5. 连接开发板,点击"Auto Connect"

如果能识别到设备,说明整个环境——Windows、Vivado、驱动——全部就绪。

到这里,开发环境搭建的上半场就完成了。你有了双系统,Windows上跑着Vivado,驱动也装好了。下一节我们会搞定Linux上的RISC-V工具链,到时候两边一配合,蜂鸟E203就能真正跑起来了。

2.6 本章知识结构

下面这张图帮你理清整个环境搭建的脉络:

开发环境搭建知识结构图 开发环境搭建知识结构 蜂鸟E203 FPGA开发环境 双系统安装 Vivado安装配置 FPGA驱动安装 Windows 10/11 Ubuntu 20.04 LTS GRUB双引导 Vivado 2020.1 WebPACK免费版 7系列器件支持 JTAG驱动 UART串口驱动 Digilent Adept 验证:Hello World测试 Windows + Linux 协同

个人建议:环境搭建别追求一步到位。先让Vivado能打开、驱动能识别,就算成功。工具链和工程配置可以慢慢调。我见过太多人想一次搞定所有,结果卡在某个细节上出不来。