一个较大的fpga工程,在开发的过程中模块标准化的使用往往会大大提高开发效率,因此在代码中比如参数化一些数据位宽和根据需求不同选择性的使用模块时,使用inlude预编译指令来调用一个全局定义的文件就可以实现对参数的统一定义。
下面就解释一下关于使用include指令时,对于文件间调用时相对路径的理解。
eg:
假设工程结构如下:
project目录
testproject(QuartusII 工程文件夹)
----> comm // 要include的文件存放的目录,文件为parameter_setting.v
----> src // 工程源代码(.v文件)目录
----> sim(仿真工程目录)
按照上面的工程结构,如果src文件夹中的top.v文件中要include文件parameter_setting.v
则把下面代码添加到 top.v 中
`include "./../comm/parameter_setting.v"
其中:
./ :代表 top.v 目前所在的目录(文件夹),也可以省略不写
../ :代表上一层目录,以上述project为例,../ 下则包含 comm,src,sim三个文件夹 。
如果将所有的源码文件放在同一文件夹目录下,则可以直接使用`include "default_setting.v”命令,无需指定路径。