Невозможно включить файл определения в Verilog

Я использую ModelSim для моделирования Verilog. Я создал один файл define.v и хочу включить его в несколько других модулей Verilog.

часть define.v выглядит следующим образом:

// defines

`define RSIZE 4
`define ISIZE 16
`define DSIZE 16
`define ASIZE 16
`define NREG  4

`define ADD 4'b0000
`define SUB 4'b0001
`define AND 4'b0010
`define OR  4'b0011
`define SLL 4'b0100
`define SRL 4'b0101
`define SRA 4'b0110
`define RL  4'b0111
`define LW  4'b1000
`define SW  4'b1001
`define LHB 4'b1010
`define LLB 4'b1011
`define BR  4'b1100
`define JAL 4'b1101
`define JR  4'b1110
`define EXEC 4'b1111

...
...

Я включил этот файл в несколько других модулей, например: alu.v

//ALU.v

`include "define.v"

module alu(
    input [`DSIZE-1:0] a, b, //operands
    input [3:0] op,          //operation code
    input [3:0] imm,         //immediate

    output reg [`DSIZE-1:0] out, //output
    output reg [2:0] flag        //flag for N, V, Z in sequence
    );
...
...

Однако при компиляции кажется, что файл определения не включен, ошибка следующая:

** Error: //psf/Home/Desktop/Projects/project1/alu.v(3): 
          Cannot open `include file "define.v".

Как я могу решить эту проблему?


person fyr91    schedule 01.04.2014    source источник
comment
Где находится define.v в вашем каталоге?   -  person e19293001    schedule 01.04.2014


Ответы (1)


Если define.v не находится в текущем каталоге, вам нужно указать Modelsim использовать каталог, содержащий define.v, при поиске включенных файлов.

Вариант сделать это +incdir+path.

Так, например, если у вас есть следующая файловая структура:

project/src/alu.v
project/include/define.v

А вы запускаете из project, то вам нужно включить +incdir+include в качестве аргумента в Modelsim.


В качестве примечания: если вы включаете один и тот же файл более одного раза, вам следует использовать "включить защиту" чтобы избежать предупреждений о переопределении макросов.

`ifndef DEFINE_V
`define DEFINE_V
  `define RSIZE 4
  `define ISIZE 16
  ....
`endif
person dwikle    schedule 01.04.2014