首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

阻塞和非阻塞的记忆理解

阻塞和非阻塞的记忆理解

Verilog里面有个很容易混淆的概念:阻塞和非阻塞。经典的例子如下
非阻塞例子:
always @(posedge clk)
      begin
        b<=a;
        c<=b;
      end
执行的结果是always块结束后,b等于a之前的值,c等于b之前的值。
阻塞例子:
always @(posedge clk)
      begin
        b=a;
        c=b;
      end
执行的结果是:b等于a,c也等于a。
对于这个问题,本人是这样记忆的:
阻塞就一个符号,非阻塞比它多一个符号。
阻塞了的语句有先后顺序关系,先执行b=a,然后执行c=b。
非阻塞的语句同时执行,b等于a的同时,c也等于b。
返回列表