UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 19786

6.3 EDK, MicroBlaze - Multiple LMB Controllers are mirrored

Description

General Description:  

Adding contiguous LMB controllers that have the same MSB in the address causes PlatGen to build an incorrect MASK parameter, causing the memory controllers to fail by mirroring transactions on each controller.

Solution

Here is an example of this problem. Consider a design with the following LMB configuration: 

 

BEGIN lmb_bram_if_cntlr 

... 

PARAMETER C_BASEADDR = 0x00000000 

PARAMETER C_HIGHADDR = 0x0000FFFF 

... 

END 

 

BEGIN lmb_bram_if_cntlr 

... 

PARAMETER C_BASEADDR = 0x00000000 

PARAMETER C_HIGHADDR = 0x0000FFFF 

... 

END 

 

BEGIN lmb_bram_if_cntlr 

... 

PARAMETER C_BASEADDR = 0x00010000 

PARAMETER C_HIGHADDR = 0x00017FFF 

... 

END 

 

BEGIN lmb_bram_if_cntlr 

... 

PARAMETER C_BASEADDR = 0x00010000 

PARAMETER C_HIGHADDR = 0x00017FFF 

... 

END 

 

BEGIN lmb_bram_if_cntlr 

... 

PARAMETER C_BASEADDR = 0x00018000 

PARAMETER C_HIGHADDR = 0x0001BFFF 

... 

END 

 

BEGIN lmb_bram_if_cntlr 

... 

PARAMETER C_BASEADDR = 0x00018000 

PARAMETER C_HIGHADDR = 0x0001BFFF 

... 

END  

 

The 0x00000000 - 0x0000FFFF address range 0x0000xxxx masks the bits of other LMB address in the same range. 

 

So, address 0x00010000-0x00017FFF would look like 0x0001xxxx in the same range. Also, address 0x00018000-0x0001BFFF would look like 0x0001xxxx. Thus, there is no distinguishing bit to differentiate these addresses from another. They both have 0x0001xxxx mask bits in the same range. This will cause the second and third LMB controllers to fail. But modifying the address 0x00018000-0x0001BFFF to 0x00028000-0x0002BFFF creates a bit difference to differentiate all LMB addresses in the viewable mask range.  

 

In other words, the MSB must be unique for each LMB controller.  

 

This limitation will go away and be fixed in EDK 7.1.

AR# 19786
Date Created 09/03/2007
Last Updated 05/16/2014
Status Archive
Type General Article