关于verilog里的 组合逻辑和时序逻辑 要用阻塞赋值和非阻塞赋值 那位高手能帮我解释清楚一下 谢谢了

如题所述

概念性的东西就不说了,网上都有,我在工作中编码规范要求
always@(posedge clk)
begin
end
这种块中都要用<=
assign a=b,是用=
别混用,这是要求,其实如果你不考试的话,知道这些就够了,没必要非知道为什么,呵呵
到工作中你就知道了,学的那些verilog语法好多都不让用的,能用的就那么一些。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-27
组合逻辑用阻塞赋值
时序逻辑用非阻塞复制
第2个回答  推荐于2018-04-04
在串行语句块中,阻塞型赋值语句按照它们在块中的排列顺序依次执行,即前一条语句没有完成赋值之前,后面的语句都不能被执行
例如:
begin
B=A;
C=B+1;
end
首先执行第一条语句,将A赋给B,接着执行第二条,讲B(A+1)的值赋给C,即C=A+1。
非阻塞型赋值:
首先计算机所有表达式右边的值并分别存储在暂存器中,在begin和end之间所有非阻塞型赋值语句的右边表达式都被同时计算并存储后,对左边寄存器变量的赋值操作才会进行。
例如:
begin
B<=A;
C<=B+1;
end
这样,与上面的阻塞型赋值不同,C的值是原来的B的值加上1。
———————— 摘自 康华光版《电子技术基础(数字部分)》本回答被提问者和网友采纳
相似回答