Verilog笔记 一天一夜速成

这篇博客主要介绍了Verilog的基础知识,包括assign语句、always@语句以及底层模块调用。讲解了如何定义module,参数类型如reg和wire的区别,以及在always@语句中操作reg类型变量。还提到了assign语句的作用,它用于wire类型的连续赋值,并举例说明了或门和与门的实现。此外,文章还讨论了时序逻辑电路中使用=和<=赋值语句的区别,建议在设计时序逻辑时使用<=。最后,介绍了如何封装和调用模块,通过创建DFF触发器作为例子进行说明。
摘要由CSDN通过智能技术生成

Verilog笔记
assign语句 always语句 底层模块调用语句

module endmodule是每个程序都必备的,代表我们创建了一个模块和结束一个模块的创建。既然创建了模块,那么这个模块必然有模块名,以及参数,还有中间的各种语句。参数有输入参数、输出参数等,以及reg、wire类型;语句有assign语句(只对wire变量操作)、always@语句(只对reg变量操作)等。

例:我们规定了一个模块名DFF1(输入输出变量CLK,D,Q);Q为输出变量,CLK、D为输入变量,同时Q是reg类型;我们编写always@语句(当CLK上升沿触发时,D赋值给Q);模块结束。(always@语句的操作对象必须是reg类型,由于不定义默认是wire类型,所以我们让输出定义为reg类型。)注:输入参数必须是wire类型,与always@语句无关。

模块名(输入输出变量名);输入输出变量定义(包括数据类型定义);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值