OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5260|回复: 3

[ALTERA] always语句种带*和不带*使用区别问题

[复制链接]

8

主题

12

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-12-9
在线时间
6 小时
发表于 2020-3-4 10:35:57 | 显示全部楼层 |阅读模式
下面两个always块中,always @(*)包不包括posedge clk时钟上升沿这个敏感信号?如果不包括,那*不是表示把所有敏感信号包括进去吗?既然所有包括进去,那为什么包括不了posedge clk。

always @(posedge clk)begin
                  if (enable)
                       q<=data;
                  else
                      q<=0;
end


always @(*)begin
                  if (enable)
                       q<=data;
                  else
                      q<=0;
end


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2019-5-31
在线时间
26 小时
发表于 2020-3-4 11:32:58 | 显示全部楼层
*包含的敏感信号只针对自己程序段内,always.....end之间所有外部输入的敏感信号。
回复 支持 反对

使用道具 举报

8

主题

12

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-12-9
在线时间
6 小时
 楼主| 发表于 2020-3-4 15:23:36 | 显示全部楼层
鱼的记忆 发表于 2020-3-4 11:32
*包含的敏感信号只针对自己程序段内,always.....end之间所有外部输入的敏感信号。

可不可以解释下,posedge clk不属于自己程序段内的敏感信号吗?
回复 支持 反对

使用道具 举报

0

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
58
金钱
58
注册时间
2019-5-31
在线时间
26 小时
发表于 2020-3-5 08:48:04 | 显示全部楼层
Aaronzhong 发表于 2020-3-4 15:23
可不可以解释下,posedge clk不属于自己程序段内的敏感信号吗?

posedge clk是时序触发的程序段标志,它指定了边沿触发特性,由always end外给入的。*只是表示程序段内敏感变量发生了变化(由1变0或者由0变1),都会触发一次程序段内的执行。一般情况下,为了程序严谨,不建议采用*这种表达方式。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-10-3 09:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表