You can do one of two things:
1. Instantiate the component. This has the advantage of precise control.
a. Directly as a primitive
b. Using coregen
2. Infer the device if your synthesis tool supports it. In the case of a
ROM, Synplify for example will only infer distributed RAM's, so you will
need to instantiate the device.
The messy part about 1a is that for simulation the values need to pass as
generics, while for synthesis, they need to pass as attributes.
For your ROM application, 1b. CoreGen really is the preferred answer, as
Xilinx has already built the wrapper, and you can specify the memory
contents in a .coe file using any radix that suits you. If you are using
ISE 4.1 / 4.2 just invoke the core generator, and specify the ROM that you
want. In the block ROM dialog select the Init file option and point to a
.coe file.
A .coe file is just a text file with two declarations: a radix declaration
and an initialization declaration. The initialization declaration begins at
location 0, separating each value with a comma, and terminating with a
semicolon.
Sample .coe file:
memory_initialization_radix=16; //could be 10, 8, etc
memory_initialization_vector=
00, //value @ 0
01,
fe,
dc,
...
03; //value at size-1
Regards,
"Peter Lang" <Peter...@rmvmachinevision.de> wrote in message
news:a8si48$2k2$05$1...@news.t-online.com...
> 2. Infer the device if your synthesis tool supports it. In the case of a
> ROM, Synplify for example will only infer distributed RAM's, so you will
> need to instantiate the device.
If the array of constant vectors is large enough,
Leonardo will use a block ram and even generate
the hex file for you. Synplify is usually very
competative with Leo, so I would be surprised
if it couldn't do the same thing.
See my previous ROM postings for an example.
-- Mike Treseler
As of version 7.03 which is the current shipping version, Synplify only
infers distributed ROM's. I don't know why they are lagging on this. Maybe
it has something to do with excessive distraction on this bizzare tri-state
push-through "feature".
Regards,
"Mike Treseler" <mike.t...@flukenetworks.com> wrote in message
news:3CB326CB...@flukenetworks.com...