使用quartus和NIOS过程中遇到的问题和解决方法
1、在编译工程quartus工程的时候遇见的一个莫名其妙的问题,如下:
Error (169187): Following feature(s) of I/O pin DQM[0] has invalid setting(s) in the configuration scheme ACTIVE_SERIAL when the pin is placed at pin location H2
pin DQM[0]是我的顶层bdf文件中的一个端口,错误的意思大概是在AS下载模式下,将H2脚赋给DQM[0]是不被允许的,但在引脚分配Tcl文件中,并没有将H2脚赋给DQM[0]。
反复修改几次均出现类似问题,很随机,总是说把某个引脚赋给bdf文件中的某个端口是错误的。
一下午时间在网上查询解决方法,不知道在哪儿看到的,说要是在quartus软件中将仿真软件指定为modelsim就会出现这个问题,之前自己仿真FIFO IP的时候是把modelsim设置成了仿真软件的,所以返回将仿真软件修改为无之后再编译果然没出现这个问题了,很奇葩,也很难注意到。
附上修改方法:
在打开的工程中,点击assignments-settings-EDA Tool Settings,将Simulation中Toolname由modelsim修改为None即可。
2、使用NIOS时,在程序中使用IORD_ALTERA_AVALON_PIO_DATA(XXX_BASE)时,编译后弹出错误:
Symbol 'XXX_BASE' could not be resolved.
而实际上XXX_BASE在system.h中已有定义。解决方法为,在工程文件夹下右键点击,选择Index-rebuild即可,原因不明
3、更改了qsys文件或quartus工程后,若继续在原来的NIOS工程中编程编译可能会报错,这是由于system.h中的配置文件还跟原来一样,未进行更新。
不重新新建NIOS工程就可解决此问题的的方法:
重新编译quartus工程之后,在NIOS的BSP工程文件加上点击右键,选择NIOS II—generate bsp,即可生成新的system.h头文件,此后在编译NIOS工程就不会再报错。