本帖最后由 taogehao 于 2013-6-2 16:14 编辑
新手学习使用microblaze,在ise中添加embedded processor,XPS中添加bram,netlist成功,然后将microblaze作为子模块加入到sch文件中,综合,map,route成功,但是最后生成bit文件出错:
错误如下:
ERROR:Data2MEM:47 - Not all BitLanes in ADDRESS_SPACE
'microblaze_0.axi_bram_ctrl_0_bram_block_combined' have BMM location
constraints.
Some data for this ADDRESS_SPACE may be lost during BIT file
replacement. Verify that the BMM file has location constraints
for all BitLanes.
Bitlane(s)
----------------
XLXI_6/axi_bram_ctrl_0_bram_block/axi_bram_ctrl_0_bram_block/ramb36e1_6 [7:4]
XLXI_6/axi_bram_ctrl_0_bram_block/axi_bram_ctrl_0_bram_block/ramb36e1_7 [3:0]
XLXI_6/axi_bram_ctrl_0_bram_block/axi_bram_ctrl_0_bram_block/ramb36e1_4
[15:12]
XLXI_6/axi_bram_ctrl_0_bram_block/axi_bram_ctrl_0_bram_block/ramb36e1_5
[11:8]
XLXI_6/axi_bram_ctrl_0_bram_block/axi_bram_ctrl_0_bram_block/ramb36e1_2
[23:20]
XLXI_6/axi_bram_ctrl_0_bram_block/axi_bram_ctrl_0_bram_block/ramb36e1_3
[19:16]
XLXI_6/axi_bram_ctrl_0_bram_block/axi_bram_ctrl_0_bram_block/ramb36e1_0
[31:28]
XLXI_6/axi_bram_ctrl_0_bram_block/axi_bram_ctrl_0_bram_block/ramb36e1_1
[27:24]
ERROR:EDK:1001 - Data2Mem generated errors during execution
make: *** [implementation/download.bit] ´íÎó 1
ERROR:EDK -
Error while running "make -f bram_em_test.make init_bram".
ERROR: running XPS to load ELF data to bitstream failed.
ERROR: Bitstream data load failed, XPS did not generate E:/Users/taoge/Desktop/bram_test/embedded/bram_em_test/implementation/download.bit
Process "Generate Programming File" failed
BMM文件:
// BMM LOC annotation file.
//
// Release 14.5 - P.58f, build 3.0.7 Mar 3, 2013
// Copyright (c) 1995-2009 Xilinx, Inc. All rights reserved.
///////////////////////////////////////////////////////////////////////////////
//
// Processor 'microblaze_0', ID 100, memory map.
//
///////////////////////////////////////////////////////////////////////////////
ADDRESS_MAP microblaze_0 MICROBLAZE-LE 100
///////////////////////////////////////////////////////////////////////////////
//
// Processor 'microblaze_0' address space 'microblaze_0_bram_block_combined' 0x00000000:0x00007FFF (32 KBytes).
//
///////////////////////////////////////////////////////////////////////////////
ADDRESS_SPACE microblaze_0_bram_block_combined RAMB32 [0x00000000:0x00007FFF]
BUS_BLOCK
XLXI_6/microblaze_0_bram_block/microblaze_0_bram_block/ramb36e1_0 RAMB32 [31:28] [0:8191] INPUT = microblaze_0_bram_block_combined_0.mem PLACED = X0Y20;
XLXI_6/microblaze_0_bram_block/microblaze_0_bram_block/ramb36e1_1 RAMB32 [27:24] [0:8191] INPUT = microblaze_0_bram_block_combined_1.mem PLACED = X1Y22;
XLXI_6/microblaze_0_bram_block/microblaze_0_bram_block/ramb36e1_2 RAMB32 [23:20] [0:8191] INPUT = microblaze_0_bram_block_combined_2.mem PLACED = X2Y21;
XLXI_6/microblaze_0_bram_block/microblaze_0_bram_block/ramb36e1_3 RAMB32 [19:16] [0:8191] INPUT = microblaze_0_bram_block_combined_3.mem PLACED = X1Y23;
XLXI_6/microblaze_0_bram_block/microblaze_0_bram_block/ramb36e1_4 RAMB32 [15:12] [0:8191] INPUT = microblaze_0_bram_block_combined_4.mem PLACED = X2Y20;
XLXI_6/microblaze_0_bram_block/microblaze_0_bram_block/ramb36e1_5 RAMB32 [11:8] [0:8191] INPUT = microblaze_0_bram_block_combined_5.mem PLACED = X1Y21;
XLXI_6/microblaze_0_bram_block/microblaze_0_bram_block/ramb36e1_6 RAMB32 [7:4] [0:8191] INPUT = microblaze_0_bram_block_combined_6.mem PLACED = X1Y19;
XLXI_6/microblaze_0_bram_block/microblaze_0_bram_block/ramb36e1_7 RAMB32 [3:0] [0:8191] INPUT = microblaze_0_bram_block_combined_7.mem PLACED = X1Y20;
END_BUS_BLOCK;
END_ADDRESS_SPACE;
///////////////////////////////////////////////////////////////////////////////
//
// Processor 'microblaze_0' address space 'axi_bram_ctrl_0_bram_block_combined' 0x41418000:0x4141FFFF (32 KBytes).
//
///////////////////////////////////////////////////////////////////////////////
ADDRESS_SPACE axi_bram_ctrl_0_bram_block_combined RAMB32 [0x41418000:0x4141FFFF]
BUS_BLOCK
XLXI_6/axi_bram_ctrl_0_bram_block/axi_bram_ctrl_0_bram_block/ramb36e1_0 RAMB32 [31:28] [0:8191] INPUT = axi_bram_ctrl_0_bram_block_combined_0.mem;
XLXI_6/axi_bram_ctrl_0_bram_block/axi_bram_ctrl_0_bram_block/ramb36e1_1 RAMB32 [27:24] [0:8191] INPUT = axi_bram_ctrl_0_bram_block_combined_1.mem;
XLXI_6/axi_bram_ctrl_0_bram_block/axi_bram_ctrl_0_bram_block/ramb36e1_2 RAMB32 [23:20] [0:8191] INPUT = axi_bram_ctrl_0_bram_block_combined_2.mem;
XLXI_6/axi_bram_ctrl_0_bram_block/axi_bram_ctrl_0_bram_block/ramb36e1_3 RAMB32 [19:16] [0:8191] INPUT = axi_bram_ctrl_0_bram_block_combined_3.mem;
XLXI_6/axi_bram_ctrl_0_bram_block/axi_bram_ctrl_0_bram_block/ramb36e1_4 RAMB32 [15:12] [0:8191] INPUT = axi_bram_ctrl_0_bram_block_combined_4.mem;
XLXI_6/axi_bram_ctrl_0_bram_block/axi_bram_ctrl_0_bram_block/ramb36e1_5 RAMB32 [11:8] [0:8191] INPUT = axi_bram_ctrl_0_bram_block_combined_5.mem;
XLXI_6/axi_bram_ctrl_0_bram_block/axi_bram_ctrl_0_bram_block/ramb36e1_6 RAMB32 [7:4] [0:8191] INPUT = axi_bram_ctrl_0_bram_block_combined_6.mem;
XLXI_6/axi_bram_ctrl_0_bram_block/axi_bram_ctrl_0_bram_block/ramb36e1_7 RAMB32 [3:0] [0:8191] INPUT = axi_bram_ctrl_0_bram_block_combined_7.mem;
END_BUS_BLOCK;
END_ADDRESS_SPACE;
END_ADDRESS_MAP;
请高手帮帮忙,不胜感激!!!
xps中的设置如下:
|