VerilogHDL语言基础

VerilogHDL语言基础

ID:36711953

大小:445.50 KB

页数:55页

时间:2019-05-10

VerilogHDL语言基础_第1页
VerilogHDL语言基础_第2页
VerilogHDL语言基础_第3页
VerilogHDL语言基础_第4页
VerilogHDL语言基础_第5页
资源描述:

《VerilogHDL语言基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第二讲VerilogHDL语言基础内容:语言基本词法主要数据类型参数常用系统任务和函数常用编译指令表达式与运算符模块与端口语言基本词法Verilog中的基本词法约定与C语言类似。包含注释、分隔符、数字、字符串、标识符和关键字。Verilog是自由格式,即语句可以在一行内编写,也可跨行编写,用分号分隔。由空格(b)、制表符(t)和换行符()组成空白符,在文本中起一个分隔符的作用,在编译时被忽略。例:initialbeginTop=3'b001;#2Top=3'b011;end和下面的程序一样:initial//结构说明语句begin//单行注释,与C语言一致Top=3'b00

2、1;#2Top=3'b011/*多行注释,与C语言一致*/end标识符标识符必须以英语字母(a-z,A-Z)起头,或者用下横线符(_)起头。其中可以包含数字、$符和下横线符。标识符最长可以达到1023个字符。模块名、端口名和实例名都是标识符。Verilog语言是大小写敏感的,因此sel和SEL是两个不同的标识符。合法和非法标识符合法的:shift_reg_a_indexbus263非法的:34net//不能用数字开头a*b_net//不能含有非字母符号*n@263//不能含有非字母符号@例:Count、COUNT、_R1_D2、R56_68、FIVE$特别的标识符特别标识符是用“

3、”符开始,以空格符结束的标识符。它可以包含任何可打印的ASCII字符。“”符和空格并不算是标识符的一部分。特别标识符往往是在综合工具自动综合生成的网表中使用。例:~#@sel,bus+index,{A,B},Top.3inst.net1,//在层次模块中的标识名四种基本逻辑值0、低、伪、逻辑低、地、VSS、负插入01:XZ0bufbufbufbufif11、高、真、逻辑高、电源、VDD、正插入X、不确定:逻辑冲突无法确定其逻辑值HiZ、高阻抗、三态、无驱动源常量VerilogHDL中有三类常量:1)整型2)实数型3)字符串型下划线符号(_)可以随意用在整数或实数中,它们就

4、数量本身没有意义。它们能用来提高易读性。如8’b0010_1101整数和实常数Verilog语言中常数可以是整数或实数:整数简单十进制格式表示为有符号数,如20、-10。整数基数表示方法:《位数》’《基数》《值》其中、《位数》:表明该数用二进制的几位来表示《基数》:可以是2(b、B),8(o、O),10(d、D)或16(h、H)进制。《数值》:可以是所选基数的任何合法的值,包括不定值(x、X)和高阻值(z、Z)。例:64’hff01,8’b1101_0001,’h83a,4’b1xxX,4’d20,123等在数字说明中如果没有指定基数,则默认为十进制数;若没有指定位数,则默认的位数

5、与仿真器和使用的计算机有关(最小为32位)。数值超过位数,左边超出位截掉;数值不足位数,左边补0、x或z。实常数可以用十进制表示也可以用科学浮点数表示,例:32e-4(表示0.0032),4.1E3(表示4100),10.567,-100.00等字符串字符串常常用于表示需要显示的信息。与C语言相似,用8位ASCII值表示的字符可看作是无符号整数。因此字符串是8位ASCII值的序列。字符串是双引号内的字符序列。字符串不能分成多行书写。例:“a/b”“helloverilog”在字符串中可以用各种格式控制符,例:换行符t制表符\字符本身"字符"123八进制数123对应的字

6、符S主要数据类型Verilog有二种主要的数据类型:线网(Net)类型表示器件之间的物理连接,称为线网类型信号。一般使用关键字wire声明。寄存器(Register)类型表示抽象的数据存储单元,称为寄存器类型信号或变量。一般使用关键字reg声明。注意寄存器类型并不一定是逻辑电路中的硬件寄存器。线网(Net)类型由模块或门驱动的连线。驱动端信号的改变会立刻传递到输出的连线上。例:右图上,selb的改变,会自动地立刻影响或门的输出。如果没有驱动元件连接到线网,线网的缺省值为zabslselbselansloutnet线网类型信号的主要种类在为不同工艺的基本元件建立库模型的时候,常常需要

7、用不同的连接类型来与之对应,使其行为与实际器件一致。常见的有以下几种。类型功能wire,tri对应于标准的互连线(缺省)supply1,supply2对应于电源线或接地线wor,trior对应于有多个驱动源的线或逻辑连接wand,triand对应于有多个驱动源的线与逻辑连接trireg对应于有电容存在能暂时存储电平的连接tri1,tri0对应于需要上拉或下拉的连接线网类型说明语法为:net_kind[msb:lsb]net1,net2,...,netN;例:wires

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。