comb函数在C语言中,always_comb和always @(*)
之间的行为差异我刚刚发现,当涉及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 @(*)相关推荐
- SWIFT MX报文基础函数与Java语言中String的方法对照理解
SWIFT MX报文基础函数与Java语言中String的方法对照理解 前言 一.SWIFT是什么? 二.SWIFT MX是什么? 二.报文基础函数与Java语言中String的方法对照表 总结 前言 ...
- r语言中c函数错误,R语言中c()函数与paste()函数的区别说明
c()函数:将括号中的元素连接起来,并不创建向量 paste()函数:连接括号中的元素 例如 c(1, 2:4),结果为1 2 3 4 paste(1, 2:4),结果为"1 2" ...
- c语言中open函数r,C语言中open函数
语法Open ( windowvar, windowtype {, parent } ) 参数windowvar:指定窗口变量名,Open()函数把打开窗口的引用放置到该变量中windowtype:s ...
- java中flush函数作用_Java语言中flush()函数作用及使用方法详解
最近在学习io流,发现每次都会出现flush()函数,查了一下其作用,起作用主要如下 //------–flush()的作用--------– 笼统且错误的回答: 缓冲区中的数据保存直到缓冲区满后才写 ...
- c语言fgetc函数作用,C语言中fgetc函数的使用方法
该函数包含在C语言中的stdio.h头文件中,主要功能是从流中读取一个字符,并增加文件指针的位置. 函数原型:int fgetc(FILE *fp); 函数功能:从流中读取字符,即从fp所指定的文件中 ...
- c语言自动生成系统时间函数,使用C语言中的time函数获取系统时间
使用C语言中的time函数获取系统时间 可以通过time()函数来获得计算机系统当前的日历时间(Calendar Time),处理日期时间的函数都是以本函数的返回值为基础进行运算.其原型为: time ...
- c语言中exit函数作用,c语言中exit函数 c语言中exit与break区别
C语言中exit();怎么用? exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束. return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进 ...
- c语言中阻止程序退出的函数,(转)C语言中Exit函数的使用
C语言中Exit函数的使用 exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束 return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了, ...
- c语言while函数作用,C语言中while /do while语句用法
在c语言中do while与while与我们学的vb,asp.net都一样的,下面我来介绍一下关于C语言中while /do while语句基于用法. C语言while语句的用法 while语句的一般 ...
- C语言isalnum函数举例,C语言中的isalnum()函数
该功能isalnum()用于检查字符是否为字母数字.它返回非零值,如果字符是字母数字,则表示字母或数字,否则返回零.在" ctype.h"头文件中声明. 这是isalnum()C语 ...
最新文章
- .net项目技术选型总结
- SitemapBaiduspider
- shuffle的工作原理
- sql2000导出mysql_如何将sql2000的数据库导入到mysql中?
- cocos2dx java 调用lua_cocos2dx之C++调用Lua
- continue break
- Oracle Golden Gate 系列十六 -- 配置 GG 安全 说明 与 示例
- mysql之创建数据库,创建数据表
- Broadwell I7-5775c/5675c BSOD 蓝屏问题
- Angular Taskmgr 登录
- 挑选国外vps主机需要注意哪些呢
- Angular 个人深究(二)【发布与订阅】
- mysql assoc什么意思_mysql_fetch_assoc 报错
- 海洋环流与海浪数值模式
- stm32LL库串口空闲中断+DMA接收
- shell 脚本获取接口返回值
- MySQL数据库的SQL语句
- ios客户端跟h5页面桥接
- 手机收发邮件简单实现?注册163电子邮箱今天圆梦
- 广外计算机学院在哪个校区,广东外语外贸大学有几个校区及校区地址 哪个校区最好...