# BRAM utilization - how to calculate

• posted

dear all

I have a question about calculating a BRAM utilzation.

I am using XC2VP30 and data sheet says

----------------------------- Block SelectRAM+

-----------------------------

18kb Blocks | Max. BRAM (kb)

-----------------------------

136 | 2448

-----------------------------

and in my MHS file, BRAM is specified as

----------------------------- ... BEGIN lmb_bram_if_cntlr # 64 kb PARAMETER C_BASEADDR = 0x00000000 PARAMETER C_BASEADDR = 0x0000ffff BUS_INTERFACE SLMB = ilmb ... END

BEGIN lmb_bram_if_cntlr # 64 kb PARAMETER C_BASEADDR = 0x00000000 PARAMETER C_BASEADDR = 0x0000ffff BUS_INTERFACE SLMB = dlmb ... END

-----------------------------

as far as I understand, the BRAM utilization should be

(64 + 64 ) kb / 2448 kb = 5.3 %

But log file says

----------------------------- Device utilization summary

Number of Block RAMs : 32 out of 136 23% ...

-----------------------------

I understand this as a NUMBER of BLOCKS out of total NUMBER of BLOCKS. Anyway, the memory utilization is very low.

Questions are

- Is my understanding correct ?

- How can we utilize more efficiently ?

Thankyou and thankyou for previous Q & A too.

• posted

"Jack" schrieb im Newsbeitrag news: snipped-for-privacy@z14g2000cwz.googlegroups.com...

Kbits !!

NO

64 KByte ! the ilmb and dlmb use A and B ports of the same 64KByte block

correct 32 brams, each 2KB = 64Kb

when counting bits each bram has 18bits so 2 bits are wasted, so the bit percent will differ a little

Antti

• posted

Each BRAM has 18kbit of memory

136 BRAM has 136*18kbit = 2448 kbit (not kbyte)

64 kbyte of memory is requiring 32 BRAMs (each BRAM has 2 kbyte of memory)

So 64 kbyte of memory is requiring 32 BRAMs which is 32/136 = 23% of the available BRAMs

Göran

Jack wrote:

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.