逻辑设计新手
作为学生党,我完全理解你的痛点。学校VCS license排队烦死人,个人电脑装盗版又怕出问题。Verilator+GTKWave这套组合,我用了快一年做课程项目,核心优点就俩字:自由。你可以在自己笔记本上随便装,随时跑仿真,不用求人。功能上,Verilator对SystemVerilog的支持确实不如VCS全,比如一些高级的面向对象特性可能不支持,但用于学习的RTL设计(always块、assign、module例化这些)完全够用。GTKWave看波形基本功能都有,但和Verdi那种能自动追踪信号、做代码覆盖率分析的“神器”比,就是自行车和汽车的区别——你得多花点手动功夫。
我的建议是:如果你的项目就是些计数器、FIFO、简单CPU,这套组合绝对胜任,而且能让你更理解仿真底层(因为Verilator是把Verilog转成C++来编译执行的)。但如果你要搞复杂的验证环境,比如用UVM,那还是得找机会用VCS。
具体搭建步骤:1. 去Verilator官网下载源码,按文档编译安装(记得系统装好gcc和make)。2. GTKWave直接包管理器安装就行(apt install gtkwave)。3. 写个简单的Makefile,把verilator转码、编译、运行仿真、生成波形一气呵成。
注意事项:Verilator对代码风格要求比较严,比如组合逻辑里不能有锁存器推断,否则会报错。这反而是好事,逼你写出更规范的RTL。波形文件(.vcd)如果太大,GTKWave打开会卡,建议仿真时只dump你关心的信号。
