最近可能要用到Qsys做一点应用,于是开始了学习之旅。在项目中加入了Qsys生成的.qip文件和.v文件后编译失败 好久没有用Quartus了,一下也就不能理解。。。找到错误位置后看了一下。
Error (12006): Node instance "onchip_mem" instantiates undefined entity "nios2_sys_onchip_mem"
Error (12006): Node instance "sys_clk_timer" instantiates undefined entity "nios2_sys_sys_clk_timer"
Error (12006): Node instance "jtag_uart" instantiates undefined entity "nios2_sys_jtag_uart"
Error (12006): Node instance "sysid" instantiates undefined entity "nios2_sys_sysid"
忽然就反应过来了,原来是Qsys生成的.v文件中有例化Qsys各个部分的语句,例化这些部分时其实还需要submodule文件夹中的对应的nios2_sys_onchip_mem.v等。这些文件虽然是系统生成的,但是是无法打开的,用户无法看到里面的具体内容。这是Altera在保护自己的技术吧。
然后的工作就是直接把submodule文件夹中的对应的nios2_sys_onchip_mem.v等几个.v文件加入项目中来再编译。成功了!
虽然没有什么技术含量,而且也是自己不小心造成的,权当自己的一点教训吧。学习的路还很长。