FPGA快速入门01:verilog模块结构

对于Verilog模块来说,它的结构由有两部分模块说明和功能描述,我们接下来看一个简单的模块!

module MUX21 (a,b,s,y); 
input a,b,s; 
output y; 
assign y = (s ? a : b ); 
endmodule

以上是一个简单的二选一模块,其中的 module 是模块的起始点,与endmodule共同约束着整个模块

MUX21:是模块名,类似于c语言的函数名,如果要引用的话需要例化。

(a,b,s,y):端口列表,所有输入及所有需要输出模块的信号都要列在表中。

input和output:属于端口信号声明,端口信号声明由三个部分组成,分别是输入输出属性(input和output和inout)、信号的数据类型(wire和reg)、信号位宽([N1:N2])。

位宽不做说明的话,默认为一位。

数据类型不做说明,默认为wire型。

以上就属于模块说明,而assign属于功能描述语句,这里只有一句,越复杂的项目,这部分就越多。

功能描述语句中只用三种很常用,assign语句、always语句、底层模块调用语句(也就是例化语句目前暂不详述)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值