Hello, I have a block ram in my edk design.It is connected to lmb bram controller.I want to connect this controller to microblaze.Do i need an another lmb bus to connect microblaze or can i connect lmb controller to microblaze with auto-generated "dlmb " lmb bus of microblaze.If i connect with data bus ,what should i do about instruction lmb bus. Best wishes, Fatih Gunes
Connecting Bram LMB Controller to Microblaze
Started by ●July 24, 2007
Reply by ●July 24, 20072007-07-24
> I have a block ram in my edk design.It is connected to lmb bram > controller.I want to connect this controller to microblaze.Do i need an > another lmb bus to connect microblaze or can i connect lmb controller to > microblaze with auto-generated "dlmb " lmb bus of microblaze.If i connect > with data bus ,what should i do about instruction lmb bus.Like that : http://home.peufeu.com/nik/fpga/XPS_1.png
Reply by ●July 24, 20072007-07-24
> >> I have a block ram in my edk design.It is connected to lmb bram >> controller.I want to connect this controller to microblaze.Do i needan>> another lmb bus to connect microblaze or can i connect lmb controllerto>> microblaze with auto-generated "dlmb " lmb bus of microblaze.If iconnect>> with data bus ,what should i do about instruction lmb bus. > > > Like that : > http://home.peufeu.com/nik/fpga/XPS_1.png >Thank you for your help.But i want to connect a second bram to microblaze.How can i do that?
Reply by ●July 24, 20072007-07-24
On Tue, 24 Jul 2007 12:31:20 +0200, mfgunes <mfgunes@yahoo.com> wrote:>> >>> I have a block ram in my edk design.It is connected to lmb bram >>> controller.I want to connect this controller to microblaze.Do i need > an >>> another lmb bus to connect microblaze or can i connect lmb controller > to >>> microblaze with auto-generated "dlmb " lmb bus of microblaze.If i > connect >>> with data bus ,what should i do about instruction lmb bus. >> >> >> Like that : >> http://home.peufeu.com/nik/fpga/XPS_1.png >> > > Thank you for your help.But i want to connect a second bram to > microblaze.How can i do that?Ah, OK You can change the size of the BRAM (if you just need more space) instead of adding another one... Microblaze has 2 LMBs (data and instruction). You cannot add more LMBs, but you can connect several cores to each since it's a bus, not a P2P link. If you want to add another block of BRAM, instantiate 2 new lmb_bram_controllers, connect them to your LMBs (data & instruction) and to the new BRAM block.
Reply by ●July 24, 20072007-07-24
Thank you for your fast reply.But i need a empty port on bram.If i connect all of the ports (2 of them )to lmb controllers.I cant get a empty port on bram to connect my user implemented logic.I want a empty port(maked external) on bram.Can i connect bram to microblaze (with 1 lmb controller) using only one port?
Reply by ●July 24, 20072007-07-24
mfgunes schrieb:> Thank you for your fast reply.But i need a empty port on bram.If i connect > all of the ports (2 of them )to lmb controllers.I cant get a empty port on > bram to connect my user implemented logic.I want a empty port(maked > external) on bram.Can i connect bram to microblaze (with 1 lmb > controller) using only one port?You can connect one port of BRAM with one lmb_bram controller which in turn is attached to one of the LMB buses of your MicroBlaze. If you choose the DLMB the MicroBlaze will see additional data memory. Do not forget to assign an appropriate address range to the BRAM. The other port of the BRAM can be connected to your custon IP. I have an design with two MicroBlazes which communicate over such an shared BRAM. Each MicroBlaze is connected to one BRAM port over its dlmb. EDK 8.1 complains about "unusual number of BRAMs", and the Block Diagram report gets screwed up but otherwise the system works fine. Best regards, Andreas
Reply by ●July 24, 20072007-07-24
> You can connect one port of BRAM with one lmb_bram controller which in > turn is attached to one of the LMB buses of your MicroBlaze. If you > choose the DLMB the MicroBlaze will see additional data memory. Do not > forget to assign an appropriate address range to the BRAM. > > The other port of the BRAM can be connected to your custon IP.Yes, I also did exactly this, and it works very well. The CPU can read/write data in the BRAM block via one port, and your custom core can do the same via the other port. It's very useful. In another case, I needed DMA accesses via OPB and opb_central_dma to my BRAM block ; I also needed the CPU to access it, and a custom core needed access to it too. So I used opb_bram controller on the OPB bus connected to BRAM port A ; custom core to BRAM port B ; DMA and CPU access BRAM via OPB. Have a nice day, Pierre
Reply by ●July 25, 20072007-07-25
Reply by ●July 25, 20072007-07-25
Hi, You can actually add more lmb_bram_if_cntlr to the same lmb bus. This allows you to create more BRAMs on the same LMB bus. But it might have an impact on the maximum clock frequency since the BRAM outputs will be muxed in the LMB bus before reaching MicroBlaze. G�ran Bilski "mfgunes" <mfgunes@yahoo.com> wrote in message news:AYadnT0D4es-ZjvbRVn_vw@giganews.com...> These are very precious information:)Thank you very much > > Fatih Gunes