在vscode中开发FPGA的一次尝试!
通过自定义脚本实现编译(iverilog+GTKWave)仿真
iverilog:Icarus Verilog for Windows --- 这个安装其实默认也会安装GTKWave
GTKWave:GTKWave for Windows / Win32 Home --- 这个是已经编译!自动下载即可
我是闲来无事自己想通过源码编译出自己的GTKWave --- 最后也是成功了!当然操作十分不易
GTKWave 源码地址:GTKWave
下载后解压!当然首先的介绍主要工具MSYS2进行编译!
具体编译过程参考:Microsoft Windows - GTKWave documentation --- 仔细阅读文档
如果之前下载的话就不用git克隆!下面是参考步骤
第一步(在MSYS2 MSYS中):
pacman -S autoconf automake libtool
pacman -S base-devel mingw-w64-x86_64-toolchain autoconf automake libtool mingw-w64-x86_64-tcl
第二步(在MSYS2 MINGW64中):
cd gtkwave/gtkwave3-gtk3
# 注意这里自己合理更改路径
./autogen.sh
./configure --with-tcl=/mingw64/lib --with-tk=/mingw64/lib --enable-gtk3 --enable-judy --prefix=/opt
make -j 6
make install
一般不会报错!有问题社区留言反馈!!!或者社区反馈!!!
install完毕后安装设置的保存路径在(自己安装mysy2的路径下):
这里你会发现一个问题没有动态库导致法别人可能无法使用!
这里就要补库了! 建议先备份自己的环境变量中的用户PATH与系统PATH
只保留系统system32 与 msys2中的mingw64/bin的路径变量!
通过 ldd 指令进行查动态库!
ldd "c:\xxxxxxxxxx\xxx.exe"
查出后可以通过ai修改为以下格式(在MSYS2中运行):
// 复制
cp "E:\WIN64app\msys64\mingw64\bin\libbz2-1.dll" "C:\Users\CXi\Desktop\gtkwave-portable"
cp "E:\WIN64app\msys64\mingw64\bin\libcairo-2.dll" "C:\Users\CXi\Desktop\gtkwave-portable"
cp "E:\WIN64app\msys64\mingw64\bin\libcairo-gobject-2.dll" "C:\Users\CXi\Desktop\gtkwave-portable"
cp "E:\WIN64app\msys64\mingw64\bin\libexpat-1.dll" "C:\Users\CXi\Desktop\gtkwave-portable"
cp "E:\WIN64app\msys64\mingw64\bin\libfontconfig-1.dll" "C:\Users\CXi\Desktop\gtkwave-portable"
.............
将动态库放在最开始的bin文件夹!
运行报错!
解决!
解决方法二:
这2个方法!!!
自行挨个检测动态库:
将MSYS2中的mingw64动态库通过Everything查找复制在bin文件夹!(需要一定的编程经验)
到此为止GTKWave封装完毕!!!
我这里封装的可以下在试一试!:文件 --- 密码:hnja ---- win系统64位
Vscode 使用!
最后提醒!!! 没有C++/C liunx 的开发经验不要尝试自己编译GTKWave!!!