Verilog中 赋值语句问题

左边这张图是题目,是一段顺序错误的语句,就是要将顺序原本是错误的语句根据下面这个移位寄存器的图调整顺序。右边是答案。

问题有以下几点:
不解正确答案的这个顺序。我做出来的正好是相反的。就是FF1<=Input在最上面。
这里只定义了FF1,FF2,FF3是reg型,但是为什么在always语句中可以给Output赋值?

<=是非阻塞赋值,begin...end块内的顺序是不用区分的。
output应该是在module后面的端口列表中定义过了吧,定义为reg类型,所以使用<=而不是连续赋值语句。追问

当begin end块内是非阻塞赋值时才不用区分顺序吗?

追答

是,都会到最后才会赋值,但是如果使用阻塞赋值=就不同了,要区分顺序。

温馨提示:答案为网友推荐,仅供参考
相似回答