Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
13 years ago

Prevent Inferrance of Megafunctions

Hello,

I have a large shift-register that is being optimized by the synthesizer into a megafunction equivalent. The problem is, I need this register to stay a register (DFFs).

Is there a way to turn-off this optimization?

Thanks!

4 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    yes.

    go assignments -> settings -> analysis and synthesis settings -> more settings

    There is a setting called "auto shift register placements". Change this to "off".

    be wary though - these are global settings. I think these settings can be assigned to individual entites via assignments.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Right click on the hierarchy and Locate -> Assignment Editor. Copy and paste the name from the top filter bar to the To column. Auto Shift Register Replacement is the assignment again.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    The global assignment worked - but trying to assign this rule to a specific part of the design did not.

    I found the collection of registers that I need to apply the rule to via the drop-down menu in the 'To' textbox. I filtered on 'Registers: pre-synthesis' and added the name this way.

    The collection always has a question mark by it, and the tooltip says that the name is not recognized (which seems odd, because I got the name from the drop-down list).

    I've uploaded an image of this to google docs for reference:

    https://docs.google.com/open?id=0b4wyejzmihtnzmnkued6aevhrnc

    Any ideas?

    Thanks!