- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
精品文档
Verilog HDL 语言基础知识
先来看两个 Verilog HDL 程序。
例 6.1 一个 8 位全加器的 Verilog HDL 源代码
module adder8(cout,sum,ina,inb,cin);
output[7:0] sum;
output cout;
input[7:0] ina,inb;
input cin;
assign {cout,sum}=ina+inb+cin; // 全加
endmodule
【例6.2 】一个 8 位计数器的 Verilog HDL 源代码
module counter8(out,cout,data,load,cin,clk);
output[7:0] out;
output cout;
input[7:0] data;
input load,cin,clk;
reg[7:0] out;
always @(posedge clk)
begin
if(load)
out=data;
else
out=out+cin;
end
assign cout=outcin;
endmodule
从上面的例子可以看出 :
① Verilog HDL程序是由模块构成的。 每个模块的内容都是嵌在 module 和 endmodule
两个语句之间,每个模块实现特定的功能,模块是可以进行层次嵌套的。
②每个模块首先要进行端口定义,并说明输入 (input) 和输出 (output) ,然后对模块
的功能进行逻辑描述。
③Verilog HDL 程序的书写格式自由,一行可以写几个语句,一个语句也可以分多行
写。
④ 除了 endmodule 语句外,每个语句的最后必须有分号。
⑤ 可以用 /* …… */ 和 // …… 对 Verilog HDL 程序的任何部分作注释。
。
1欢迎下载
精品文档
6.1.2 Verilog HDL 模块的结构
Verilog HDL的基本设计单元是 模块 (block) 。一个模块是由两部分组成的, 一部分
描述接口 ; 另一部分描述逻辑功能, 即定义输入是如何影响输出的。 下面举例说明, 图 6.1
示出了一个 与- 或- 非 门电路。
A 1
3
B 2
F
C 1
3
D 2
图 6.1 与- 或-
文档评论(0)