第一章:课程导论与开发环境搭建

各位同学,欢迎来到《Vivado与RISC-V软核集成设计指南》的第一课。

我是你们这门课的主讲。做了十几年FPGA,从早期的MicroBlaze玩到现在的RISC-V,踩过的坑不少,积累的经验也还行。今天咱们先聊聊基础——RISC-V到底是什么,Vivado怎么用,以及怎么把整个流程串起来。

1.1 RISC-V架构概述

RISC-V,说白了就是一个开放的指令集架构。跟ARM不一样,它不收授权费。你想想看,这对我们做FPGA的人来说意味着什么?意味着你可以白嫖一个CPU核,然后塞进你的FPGA里。

我个人习惯把RISC-V分成三类:

  • RV32I:基础整数指令集,最精简的版本。适合做控制逻辑。
  • RV32IM:加了乘除法指令。做简单运算够用了。
  • RV32IMC:再加压缩指令。代码密度能省30%左右。

我在项目中遇到过一件事:有个客户非要用RV64,结果他的FPGA资源根本不够。后来换成RV32IMC,资源降了一半,性能还够用。所以选型很重要,别盲目追高。

核心要点:RISC-V的精髓在于“模块化”。你需要什么功能,就加什么扩展。不像ARM那样给你一整套,用不上的也得占资源。

1.2 Vivado工具链介绍

Vivado是Xilinx(现在叫AMD)的FPGA开发工具。说实话,早期版本挺难用的,动不动就崩。但到了2023、2024版本,稳定性好了很多。

Vivado的核心流程就三步:

  1. 综合(Synthesis):把RTL代码转成网表
  2. 实现(Implementation):把网表映射到FPGA资源上
  3. 生成比特流(Generate Bitstream):生成可以下载到FPGA的文件

嗯,这里要注意:Vivado的工程管理跟其他IDE不太一样。它用的是.xpr工程文件,但真正的核心数据都在.srcs和.runs目录里。我刚开始用的时候,经常把工程拷丢了,后来才明白要整个目录一起备份。

小技巧:Vivado的Tcl控制台非常强大。我个人习惯把所有操作写成Tcl脚本,这样换电脑或者换版本时,直接跑脚本就行,不用重新点鼠标。

1.3 软核集成流程总览

把RISC-V软核集成到Vivado里,其实就五步:

步骤 内容 耗时(经验值)
1 获取RISC-V软核源码(比如VexRiscv、Rocket Chip) 半天
2 创建Vivado工程,添加软核源码 1小时
3 配置软核参数(指令集、缓存大小、中断等) 2小时
4 编写顶层模块,连接外设(UART、GPIO、SPI等) 半天
5 综合、实现、生成比特流,下载验证 半天到一天

我曾经犯过一个低级错误:在步骤2直接把整个软核仓库拷进工程,结果Vivado综合了三个小时还没完。后来发现是仓库里包含了测试代码和文档,那些根本不需要综合。所以,只添加必要的源文件,别贪多。

避坑指南:我曾经在步骤4忘了加复位逻辑,结果软核跑起来后,第一次访问内存就挂了。排查了两天才发现是复位信号没连对。所以,复位设计一定要仔细,尤其是异步复位同步释放这种细节。

1.4 开发板选型与准备

选开发板这事,我建议你根据预算和需求来。别一上来就买最贵的,也别买最便宜的。

我个人常用的几款:

  • 入门级:Digilent Arty A7(Xilinx Artix-7芯片,约1000元)——适合跑RV32I软核,资源刚好够
  • 进阶级:Nexys Video(Artix-7,约3000元)——有HDMI、以太网,适合做多媒体应用
  • 高性能:Zynq-7000系列(约5000元以上)——自带ARM硬核,可以跟RISC-V软核做对比实验

你想想看,如果只是学RISC-V软核集成,Arty A7完全够用。我当年就是用这块板子,跑了VexRiscv,做了个简单的UART通信,效果不错。

准备开发板时,别忘了这几样东西:

  • Micro USB线(数据线,不是充电线)
  • JTAG调试器(如果板子不自带)
  • 串口转USB模块(用来打印调试信息)

嗯,这里有个坑:很多Micro USB线只能充电,不能传数据。我吃过这个亏,买了好几根线才找到能用的。建议你买的时候问清楚。

1.5 本章知识体系

为了让你更直观地理解本章内容,我画了一张流程图。它展示了从RISC-V架构到Vivado集成再到开发板验证的完整链路。

第一章:课程导论与开发环境搭建 - 知识体系 RISC-V架构概述 Vivado工具链介绍 开发板选型与准备 RV32I / RV32IM / RV32IMC 模块化指令集扩展 综合 → 实现 → 比特流 Tcl脚本自动化管理 Arty A7 / Nexys Video JTAG + 串口调试准备 软核集成流程:获取源码 → 创建工程 → 配置参数 → 连接外设 → 生成比特流

这张图把本章的核心内容串起来了。左边是RISC-V架构,中间是Vivado工具,右边是开发板。底部是软核集成的五步流程。你对照着看,思路会清晰很多。

1.6 本章小结

这一章我们聊了:

  • RISC-V的模块化设计思想——按需选配,别贪多
  • Vivado的三步核心流程——综合、实现、比特流
  • 软核集成的五步法——从源码到比特流
  • 开发板选型建议——入门选Arty A7,进阶选Nexys Video

说实话,这些内容看起来简单,但都是基础中的基础。后面每一章都会基于这些内容展开。你如果现在觉得有点模糊,没关系,先有个印象就行。等真正动手做项目时,自然就理解了。

一句话总结:RISC-V是免费的CPU核,Vivado是FPGA开发工具,把两者结合就是软核集成。就这么简单。


专注资料整理