On Monday, October 22, 2012 12:41:40 PM UTC-5, Michael S wrote:
> On Oct 20, 7:58 pm, Luis Cupido <
cup...@ua.pt> wrote: > >> tell it by using keep attribute on those registers. Quartus gets really > >> silly sometimes inferring ram for few registers. > > >> Kaz > > >> --------------------------------------- > > > or set auto ram inference for shift registers off in compiler > > settings > > > kaz > > Thanks, Kaz. > > I'll be using the keep attribute. > > No chance to switch it all off, there are places where I do need ram. > > Great help. tks. > > Luis C. Keep attribute will typically produce non-optimal result. May be, you don't care. But if you do care, then go to all paces where you do need RAM and infer it explicitly via altsyncram, dcfifo, scfifo or other appropriate Altera primitives. After that nothing will prevent you from switching off global "auto ram replacement" option. In .qsf file: set_global_assignment -name AUTO_RAM_RECOGNITION OFF
Synplify has a "syn_ramstyle" attribute, which can take a value of "registers". Maybe Q has something similar?
"keep" would also keep the syntesis tool from optimizing out any registers that are always written with a constant.