欢迎来到天天文库
浏览记录
ID:24723615
大小:1.06 MB
页数:56页
时间:2018-11-14
《verilog语法和要素》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章Verilog语法与要素主要内容5.1Verilog语言要素5.2常量5.3数据类型5.4参数5.5向量5.6运算符5.1Verilog语言要素Verilog程序由符号流构成,符号包括空白符(Whitespace)注释(Comments)操作符(Operators)数字(Numbers)字符串(Strings)标识符(Identifiers)关键字(Keywords)等空白符和注释空白符(Whitespace)空白符包括:空格、tab、换行和换页。空白符使代码错落有致,阅读起来更方便。在综合时空
2、白符被忽略。注释(Comment)◆单行注释:以“//”开始到本行结束◆多行注释:多行注释以“/*”开始,到“*/”结束标识符(Identifiers)标识符(Identifiers)Verilog中的标识符可以是任意一组字母、数字以及符号“$”和“_”(下划线)的组合,但标识符的第一个字符必须是字母(a~z,A~Z)或者下划线。另外,标识符是区分大小写的。Examples:countCOUNT//COUNT与count是不同的_A1_d2//以下划线开头R56_68FIVE标识符(Identifie
3、rs)判断下列哪些标识符是合法的,哪些标识符是不合法的?30cout,Cout,8sum,a*b,_dada,wait,initial,$latch,out*转义标识符:以“”开头,以空白符结尾,可以包含任何字符。比如:7400~#@sel注意:反斜线和结束空白符不是转义标识符的一部分,所以标识符“OutGate”和标识符“OutGate”恒等。关键字(Keywords)Verilog语言内部已经使用的词称为关键字或保留字,这些保留字用户不能作为变量或节点名字使用。关键字都是小写的。比如:
4、AIWAYS(标识符),不是关键字,它与关键字always是不同的。附录A和附录B列出了verilog语言中的所有关键字。◆整数◆实数◆字符串5.2常量程序运行中,值不能被改变的量称为常量(constants),Verilog中的常量主要有如下3种类型:整数(integer)整数按如下方式书写:+/-'即+/-<位宽>'<进制><数字>size为对应二进制数的宽度;base为进制;value是基于进制的数字序列。进制有如下4种表示形式:◆二进制(b或B)◆十进制(
5、d或D或缺省)◆十六进制(h或H)◆八进制(o或O)Examples: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/*在位宽和'之间,以及进制和数值之间允许出现空格,但'和进制之间,数值间是不允许出现空格的,比如8'□h2A、8'h2□A等形式都是不合法的写法*/整
6、数(integer)整数(integer)整数的书写规则:1.较长的数之间可用下划线分开16’b1010_1101_0010_10012.当十进制不说明位宽时,默认值为32位。3.x(或z)在二进制中代表1位x(或z),在八进制中代表3位x(或z),在十六进制中代表4位x(或z),它代表的宽度取决于所用的进制。4.如果没有定义一个整数的位宽,其宽度为相应值中的定义的位数。整数(integer)5.如果定义的位宽比实际的位数长,通常在其左边补零。但如果数最左边一位为x(或z),那么就相应地在左边补x或z
7、。如果定义的位宽比实际的位数小,裁掉左边的位。6.“?”是高阻态z的另一种表示符号。在数字的表示中,字符“?”和z是完全等价的,可以互相代替。7.整数可以带正负号,并且正负号应写在最左边。负数通常表示二进制补码的形式。8.当位宽与进制缺省时表示的是十进制数。9.在位宽和’之间,以及进制和数字之间允许出现空格,但是’和进制之间以及数值之间不允许出现空格。整数(integer)下列数字的表示是否正确?6’d183’□b001‘Bx04’d-45’b0x110(3+2)’b10‘da3010’d2‘hzF实
8、数(Real)有下面两种表示法。◆十进制表示法。例如:2.00.1//以上2例是合法的实数表示形式2.//非法:小数点两侧都必须有数字◆科学计数法。例如:43_5.1e2//其值为43510.09.6E2//960.0(e与E相同)5E-4//0.0005实数(Real)实数(Real)实数转换为整数的方法:四舍五入42.466,42.45//转换为整数为4292.5,92.699//转换为整数为93-16.62//转换为整数为-17-26.26//转换
此文档下载收益归作者所有