第二章 开发环境搭建: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 安装步骤

  1. 解压安装包:
tar -xvf vcs_mx_vL-2016.06.tar
  1. 运行安装脚本:
./installer -gui
  1. 设置环境变量:
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,说明装好了。

小提示:Verilator不支持所有SystemVerilog语法。我建议先用VCS做完整验证,用Verilator做回归测试,两者互补。

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:搜索信号
注意:VCD文件可能很大。我建议只dump需要的信号,用 $dumpvars(0, top) 控制范围,不然硬盘会爆。

2.5 本章知识体系

下面这张图,帮你理清开发环境的整体结构:

开发环境搭建知识体系 Linux基础命令 仿真工具安装 波形查看工具 文件操作:ls, cd, cp, mv 编辑查看:vim, cat, less 搜索:find, grep 权限进程:chmod, ps, kill VCS:商业仿真器 Verilator:开源仿真器 环境变量配置 License设置 GTKWave安装 VCD波形生成 波形查看技巧 信号搜索与缩放 三者配合:Linux操作 → 仿真运行 → 波形调试

说白了,开发环境就是这三块。Linux是基础,仿真工具是核心,波形查看是辅助。三者缺一不可。

2.6 避坑总结

最后,我把自己踩过的坑总结一下:

常见问题 原因 解决办法
VCS启动报license错误 环境变量没配 检查 LM_LICENSE_FILE
Verilator编译失败 gcc版本太低 升级到gcc 4.8以上
GTKWave打不开VCD 文件太大 用 $dumpvars 限制范围
仿真跑不起来 文件权限不对 chmod +x 给执行权限

嗯,环境搭建就这些。别怕麻烦,一次配好,后面能省很多时间。我当年就是吃了这个亏,现在每次换新机器,第一件事就是搭环境。

可可精品资料库