Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

tell QuartusII to use registers and not RAM

78 views
Skip to first unread message

Luis Cupido

unread,
Oct 18, 2012, 11:18:31 PM10/18/12
to
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.



kaz

unread,
Oct 19, 2012, 4:29:24 PM10/19/12
to
tell it by using keep attribute on those registers. Quartus gets really
silly sometimes inferring ram for few registers.

Kaz

---------------------------------------
Posted through http://www.FPGARelated.com

kaz

unread,
Oct 19, 2012, 4:38:31 PM10/19/12
to
or set auto ram inference for shift registers off in compiler
settings

kaz

Luis Cupido

unread,
Oct 20, 2012, 1:58:20 PM10/20/12
to
>>>
>>>
>> 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.



Michael S

unread,
Oct 22, 2012, 1:41:40 PM10/22/12
to
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

jone...@comcast.net

unread,
Oct 24, 2012, 9:18:47 AM10/24/12
to
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.

Andy

0 new messages