原创 ISE与EDK联合设计报错 ERROR:NgdBuild:604 logical block

2010-12-29 09:29 8724 13 14 分类: FPGA/CPLD

做一个很简单的测试

在ISE的SCH里调用EDK的symbol,EDK的功能也很简单,就是CPU通过串品打印一串字符

首先,我建一个ISE工程
再建一source  sch类型,并设置为顶层,取名为top.sch
再建一source  类型为Embedded processor,取名为mycpu
然后EDK自动打开,我根据向导添加外设,设置时钟,直到finish
然后在edk下generate netlist, generate lib and bsp,builder all user app。
再回到ISE下,选中mycpu, create schematic symbol,并将该symbol添加到top.sch中
再添加端口,约束管脚
最后综合,生成bit

但到Translate 时,就通不过了

报如下错误

软件为12.2版本

Processing BMM file "edkBmmFile.bmm" ...
ERROR:NgdBuild:989 - Failed to process BMM information edkBmmFile.bmm
Checking expanded design ...
ERROR:NgdBuild:604 - logical block 'microblaze_0/proc_sys_reset_0' with type
   'proc_sys_reset_0_wrapper' could not be resolved. A pin name misspelling can
   cause this, a missing edif or ngc file, case mismatch between the block name
   and the edif or ngc file name, or the misspelling of a type name. Symbol
   'proc_sys_reset_0_wrapper' is not supported in target 'spartan3a'.
ERROR:NgdBuild:604 - logical block 'microblaze_0/mdm_0' with type
   'mdm_0_wrapper' could not be resolved. A pin name misspelling can cause this,
   a missing edif or ngc file, case mismatch between the block name and the edif
   or ngc file name, or the misspelling of a type name. Symbol 'mdm_0_wrapper'
   is not supported in target 'spartan3a'.
ERROR:NgdBuild:604 - logical block 'microblaze_0/clock_generator_0' with type
   'clock_generator_0_wrapper' could not be resolved. A pin name misspelling can
   cause this, a missing edif or ngc file, case mismatch between the block name
   and the edif or ngc file name, or the misspelling of a type name. Symbol
   'clock_generator_0_wrapper' is not supported in target 'spartan3a'.
ERROR:NgdBuild:604 - logical block 'microblaze_0/RS232' with type
   'rs232_wrapper' could not be resolved. A pin name misspelling can cause this,
   a missing edif or ngc file, case mismatch between the block name and the edif
   or ngc file name, or the misspelling of a type name. Symbol 'rs232_wrapper'
   is not supported in target 'spartan3a'.
ERROR:NgdBuild:604 - logical block 'microblaze_0/lmb_bram' with type
   'lmb_bram_wrapper' could not be resolved. A pin name misspelling can cause
   this, a missing edif or ngc file, case mismatch between the block name and
   the edif or ngc file name, or the misspelling of a type name. Symbol
   'lmb_bram_wrapper' is not supported in target 'spartan3a'.
ERROR:NgdBuild:604 - logical block 'microblaze_0/ilmb_cntlr' with type
   'ilmb_cntlr_wrapper' could not be resolved. A pin name misspelling can cause
   this, a missing edif or ngc file, case mismatch between the block name and
   the edif or ngc file name, or the misspelling of a type name. Symbol
   'ilmb_cntlr_wrapper' is not supported in target 'spartan3a'.
ERROR:NgdBuild:604 - logical block 'microblaze_0/dlmb_cntlr' with type
   'dlmb_cntlr_wrapper' could not be resolved. A pin name misspelling can cause
   this, a missing edif or ngc file, case mismatch between the block name and
   the edif or ngc file name, or the misspelling of a type name. Symbol
   'dlmb_cntlr_wrapper' is not supported in target 'spartan3a'.
ERROR:NgdBuild:604 - logical block 'microblaze_0/dlmb' with type 'dlmb_wrapper'
   could not be resolved. A pin name misspelling can cause this, a missing edif
   or ngc file, case mismatch between the block name and the edif or ngc file
   name, or the misspelling of a type name. Symbol 'dlmb_wrapper' is not
   supported in target 'spartan3a'.
ERROR:NgdBuild:604 - logical block 'microblaze_0/ilmb' with type 'ilmb_wrapper'
   could not be resolved. A pin name misspelling can cause this, a missing edif
   or ngc file, case mismatch between the block name and the edif or ngc file
   name, or the misspelling of a type name. Symbol 'ilmb_wrapper' is not
   supported in target 'spartan3a'.
ERROR:NgdBuild:604 - logical block 'microblaze_0/mb_plb' with type
   'mb_plb_wrapper' could not be resolved. A pin name misspelling can cause
   this, a missing edif or ngc file, case mismatch between the block name and
   the edif or ngc file name, or the misspelling of a type name. Symbol
   'mb_plb_wrapper' is not supported in target 'spartan3a'.
ERROR:NgdBuild:604 - logical block 'microblaze_0/microblaze_0' with type
   'microblaze_0_wrapper' could not be resolved. A pin name misspelling can
   cause this, a missing edif or ngc file, case mismatch between the block name
   and the edif or ngc file name, or the misspelling of a type name. Symbol
   'microblaze_0_wrapper' is not supported in target 'spartan3a'.
Partition Implementation Status
-------------------------------
  No Partitions were found in this design.
-------------------------------
NGDBUILD Design Results Summary:
  Number of errors:    12
  Number of warnings:   0
Total REAL time to NGDBUILD completion:  3 sec
Total CPU time to NGDBUILD completion:   3 sec
One or more errors were found during NGDBUILD.  No NGD file will be written.
Writing NGDBUILD log file "top.bld"...
Process "Translate" failed


后来看到官方的解释


http://www.xilinx.com/support/answers/38262.htm


说是在ISE12.2的版本中,ISE只复制了顶层的NGC文件,即mycpu.ngc,而顶层mycpu还包含其它ngc文件,因此找不到,报错。


解决办法是:在mycpu module前面加上


(* box_type = "user_black_box" *)


如:


(* box_type = "user_black_box" *)
   mycpu  my_cpu_moudle (.fpga_0_clk_1_sys_clk_pin(sys_clk),
                        .fpga_0_rst_1_sys_rst_pin(sys_rst_n),
                        .fpga_0_RS232_RX_pin(uart_rxd),
                        .fpga_0_RS232_TX_pin(uart_txd),
                        .led_out_GPIO_IO_O_pin(led_out[0:3]));


就可以了


SuperX-man 解释说:


  “你知道我们调用的IP核的内部结构都是保密的,也就是BLACK BOX,加了这一句,也就是指向了你导入的那些东西,不加的话,指向性就不明确了,所以报错说找不到.”


网友TOTO无烦忧也给出了解决的方法


 在ISE 的processes栏下,选中Translate,右键process propreties.....

弹出Translate Properties对话框,

在-sd  macro search path 中加上EDK工程的implementation子目录的路径

就可以了


EDK生成的NGC都是在implementation目录的。


下面是原帖讨论的地址:


http://bbs.21ic.com/icview-213795-1-1.html

文章评论1条评论)

登录后参与讨论

用户403665 2011-12-6 09:52

请教下,EDK工程的implementation子目录的路径,是在ise安装路径下,还是所建工程的路径,两个找过了都没找到该路径。求高手给予指点,路径具体位置?

tengjingshu_112148725 2009-9-27 09:04

看过
相关推荐阅读
用户1278632 2011-09-15 12:49
解决FPGA配置成功,但不能初始化运行的BUG
摘要:    遇到两次FPGA配置完成,却不能正常运行的问题,一次是ALTERA的A1C3,另一次是XILINX的XC3S700A。两次都是DONE信号的问题。问题虽不大,但却很折腾人,今天在这里作下...
用户1278632 2011-09-15 12:41
Code Edit的神器UltraEdit
摘要:      我不是一个专职的程序员,但经常会要写一些单片机底层的code和hdl code,起初用UE,是因为查找和批量修改很方便,而且不会额外的生成一些“垃圾”文件;现在用UE三年多了,一直都...
用户1278632 2010-12-22 14:49
EDK12.2中 mch_emc IP的时序问题
mch_emc IP可以将PLB总线时序转为inter 8080时序 下面是我用chipscope抓到的波形Mem_DQ_O_In :  数据输入 Mem_OEN:      读信号  Mem_A: ...
用户1278632 2010-12-22 14:29
xilinx FPGA的配制与应用程序引导-范例
两个Xilinx FPGA应用程序引导的范例1、run_in_flash是直接在NOR FLASH里运行程序2、spi_flash_boot是将BIT和bootloader和APP全部固化到SPI F...
用户1278632 2010-12-19 13:48
EDK下sram IP的使用
EDK软件的memory and memory controller中有一个xps multi-channel external memory controller(sram/flash)的IP,用来...
我要评论
1
13
关闭 站长推荐上一条 /2 下一条