FPGA学习笔记——B站野火FPGA教程 第十二讲 阻塞赋值与非阻塞赋值

一、理论

1.阻塞赋值

作用:用于进行串行逻辑,防止顺序混乱

2.非阻塞赋值

不用assign的原因:assign代表连续,跟非阻塞赋值中的并行赋值矛盾,因此,assign只能用于wire类型变量赋值。

二、实战演练

1.框图

(1阻塞

(2非阻塞

2.波形图(暂不需要)

其实就是在上一讲中的key_in和out信号之间加入了一个中间变量in,然后用以上两种方式进行赋值然后仿真观察即可

3.代码

(1阻塞赋值

在测试模块代码编写的时候需要注意:clk给的是阻塞赋值,其他信号初始化都是非阻塞赋值,因为我们要求clk一定要先初始化,否则就会乱套

(2非阻塞赋值

4.仿真结果

(1阻塞赋值

如图,延迟了一拍之后,out和in_reg同时置1

(2非阻塞赋值

如图,延迟一拍,再延迟一排才可以使得输出为1

三、实验总结

阻塞赋值是上升沿到来时立刻把等号右边赋给左边,按顺序执行完;

非阻塞赋值是上升沿到来时并行地赋值给等号左边,如果有寄存器的话,需要等到下一个上升沿才能赋值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

歌者長門

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值