verilog模块的结构、数据类型、变量和基本运算符.ppt
《verilog模块的结构、数据类型、变量和基本运算符.ppt》由会员分享,可在线阅读,更多相关《verilog模块的结构、数据类型、变量和基本运算符.ppt(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章 模块的模块的结构、数据类型、结构、数据类型、变量和基本运算符变量和基本运算符3.1 3.1 模块的模块的结构结构module 模块名(端口信息端口信息端口信息端口信息);输入输入输入输入/输出说明输出说明输出说明输出说明 内部信号声明内部信号声明内部信号声明内部信号声明 逻辑功能描述逻辑功能描述逻辑功能描述逻辑功能描述endmoduleendmoduleVerilog 模块由两部分组成:端口信息和内部功能。模块由两部分组成:端口信息和内部功能。abcde module block1(a,b,c,d,e);input a,b,c;output d,e;assign d=a|(b&c
2、);assign e=(b&c);endmodule3.1 3.1 模块的模块的结构结构Verilog Verilog 模块的结构由在模块的结构由在模块的结构由在模块的结构由在modulemodule和和和和endmodule endmodule 关键词之间的四个主要部分组成:关键词之间的四个主要部分组成:关键词之间的四个主要部分组成:关键词之间的四个主要部分组成:-端口信息:端口信息:端口信息:端口信息:module block1(a,b,c,d);module block1(a,b,c,d);-输入输入输入输入/输出说明输出说明输出说明输出说明 :input a,b,c;input a,b
3、,c;output d;output d;-内部信号:内部信号:内部信号:内部信号:wire x;wire x;-功能定义:功能定义:功能定义:功能定义:assign d=a|x;assign d=a|x;assign x=(b&c);assign x=(b&c);endmodule endmodule VerilogVerilog HDL HDL模块的结构模块的结构请在下面的空格中填入适当的符号请在下面的空格中填入适当的符号请在下面的空格中填入适当的符号请在下面的空格中填入适当的符号 使其成为右图的使其成为右图的使其成为右图的使其成为右图的Verilog Verilog 模块模块模块模块 :
4、module block1(a,b,);module block1(a,b,);input ,;input ,;d,;d,;assign d =a|(b&c);assign d =a|(b&c);assign e =(b&c);assign e =(b&c);_ _编写编写VerilogVerilog HDL HDL模块的练习模块的练习abcde请在下面的空格中填入适当的符号请在下面的空格中填入适当的符号请在下面的空格中填入适当的符号请在下面的空格中填入适当的符号 使其成为右图的使其成为右图的使其成为右图的使其成为右图的Verilog Verilog 模块模块模块模块 :module bloc
5、k1(a,b,module block1(a,b,c c,d d,e e););input input a a,b b,c c;output output d,d,e e;assign d =a|(b&c);assign d =a|(b&c);assign e =(b&c);assign e =(b&c);endmoduleendmodule编写编写VerilogVerilog HDL HDL模块的练习模块的练习abcdemodule block(a,b,c);output c;input a,b;endmodulemodule block3(a,b,c);output 2:0 c;input
6、 2:0 a,b;block b0(.b(b0),.a(a0),.c(c0);block b1(a1,b1,c1);endmodule模块的模块的端口定义与调用端口定义与调用端口实现模块互连,要保证连接正确。端口实现模块互连,要保证连接正确。端口实现模块互连,要保证连接正确。端口实现模块互连,要保证连接正确。本模块本模块本模块本模块信号信号信号信号另一模另一模另一模另一模块信号块信号块信号块信号在在在在Verilog Verilog 模块中有三种方法可以生成逻辑电路:模块中有三种方法可以生成逻辑电路:模块中有三种方法可以生成逻辑电路:模块中有三种方法可以生成逻辑电路:-用用用用 assign
7、assign assign assign 语句语句语句语句(连续赋值语句连续赋值语句连续赋值语句连续赋值语句):assign cs =(a0&a1&a2);assign cs =(a0&a1&a2);-用用用用 元件的实例调用元件的实例调用元件的实例调用元件的实例调用:and2 and_inst(q,a,b);and2 and_inst(q,a,b);-用用用用 always always always always 块块块块(过程块过程块过程块过程块):always (posedge clk or posedge clr)always (posedge clk or posedge clr)
8、begin if(clr)q=0;else if(en)q=d;begin if(clr)q=0;else if(en)q=d;end endVerilog HDL模块中的逻辑表示abcde 如在模块中逻辑功能由下面三个语句块组成如在模块中逻辑功能由下面三个语句块组成如在模块中逻辑功能由下面三个语句块组成如在模块中逻辑功能由下面三个语句块组成 :assign cs =(a0&a1&a2);/-1 assign cs =(a0&a1&a2);/-1 and2 and_inst(q and2 and_inst(qo outut,a,b);/-2,a,b);/-2 always (posedge c
9、lk or posedge clr)/-3 always (posedge clk or posedge clr)/-3 begin if(clr)q=0;else if(en)q=d;begin if(clr)q=0;else if(en)q=d;endend三条语句是并行的,它们产生独立的逻辑电路;三条语句是并行的,它们产生独立的逻辑电路;三条语句是并行的,它们产生独立的逻辑电路;三条语句是并行的,它们产生独立的逻辑电路;而在而在而在而在 always always always always 块中块中块中块中:begin:begin:begin:begin 与与与与 end end en
10、d end 之间是顺序执行的。之间是顺序执行的。之间是顺序执行的。之间是顺序执行的。并行和顺序并行和顺序逻辑关系的表示逻辑关系的表示VerilogVerilog模块中的信号模块中的信号只有两种主要的信号类型:只有两种主要的信号类型:-寄存器类型:寄存器类型:reg 在在always always 块中被赋值的信号,块中被赋值的信号,往往往往代表代表 触发器,但不一定是触发器。触发器,但不一定是触发器。-连线类型连线类型:wire 用用 assign assign 关键词指定的组合逻辑的信号关键词指定的组合逻辑的信号 或连线或连线VerilogVerilog模块中的信号要点模块中的信号要点需要注
11、意的是:需要注意的是:-寄存器寄存器(reg reg)类型类型不一定是触发器不一定是触发器。-它只是在它只是在 always always 块中赋值的信号块中赋值的信号。VerilogVerilog中中regreg与与wirewire的不同点的不同点用寄存器用寄存器用寄存器用寄存器(regreg)类型变量生成组合逻辑举类型变量生成组合逻辑举类型变量生成组合逻辑举类型变量生成组合逻辑举例例例例:module rw1(a,b,out1,out2);module rw1(a,b,out1,out2);input a,b;input a,b;output out1,out2;output out1,o
12、ut2;reg out1;reg out1;wire out2;wire out2;assign out2=a;assign out2=a;always(b)out1=b;always(b)out1=b;endmodule endmodule aout2BUFFbINVout1VerilogVerilog中中regreg与与wirewire的不同点的不同点用寄存器用寄存器用寄存器用寄存器(reg reg reg reg)类型变量生成触发器的类型变量生成触发器的类型变量生成触发器的类型变量生成触发器的例子例子例子例子:module rw2(clk,d,out1,out2);module rw2(
13、clk,d,out1,out2);input clk,d;input clk,d;output out1,out2;output out1,out2;reg out1;reg out1;wire out2;wire out2;assign out2=d&out1;assign out2=d&out1;always(posedge clk)always(posedge clk)begin out1=d;endbegin out1=d;endendmodule endmodule dout2AND2i1clkout1DQDFFVerilogVerilog中两种不同的赋值语句中两种不同的赋值语句不阻
14、塞(不阻塞(不阻塞(不阻塞(non-blocking)non-blocking)赋值语句:赋值语句:赋值语句:赋值语句:always(posedge clk)always(posedge clk)begin begin b=a;b=a;c=b;c=b;end endclkDFFcDQDQabDFFVerilogVerilog中两种不同的赋值语句中两种不同的赋值语句阻塞(阻塞(阻塞(阻塞(blocking)blocking)赋值语句:赋值语句:赋值语句:赋值语句:always(posedge clk)always(posedge clk)begin begin b=a;b=a;c=b;c=b;e
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- verilog 模块的结构、数据类型、变量和基本运算符 模块 结构 数据类型 变量 基本 运算
限制150内