views:

23

answers:

1

Good day,

I am working on a Stratix III FPGA which contains M9K block memories, the contents of which are conveniently initialised to zero on power-on. This suits my application very well.

Is there a way to reset the contents back to zero without power-cycling/reflashing/etc the FPGA? There seems to be no such option in the megawizard plugin manager, and I would like to avoid wasting a bunch of logic which just goes and sequentially writes zero to every address...

I have looked around and there is no reference to such a mechanism, but I thought I'd ask just in case someone knew a handy trick :] By the way I'm working in VHDL but I should be able to translate any Verilog.

Datasheet (does not contain the answer!) : http://www.altera.com/literature/hb/stx3/stx3_siii51004.pdf

Thanks in advance,
- Thomas

PS: This be my first post here, so if I've violated any etiquette please let me know :)

+2  A: 

Sorry, the conventional ways to do that are:

  • to re-configure the fpga (you could trigger that from within your hardware if you don;t mind the whole thing "disappearing" while it reconfigures)
  • explicitly write zeros in (as you already suggested)

At the wackier end of the solution space, I guess you could also wire something up to the JTAG port if you already have a microcontroller either in the FPGA or outside - you might be able to overwrite the RAM contents that way too.

Martin Thompson
As I thought... Well I'll just add some logic to put some zeroes on the data bus and take it from there. Reconfiguring the whole FPGA is a bit slow and there's a nios2 with some code and everything so I think it'll be less hassle this way. Thanks, QATC
Thomas