第一章:硬件开发环境搭建
大家好,我是老李。做硬件量化策略这些年,踩过的坑比吃过的盐还多。今天咱们聊聊开发环境搭建——这一步要是没弄好,后面全白搭。
说实话,很多人一上来就急着写代码、跑仿真。我见过太多人卡在环境配置上,一卡就是好几天。所以,咱们先把地基打牢。
1.1 Linux开发环境配置(Ubuntu 22.04)
为什么选Ubuntu 22.04?我个人习惯用LTS版本,稳定。你想想看,做硬件开发最怕什么?最怕系统突然抽风。Ubuntu 22.04的软件源成熟,驱动支持也好。
安装步骤其实不复杂,但有几个细节要注意:
- 分区建议:/boot分2GB,/分50GB,剩下的全给/home。我在项目中遇到过/home空间不够,编译到一半报错,那叫一个尴尬。
- 换源:装完系统第一件事,换国内源。清华、中科大、阿里都行。不然apt update能等到你怀疑人生。
- 必备工具包:
sudo apt update
sudo apt install build-essential git cmake
sudo apt install libboost-all-dev libeigen3-dev
sudo apt install python3-pip python3-venv
sudo apt upgrade。我每次装新机器都这么干,能避免很多奇奇怪怪的依赖问题。
嗯,这里要注意:如果你用的是虚拟机,记得给CPU分配至少4核,内存8GB起步。别问我怎么知道的——我第一次用2核4GB跑Vivado,编译到一半直接卡死。
1.2 Vivado/Vitis HLS安装与许可
Vivado这玩意儿,说白了就是Xilinx家的IDE。做FPGA开发绕不开它。Vitis HLS则是用C/C++写硬件逻辑的工具,对量化策略来说特别实用。
安装流程:
- 去Xilinx官网下载Vivado ML Edition(现在叫这个名字)。选Linux版本。
- 下载完是个.bin文件,给执行权限:
chmod +x *.bin - 运行安装:
./xsetup - 安装路径建议别用默认的,我习惯放
/opt/Xilinx
许可配置:
许可这块,说简单也简单,说坑也坑。我建议用浮动许可(Floating License),方便多台机器共用。
# 设置环境变量
export XILINXD_LICENSE_FILE=2100@license-server-ip
# 或者用本地文件
export XILINXD_LICENSE_FILE=/opt/Xilinx/Xilinx.lic
记得把这两行加到 ~/.bashrc 里,不然每次开终端都要重新设。
1.3 硬件仿真工具入门(Verilator & Icarus Verilog)
仿真工具,说白了就是让你在电脑上跑硬件代码,不用真的烧到板子上。这对量化策略回测来说太重要了——你总不想每次改个参数都重新综合一次吧?
Verilator
Verilator是我最常用的工具。它把Verilog代码转成C++,然后编译成可执行文件。速度比传统仿真器快一个数量级。
安装:
sudo apt install verilator
# 或者从源码编译(推荐)
git clone https://github.com/verilator/verilator
cd verilator
autoconf
./configure
make -j$(nproc)
sudo make install
基本用法:
# 编译Verilog文件
verilator --cc top.v --exe sim_main.cpp
# 生成的可执行文件在 obj_dir 目录下
make -C obj_dir -f Vtop.mk
# 运行仿真
./obj_dir/Vtop
Icarus Verilog(iverilog)
Icarus Verilog是另一个选择。它比Verilator更接近标准仿真器,支持SystemVerilog的大部分特性。
安装:
sudo apt install iverilog gtkwave
基本用法:
# 编译
iverilog -o testbench.vvp testbench.v top.v
# 运行
vvp testbench.vvp
# 查看波形
gtkwave dump.vcd
1.4 知识体系总览
说了这么多,咱们用一张图来总结一下整个开发环境的结构:
这张图把整个环境分成了四层。底层是操作系统,上面是开发工具,再往上是FPGA专用工具和仿真工具,最顶层是输出产物。每一层都依赖下一层,缺一不可。
1.5 环境验证
装完所有东西后,我建议跑一个简单的测试,确保环境没问题:
# 测试Verilator
verilator --version
# 测试iverilog
iverilog -V
# 测试Vivado
source /opt/Xilinx/Vivado/2022.2/settings64.sh
vivado -version
# 测试Vitis HLS
source /opt/Xilinx/Vitis_HLS/2022.2/settings64.sh
vitis_hls -version
如果所有命令都能正常输出版本号,恭喜你,环境搭建成功了。
公众号:蓝海资料掘金营,微信deep3321