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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

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

[求助] Verilog初学,新人求助

[复制链接]
发表于 2024-2-3 01:05:24 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 2558966080 于 2024-2-3 01:06 编辑

我要设计实现conwaylife的电路,下面是我的代码.  一开始我的结果是错误的, 但之后我把sum后的非阻塞赋值改为阻塞赋值就正确了,这是为啥呀. 加减运算只能用阻塞赋值吗.
8c100476def8b6bbaafd3396f2c0acc.png
发表于 2024-2-3 09:01:58 | 显示全部楼层
上面这个电路一看就有问题,block 和 non-blocking放在一起综合,Linting工具的检查肯定通不过。
发表于 2024-2-3 10:40:02 | 显示全部楼层
初学应该找本verilog教材好好看看语法规则,遇到一个语法问题就找人问,这不太现实也不是好的学习方法
发表于 2024-2-3 13:25:21 | 显示全部楼层
是的
 楼主| 发表于 2024-2-4 15:47:18 | 显示全部楼层


yuanpin318 发表于 2024-2-3 09:01
上面这个电路一看就有问题,block 和 non-blocking放在一起综合,Linting工具的检查肯定通不过。 ...


可是我一开始在always语句块中就是全部使用的非阻塞赋值,但结果不是想要的.我后来将sum后的非阻塞赋值改为阻塞赋值就得到想要的结果了.
发表于 2024-2-4 16:01:17 | 显示全部楼层
时序逻辑用非阻塞,组合逻辑用阻塞。
发表于 2024-2-7 11:20:37 | 显示全部楼层
如楼上的朋友们所说,代码风格要改改。而且两个if...else别放到一起(就是你for循环里面的地方)。
还有,因为没有异步复位端,所以q无初始值,我理解来说,若一上场load信号输入为0,那走到下面分支,会导致sum和q都是x态。
发表于 2024-2-7 16:02:25 | 显示全部楼层


2558966080 发表于 2024-2-4 15:47
可是我一开始在always语句块中就是全部使用的非阻塞赋值,但结果不是想要的.我后来将sum后的非阻塞赋值改 ...


两者不冲突,你说的是结果 也就是输出的数据是对的 是逻辑问题,他说的是阻塞和非阻塞不能混用是语法的问题。

还有always块里头如果不是相关的信号赋值尽量拆成多个写这样逻辑才不会乱


发表于 2024-2-7 16:17:28 | 显示全部楼层
加减运算跟什么赋值关系不大,这个代码风格要改一下,如果逻辑一目了然,代码再长也没关系
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-27 21:50 , Processed in 0.027244 second(s), 7 queries , Gzip On, Redis On.

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