verilog 硬件描述语言实例1

verilog 硬件描述语言实例1

ID:5261367

大小:265.21 KB

页数:39页

时间:2017-12-07

verilog 硬件描述语言实例1_第1页
verilog 硬件描述语言实例1_第2页
verilog 硬件描述语言实例1_第3页
verilog 硬件描述语言实例1_第4页
verilog 硬件描述语言实例1_第5页
资源描述:

《verilog 硬件描述语言实例1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第10章Verilog硬件描述语言实例10.1引言VerilogHDL描述逻辑电路时常用3种描述方式,分别为:行为型描述、数据流型描述和结构型描述。行为型描述只描述行为特征,不涉及逻辑电路的实现,是一种高级语言描述方式,具有很强的通用性和有效性;数据流型描述指通过assign连续赋值实现组合逻辑功能的描述方式;结构型描述指描述实体连接的结构方式,所谓实体一般指Verilog语言已定义的基元,也就是说结构型描述指利用Verilog语言已定义的基元描述逻辑电路的描述方式。行为型描述语句更简练,有可能不被综合;结构型描述语句通常容易被综合,但语句显得复杂。在实际开

2、发中往往结合使用多种描述方法。10.22选1数据选择器2选1数据选择器可以有多种描述方式,通过4个实例和3种描述方式对例子中出现的语法现象进行解释。10.2.12选1数据选择器的行为型描述方式;10.2.22选1数据选择器的数据流型描述方式;10.2.32选1数据选择器的行为型描述方式;10.2.42选1数据选择器的结构型描述方式;10.2.12选1数据选择器实例1//例10.2.1moduleMux21(a,b,s,y);//----------------1inputa,b;inputs;outputy;assigny=(s==0)?a:b;//----

3、------------2endmodule//----------------310.2.12选1数据选择器实例11.Verilog语言描述//例10.2.1moduleMux21(a,b,s,y);//----------------1inputa,b;inputs;outputy;assigny=(s==0)?a:b;//----------------2endmodule//----------------32.程序说明(1)注释行(2)模块定义语句module和endmodule所有的程序都置于模块(module)框架结构内。模块是Verilog最

4、基本的构成单元。一个模块可以是一个元件或者一个设计单元。module<模块名>(端口列表)amux21<申明>y<功能描述>endmodulebs该模块共包括四个端口:输入端口a,b,s和输出端口y。它定义的是二选一数据选择器。Verilog端口类型只有input(输入),output(输出),inout(双向端口)三种,端口类型申明描述了端口的信号传输方向。图10.2.2Verilog端口类型(3)连续赋值语句assign“assigny=(s==0)?a:b;”为一条连续赋值语句。连续赋值语句assign能够给网表变量赋值。只要等号右边的表达式值发生变化

5、,这种赋值行为就会立刻发生。连续赋值语句能模拟组合逻辑电路。(4)条件操作符“?”s==0?a:b为一条件表达式。式中条件操作符“?”为三目操作符,由两个操作符隔离三个操作数构成,语法格式如下:表达式1?表达式2:表达式3执行操作时,首先会计算表达式1的值,如果表达式1的值为1,那么将计算表达式2的值,做为条件表达式的最后结果;如果表达式1的值为0,则计算表达式3的值,并做为条件表达式最后的结果。仿真结果sb0ya1y~0仿真电路图仿真波形图10.2.22选1数据选择器实例21.Verilog语言描述//例10.2.2moduleMux21(a,b,s,y)

6、;inputa,b;inputs;outputy;//--------------1wired,e;//--------------2assignd=a&(~s);//--------------3assigne=b&s;assigny=d

7、e;endmodule2.程序说明(1)连线类型wire程序中出现的中间变量d和e定义为wire类型,表示内部结点或连线。程序行1输出端口y的数据类型默认为wire类型。网表类型可通过连续赋值语句(assign语句)或逻辑门驱动。如果一个网表没有和任何驱动源连接,其值为高阻状态。(2)位运算符按位取反(~)、按位与(&)

8、和按位或(

9、),按位异或(^)、按位同或(^~,异或非)。参与运算两个数位数不同时,采用右对齐。&01xz

10、01xz~00000001xx01101xx1111110x0xxxxx1xxxxz0xxxzx1xxzx^01xz^~01xz001xx010xx110xx101xxxxxxxxxxxxzxxxxzxxxx10.2.32选1数据选择器实例31.Verilog语言描述//例10.2.3modulemux21(a,b,s,y);inputa,b,s;outputy;regy;always@(aorbors)//----------------------

11、------------1if(!s)y=a;//-

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

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

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