VerilogHDL语义规范数据类型门级建模开关级建模UDPscontents1、语义规范2、regVariable、constantsScalar、vectors、Arrays3、门级建模4、开关级建模5、UDP(用户定义基元)语义规范Whitespacespace,tabs,newlines,formfeeds空白符(在字符串中的除外)在编译仿真时会被忽略,在程序中只起分隔的作用使排版和结构清晰,便于阅读,提高程序的可读性wired0,d1,sig1,out1;wired2,d3,sig2,out2;Mux21my_mux1(d0,d1,sig1,out1), my_mux2(d2,d3,sig2,out2);comments程序往往需要添加一些注释行,解释程序段的作用,标记程序有关的信息等,以便于阅读查证。注释行同样会被编译器和仿真器所忽略,程序员可以在任意地方添加注释。两种注释方法:以“//”进行单行注释。这种方式表明自“//”开始,到该行结束,都被认为是注释。这种注释方式最简单明晰。以“/*”和“*/”进行多行注释。这两者之间的内容都会被认为是注释,不允许嵌套。这种方式比较灵活,允许注释多行,以及在一行中注释多处。,比如模块,端口,实例,程序块,变量,常量等的唯一名称。moduleT_FF…; 标识符T_FFinputa; 标识符a有了标识符,这些对象就能在程序中方便地被引用Identifiersrule(标识符的命名规则)标识符可以是任意字母、数字、美元符号“$”和下划线“_”;第一个字母不能为数字或“$”,可以是字母或者下划线;标识符区分大小写;标识符还可以反斜线字符(\)开头,以空白符结尾,这种方式使标识符可以包含任意可印刷的ASCII字符。反斜线字符和最后的空白符不会被认为是标识符的一部分,“\myname”==“myname”。legal:shift_reg_abusa_indexAbc263\busa+index\-clock\***error-condition***\net1/\net2\{a,b}\a@(b+c)illegal://不能用数字开头a*//不能含有非字母符号*******@263//不能含有非字母符号***@KeywordsVerilog中已经被使用的保留词,有其特定专用的作用,用户应避免定义与关键词相同的标识符。“$<identifier>”$time//找到当前的仿真时间$display,$monitor//显示和监视信号值的变化$stop//暂停仿真$finish//结束仿真initial$monitor($time,“a=%b,b=%h”,a,b);预处理指令是以反引号“`”开头的某些标识符,例如`timescale,`ifdef等,用以指示编译器执行某些操作。数值的设定TheVerilogHDLvaluesetconsistsoffourbasicvalues:0——representsalogiczero,orafalsecondition1——representsalogicone,oratrueconditionx——representsanunknownlogicvaluez——representsahigh-impedancestateAllofthedatatypesintheVerilogHDLstoreallfourbasicvaluesexcepteventtype.
2.1.Verilog HDL的数据类型 大字 来自淘豆网m.daumloan.com转载请标明出处.