1.关键词
2.标识符
标识符通常由英文字母、数字、$符和下划线“_”组成,并且规定标识符的第
一个字符必须以英文字母或下画线开始,不能以数字或$符开头。Verilog HDL 标识符不能与
保留关键词重名。特别注意, V erilog HDL 是一种区分大小写的语言,即对大小写敏感,因
此在书写代码时应特别注意区分大小写,以避免出错。例如:clk、counter8、_net、bus_D 等
都是合法的标识符;74HC138、$counter、a*b 则是非法的标识符;A 和 a 是两个不同的标识
符;以$开始的字符串是为系统函数保留的,如“$display”.
转义标识符以“\”开始,以空白符(空格、制表符 tab 键、换行符)结束,可包含任意
可打印的字符,而其头尾(反斜线和空白符)不作为本身转义标识符内容的一部分。例如:
reg clk;
reg \clk ;
clk 与\clk 是一样的。将反斜线和空白符之间的字符逐个进行处理。在“;”前必须加入一
个空白符,否则“;”会被解释为标识符字符串的一部分。
3.注释符
Verilog 支持两种形式的注释符:/*……*/和//。其中,/*……*/为多行注释符,用于写多
行注释;//为单行注释符,以双斜杠//开始到行尾结束为注释文字。注释只是为了改善代码的
可读性,在编译时不起作用
4.逻辑值集合
鉴于硬件电路的特殊性,为了表示数字逻辑电路的状态,Verilog 语言规定了下列 4 种基
本的逻辑值:
① 0:逻辑 0 或逻辑假;
② 1:逻辑 1 或逻辑真;
③ x(X):未知状态(仿真时表示不确定的值,或者综合时表示不关心);
④ z(Z):高阻态。
Verilog HDl的基本结构
AND4是模块名。a,b,out是定义端口,output[3:0]out是端口说明,说明是什么端口类型和几位。assign是赋值语句。