我想在我的Verilog项目中添加一个头文件。这应该是一件非常容易的事情。然而,结果证明并非无足轻重。这是我的头文件。假设文件名是parameters.vh
`ifndef _parameters_vh_
`define _parameters_vh_
parameter Tm = 2;
parameter Tn = 2;
`endif
然后我将它包含在顶层模块中
`include "parameters.vh"
但它无法合成。这是错误消息:
参数的Verilog HDL错误.vh(3):声明全局对象是SystemVerilog功能。 我想知道是否有人可以帮助我。
答案 0 :(得分:2)
在Quartus-II中,您可以通过菜单Assignments - >启用SystemVerilog功能。设置 - > Verilog HDL输入。
否则你必须在模块定义中移动参数文件的包含,如下所示:
module top (x,y);
`include "parameters.vh"
input x;
output y;
assign y = x;
endmodule // top
答案 1 :(得分:0)
它不是系统故障问题,只要想一想预处理器在找到包含线时正在做什么。你不能在模块之外有参数,没有意义。