在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1951|回复: 8

[求助] 数字设计中else

[复制链接]
发表于 2022-4-18 19:44:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
为啥在数字设计中,避免else语句块可以节省功耗呢?谢谢~
发表于 2022-4-18 20:11:13 | 显示全部楼层
本帖最后由 Love24 于 2022-4-18 20:12 编辑

1、对于always@(*)的组合逻辑。if...else必须写完整,如果省略最后一个else,就会综合出latch;
2、对于时序逻辑,如果想实现的逻辑是前面的条件不满足时,输出保持,那么最后一个else是可以省略的,省略等价于保持原值,例如:
always@(posedge clk or negedge rst_n)
begin
    if(~rst_n)
        cnt <= 3'd0;
    else if(en)
        cnt <= cnt + 3'd1;
    else
        cnt <= cnt;
end

它就等价于:
always@(posedge clk or negedge rst_n)
begin
    if(~rst_n)
        cnt <= 3'd0;
    else if(en)
        cnt <= cnt + 3'd1;
end

这时候,省略else只是简化了形式,最终综合出的电路应该是一样的,也就不存在功耗差异了;
但是,同样的逻辑,如果可以使用if...else级数更少的方法去实现,势必会降低功耗。
发表于 2022-4-18 22:19:40 | 显示全部楼层
时序块中,不完整的if else 语句,可以在综合时自动生成门控时钟,有降低功耗的效果。
 楼主| 发表于 2022-4-19 15:11:37 | 显示全部楼层


Love24 发表于 2022-4-18 20:11
1、对于always@(*)的组合逻辑。if...else必须写完整,如果省略最后一个else,就会综合出latch;
2、对于时序 ...


谢谢回复!楼下的帖子说到门控时钟节省功耗,好像是这么说的,具体原理我也不清楚。。。
 楼主| 发表于 2022-4-19 15:17:40 | 显示全部楼层


Y__Y 发表于 2022-4-18 22:19
时序块中,不完整的if else 语句,可以在综合时自动生成门控时钟,有降低功耗的效果。 ...


谢谢大佬!
发表于 2022-4-19 15:39:31 | 显示全部楼层


Love24 发表于 2022-4-18 20:11
1、对于always@(*)的组合逻辑。if...else必须写完整,如果省略最后一个else,就会综合出latch;
2、对于时序 ...


学些了
发表于 2022-4-19 16:52:49 | 显示全部楼层


雨中有座沧浪亭 发表于 2022-4-19 15:11
谢谢回复!楼下的帖子说到门控时钟节省功耗,好像是这么说的,具体原理我也不清楚。。。
...


我又查了下,确实如@Y__Y 所说,时序逻辑中,如果实现的逻辑功能是 “以上条件都不满足时保持原值” 这样的逻辑,省略最后的else可以综合出门控时钟,门控时钟就是说通过使能信号打开、关闭给到触发器的时钟,例如上面的两段代码,虽然逻辑功能一样,但是省略else写法中,表示en有效时,cnt累加,en无效时,将时钟切断,触发器不动作,自然也就保持原值,所以,会综合出一个以en为使能信号的时钟,从而降低功耗,这就是门控时钟。
发表于 2022-4-20 21:19:35 | 显示全部楼层
不仅如此,很多时候还人为构造一个en信号来,让工具更方便的综合出gate
发表于 2022-4-21 09:34:51 | 显示全部楼层
方便工具做成门控时钟,降低功耗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-27 04:27 , Processed in 0.020304 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表