本文转载自:<span id="profileBt"><a href="https://mp.weixin.qq.com/s?__biz=Mzg4ODA5NzM1Nw==&mid=2247490539&idx=1&…; OpenFPGA微信公众号</a></span>
并不局限于Vivado一种EDA。
头文件主要使用“文件包括”处理,所谓"文件包含"处理是一个源文件可以将另外一个源文件的全部内容包含进来,即将另外的文件包含到本文件之中。Verilog语言提供了`include命令用来实现"文件包含"的操作。
我在头文件中定义了一个全局变量如下:
<center><img src="http://xilinx.eetrend.com/files/2020-12/%E5%8D%9A%E5%AE%A2/100059877-11…; alt=""></center>
我在使用这个全局变量时,始终提示找不到这个全局变量:
<center><img src="http://xilinx.eetrend.com/files/2020-12/%E5%8D%9A%E5%AE%A2/100059877-11…; alt=""></center>
出现这个问题,主要有两方面原因:
1、头文件类型需要注意:
<center><img src="http://xilinx.eetrend.com/files/2020-12/%E5%8D%9A%E5%AE%A2/100059877-11…; alt=""></center>
其中箭头部分可以修改类型。
2、引用错误:
<pre> output reg [WIDTH-1:0] LED;</pre>
上面是错误的,正确如下:
<pre>output reg ['WIDTH-1:0] LED; </pre>
其中第一个引起出错的可能比较小,试过用其他类型(Verilog源文件类型)也不会有问题。
关于文件包含的使用注意以下几点:
<center><img src="http://xilinx.eetrend.com/files/2020-12/%E5%8D%9A%E5%AE%A2/100059877-11…; alt=""></center>