From: Martin Thompson on
"Martin Schoeberl" <mschoebe(a)mail.tuwien.ac.at> writes:

> >>
> >>For Xilinx I only know those RAMB16_S9_S36 components where
> >>the memory size is part of the component name. Is there a
> >>a Xilinx block RAM component where I can specify the size?
> >>
> > NO, but you can use GENERATE (assuming VHDL) to switch between
> > different bram geometries Aurelian
> >
> Really, that's it? Not very comfortable - a plus for Quartus.
>
> Perhaps one in this group has already done this coding effort
> and can provide the VHDL file?
>

I have done some, although I haven't covered all the various options -
unfortunately within work time, so I can't post them :-(

I based it on the ideas in David Kessner's Free-IP RAM library if that
helps... I can't seem to find it out there on the web anymore.

The wayback machine has it though...
http://web.archive.org/web/20040519060445/http://www.free-ip.com/
http://web.archive.org/web/20040605072636/www.free-ip.com/ramlib/index.html

Sorry to be no more help!
Martin

--
martin.j.thompson(a)trw.com
TRW Conekt - Consultancy in Engineering, Knowledge and Technology
http://www.trw.com/conekt

From: Martin Schoeberl on
> I have done some, although I haven't covered all the various options -
> unfortunately within work time, so I can't post them :-(

That's fine, not everything can be open-source ;-)
And this work should be done by Xilinx (as you wrote
in the other post).

>
> I based it on the ideas in David Kessner's Free-IP RAM library if that
> helps... I can't seem to find it out there on the web anymore.
>
> The wayback machine has it though...
> http://web.archive.org/web/20040519060445/http://www.free-ip.com/
> http://web.archive.org/web/20040605072636/www.free-ip.com/ramlib/index.html

But the .zip files are not archieved :-(

Martin


From: Ray Andraka on
Martin Schoeberl wrote:


> For Xilinx I only know those RAMB16_S9_S36 components where
> the memory size is part of the component name. Is there a
> a Xilinx block RAM component where I can specify the size?
>
> Thanks,
> Martin
>
>

There is for Virtex4: the Ramb16 component sets the aspect ratio with
generics/attributes. It, however, is not backwards compatible with the
earlier families.

You can write a single file that uses generate to select the appropriate
BRAM size based on input widths or generics. Once written, it can be
used in many projects, so hopefully you can ammortize the coding effort
over many projects. Once done, the generates are transparent to the end
user unless he decides he has to look under the hood to see what the
generic RAM you created has under the hood.
From: ralfsmith on
Can you provide me more information on this matter?

johntvery(a)operamail.com

johntvery(a)hotmail.com

From: fjh-mailbox-38@galois.com on
The Virtex 4 "RAMB16" component lets you set the aspect ratio with
generics/attributes. But it still only generates a single BlockRAM. If
you want a RAM which is larger than 18kbits, then you need to
instantiate the RAMB16 component multiple times.

--
Fergus J. Henderson "I have always known that the pursuit
Galois Connections, Inc. of excellence is a lethal habit"
Phone: +1 503 626 6616 -- the last words of T. S. Garp.