Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21615 Discussions

analysis and optimization problem

Altera_Forum
Honored Contributor II
2,460 Views

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
0 Kudos
7 Replies
Altera_Forum
Honored Contributor II
1,680 Views

 

--- 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.
0 Kudos
Altera_Forum
Honored Contributor II
1,680 Views

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.
0 Kudos
Altera_Forum
Honored Contributor II
1,680 Views

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;
0 Kudos
Altera_Forum
Honored Contributor II
1,680 Views

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.
0 Kudos
Altera_Forum
Honored Contributor II
1,680 Views

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.

0 Kudos
Altera_Forum
Honored Contributor II
1,680 Views

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

0 Kudos
Altera_Forum
Honored Contributor II
1,680 Views

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.
0 Kudos
Reply