Forum Discussion

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

analysis and optimization problem

Hello every body;

During the analysis and optimization of my project on Quarts 12, I found that there are some registers are removed and the reason are " Stuck at GND

due to stuck port data_in ", how can I prevent Quartus to remove these register.

Thanks

7 Replies

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

    --- Quote Start ---

    Hello every body;

    During the analysis and optimization of my project on Quarts 12, I found that there are some registers are removed and the reason are " Stuck at GND

    due to stuck port data_in ", how can I prevent Quartus to remove these register.

    Thanks

    --- Quote End ---

    if your logic is always '0' then you don't need register.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    As I just replied in the other thread, this occurs when a register is stuck at a specific value. Have you forgotten to connect a clock? or connected a clock enable to '0'?

    You can use the SYN_KEEP attribute to prevent it removing registers, but this is onyl for register you KNOW this message will occur for (like when you're putting in logic you only want connected to signaltap.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Thanks Mr Tricky for your reply

    My Register instance like This

    process(clk)

    begin

    if reset='0' then

    sIn <= (others => (others => x"00"));

    elsif rising_edge(clk) then

    sIn <= state_In;

    end if;

    end process;
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Well, theres a simulation bug in that reset is not in the sensitivity list.

    But this code tells us nothing for synthsis. What are clk and reset connected to? holding reset at '0' will also remove the register.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    clk and reset signals are exported and not connected to other signals. unless the system in a simulation phase, they connected to a generated clk and reset brought to high.

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

    If clk and reset are not connected to something (like a pin) then that is why the register is removed.

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

    Oh..

    I found that I tied the input data to a const vector, I export the input data port and the register merging removed, thanks Mr Tricky.

    But I didn't get the path timing yet, I need your help in it.