资源描述:
《verilog 语法提纲.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.模块的端口定义module 模块名(口1,口2,口3,口4, ………); 2.(数据类型及其常量、变量)数字整数:<位宽><进制><数字>这是一种全面的描述方式。1) 二进制整数(b或B)2) 十进制整数(d或D)3) 十六进制整数(h或H)4) 八进制整数(o或O)x和z值 :在数字电路中,x代表不定值,z代表高阻值负数: 一个数字可以被定义为负数,只需在位宽表达式前加一个减号,-8'd5//这个表达式代表5的补数(用八位二进制数表示)8'd-5//非法格式参数(Parameter)型:parameter
2、 参数名1=表达式,参数名2=表达式, …,参数名n=表达式;在VerilogHDL中用parameter来定义常量,即用parameter来定义一个标识符代表一个常量,称为符号常量,即标识符形式的常量,采用标识符代表一个常量可提高程序的可读性和可维护性。 3.变量:wire型: wire型数据常用来表示用于以assign关键字指定的组合逻辑信号。Verilog程序模块中输入输出信号类型缺省时自动定义为wire型。wire型信号可以用作任何方程式的输入,也可以用作“assign”语句或实例元件的输出。wire[
3、n-1:0] 数据名1,数据名2,…数据名i;//共有i条总线,每条总线内有n条线路.或wire[n:1] 数据名1,数据名2,…数据名i; reg型:寄存器是数据储存单元的抽象。寄存器数据类型的关键字是reg.通过赋值语句可以改变寄存器储存de值,其作用与改变触发器储存的值相当. 在“always”块内被赋值的每一个信号都必须定义成reg型.reg[n-1:0] 数据名1,数据名2,… 数据名i;或reg[n:1] 数据名1,数据名2,… 数据名i; memory型:在Verilog语言中没有多维数组存在。
4、memory型数据是通过扩展reg型数据的地址范围来生成的.reg[7:0]mema[255:0];这个例子定义了一个名为mema的存储器,该存储器有256个8位的存储器。该存储器的地址范围是0到255. 4.运算符及表达式:1) 算术运算符(+,-,×,/,%)2) 赋值运算符(=,<=)3) 关系运算符(>,<,>=,<=)4) 逻辑运算符(&&,
5、
6、,!)5) 条件运算符(?:)6) 位运算符(~,
7、,^,&,^~)7) 移位运算符(<<,>>)8) 拼接运算符({})9) 其它 说明:1)~//
8、取反2)&//按位与3)
9、//按位或4)^//按位异或5)^~//按位同或(异或非) 1)==(等于)2)!=(不等于)3)===(等于)4)!==(不等于) "==="和"!=="运算符不同,它在对操作数进行比较时对某些位的不定值x和高阻值z也进行比较,两个操作数必需完全一致,其结果才是1,否则为0 位拼接运算符(Concatation),用这个运算符可以把两个或多个信号的某些位拼接起来进行运算操作.{信号1的某几位,信号2的某几位,..,..,信号n的某几位}{a,b[3:0],w,3’b101}={a,b
10、[3],b[2],b[1],b[0],w,1’b1,1’b0,1’b1} 缩减运算是对单个操作数进行或与非递推运算,最后的运算结果是一位的二进制数C=&B;相当于:C=((B[0]&B[1])&B[2])&B[3]; 5.关键词:always, and, assign,begin,buf,bufif0,bufif1,case,casex,casez,cmos,deassign,default,defparam,disable,edge,else,end,endcase,endmodule,endfunctio
11、n,endprimitive,endspecify,endtable, endtask, event, for, force, forever, fork, function,highz0,highz1,if,initial,inout,input,integer,join,large,macromodule,medium,module,nand,negedge,nmos,nor,not,notif0,notifl,or,output,parameter,pmos,posedge,primitive,pull0
12、,pull1,pullup,pulldown,rcmos,reg,releses,repeat,mmos,rpmos,rtran,rtranif0,rtranif1,scalared,small,specify,specparam,strength,strong0,strong1,supply0,supply1,table,task,time,tran,tranif0,tranif1,