cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Observer
Observer
10,868 Views
Registered: ‎10-25-2014

Block Memory - Different Utilization with Simple Dual Port (SDP) and True Dual Port (TDP)

Jump to solution

Hello,

I would like to have a True Dual Port (TDP) ram with both ports configured to be 512 x 64 (depth x width).
If I configure the ram to be in Simple Dual Port (SDP) mode only one 36K BRAM is utilized as expected (sdp.png attachment).
However, in TDP mode two 36K BRAMs are utilized (tdp.png attachment).
Since the design is low on Block RAMs I would like to know how to fix this?

Thanks for your time.

sdp.png
tdp.png
0 Kudos
1 Solution

Accepted Solutions
Highlighted
Scholar
Scholar
21,168 Views
Registered: ‎04-26-2015

Re: Block Memory - Different Utilization with Simple Dual Port (SDP) and True Dual Port (TDP)

Jump to solution

Unfortunately that's a limitation of the 7-series block RAMs. In TDP mode, each 36K RAM can only support 36-bit width, so you need two of them to get the requested 64-bit width. In SDP mode the data width can double to 72-bit, so a single RAM is adequate.

 

There isn't any way to fix it. Either you modify the design to accept a thinner data bus (ie 36-bit), or you figure out a way to use SDP mode.

View solution in original post

2 Replies
Observer
Observer
10,863 Views
Registered: ‎10-25-2014

Re: Block Memory - Different Utilization with Simple Dual Port (SDP) and True Dual Port (TDP)

Jump to solution

Edit:
I use Vivado 2015.4 (but this also applies to previous versions) and a Zedboard.

Links to the png attachments in high resolution.
https://forums.xilinx.com/xlnx/attachments/xlnx/EDK/38699/1/sdp.png
https://forums.xilinx.com/xlnx/attachments/xlnx/EDK/38699/2/tdp.png

0 Kudos
Highlighted
Scholar
Scholar
21,169 Views
Registered: ‎04-26-2015

Re: Block Memory - Different Utilization with Simple Dual Port (SDP) and True Dual Port (TDP)

Jump to solution

Unfortunately that's a limitation of the 7-series block RAMs. In TDP mode, each 36K RAM can only support 36-bit width, so you need two of them to get the requested 64-bit width. In SDP mode the data width can double to 72-bit, so a single RAM is adequate.

 

There isn't any way to fix it. Either you modify the design to accept a thinner data bus (ie 36-bit), or you figure out a way to use SDP mode.

View solution in original post