Dual-port and single-port BlockRAM instantiation

A

arkaitz

Guest
Hi all,

I am working with a 1 million gate Virtex II FPGA. I am instantiating
large amounts of Block RAMs in my design and even though I am using
Single-Port ones, I would like to know if there would be a trouble to
instantiate them as Dual-Port ones. I mean, would it need twice the Block RAMs
I am using now, or would it just configure them as Dual-Port?

Thanks,

Arkaitz.
 
A dual-port BlockRAM has exactly the same data storage capacity as a
single-port RAM, 18Kbits in the Virtex-II case.
As a dual-port RAM it just has an additional access ( read or write)
port, nothing else.

Peter Alfke, Xilinx Applications
==================
arkaitz wrote:
Hi all,

I am working with a 1 million gate Virtex II FPGA. I am instantiating
large amounts of Block RAMs in my design and even though I am using
Single-Port ones, I would like to know if there would be a trouble to
instantiate them as Dual-Port ones. I mean, would it need twice the Block RAMs
I am using now, or would it just configure them as Dual-Port?

Thanks,

Arkaitz.
 
Your tools may combine two single port memories into one dual-port if the
memory sizes are compatible. By instantiating the dual-port, you no longer
have the option of the combination. The tool flow you use may not take
advantage of this packing anyway, so the point might be moot.

Check what your BlockRAM usage is - see if the tools are already
implementing two single-port memories in a dual-port. As long as the total
number of BlockRAMs you infer and instatiate fit within the available number
of BlockRAMs for the device, you're set.


"arkaitz" <arkagaz@yahoo.com> wrote in message
news:c1408b8c.0312050623.52b9b1fa@posting.google.com...
Hi all,

I am working with a 1 million gate Virtex II FPGA. I am instantiating
large amounts of Block RAMs in my design and even though I am using
Single-Port ones, I would like to know if there would be a trouble to
instantiate them as Dual-Port ones. I mean, would it need twice the Block
RAMs
I am using now, or would it just configure them as Dual-Port?

Thanks,

Arkaitz.
 
There is a nifty trick:
If you need several single-port memories of up to 8Kbit size each, then
you can put two of them into one dual-port RAM, if you make sure that
the two ports never address the same RAM space (Make one port's MSB
High, the other one's MSB Low.
If you think about it, you can of course take any other address bit
position and drive it permanently High for one port, Low for the other.
And you can even divide the RAM in a not-50-50 manner, but that requires
slightly more complex addressing control.

Peter Alfke
============
John_H wrote:
Your tools may combine two single port memories into one dual-port if the
memory sizes are compatible. By instantiating the dual-port, you no longer
have the option of the combination. The tool flow you use may not take
advantage of this packing anyway, so the point might be moot.

Check what your BlockRAM usage is - see if the tools are already
implementing two single-port memories in a dual-port. As long as the total
number of BlockRAMs you infer and instatiate fit within the available number
of BlockRAMs for the device, you're set.

"arkaitz" <arkagaz@yahoo.com> wrote in message
news:c1408b8c.0312050623.52b9b1fa@posting.google.com...
Hi all,

I am working with a 1 million gate Virtex II FPGA. I am instantiating
large amounts of Block RAMs in my design and even though I am using
Single-Port ones, I would like to know if there would be a trouble to
instantiate them as Dual-Port ones. I mean, would it need twice the Block
RAMs
I am using now, or would it just configure them as Dual-Port?

Thanks,

Arkaitz.
 
It should use the same amount of block ram whether configured
as single or dual ported RAM. You can look at the log to be sure
how many block ram are actually utilized.

arkagaz@yahoo.com (arkaitz) wrote in message news:<c1408b8c.0312050623.52b9b1fa@posting.google.com>...
Hi all,

I am working with a 1 million gate Virtex II FPGA. I am instantiating
large amounts of Block RAMs in my design and even though I am using
Single-Port ones, I would like to know if there would be a trouble to
instantiate them as Dual-Port ones. I mean, would it need twice the Block RAMs
I am using now, or would it just configure them as Dual-Port?

Thanks,

Arkaitz.
 
Thanks a lot for your help.

Best regards,

Arkaitz.

Peter Alfke <peter@xilinx.com> wrote in message news:<3FD10E63.5947DE27@xilinx.com>...
There is a nifty trick:
If you need several single-port memories of up to 8Kbit size each, then
you can put two of them into one dual-port RAM, if you make sure that
the two ports never address the same RAM space (Make one port's MSB
High, the other one's MSB Low.
If you think about it, you can of course take any other address bit
position and drive it permanently High for one port, Low for the other.
And you can even divide the RAM in a not-50-50 manner, but that requires
slightly more complex addressing control.

Peter Alfke
============
John_H wrote:

Your tools may combine two single port memories into one dual-port if the
memory sizes are compatible. By instantiating the dual-port, you no longer
have the option of the combination. The tool flow you use may not take
advantage of this packing anyway, so the point might be moot.

Check what your BlockRAM usage is - see if the tools are already
implementing two single-port memories in a dual-port. As long as the total
number of BlockRAMs you infer and instatiate fit within the available number
of BlockRAMs for the device, you're set.

"arkaitz" <arkagaz@yahoo.com> wrote in message
news:c1408b8c.0312050623.52b9b1fa@posting.google.com...
Hi all,

I am working with a 1 million gate Virtex II FPGA. I am instantiating
large amounts of Block RAMs in my design and even though I am using
Single-Port ones, I would like to know if there would be a trouble to
instantiate them as Dual-Port ones. I mean, would it need twice the Block
RAMs
I am using now, or would it just configure them as Dual-Port?

Thanks,

Arkaitz.
 

Welcome to EDABoard.com

Sponsor

Back
Top