Verilog语法介绍.pptx

Verilog语法介绍.pptx

ID:48769183

大小:484.96 KB

页数:60页

时间:2020-01-22

Verilog语法介绍.pptx_第1页
Verilog语法介绍.pptx_第2页
Verilog语法介绍.pptx_第3页
Verilog语法介绍.pptx_第4页
Verilog语法介绍.pptx_第5页
资源描述:

《Verilog语法介绍.pptx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、VerilogHDLVerilog语法中采用模块化结构,数据类型和变量、基本的运算符号等基本的语法,这些内容看起来比较简单,有许多语法对象和C语言也很类似,但是,有许多地方则是完全不同的,所以在学习Verilog语言时要特别注意不同点,并且学习Verilog语言要与硬件结构、模块联系起来,通过理解物理意义,牢牢掌握Verilog的语法。Verilog语言简介1.Verilog模块结构1模块的定义2模块内容3变量定义4逻辑功能定义2.Verilog基本语法1标识符,运算符和关键字2常用数据类型3常用行为语句4时延3.Verilog行为逻辑描述方式概要1.Verilog模块结构简单的Veril

2、ogHDL例子[例]8位全加器moduleadder8(cout,sum,a,b,cin);input[7:0]a,b;//输入端口声明inputcin;outputcout;//输出端口声明output[7:0]sum;assign{cout,sum}=a+b+cin;endmoduleassign语句:无论右边表达式操作数何时发生变化,右边表达式都会重新计算,并且在指定的延迟后给左边表达式赋值。I/O说明端口定义功能描述模块名(文件名)模块abcoutsumcinVerilog的基本设计单元是“模块”(block)。一个模块是由两部分组成的,一部分是描述接口,另一部分是描述逻辑功能,即

3、定义输入是如何影响输出的。一、模块的定义模块的端口声明了模块的输入输出口,其格式如下:module模块名(口1,口2,口3,口4,……);模块的端口表示的是模块的输入还是输出口名。1.Verilog模块结构6二、模块内容模块的内容包括I/O说明,内容信号声明和功能定义。1、I/O说明的格式输入口:input[信号位宽-1:0]端口名;输出口:output[信号位宽-1:0]端口名;输入/输出口:(双向)inout[信号位宽-1:0]端口名;I/O说明也可以写在端口声明语句里。其格式如下:modulemodule_name(inputport1,input2,…..outputport1,o

4、utputport2……);两种声明方式是等价的!内部信号说明在模块内用到的和与端口有关的变量类型有二种wire和reg。如:reg[width-1:0]R变量1,R变量2…;wire[width-1:0]W变量1,W变量2…..;reg型数据用来表示“always”模块内的指定信号,例如触发器。wire型数据用来表示“assign”关键字指定的组合逻辑信号。若不指定变量类型,默认为wire!Reg&Wire应用举例wire:描述组合逻辑硬件连线reg:寄存器wirea,b,c;assigna=b&c;abc没有存储功能,如何实现诸如计数器功能?clkposedge上升沿reg[7:0]c

5、ount;always@(posedgeclk)count<=count+1;八位reg型可以保存之前的值,实现x(t)=x(t-1)+18位计数器8四、逻辑功能定义在Verilog模块中有3种方法可以描述电路的逻辑功能:(1)用assign语句assignx=(b&~c);连续赋值语句常用于描述组合逻辑门元件例化模块元件例化例化元件名门元件关键字(2)用元件例化(instantiate)andmyand3(f,a,b,c);注1:元件例化即是调用VerilogHDL提供的元件;注2:元件例化包括门元件例化和模块元件例化;注3:每个实例元件的名字必须唯一!以避免与其它调用元件的实例相混淆。

6、注4:例化元件名也可以省略!1.Verilog模块结构9(3)用“always”块语句always@(posedgeclk)//每当时钟上升沿到来时执行一遍块内语句beginif(load)out=data;//同步预置数据elseout=data+1+cin;//加1计数end结构说明语句注1:“always”块语句常用于描述时序逻辑,也可描述组合逻辑。注2:“always”块可用多种手段来表达逻辑关系,如用if-else语句或case语句。注3:“always”块语句与assign语句是并发执行的,assign语句一定要放在“always”块语句之外!1.Verilog模块结构10Ve

7、rilog的初学者一定要记住以下四点:1.在Verilog模块中所有过程块(如:initial块、always块)、连续赋值语句、实例引用都是并行的;2.它们表示的是一种通过变量名互相连接的关系;3.在同一模块中这三者出现的先后顺序没有关系;4.只有连续赋值语句assign和实例引用语句可以独立于过程块而存在于模块的功能定义部分。以上四点与C语言有很大的不同,许多与C语言类上的语句只能出现在过程块中(即initial和a

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

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

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