Question

I would like to initiate some BRAMs (I'm using Xilinx FPGAs and ISE) with data from an image. It's bound to be through coe files but how? I could write a Java applet to manually construct the coe files (have done so before with C++) but I'm looking for a quicker solution.

Thanks

Was it helpful?

Solution

Various possibilities:

  • If you are inferring the BRAMs, you can initialise them in the HDL source with an array of data.
  • You can use Data2MEM to update an existing bitstream with new BRAM contents
  • As you say, COE files are a possibility
  • I believe you can use $readmem functions if you are using Verilog

None of which directly takes your source image in I'm afraid.

If you can get your image into PGM format, and are using VHDL, you might be able to use functions from here:

https://github.com/martinjthompson/image_processing_examples

A full description of the code can be found here:

http://www.parallelpoints.com/node/65/ and http://www.parallelpoints.com/node/66/

I've never tried to use them to initialise memory in synthesisable code though...

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top