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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 2274|回复: 10

[求助] 在时序块always里面写组合逻辑会发生不可预知的错误吗?

[复制链接]
发表于 2022-8-14 23:11:14 | 显示全部楼层 |阅读模式

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

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

×
image.png
例如上面的两种写法,都能实现功能。但是右边把组合逻辑写进去了,不知道会不会有问题?
发表于 2022-8-15 03:51:18 | 显示全部楼层
一样
发表于 2022-8-15 08:33:59 | 显示全部楼层
本帖最后由 dqwuf2008 于 2022-8-16 16:23 编辑

good
发表于 2022-8-15 08:55:55 | 显示全部楼层
综合结果没有区别。简单的mux可以这样inline,但是复杂的组合逻辑比如array multiplier还是分开写好不要这样inline,代码干净整洁有助于调试和维护。
发表于 2022-8-15 09:04:41 | 显示全部楼层
本帖最后由 Topiler 于 2022-8-15 09:06 编辑

电路应该是一样的,左边写法相当于分两段写了,从撸代码的层面来说,这样可以在别的地方使用组合逻辑输出信号(D),有这个需求的时候就这样写吧。

三段式状态机应该是个典型的例子,next_state组合逻辑和state更新逻辑(单纯的打拍)分开写,在代码中其他地方中有很多需要(next_state == XX)这样的判断的。
发表于 2022-8-15 09:11:03 | 显示全部楼层
正如4楼老哥说的那样子,电路上没区别,但是为了代码整洁度和可读性,建议分开写更好。
 楼主| 发表于 2022-8-15 11:19:26 | 显示全部楼层


   
Topiler 发表于 2022-8-15 09:04
电路应该是一样的,左边写法相当于分两段写了,从撸代码的层面来说,这样可以在别的地方使用组合逻辑输出信 ...


感谢老哥延伸到了状态机,鉴于我才刚刚开始学习状态机,有个问题不知道会不会很低级

根据状态机的框图,都是在用当前状态在做判断。会用到下一状态去做判断吗?
image.png
发表于 2022-8-16 00:12:51 | 显示全部楼层
没问题的 一样
发表于 2022-8-16 02:24:48 | 显示全部楼层


   
TOPEEP108 发表于 2022-8-15 11:19
感谢老哥延伸到了状态机,鉴于我才刚刚开始学习状态机,有个问题不知道会不会很低级

根据状态机的框 ...


可以用下一个状态去判断/驱动输去,这就是组合电路,因为中间的寄存器被bypass了,组合电路可能出现的毛刺会在输出。
不可以用下一个状态去判断/驱动输入,这会形成正反馈震荡电路,精确的震荡电路要用特殊石英晶震和锁相环(模拟电路),其稳定性和精确度不是数字组合反馈电路能达到的。


 楼主| 发表于 2022-8-16 15:47:09 | 显示全部楼层


   
wanghu_msee 发表于 2022-8-16 02:24
可以用下一个状态去判断/驱动输去,这就是组合电路,因为中间的寄存器被bypass了,组合电路可能出现的毛 ...


感谢,解释的很清楚
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-12 23:29 , Processed in 0.097885 second(s), 5 queries , Gzip On, Redis On.

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