当前位置: 首页 > 工具软件 > MyHDL > 使用案例 >

Myhdl与Iverilog在windows系统中无法正常运行,myhdl.vpi生成不顺利

邹野
2023-12-01

Myhdl与Iverilog在windows系统中无法正常运行,myhdl.vpi生成不顺利

在使用Myhdl和iverilog时,首先需要配置myhdl.vpi,想在windosw平台上使用,与编译软件调试会更方便。
但是在linux系统中编译的myhdl.vpi不能直接在windows上运行。
故使用windows编译
重点:windows的编译环境一定一定要选择64位环境,尤其是使用mingw的同学,作者亲踩坑。
在命令行输入gcc -v,看清楚target是什么类型

PS C:\Users\jyb17\Desktop> gcc -v
Using built-in specs.
COLLECT_GCC=C:\Users\jyb17\Downloads\mingw64\bin\gcc.exe
COLLECT_LTO_WRAPPER=C:/Users/jyb17/Downloads/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/lto-wrapper.exe
Target: x86_64-w64-mingw32

x86_64-w64-mingw32是正确的64位,i686是32位。
如果你使用iverilog64位软件的话,就一定要使用64位编译器!!!!

可以不用安装没软件包,直接打开make文件,执行iverilog-vpi myhdl.c myhdl_table.c

all: myhdl.vpi

myhdl.vpi: myhdl.c myhdl_table.c 
	iverilog-vpi myhdl.c myhdl_table.c

.PHONY: test
test: myhdl.vpi
	cd test && python test_all.py

clean:
	-rm *.o *.vpi

可能会出现vlog_startup_routines重复定义,需要将myhdl_table.c中的部分迁移至myhdl.c就可以
傻瓜操作:删除myhdl_table.c所有内容,将extern void myhdl_register();复制到myhdl.c头部即可。

作者所用环境:
Iverilog----http://bleyer.org/icarus/----20220611
Myhdl----0.11
gcc----x86_64-w64-mingw32

配备了根据上述环境编译好的myhdl.vpi,有需要的小伙伴可以自取~

 类似资料: