打印
[modelsim]

modelsim为什么赋值前后变量的值不一样?(已解决)

[复制链接]
1105|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 Basic713 于 2019-5-31 18:14 编辑

D:\新建文件夹\【大二下】\数字系统设计实验\lab15_dds\QQ截图20190524113252.png
D:\新建文件夹\【大二下】\数字系统设计实验\lab15_dds\QQ截图20190524113322.png

如图,为什么我把phase_reg赋值给phase,但是1全都变成了x?
本人比较菜,希望得到大佬点拨
(我知道了,是因为主模块给phase赋了初值,就和这个模块冲突了……问题已解决)
(图中赋给phase_reg的值我已经改成22'd0了)

QQ截图20190524113322.png (14.61 KB )

QQ截图20190524113322.png

QQ截图20190524113252.png (21.51 KB )

QQ截图20190524113252.png

使用特权

评论回复
评论
xiaojunseu1 2019-5-29 11:02 回复TA
phase_reg <= phase_reg+k这句在位数多的时候会出问题,综合后会出现xx, 可以加一个临时变量,先计算结果给临时变量,在单独开一个always,临时变量附给phase_reg 

相关帖子

沙发
ococ| | 2019-5-24 13:54 | 只看该作者
检查一下K的值

使用特权

评论回复
板凳
Basic713|  楼主 | 2019-5-24 16:12 | 只看该作者
ococ 发表于 2019-5-24 13:54
检查一下K的值

k的值是正常的啊……

QQ截图20190524161136.png (31.02 KB )

QQ截图20190524161136.png

使用特权

评论回复
地板
zhangmangui| | 2019-5-24 23:08 | 只看该作者
直接把里面的phase_reg换成phase
去掉assign phase =   这句

使用特权

评论回复
5
fswyt| | 2019-5-25 09:44 | 只看该作者
Basic713 发表于 2019-5-24 16:12
k的值是正常的啊……

既然有个assign phase = phase_reg,那么在第一个EN使能之前,phase和phase_reg的值应该是相同的,但是看你波形上不相同,也不知道为什么。
本人也是刚开始学,纯小白,希望高人给解答下。

使用特权

评论回复
6
fswyt| | 2019-5-25 09:48 | 只看该作者
Basic713 发表于 2019-5-24 16:12
k的值是正常的啊……

还有,你那个程序,在reset信号到来时,为什么是phase_reg = 12'b0,而不是phase_reg = 22'b0呢?

使用特权

评论回复
评论
Basic713 2019-5-31 18:13 回复TA
这个我已经改过来了,我这个问题是主模块的错误,主模块给phase赋了初值,就和这个模块冲突了…… 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝