ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

always@(*)和 always_comb 有什么区别?

2022-08-25 12:05:39  阅读:224  来源: 互联网

标签:end 区别 always equivalent comb tmp1 tmp2


1. always_comb 在时间 0 自动执行一次,而 @ (*) 等待直到其敏感列表中的信号发生改变时才执行。

2. always_comb 对函数参数和内容的变化都敏感,而always @ (*) 只对函数参数的变化敏感。

3. 在always_comb 中不允许阻塞时序控制,但在always @ (*) 中允许。

看几个always@(*)的例子:

always @ ( * )
       z = a && b || d & e || myfunct(f);
//Is equivalent to:
always @ (a or b or d or e or f)
       Z = a && b || d & e || myfunct(f);
//following equivalent to @(a or b or c or d or tmp1 or tmp2)
       always @* begin
            tmp1 = a & b;
            tmp2 = c & d;
            y = tmp1 | tmp2;
       end
always @* begin // equivalent to @(b)
            @(i) kid = b; // i is not added to @*
end
always @* begin // equivalent to @(a or b or c or d)
            x = a ^ b;
            @* // equivalent to @(c or d)
            x = c ^ d;
end

 

标签:end,区别,always,equivalent,comb,tmp1,tmp2
来源: https://www.cnblogs.com/fuqiangblog/p/16623821.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有