在 Verilog 中添加头文件

Adding header files in Verilog

我想将头文件添加到我的 Verilog 项目中。这应该是一件很容易做到的事情。然而,事实证明这并非微不足道。这是我的头文件。假设文件名为 parameters.vh

`ifndef _parameters_vh_
`define _parameters_vh_
parameter Tm = 2;
parameter Tn = 2;
`endif

然后我把它包含到顶层模块

`include "parameters.vh"

但是无法合成。这是错误消息:

parameters.vh(3) 处的 Verilog HDL 错误:声明全局对象是 SystemVerilog 的一项功能。 我想知道是否有人可以帮助我。

在 Quartus-II 中,您可以通过菜单 Assignments -> Settings -> Verilog HDL Input 启用 SystemVerilog 功能。

否则,您必须将参数文件包含在模块定义中,如下所示:

module top (x,y);
`include "parameters.vh"
   input x;
   output y;
   assign y = x;
endmodule // top

这不是 systemverilog 问题,只要想想预处理器在找到您的包含行时正在做什么。你不能在模块外有参数,没有意义。