tell QuartusII to use registers and not RAM

Hi,

I'm run out of M9K resources on a design while logic is less than 15% used... and I have a few components in the design with small pipelines etc that compiler infers RAM and I don't want to.

What should I do to force QuartusII to use registers in those places where using m9K is not desirable ?

Thanks.

Luis C.

Reply to
Luis Cupido
Loading thread data ...

where

tell it by using keep attribute on those registers. Quartus gets really silly sometimes inferring ram for few registers.

Kaz

--------------------------------------- Posted through

formatting link

Reply to
kaz

or set auto ram inference for shift registers off in compiler settings

kaz

--------------------------------------- Posted through

formatting link

Reply to
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.

Reply to
Luis Cupido

y

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

Reply to
Michael S

sing keep attribute on those registers. Quartus gets really > >> silly some times inferring ram for few registers. > > >> Kaz > > >> ------------------

--------------------- > > > or set auto ram inference for shift registers o ff in compiler > > settings > > > kaz > > Thanks, Kaz. > > I'll be using th e keep attribute. > > No chance to switch it all off, there are places wher e I do need ram. > > Great help. tks. > > Luis C. Keep attribute will typic ally 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 al tsyncram, 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 "registe rs". Maybe Q has something similar?

"keep" would also keep the syntesis tool from optimizing out any registers that are always written with a constant.

Andy

Reply to
jonesandy

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.