eric2013 发表于 2013-9-24 13:20:42

阻塞和非阻塞的区别(用实例来说明)

1.不要看课本上面说的那些个理论,讲半天也说不到本质上面,尽在在那里扯概念。
2.学习Verilog,要将其和硬件电路联系起来,写一个程序要大概的知道生成什么样的逻辑电路,这样才行。

下面举一个简单的例子,来分别的实现阻塞式和非阻塞
阻塞式

module block(clk, q);
    inputclk;
    outputq;
    reg      q;
    reg    a;
    reg    b = 1'b1;
    always @(posedge clk)
      begin
            a = b;
            q = a + 1'b1;
      end
endmodule


非阻塞式

module block(clk, q);    inputclk;
    outputq;   
    reg      q;
    reg    a;   
    reg    b = 1'b1;
    always @(posedge clk)      
       begin
            a <= b;            
            q <= a + 1'b1;
      end
endmodule



总结:说白了阻塞式和非阻塞的区别就是直线和触发器的区别,从RTL视图可以清晰看出。
页: [1]
查看完整版本: 阻塞和非阻塞的区别(用实例来说明)