官网上是这么说的:
就是说如果iverilog找不到你的module的话,就加一个-y 参数,并在后面跟上你要搜索的文件路径即可。
举个例子,你写了个testbench.v,在里面例化了source1.v模块,在编译testbench时编译器提示找不到source1.v模块,该怎么办呢?
假如该模块在Users/local/code/src 文件夹里,那么就可以输入
iverilog -y Users/local/code/src testbench.v
另外,直接include
也不失为一种方法,还是看上面的例子,可以在testbench里加上`include Users/local/code/src/source1.v。不过如果你的项目比较大的话,总是加include也不太方便。
最后,如果你的代码里用到了IP核,还是老老实实用vivado编译吧,目前iverilog还识别不了IP核,而且即使加了-y和文件路径也找不到对应的ip module(我没有试成功🥲,看github上讨论的也说不行,如果可以识别ip核的话欢迎在评论区指出)。
(官网链接:https://iverilog.fandom.com/wiki/Main_Page)