From: Martin Thompson on 25 Nov 2005 08:53 "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 27 Nov 2005 19:05 > 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 28 Nov 2005 17:26 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 28 Nov 2005 20:16 Can you provide me more information on this matter? johntvery(a)operamail.com johntvery(a)hotmail.com
From: fjh-mailbox-38@galois.com on 29 Nov 2005 05:26
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. |