8.1i EDK  – 当Virtex-4上的Block RAM内存大于64 KB时,设计失败-Altera-Intel社区-FPGA CPLD-ChipDebug

8.1i EDK – 当Virtex-4上的Block RAM内存大于64 KB时,设计失败

问题描述

当我在XPS中创建大于64 KB的Block RAM内存结构时,我的设计失败了。

解决/修复方法

XPS正在利用Virtex-4中的级联Block RAM功能。但是,Platgen创建了内存结构,使“UPPER”内存在“LOWER”内存之前就被软件应用程序填满。

要解决此问题:

1.在XPS中运行“创建网表”。

2.修改在项目实现目录中创建的“.bmm”文件的内存结构:

//文件:C:\ test_project \ 128k \ mytest_ml401_128K \ implementation \ system.bmm

ADDRESS_MAP microblaze_0 MICROBLAZE 100

ADDRESS_SPACE lmb_bram_combined COMBINED [0x00000000:0x0001ffff]

ADDRESS_RANGE RAMB16

BUS_BLOCK

lmb_bram / lmb_bram / ramb16_0 [31:31];

lmb_bram / lmb_bram / ramb16_1 [30:30];

lmb_bram / lmb_bram / ramb16_30 [1:1];

lmb_bram / lmb_bram / ramb16_31 [0:0];

END_BUS_BLOCK;

BUS_BLOCK

lmb_bram / lmb_bram / ramb16_32 [31:31];

lmb_bram / lmb_bram / ramb16_33 [30:30];

lmb_bram / lmb_bram / ramb16_62 [1:1];

lmb_bram / lmb_bram / ramb16_63 [0:0];

END_BUS_BLOCK;

END_ADDRESS_RANGE;

END_ADDRESS_SPACE;

END_ADDRESS_MAP;

至:

//文件:C:\ test_project \ 128k \ mytest_ml401_128K \ implementation \ system.bmm

ADDRESS_MAP microblaze_0 MICROBLAZE 100

ADDRESS_SPACE lmb_bram_combined COMBINED [0x00000000:0x0001ffff]

ADDRESS_RANGE RAMB16

BUS_BLOCK

lmb_bram / lmb_bram / ramb16_32 [31:31];

lmb_bram / lmb_bram / ramb16_33 [30:30];

lmb_bram / lmb_bram / ramb16_62 [1:1];

lmb_bram / lmb_bram / ramb16_63 [0:0];

END_BUS_BLOCK;

BUS_BLOCK

lmb_bram / lmb_bram / ramb16_0 [31:31];

lmb_bram / lmb_bram / ramb16_1 [30:30];

lmb_bram / lmb_bram / ramb16_30 [1:1];

lmb_bram / lmb_bram / ramb16_31 [0:0];

END_BUS_BLOCK;

END_ADDRESS_RANGE;

END_ADDRESS_SPACE;

END_ADDRESS_MAP;

3.在创建网表时查看日志文件,并从命令行重新运行NGDBuild,如在日志文件中运行,确保包含新修改的“.bmm”文件。

4.您现在可以在XPS中运行“创建比特流”。

这些问题已在最新的EDK 8.2i Service Pack中修复,可从以下位置获得:

http://www.xilinx.com/xlnx/xil_sw_updates_home.jsp

请登录后发表评论

    没有回复内容