第二章 开发环境搭建:Linux基础命令、VCS/Verilator仿真工具安装、GTKWave波形查看工具
说实话,很多刚入行的朋友觉得环境搭建是件小事。我当年也这么想,结果第一个项目就栽在环境上——装了两天的VCS死活跑不起来,最后发现是gcc版本不兼容。嗯,从那以后我学乖了,环境搭建这事,真得认真对待。
这一章,咱们就把开发环境彻底搞定。你跟着我的步骤来,保证不走弯路。
2.1 Linux基础命令——你每天都会用到的那些
做数字芯片设计,Linux是躲不开的。我见过太多人因为不熟悉命令行,效率低得让人着急。其实常用的就那么十几个命令,咱们过一遍。
2.1.1 文件操作三件套
ls -l # 查看文件详情
cd /home/project # 切换目录
pwd # 看看自己在哪
我个人习惯把 ls -l 设置成别名 ll,省事。你可以在 .bashrc 里加上一行:
alias ll='ls -l'
2.1.2 文件编辑与查看
我推荐用 vim 或者 gvim。别怕,上手不难。记住三个模式就行:
- 普通模式:按
i进入插入模式 - 插入模式:按
Esc回到普通模式 - 命令模式:在普通模式下按
:进入
查看文件内容,我常用这些:
cat file.v # 直接看
less file.v # 分页看,按q退出
head -20 file.v # 看前20行
tail -f log.txt # 实时看日志,调试时超有用
tail -f 看仿真日志,能实时看到打印信息,不用反复打开文件。
2.1.3 文件搜索与查找
项目大了,文件多了,找东西就成问题。我一般这么干:
find . -name "*.v" # 找所有Verilog文件
grep -r "module" *.v # 在所有.v文件里搜module关键字
grep -rn "clk" --include="*.v" # 递归搜索,显示行号
我曾经有一次为了找一个信号定义,翻了20多个文件。后来学会用 grep -rn,10秒搞定。你想想看,这效率差距多大。
2.1.4 权限与进程管理
chmod +x run.sh # 给脚本加执行权限
ps -ef | grep vcs # 看VCS进程是否在跑
kill -9 PID # 强制杀掉进程(慎用)
kill -9 是强制终止,可能造成文件损坏。我一般先用 kill PID,不行再用 -9。
2.2 VCS仿真工具安装——商业工具的标配
VCS是Synopsys家的旗舰仿真器,工业界用得最多。说实话,安装过程有点繁琐,但跟着我的步骤来,问题不大。
2.2.1 安装前的准备
先检查系统环境:
uname -a # 查看系统版本
cat /etc/redhat-release # 看CentOS/RHEL版本
gcc --version # 检查gcc版本
VCS对系统有要求。我记得有一次在Ubuntu上装VCS,折腾了两天,最后发现官方只支持Red Hat和CentOS。所以,建议用CentOS 7或RHEL 7。
2.2.2 安装步骤
- 解压安装包:
tar -xvf vcs_mx_vL-2016.06.tar
- 运行安装脚本:
./installer -gui
- 设置环境变量:
export VCS_HOME=/tools/synopsys/vcs
export PATH=$VCS_HOME/bin:$PATH
export LM_LICENSE_FILE=27000@license_server
把这些加到 .bashrc 里,省得每次都要手动敲。
2.2.3 验证安装
vcs -version # 查看版本
vcs -help | head -20 # 看帮助信息
如果能看到版本号,恭喜你,装好了。
LM_LICENSE_FILE,折腾了一下午。记住,license环境变量必须配,不然VCS会罢工。
2.3 Verilator仿真工具安装——开源党的首选
Verilator是开源的,速度快,适合做大型项目的仿真。我个人很喜欢它,尤其是做验证的时候。
2.3.1 安装依赖
sudo yum install -y git make gcc g++ flex bison
sudo yum install -y perl python3
2.3.2 编译安装Verilator
git clone https://github.com/verilator/verilator.git
cd verilator
autoconf
./configure
make -j4
sudo make install
这个过程大概10分钟。你可以去泡杯咖啡。
2.3.3 验证安装
verilator --version # 查看版本
如果显示 Verilator 4.xxx,说明装好了。
2.4 GTKWave波形查看工具——调试的利器
波形查看是调试的核心。GTKWave免费、轻量,够用。
2.4.1 安装GTKWave
sudo yum install -y gtkwave
或者从源码编译:
wget http://gtkwave.sourceforge.net/gtkwave-3.3.104.tar.gz
tar -xvf gtkwave-3.3.104.tar.gz
cd gtkwave-3.3.104
./configure
make
sudo make install
2.4.2 生成波形文件
在仿真时,记得加 -dump 选项生成VCD文件:
vcs -R -f filelist.f -dump
./simv -l sim.log
或者用Verilator生成:
verilator --trace -cc top.v
cd obj_dir
make -f Vtop.mk
./Vtop
2.4.3 查看波形
gtkwave dump.vcd
打开后,左边选信号,右边看波形。快捷键记一下:
Ctrl+Z:放大Ctrl+X:缩小Ctrl+F:搜索信号
$dumpvars(0, top) 控制范围,不然硬盘会爆。
2.5 本章知识体系
下面这张图,帮你理清开发环境的整体结构:
说白了,开发环境就是这三块。Linux是基础,仿真工具是核心,波形查看是辅助。三者缺一不可。
2.6 避坑总结
最后,我把自己踩过的坑总结一下:
| 常见问题 | 原因 | 解决办法 |
|---|---|---|
| VCS启动报license错误 | 环境变量没配 | 检查 LM_LICENSE_FILE |
| Verilator编译失败 | gcc版本太低 | 升级到gcc 4.8以上 |
| GTKWave打不开VCD | 文件太大 | 用 $dumpvars 限制范围 |
| 仿真跑不起来 | 文件权限不对 | chmod +x 给执行权限 |
嗯,环境搭建就这些。别怕麻烦,一次配好,后面能省很多时间。我当年就是吃了这个亏,现在每次换新机器,第一件事就是搭环境。
可可精品资料库