【原创】NIOS Error: Illegal name "***" -- pin name already exists
想对现成的一个NIOS TFT工程结合我手上液晶屏的具体情况进行修改,删除了NIOS软核中的1个我用不上的8位 PIO组件,编译完事并对各个引脚名称进行了更改。通过"Assignments -> Remove Assignments... -> Pin, Location & Routing Assignments”删除原来的引脚锁定并通过"Assignments -> Import Assignments..."导入了新的引脚锁定。哪知道一编译,出了错:
Error: Illegal name "*****" -- pin name already exists
Error: Pin "*****" overlaps another pin, block, or symbol
Error: Can't elaborate top-level user hierarchy
如下图所示:
引脚名称真的存在重复使得报错么?仔细检查过引脚命名与锁定,绝对没有!
百度谷歌了下,没找着解决办法,但是比较认同 http://www.alteraforum.com/forum/showthread.php?t=1072 这个网址中pugmedia这位哥们的说法——即,初步认定,这是Quartus Ⅱ 10.1的BUG,我用的是10.1版本,别的版本会不会出现这个Bug我没有测试过。
怎么办呢?
重建工程?太费时费力了吧……
幸好,试了试很快找着了解决办法:
1)把出错的引脚全部选定,delete掉,注意必须包括引脚与FPGA之间的连线也都要删除掉。
2)在NIOS CPU软核上右键,Generate Pins for Symbol Ports 自动生成引脚。如果你连线没删除掉,Generate Pins for Symbol Ports是灰色的不能用,如下图所示。
3)为自动生成的引脚更名、锁定。
这样重新编译了下,恩,没有Error了~ 正在得意中~~ 忽然发现——咦?有不少"Warning"也就算了,怎么有个"Critical Warning"?
说是有14个引脚没有实际的引脚锁定?打开"Assignments -> Pin Planner",还真有……
怎么回事呢?——发现我的引脚锁定文件里引脚名称是大写,而原理图中是小写...呃..改成一致~
再编译~ 总算OK了~
——不过... 还不能得意太早。。
而后建立起软件工程,在"run as Hardware"的时候,Console窗口中又出现了这样的错误:
Verifying 000xxxxx ( 0%)
Verify failed between address 0800000 and 080FFFF
Leaving target processor paused
首先对照了下SOPC中的地址,出错器件又是SDRAM... 改了下相移,没用,再检查一遍,没发现哪有错误...
只好又一次Google了下,感谢这篇博文:http://www.cnblogs.com/hclmcu/archive/2010/07/12/1775855.html
他说道:.bdf文件中的symbol在运用“Generat Pins for Symbol Ports”自动生成引脚的时候,生成的引脚表面上是与symbol连接在一起的,可实际上没有,只要手动把Ports 与Pins连一下,问题便可以解决了。
笔记下来,供后人参考~
posted on 2011-05-04 11:06 Mark Lewis 阅读(6930) 评论(4) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步