之间的行为差​​异我刚刚发现,当涉及function时,总是@(*)无法按预期工作。always_comb和always @(*)

请参阅下面的简单示例代码。

module test;

reg a, b, c;

function reg my_func();

if (b==0) begin

$display("DEBUG 0 @%0t", $time);

return a;

end

else if (b==1) begin

$display("DEBUG 1 @%0t", $time);

return ~a;

end

else begin

$display("DEBUG 2 @%0t", $time);

return 0;

end

endfunction

always @(*) begin

//always_comb begin

c = my_func();

end

initial begin

a = 0; #10;

a = 1; #10;

a=0;

end

endmodule

尝试在模拟always @(*)和always_comb之间切换。如果我使用always @(*),则不会显示任何内容。但是,如果使用always_comb,它会显示预期的结果如下:

DEBUG 2 @0

DEBUG 2 @0

DEBUG 2 @10

DEBUG 2 @20

上面的代码只是简单的组合逻辑。 为什么always @(*)和always_comb显示不同的结果?这只是模拟问题吗?进一步的实验我注意到它可能与在always块内使用function有关。

2015-09-25

AldoT

+0

IEEE Std 1800-2012,第9.2.2.2节组合逻辑always_comb过程 –

comb函数在C语言中,always_comb和always @(*)相关推荐

  1. SWIFT MX报文基础函数与Java语言中String的方法对照理解

    SWIFT MX报文基础函数与Java语言中String的方法对照理解 前言 一.SWIFT是什么? 二.SWIFT MX是什么? 二.报文基础函数与Java语言中String的方法对照表 总结 前言 ...

  2. r语言中c函数错误,R语言中c()函数与paste()函数的区别说明

    c()函数:将括号中的元素连接起来,并不创建向量 paste()函数:连接括号中的元素 例如 c(1, 2:4),结果为1 2 3 4 paste(1, 2:4),结果为"1 2" ...

  3. c语言中open函数r,C语言中open函数

    语法Open ( windowvar, windowtype {, parent } ) 参数windowvar:指定窗口变量名,Open()函数把打开窗口的引用放置到该变量中windowtype:s ...

  4. java中flush函数作用_Java语言中flush()函数作用及使用方法详解

    最近在学习io流,发现每次都会出现flush()函数,查了一下其作用,起作用主要如下 //------–flush()的作用--------– 笼统且错误的回答: 缓冲区中的数据保存直到缓冲区满后才写 ...

  5. c语言fgetc函数作用,C语言中fgetc函数的使用方法

    该函数包含在C语言中的stdio.h头文件中,主要功能是从流中读取一个字符,并增加文件指针的位置. 函数原型:int fgetc(FILE *fp); 函数功能:从流中读取字符,即从fp所指定的文件中 ...

  6. c语言自动生成系统时间函数,使用C语言中的time函数获取系统时间

    使用C语言中的time函数获取系统时间 可以通过time()函数来获得计算机系统当前的日历时间(Calendar Time),处理日期时间的函数都是以本函数的返回值为基础进行运算.其原型为: time ...

  7. c语言中exit函数作用,c语言中exit函数 c语言中exit与break区别

    C语言中exit();怎么用? exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束. return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进 ...

  8. c语言中阻止程序退出的函数,(转)C语言中Exit函数的使用

    C语言中Exit函数的使用 exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束 return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了, ...

  9. c语言while函数作用,C语言中while /do while语句用法

    在c语言中do while与while与我们学的vb,asp.net都一样的,下面我来介绍一下关于C语言中while /do while语句基于用法. C语言while语句的用法 while语句的一般 ...

  10. C语言isalnum函数举例,C语言中的isalnum()函数

    该功能isalnum()用于检查字符是否为字母数字.它返回非零值,如果字符是字母数字,则表示字母或数字,否则返回零.在" ctype.h"头文件中声明. 这是isalnum()C语 ...

最新文章

  1. .net项目技术选型总结
  2. SitemapBaiduspider
  3. shuffle的工作原理
  4. sql2000导出mysql_如何将sql2000的数据库导入到mysql中?
  5. cocos2dx java 调用lua_cocos2dx之C++调用Lua
  6. continue break
  7. Oracle Golden Gate 系列十六 -- 配置 GG 安全 说明 与 示例
  8. mysql之创建数据库,创建数据表
  9. Broadwell I7-5775c/5675c BSOD 蓝屏问题
  10. Angular Taskmgr 登录
  11. 挑选国外vps主机需要注意哪些呢
  12. Angular 个人深究(二)【发布与订阅】
  13. mysql assoc什么意思_mysql_fetch_assoc 报错
  14. 海洋环流与海浪数值模式
  15. stm32LL库串口空闲中断+DMA接收
  16. shell 脚本获取接口返回值
  17. MySQL数据库的SQL语句
  18. ios客户端跟h5页面桥接
  19. 手机收发邮件简单实现?注册163电子邮箱今天圆梦
  20. 广外计算机学院在哪个校区,广东外语外贸大学有几个校区及校区地址 哪个校区最好...

热门文章

  1. hive分隔符_hive默认分隔符
  2. java根据经纬度获取详细地址
  3. 玩转MongoDB4.0(MongoDB基础总结)
  4. 2.深入解析Javascript异步编程
  5. 双网卡 跃点_关于windows 双网卡和跃点数研究
  6. html怎么修改背景图片,css怎么设置背景图片?
  7. 各种蜂蜜功效大全(收藏)
  8. fastJson≤1.2.80漏洞修复
  9. 臀部无论大小,翘起才是王道。
  10. Ubuntu12.04软件安装指南