在《年轻人的第一个systemVerilog验证环境》里,介绍了如何在只有win+modelsim或是linux+vcs的情况下完成一个验证环境。那么如果既没有linux环境也没有vcs还没有modelsim,也想跑一个验证环境有没有办法呢?
【芯片验证】年轻人的第一个systemVerilog验证环境
【芯片验证】年轻人的第一个systemVerilog验证环境全工程与解析——VCS版
当然有,大前提是有一台可以正常工作的windows系统电脑。有了这台电脑呢就可以通过WSL+iverilog+gtkwave(+xming)来完成一个验证环境的仿真了。这里插播一句,现在很多在线调试网站都集成了iverilog开源工具,比如说ic技术圈(https://iccircle.com),欢迎大家的访问和使用。
hl55qcxmgbo6404512927.png
eiqlasltl0u6404513027.jpg
说回今天的主题,如果现在没有一个趁手的虚拟机或者工作站可以使用,那不妨就在windows下安装一个WSL。具体的教程很多,这个放一下deepseek给的说明:
Windows Subsystem for Linux (WSL) 是一个在Windows 10和更新版本中提供的兼容层,可以让您直接在Windows上运行Linux二进制可执行文件。以下是使用WSL的基本步骤:
1. 启用WSL:
打开PowerShell作为管理员,输入以下命令并回车:`wsl --install`
这个命令会启用所需的可选功能,并安装默认的Linux发行版(通常是Ubuntu)。
2. 安装特定的Linux发行版:
如果你想安装其他Linux发行版,可以通过Microsoft Store搜索并安装你喜欢的版本,比如Debian、Kali Linux等。
安装完成后,启动所选的发行版以完成初始设置。
3. 使用WSL:
安装并启动后,你可以通过开始菜单找到已安装的Linux发行版,点击打开进入Linux命令行环境。
在这里,你可以像在普通的Linux系统中一样使用各种命令行工具和软件包管理器来安装软件、编写代码等。
4. 升级WSL版本(如果需要):
WSL有两种版本:WSL 1和WSL 2。WSL 2提供了更好的性能和完整的系统调用兼容性。要检查当前使用的WSL版本或将其转换为WSL 2,可以使用命令:`wsl --list --verbose`查看已安装的发行版及其版本号,然后使用`wsl --set-version [distro-name] 2`将指定发行版转换为WSL 2。
5. 配置互访:
WSL与Windows之间可以直接访问彼此的文件系统。在Linux中,可以通过`/mnt/[drive]/[path]`访问Windows文件,在Windows中,可以通过`\wsl$\[distribution]\`访问Linux文件。
确保你的Windows版本是最新的,以便获得最佳的WSL体验和支持。如果你遇到任何问题或者想了解更多高级特性,微软官方文档是一个很好的资源。
安完设置好密码再重启电脑之后,你就拥有了这样一个虚拟机:
2p0q2c4i0bx6404513127.png
而有了WSL之后,个人建议再往电脑上安一个vscode毕竟用起来顺手一些,如果你已经安装了vc那么直接在虚拟机里键入`code .`就可以转到那里去操作虚拟机了。
然后安装一下iverilog和gtkwave,这两个也都很好安装apt就可以:
sudo apt install iverilogsudo apt install gtkwave这样呢最基本的工具就完成了。来测试一下环境是否可以工作,那么在当前目录写两个代码example.v:
module example ( input wire clk, input wire rst, output reg q); always @(posedge clk or posedge rst) begin if (rst) q 0; else q endendmodule和example_tb.v:
module example_tb; reg clk; reg rst; wire q;
example uut ( .clk(clk), .rst(rst), .q(q) );
initial begin clk = 0; forever #5 clk = ~clk; end
initial begin $dumpfile("example.fsdb"); $dumpvars(0, example_tb);
rst = 1; #10 rst = 0;
#100 $finish; endendmodule然后写完保存好之后,编译一下:
iverilog -o example example.v example_tb.v执行一下可执行文件:
vvp example此时会打印log并产生波形,最后打开波形文件:
gtkwave example.fsdb &
fbmmhbrizv16404513227.png
效果就有了,继续拓展就可以开始愉快的进行芯片验证编码与仿真。这一套下来怎么说呢,基本处于“又不是不能用”的阶段,如果觉得太卡了还可以安装一下xming通过windows来显示波形界面。
t5cebcntref6404513327.jpg
ve5toibkean6404513427.png
系列文章入口
【芯片设计】SoC 101(一):绪论【芯片设计】FIFO漫谈(零)从无处不在的FIFO开始说起【芯片设计】计算机体系结构(一)虚拟内存【芯片设计】深入理解AMBA总线(零)绪论
【芯片设计】握手协议的介绍与时序说明【芯片设计】复位那些小事 —— 复位消抖【芯片设计】快速入门数字芯片设计(一)Introduction【芯片验证】UVM源码计划(零)下定决心读源码前的自测环节
【芯片设计】异步电路碎碎念(一) 到底什么是异步电路
【芯片设计】从RTL到GDS(一):Introduction
【芯片设计】系统中的可维可测状态记录寄存器设计
其他文章链接
【芯片验证】sva_assertion: 15道助力飞升的断言练习【芯片验证】可能是RTL定向验证的巅峰之作【芯片验证】RTL仿真中X态行为的传播 —— 从xprop说起【芯片验证】年轻人的第一个systemVerilog验证环境全工程与解析【芯片设计】verilog中有符号数和无符号数的本质探究
| 【芯片设计】论RTL中always语法的消失术 | 【芯片设计】代码即注释,注释即代码 | 【芯片设计】700行代码的risc处理器你确实不能要求太多了 |
入职芯片开发部门后,每天摸鱼之外的时间我们要做些什么呢 | 如何计算系统的outstanding 和 burst length? | 芯片搬砖日常·逼死强迫症的关键词不对齐事件 | 熟人社会里,一群没有社会价值的局外人 |
|