[例] module test; reg a,b,c,d,e,out; ‵define expression a + b + c + d; assign out = ‵expression + e; …… 经过宏展开后,assign语句为: assign out = a + b + c + d; + e; //出现语法错误!
个实型数,该数字也是以时间尺度为基准的。
精品文档
4
例9-1
‘timescale 10ns/1ns module test; reg set; parameter p=1.6; initial begin $monitor($time,,“set=”,set); #p set=0; #p set=1; end endmodule
格式 ‵include “文件名”
容复制插入到
‵include “file2.v”
命令出现的地方
file1.v
‵include “file2.v”
A
file2.v
file1.v
预处理后
B
B
A
精品文档
14
9.3 编译预处理语句
▪ 避免程序设计人员的重复劳动!不必将源代码复制到自 己的另一源文件中,使源文件显得简洁。
精品文档
10
9.3 编译预处理语句
❖宏定义的作用: ❖以一个简单的名字代替一个长的字符串或复杂表达式; ❖以一个有含义的名字代替没有含义的数字和符号。
➢ 宏名可以用大写字母,也可用小写字母表示;但建议用大写字母,以 与变量名相区别。
➢ ‵define语句可以写在模块定义的外面或里面。宏名的有效范围为定义 命令之后到源文件结束。