FPGA的学习:阻塞赋值与非阻塞赋值
Posted 石小舟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FPGA的学习:阻塞赋值与非阻塞赋值相关的知识,希望对你有一定的参考价值。
阻塞赋值:阻塞赋值的赋值号用=表示,对应的电路结构往往与触发沿没有关系,只与输入电平的变化有关系。它的操作可以认为是只有一个步骤的操作,即计算赋值号右边的语句并更新赋值号左边的语句,此时不允许有来自任何其他Verilog语句的干扰,直到现行的赋值完成,才允许下一条的赋值语句的执行。
串行块(begin-end)中,各条阻塞赋值语句将以它们在顺序块中的排列次序依次执行。
例如:
a=1,b=2, c=3;
begin
a=b+1;
b=a+2;
c=a-1;
end
其中a=3,b=5,c=2。
非阻塞赋值:非阻塞赋值的赋值号用“<=”表示,对应的电路结构往往与触发沿有关系,只有在触发沿的时刻才能进行非阻塞赋值,在这期间,允许其他Verilog语句同时进行操作。只能用于“initial”和“always”中,不能使用在“assign”中。
例如:
a=1,b=2, c=3;
begin
a<=b+1;
b<=a+2;
c<=a-1;
end
其中a=3,b=3,c=0。
以上是关于FPGA的学习:阻塞赋值与非阻塞赋值的主要内容,如果未能解决你的问题,请参考以下文章