如何在icarus verilog中包含文件?

时间:2017-11-23 07:07:56

标签: mips verilog cpu-architecture iverilog icarus

我知道基本的`include“filename.v”命令。但是,我试图在另一个文件夹中包含一个模块。现在,该模块还包括存在于同一文件夹中的其他模块。但是,当我尝试在最顶级运行模块时,我收到错误。

C:\Users\Dell\Desktop\MIPS>iverilog mips.v
./IF/stage_if.v:2: Include file instruction_memory_if.v not found
No top level modules, and no -s option.

在这里,我正在尝试制作一个MIPS处理器,它包含在文件“mips.v”中。这个文件的第一个语句是“`include”IF / stage_if.v“。而且,在IF文件夹中,有很多文件存在,我已经包含在stage_if.v中,其中一个是”instruction_memory_if.v“。是目录级别图。

-IF
  instruction_memory_if.v
  stage_if.v
+ID
+EX
+MEM
+WB
mips.v

1 个答案:

答案 0 :(得分:0)

您需要告诉iverilog使用-I标志查看的位置。

top.v

`include "foo.v"

program top;
    initial begin
        foo();
    end
endprogram

foo/foo.v

task foo;
    $display("This was printed in the foo module");
endtask

可以使用以下命令运行:

iverilog -g2012 top.v -I foo/
vvp a.out

>>> This was printed in the foo module