欢迎来到天天文库
浏览记录
ID:48510980
大小:1.83 MB
页数:89页
时间:2020-01-22
《4 verilog hdl语法.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、VerilogHDL语法11module通用定义modulemodule_name(port_list);(模块名称(端口列表))portdeclarations;(端口声明:输入,输出)…variabledeclaration;(变量声明)…descriptionofbehavior(逻辑功能描述)endmodule例子(半加器)moduleHalfAdder(A,B,SumCarry);inputA,B;outputSum,Carry;assignSum=A^B;//^denotesXORassignCarry=A&B;//&denotesANDendmodule
2、2VerilogHDL语法与要素3空白符空白符包括:空格(b)、制表符tab(t)、换行和换页。除了字符串中的空白符,Verilog中的空白符仅仅用于分隔标识符,在编译阶段被忽略。空白符主要使代码错落有致,阅读起来更方便。4initialbeginina=3’b001;inb=3’b011;endinitialbegin//加入空格,换行等,使代码可读ina=3’b001;inb=3’b011;end5//单行注释/*单行注释的另外一种方式*//*多行注释*/例子://我是老师(√)/*我是老师*/(√)/*我是老师,你们是学生*/(√)/*这是//合法的注释*/
3、(√)/*这是/*不合法的*/注释*/(×)注释6标识符Verilog中的标识符可以是任意一组字母、数字以及符号“$”和“_”(下划线)的组合,但标识符的第一个字符必须是字母或者下划线,不能以数字或美元符号开始,以美元符开始的标识符是为系统函数保留的。另外,标识符是区分大小写的。标识符最长可以包含1023个字符。Examples:countCOUNT//COUNT与count是不同的_A1_d2//以下划线开头R56_68FIVE7转义标识符转义标志符以符号“”开头,以空白符结尾,可以以包含任何字符。Examples:7400~#@selOutGate//和O
4、utGate恒等8关键字Verilog语言内部已经使用的词称为关键字或保留字,这些保留字用户不能作为变量或节点名字使用。关键字都是小写的。9练习1下列标识符哪些是合法的,哪些是错误的?Cout,8sum,a*b,_data,wait,initial,$latch注:标志符是用户在编程时给VerilogHDL对象起的名字,模块,端口和实例的名字都是标志符。10常量◆整数◆实数◆字符串程序运行中,值不能被改变的量称为常量(constants),Verilog中的常量主要有如下3种类型:11整数整数按如下方式书写:+/-'即+/-
5、<位宽>'<进制><数字>size为对应二进制数的宽度;base为进制;value是基于进制的数字序列。进制有如下4种表示形式:◆二进制(b或B)◆十进制(d或D或缺省)◆十六进制(h或H)◆八进制(o或O)12Examples:8'b11000101//位宽为八位的二进制数110001018'hd5//位宽为八位的十六进制数d5;5'O27//5位八进制数4'D2//4位十进制数24'B1x_01//4位二进制数1x015'Hx//5位x(扩展的x),即xxxxx4'hZ//4位z,即zzzz8□'h□2A/*在位宽和'之间,以及进制和数值之间允许出现空格,但'和进
6、制之间,数值间是不允许出现空格的,比如8'□h2A、8'h2□A等形式都是不合法的写法*/13说明:①在较长的数之间可用下划线分开,如16‘b1010_1101_0010_1001,其中下划线只是用来提高可读性,但是数字的第1个字符不能是下划线,下划线也不能用在位宽和进制处,只能用在具体的数字之间。②当数字不说明位宽时,默认值为32位③x(或z)在二进制中代表1位x或z,在八进制中代表3位x(或z),在十六进制值中代表4为x(或z),其代表的宽度取决于所用的进制,例:8‘b1001xxxx(等价于8‘b9x);8‘b1010zzzz(等价于8‘baz)14说明:④如果
7、没有定义一个整数的位宽,器宽度为相应值中定义的位数,例如:‘o721(9位八进制数);‘hAF(8位十六进制数)⑤如果定义的位宽比实际的位数长,通常在左边填0补位。但如果数最左边一位为x或z,就相应地用x或z在左边补位。例如:10’b10(左边补0,10‘b0000000010);10’bx0x1(10‘bxxxxxxx0x1)。反之,如果定义的位宽比实际的位数小,那么最左边的位相应的被截断。例如:3’b1001_0011(相当于3’b011);5‘H0FFF(相当于5’H1F)15说明:⑥“?”是高阻态z的另一种表示符号。在数字的表示中,字符“?”
此文档下载收益归作者所有