verilog模块的结构、数据类型、变量和基本运算符

verilog模块的结构、数据类型、变量和基本运算符

ID:38856160

大小:384.32 KB

页数:43页

时间:2019-06-20

verilog模块的结构、数据类型、变量和基本运算符_第1页
verilog模块的结构、数据类型、变量和基本运算符_第2页
verilog模块的结构、数据类型、变量和基本运算符_第3页
verilog模块的结构、数据类型、变量和基本运算符_第4页
verilog模块的结构、数据类型、变量和基本运算符_第5页
资源描述:

《verilog模块的结构、数据类型、变量和基本运算符》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章模块的结构、数据类型、变量和基本运算符3.1模块的结构module模块名(端口信息);输入/输出说明内部信号声明逻辑功能描述endmoduleVerilog模块由两部分组成:端口信息和内部功能。abcdemoduleblock1(a,b,c,d,e);inputa,b,c;outputd,e;assignd=a

2、(b&~c);assigne=(b&~c);endmodule3.1模块的结构Verilog模块的结构由在module和endmodule关键词之间的四个主要部分组成:-端口信息:moduleblock1(a,b,c,d);-输入

3、/输出说明:inputa,b,c;outputd;-内部信号:wirex;-功能定义:assignd=a

4、x;assignx=(b&~c);endmoduleVerilogHDL模块的结构请在下面的空格中填入适当的符号使其成为右图的Verilog模块:moduleblock1(a,b,—,—,—);input—,—,—;——d,—;assignd=a

5、(b&~c);assigne=(b&~c);_______编写VerilogHDL模块的练习abcde请在下面的空格中填入适当的符号使其成为右图的Verilog模块:moduleblock1(a,

6、b,c,d,e);inputa,b,c;outputd,e;assignd=a

7、(b&~c);assigne=(b&~c);endmodule编写VerilogHDL模块的练习abcdemoduleblock(a,b,c);outputc;inputa,b;……;endmodulemoduleblock3(a,b,c);output[2:0]c;input[2:0]a,b;……;blockb0(.b(b[0]),.a(a[0]),.c(c[0]));blockb1(a[1],b[1],c[1]);endmodule模块的端口定义与调用端口实现模

8、块互连,要保证连接正确。本模块信号另一模块信号在Verilog模块中有三种方法可以生成逻辑电路:-用assign语句(连续赋值语句):assigncs=(a0&~a1&~a2);-用元件的实例调用:and2and_inst(q,a,b);-用always块(过程块):always@(posedgeclkorposedgeclr)beginif(clr)q<=0;elseif(en)q<=d;endVerilogHDL模块中的逻辑表示abcde如在模块中逻辑功能由下面三个语句块组成:assigncs=(a0&~a1&~a2);//-----1an

9、d2and_inst(qout,a,b);//-----2always@(posedgeclkorposedgeclr)//-----3beginif(clr)q<=0;elseif(en)q<=d;end三条语句是并行的,它们产生独立的逻辑电路;而在always块中:begin与end之间是顺序执行的。并行和顺序逻辑关系的表示Verilog模块中的信号只有两种主要的信号类型:-寄存器类型:reg在always块中被赋值的信号,往往代表触发器,但不一定是触发器。-连线类型:wire用assign关键词指定的组合逻辑的信号或连线Verilog模块

10、中的信号要点需要注意的是:-寄存器(reg)类型不一定是触发器。-它只是在always块中赋值的信号。Verilog中reg与wire的不同点用寄存器(reg)类型变量生成组合逻辑举例:modulerw1(a,b,out1,out2);inputa,b;outputout1,out2;regout1;wireout2;assignout2=a;always@(b)out1=~b;endmoduleaout2BUFFbINVout1Verilog中reg与wire的不同点用寄存器(reg)类型变量生成触发器的例子:modulerw2(clk,d,

11、out1,out2);inputclk,d;outputout1,out2;regout1;wireout2;assignout2=d&~out1;always@(posedgeclk)beginout1<=d;endendmoduledout2AND2i1clkout1DQDFFVerilog中两种不同的赋值语句不阻塞(non-blocking)赋值语句:always@(posedgeclk)beginb<=a;c<=b;endclkDFFcDQDQabDFFVerilog中两种不同的赋值语句阻塞(blocking)赋值语句:always@(

12、posedgeclk)beginb=a;c=b;endclkDFFcDQab两种不同的赋值语句区别要点非阻塞(non-blocking)赋值语句(b<

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

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

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