No.3 Verilog 语言要素

3-1 标识符
    任意字母、数字、"$"和"_"组成,标识符第一个不能是数字。

3-2 注释
   (1/*可扩展多行*/2//本行结束

3-3 系统函数
    以$字符开始的标识符。
   (1)$display("...") //$display系统函数用新的一行字符显示指定的信息2)$time //返回当前仿真时间

3-4 编译器指令
   (1)‘define和‘undef  //类似于C语言2)‘ifdef、‘ifndef、‘else、‘elseif、‘endif //条件编译3)‘default_nettype //为隐式线网指定线网类型4)‘include //用于在代码中包含任何其他文件的内容include "../../asim.v"5)‘timescale   //定义时间单位6)‘restall   //讲所有的编译指令重新设置为缺省值7)‘line //将行号和文件名复位至指定的值

3-5 值集合
    四种基本值:01、x(未知)、z(高阻态)
    整型数:
   (1)简单十进制:16,32,...
   (2)基数格式:
       4'B0_x1 ----4位二进制
       5'O32   ----5位八进制
       4'D2    ----4位十进制
       4'Hx    ----4位x,即xxxx
       *位长不能是表达式,x和z在十六进制中为四位,八进制中为三位。
       *若位宽定义比数值小,则左边的多余位被相应截断,若大则填0补齐。
   (3)实数:十进制表示,科学计数法,5E-4,23_45e3...

3-6 数据类型
   (1)线网类型:结构化元件间的物理连线,缺省值为z。
    wire & tri 
    wor & trior
    wand & triand
    trireg
    tri0 & tri1
    supply0 & supply1
    *未声明的线网缺省设置为1位的wire。
    *线网分为向量线网(vectored)和标量线网(scalared),其中向量线网不允许对其进行局部操作,必须整体操作。
   (2)变量类型:抽象的数据存储单元,只能在initial和always中被赋值,缺省值为x。
    regintegertimereal、realtimme
    reg [3:0] pus; //pus为4位的变量
    reg [0:3] memory[0:63];//memory为一个由64个四位reg变量组成的数组(存储器)
    integer: 定义整型变量
    integer run_state[0:15][0:15] //16x16的整型数组3)命名事件:event  ...

3-7 参数
    参数是一个常量。
    全局参数:parameter
    局部参数:localparam
    eg: parameter N = 8;
原文地址:https://www.cnblogs.com/vilicute/p/11588272.html