Error Message: Can not generate mask for the LMB peripherals

Advertisement
I've added a bunch of  perhipherals to my microblaze project and used the Generate Addresses button.  I get the below error messges when I try to generate a net list. ERROR:EDK:3193 - issued from TCL procedure
   "::hw_lmb_bram_if_cntlr_v2_10_b::update_syslevel_mask" line 88
    C_MASK (IPNAME:lmb_bram_if_cntlr, INSTANCE:ilmb_cntlr) - Can not generate
   mask for the LMB peripherals! An address decode mask is assigned to all LMB
   peripherals connected to the MicroBlaze processor. The address decode mask is
   based on a set of decode bits that distinguish the LMB address space from the
   OPB/PLB address space. The error message indicates that a set of decode bits
   can not be found to generate a mask. Please modify the address map of the
   slaves connected to OPB/PLB to use a common address bit.
ERROR:EDK:1585 - IPNAME:lmb_bram_if_cntlr INSTANCE:ilmb_cntlr -
   E:\Xilinx\11.1\EDK\hw\XilinxProcessorIPLib\pcores\lmb_bram_if_cntlr_v2_10_b\d
   ata\lmb_bram_if_cntlr_v2_1_0.mpd line 77 - error computing override value for
   C_MASK using tcl
ERROR:EDK:3193 - issued from TCL procedure
   "::hw_lmb_bram_if_cntlr_v2_10_b::update_syslevel_mask" line 88
    C_MASK (IPNAME:lmb_bram_if_cntlr, INSTANCE:dlmb_cntlr) - Can not generate
   mask for the LMB peripherals! An address decode mask is assigned to all LMB
   peripherals connected to the MicroBlaze processor. The address decode mask is
   based on a set of decode bits that distinguish the LMB address space from the
   OPB/PLB address space. The error message indicates that a set of decode bits
   can not be found to generate a mask. Please modify the address map of the
   slaves connected to OPB/PLB to use a common address bit.
ERROR:EDK:1585 - IPNAME:lmb_bram_if_cntlr INSTANCE:dlmb_cntlr -
   E:\Xilinx\11.1\EDK\hw\XilinxProcessorIPLib\pcores\lmb_bram_if_cntlr_v2_10_b\d
   ata\lmb_bram_if_cntlr_v2_1_0.mpd line 77 - error computing override value for
   C_MASK using tcl I understand its complaining about the mask values, but I'm not exactly sure why.  Here is the address map it shows:Address Map for Processor microblaze_0
  (0000000000-0x00003fff) dlmb_cntlr    dlmb
  (0000000000-0x00003fff) ilmb_cntlr    ilmb
  (0x81800000-0x8180ffff) xps_intc_0    mb_plb
  (0x81c00000-0x81c0ffff) xps_ll_temac_0    mb_plb
  (0x83400000-0x8340ffff) Generic_SPI    mb_plb
  (0x83c00000-0x83c0ffff) xps_timer_0    mb_plb
  (0x84000000-0x8400ffff) RS232    mb_plb
  (0x84400000-0x8440ffff) mdm_0    mb_plb
  (0x8c000000-0x8fffffff) mpmc_0    mb_plb
  (0xfffff000-0xffffffff) xps_gpio_0    mb_plb Any thoughts?  I was unable to find another instance of this error message.
Advertisement

Replay

Version 11.3 I actually figured it out, its rather odd that the generate addresses button doesn't do this automatically. It appears that the mask was set to trigger use of the cache on a single bit.  0x00800000.  I had enough devices added where automatic address generation was using the most significant bit meaning that bit was falling within other address spaces. I changed it to 0xFFFFC000.  (Basically telling it to match addresses if all address signals above 16KB are zero).  I don't know if that is the proper way to do it, but it accepted it.  Now I'm fighting with some stuff regarding an FSL bus I added that apparently isn't quite properly setup, so I haven't found out yet if the processor likes that address mask.   But the tools appear to like it.