Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
16594 Discussions

Quartus II / Stratix III synthesis problem.

Altera_Forum
Honored Contributor II
1,017 Views

Hello! 

 

I'm currently facing a very odd problem: An Input to a small shift register seems just not to be connected during synthesis. 

 

I've got a signal, that orginis from a VHDL unit (register output), lead to higher level design unit and then fed into another VHDL unit, where it should be fed into a 4-bit serial shift register. 

 

The design works perfectly in simulation, there is no sensitivity list issue and i can observe the signal input into the target unit (where it should go into the register) with the signal tap logîc analyzer (so it is not "synthesizerd away"...). It just doesn't register there. 

 

If I tie it to 1 permanently on the higher level and synthesize it, I can see the '1' shiftet in to the reigsters after reset. 

 

Why does it work with tied to '1' on higher level, but not with the real signal, although i can see it on the signaltap (after the position I tied to '1')? Further, I tried several other little design changes (adding registers, changing positions in port list, etc.). Another shift register in the same register block with a similar input signal work perfectly. 

 

I grepped through the various report, but got no hint that something is left away or so... 

 

Has anyone seen such an odd behaviour and what might be the reason / solution for this?  

 

Regards, 

Peter 

 

By the way: Im using an EP3SL70.
0 Kudos
4 Replies
Altera_Forum
Honored Contributor II
299 Views

 

--- Quote Start ---  

Hello! 

 

I'm currently facing a very odd problem: An Input to a small shift register seems just not to be connected during synthesis. 

 

I've got a signal, that orginis from a VHDL unit (register output), lead to higher level design unit and then fed into another VHDL unit, where it should be fed into a 4-bit serial shift register. 

 

The design works perfectly in simulation, there is no sensitivity list issue and i can observe the signal input into the target unit (where it should go into the register) with the signal tap logîc analyzer (so it is not "synthesizerd away"...). It just doesn't register there. 

 

If I tie it to 1 permanently on the higher level and synthesize it, I can see the '1' shiftet in to the reigsters after reset. 

 

Why does it work with tied to '1' on higher level, but not with the real signal, although i can see it on the signaltap (after the position I tied to '1')? Further, I tried several other little design changes (adding registers, changing positions in port list, etc.). Another shift register in the same register block with a similar input signal work perfectly. 

 

I grepped through the various report, but got no hint that something is left away or so... 

 

Has anyone seen such an odd behaviour and what might be the reason / solution for this?  

 

Regards, 

Peter 

 

By the way: Im using an EP3SL70. 

--- Quote End ---  

 

 

Hi Peter, 

 

when you use signaltap what kind of setting did you use for the selected nodes ? Pre-synthesis or post-fitting ? I suspect that your signal is removed by the synthesis engine. 

 

Kind regards  

 

GPK
0 Kudos
Altera_Forum
Honored Contributor II
299 Views

Hi GPK 

 

I use pre-synthesis taps. So they shouldn't be synthesized away (as I'm observing them). Anyway, from a functional point of view, the signals are toggling (I see the register input with usefull value, but the register don't get it, and I see the input at 1 when fixing it to 1, and the the register takes in the '1' as soon as reset is released...). Odd isn't it? 

 

Regards, 

Peter
0 Kudos
Altera_Forum
Honored Contributor II
299 Views

 

--- Quote Start ---  

Hi GPK 

 

I use pre-synthesis taps. So they shouldn't be synthesized away (as I'm observing them). Anyway, from a functional point of view, the signals are toggling (I see the register input with usefull value, but the register don't get it, and I see the input at 1 when fixing it to 1, and the the register takes in the '1' as soon as reset is released...). Odd isn't it? 

 

Regards, 

Peter 

--- Quote End ---  

 

 

Hi Peter, 

 

you can see the input signal of register in Signaltap and could not see in signaltap the right output of the register ??? 

 

Can you post your code or the Quartus project here, so that I can have a look to it ? 

 

Kind regards 

 

GPK
0 Kudos
Altera_Forum
Honored Contributor II
299 Views

 

--- Quote Start ---  

Hi Peter, 

 

you can see the input signal of register in Signaltap and could not see in signaltap the right output of the register ??? 

 

Can you post your code or the Quartus project here, so that I can have a look to it ? 

 

Kind regards 

 

GPK 

--- Quote End ---  

 

 

Hello GPK 

 

I tried to make an isolated testcase, but I failed so far.  

 

Furthermore I went on in my design with a workaround, that seemed to do quite well. In meantime, I'm even not capable to reproduce the original issue in the original code, nor did I understand what the problem was. Taking away the workaround now works quite well. I'll post the testcase if the problem occurs again. 

 

Thanks anyway for thinking about it... 

Peter
0 Kudos
Reply