how to build 32X32 LUT ROM

Hi all, i got a problem in building 32X32 LUT ROM from 32X1 ROM which is there in unisim library i am not able to figure the thing how we have to use 32 "init" values when using for generate the 32X32 ROM using 32X1 ROM can anyone help me in understanding the usage of INIT for the ROM

thanks

Regards Ramakrishna Bachimanchi

Reply to
bachimanchi
Loading thread data ...

Under the installation path for Xilinx tools should be /doc/usenglish/docs/lib/lib.pdf. In the index for this document search for ROM32x1. There are examples for both verilog and vhdl for init usage.

You also may want to use coregen. I think there is a ROM instantiator .... which lets you enter the parameters via a GUI. ( ughhh)

If there is still a problem, post back.

-- Regards, John Retta Owner and Designer Retta Technical Consulting Inc. Colorado based Xilinx Consultant

email : snipped-for-privacy@rtc-inc.com web :

formatting link

Reply to
John Retta

The INIT value sets the contents of your RAM or ROM in this case. As posted already by John look in the Libraries Guide. You will also find an instantiation template under the lightbulb icon in ISE. Beware though I don't believe that 32xn RAM/ROM primative components are working in Spartan-3 due to the fact that some of the LUT based ram/rom features were removed from the architecture. I have not checked this recently and the primatives may be now converted to macros and hence work. Any one from Xilinx listening care to comment or check the detail in the latest Libraries Guide?

The init values should be used on an individual basis so the one that you use on bit0 the string is made up of all you bit0's out together as zero. You may find using the alternative components RAM32X8S or RAM16X8S easier as they are working in bytes. These components can be considered as re-writeable ROMs (just don't write to get a normal ROM operation) as they can have loaded values at power-up unlike a conventional stand-alone SRAM.

John Adair Enterpoint Ltd. - Home of Raggedstone1. The Low Cost High Performance Spartan-3 Development Board.

formatting link

Reply to
John Adair

The 32 Init values are quite simple. Each ROM has one bit, each init value holds the value for that bit.

You can make a simple loop structure and procedure which will take 32 bit parameters and divide them into individual bits thereby allowing a sensible RAM/ROM structure to be created. I have done this for a 32x8 single port RAM and it works quite well.

Simon

Reply to
Simon Peacock

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.