今天在我的工程里改了一个参数,综合时云源软件会闪退,这个工程昨天是好用的,昨天打包时顺手把仿真生成的大量文件删除了。
因为闪退不会给出任何错误提示,我万万没想到是改这个参数改的,排查了很多地方,最后才定位到这个参数,最后还顺便找出一些设计上的问题。
大概是这样的,我在一个top里例化了a,top里的data是8位的
a里的data原来是8位的,正常。后来被我改成14位后综合就会闪退。因为我的失误,data应该是output类型,被我定义成了input类型。
之前DW是8,虽然output被写成了input 仿真和FPGA都可以正常运行,这次我将DW改成14后综合就会闪退。
闪退后将top里的data改成14位正常,将a里的data由input改成output正常,当然把DW由14改回8也是正常的。
我又新建了一个工程,只保留上边的代码,对a里的data做了简单的赋值,可惜没能复现原来的闪退问题。
引用: wangerxian 发表于 2023-4-7 10:16 为什么改代码会导致软件闪退,是因为综合不了?
可能是设计中的某些错误云源软件不能识别,强行综合时导致崩溃。
引用: littleshrimp 发表于 2023-4-7 10:24 可能是设计中的某些错误云源软件不能识别,强行综合时导致崩溃。
好吧,像这种情况应该报错,而不是闪退,软件没做好处理。
引用: wangerxian 发表于 2023-4-7 10:38 好吧,像这种情况应该报错,而不是闪退,软件没做好处理。
是的 任何闪退都是软件没考虑周全