阻塞赋值和非阻塞赋值

我觉得这个术语非常非常地不妥,就好像有个线程等待一个事件一样,复杂化了。所以要忘记这个概念。

在数字电路中,主要有两种(1)时序逻辑(2)组合逻辑

时序逻辑的写法如下,always必须带有参数,赋值必须用“<=” ,“<=” 表示线的连接要经过D触发器。

    always@(posedge key)
    begin
        a <= b;
        b <= c;
    end

组合逻辑的写法如下,always不用带参数,赋值必须用=,=表示直接连线,不用经过触发器。

    always@(*)
    begin
        c = a & b;
        d = a ^ b;
    end

简单的组合逻辑可以写成:

assign c = a | ~b;

实践中发现,always语句只能给reg赋值,assign只能给wire赋值。另外:if语句表示电路中加入了比较器,在时序逻辑和组合逻辑中都可以用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容