Verilog HDL语言小知识

本文介绍了Verilog HDL的基础知识,包括模块的构成及其在设计中的作用,详细阐述了时延的概念以及如何通过连续赋值语句描述数据流行为。同时,探讨了行为描述方式,如initial和always语句在实现电路功能中的应用。
摘要由CSDN通过智能技术生成

前面已经介绍了什么是HDL,现在我们来了解一下HDL的模块和数据流方式。

1、模块

模块是Verilog的基本描述单位,用于描述某个设计的功能或结构与其他模块通信的·外部端口。一个设计的结构可使用开关级原语、门级原语和用户定义的原语方式描述;设计数据流行行为使用连续赋值语句进行描述;时序行为使用过程结构描述。一个模块可以在另一个模块中使用。
一个模块基本语法如下:

module module_name(port_list);
	Declarations:
		reg,wire,parameter,
		input,output,inout,
		function,task,.......
	Statements:
		initial statement
		Always statement
		Module instantiation
		Gate instantiation
		Udp instantiation
		Continuous assignment
endmodule

说明部分和语句可以散布在模块的任何地方;但是变量、寄存器、线网和参数等的说明部分必须在使用前出现。为使得模块有好的可读性,最好把说明语句放在语句前面。
下面举一个半加器电路的模块例子。
1
程序如下:

module halfadder(A,B,Sum,Carry);
	input A,B;
	output Sum,Carry;
assign #2 Sum=A^B;
aseign #5 Carry = A & B;
endmodule

上面模块名字为halfadder。两个输入端口A和B,输出端口为S

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值