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

Issue when manually instantiating clock buffers in Arria 10

jrrguzman
新分销商 I
1,767 次查看

Hi,

 

I'm using a signal which is used in the design as logic and as clock (at separate locations).

 

If I just run the design flow, Quartus (Prime Standard 17.0) is able to instantiate a clock buffer (CLKCTRL element) at the right place. However if I try to instantiate the clock buffer myself within the code (so I can define the clock in the global constraints file), the fitter tells me that it can't find a proper location for the buffer...

 

Is there something fundamentally wrong if I try to instantiate the buffer manually or is it another Quartus bug? It's quite frustrating because I think I am essentially doing the same as the Fitter does by itself.

 

Cheers

0 项奖励
1 解答
jrrguzman
新分销商 I
1,227 次查看

Hi all,

 

I figured out the issue: The signal that I'm trying to buffer comes from a LVDS input and I do not instantiate the differential input buffer manually. At this point if I run the fitter-placement, it seems the clock buffer is placed before the inferred differential input buffer and it makes the fitter fail miserably because it can't find the signal, although synthesis has already inferred the LVDS input buffer. (@GNg​ Maybe something you should consider fixing for next Quartus releases).

 

To work-around that, I had to manually instantiate the differential input buffer ussing the ALTERA primitive: ALT_INBUF_DIFF. With that in place Quartus does not complain and gets me a clean implementation.

 

Cheers

在原帖中查看解决方案

0 项奖励
3 回复数
sstrell
名誉分销商 III
1,228 次查看

How are you instantiating and connecting the clock control block to the rest of your design? Is it fed directly by an external clock or an internal signal in your design? If you show the code that may help. There must be some conflict. Can you also post the error messages the Fitter is giving you?

 

#iwork4intel

0 项奖励
GuaBin_N_Intel
1,228 次查看
Which clock network are you choosing, eg global , regional or others https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/nios2/n2sw_nii52006.pdf, Table 2-1? Each mode has routing limitation and could give similar error when either your reference clock pin or PLL location could not reach it . Please see https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/arria-10/a10_handbook.pdf, 4.1.3 ,pg 75
0 项奖励
jrrguzman
新分销商 I
1,228 次查看

Hi all,

 

I figured out the issue: The signal that I'm trying to buffer comes from a LVDS input and I do not instantiate the differential input buffer manually. At this point if I run the fitter-placement, it seems the clock buffer is placed before the inferred differential input buffer and it makes the fitter fail miserably because it can't find the signal, although synthesis has already inferred the LVDS input buffer. (@GNg​ Maybe something you should consider fixing for next Quartus releases).

 

To work-around that, I had to manually instantiate the differential input buffer ussing the ALTERA primitive: ALT_INBUF_DIFF. With that in place Quartus does not complain and gets me a clean implementation.

 

Cheers

0 项奖励
回复