相关阅读
Verilog基础https://blog.csdn.net/weixin_45791458/category_12263729.html?spm=1001.2014.3001.5482
`include编译指令用于在编译过程中(准确说是编译开始前)将某个源文件的全部内容插入到使用`include编译指令的位置。通常该指令用于包含公用的函数、任务定义等,而无需书写重复的代码。
`include编译指令的语法如图1所示。
图1 `include编译指令的BNF范式
`include编译指令可以在Verilog HDL源文件的任何地方指定。filename指的是要读取数据的文件名,可以使用绝对路径(从根目录开始的路径,使用/开头)和相对路径(使用./或../开头,./可省略),这里的相对路径指的是相对仿真器的当前工作文件夹。
例1展示了一些`include编译指令的用法。
// 例1 `include "./fileA.v" // 相对路径 `include "fileB.v" // 省略./的相对路径 `include "../fileC.v" // 相对路径 `include "/home/zzz/fileB.v" // 绝对路径`include编译指令同一行上只能出现空白字符(空格、换行符、制表符、换页符) 和注释,如例2所示。
// 例2 `include "./fileA.v" // 水平制表符 `include "./fileA.v" // 空格 `include "./fileA.v" // 注释 `include "./fileA.v" module test(); //错误`include编译指令可以嵌套,具体实现中可以限制最大嵌套层数,但该限制至少应为15层。
编译器一般还可以提供额外的include搜索路径,例如VCS提供了+incdir+<path>选项,Modelsim提供了+incdir+<directory>选项,Riviera-Pro提供了-incdir <path>或+incdir<+path>选项。