Verilog使用特定的符号(通配符)来指定文件或文件集的绝对路径或相对路径。所使用的通配符如下:
“?”:单字符通配符(匹配任何单字符,经常使用)
“*”:多字符通配符(匹配目录/文件名中的任意字符数,经常使用)
“...”:层级通配符(匹配任意数量的层级目录)
“..”:指定父目录
“.”:指定包含lib.map的目录
其中以“/”结尾的路径应包括指定目录中的所有文件,其与 “/*”含义相同。路径 ./*.v 和 *.v 相同,都指定了当前目录下所有后缀为 .v 的文件。
例1:
library rtlLib *.v ; // 匹配当前目录下所有后缀为 .v 的文件
library gateLib ./*.vg ; // 匹配当前目录下所有后缀为 .vg 的文件
例2,给定以下一组文件:
/proj/lib1/rtl/a.v
/proj/lib2/gates/a.v
/proj/lib1/rtl/b.v
/proj/lib2/gates/b.v
从 /proj 库中解析出以下绝对文件路径指定:
/proj/lib*/*/a.v =/proj/lib1/rtl/a.v, /proj/lib2/gates/a.v
.../a.v =/proj/lib1/rtl/a.v, /proj/lib2/gates/a.v
/proj/.../b.v =/proj/lib1/rtl/b.v, /proj/lib2/gates/b.v
.../rtl/*.v =/proj/lib1/rtl/a.v, /proj/lib1/rtl/b.v
在 /proj/lib1 目录中,下列相对文件路径参数的解析结果为:
../lib2/gates/*.v = /proj/lib2/gates/a.v, /proj/lib2/gates/b.v
./rtl/?.v = /proj/lib1/rtl/a.v, /proj/lib1/rtl/b.v
./rtl/ = /proj/lib1/rtl/a.v, /proj/lib1/rtl/b.v
点赞加关注博主(ID:FPGA小飞)的博文,咱们一起系统学习verilog最终标准IEEE Std 1364-2005吧!