bad_fpga 发表于 2009-7-21 20:50:12

状态机修改后要记得重新create symble--个人总结

昨晚在之前的程序上修改了一下状态机,在已有的状态机上增加三个状态,编译完后看了下RTL,发现新增加的三个状态有两个状态没出来,并且有一个状态是和程序完全相悖的,我以为是程序的问题,然后慢慢地慢慢地检查代码,只是修改了一些不影响生成状态机的代码,也没找出什么原因,然后看了一下警告,发现在状态机代码里出现了下面警告:
case item expression covers a value already covered by a previous case item
大概的意思应该是case选项已经包含预有的选项。但是在看程序的时候还是没发现什么问题,就这样重复再重复搞到凌晨两点多,还是没发现什么问题,算了,还是关电脑明天再调。今天早上回到公司后,把昨晚的程序再看了一遍,编译了一次又一次,还是出现同样的问题,然后再百度了一下,发现有人和我类似的问题,里面指出在更改了状态机的,要create symble 当前的文件(我是原理图方法的),结果果然如此,重新create symble就成了,以前除了更改了输入输出模块的才需要create symble的,没想到更改了状态机也要。。。。真是想不到。。。
好好总结一下
每次修改完程序要重新symble一次。。。
好好利用百度。。。。。

yulutong 发表于 2009-7-23 13:17:53

编译不行么,假如不需要原理图呢

watercat 发表于 2009-7-23 13:38:15

不知道楼主用的什么软件……

bad_fpga 发表于 2009-7-23 16:55:58

TO LS
quartus ii 8.1

xuexisun 发表于 2011-6-13 23:13:57

我觉得是状态机有重复的定义

yirenonege 发表于 2013-8-22 12:32:44

我也给坑了,多谢楼主 {:handshake:}

aikimi7 发表于 2013-8-28 21:57:09

我也遇到过这个问题,导致STP抓取信号错误,原来状态机的各个状态和预想的不正确。但有时候我改了状态机,没有重新生成symbol却是对的,这是为什么呢
页: [1]
查看完整版本: 状态机修改后要记得重新create symble--个人总结