是的,在Altera PLL宏功能中设置50%以上的占空比值时,可能会遇到输出时钟频率问题。使用Quartus®II13.0sp1及更早版本时可能会发生这种情况。
如果Altera PLL宏功能错误地计算C-Counter Hi Divide和C-Counter Low Divide参数,则会出现此问题。编译报告=> Fitter => Resource Section => PLL Usage Summary将显示实际输出时钟频率。如果报告的输出时钟频率不正确,则C-Counter Hi Divide或C-Counter Low Divide参数不正确。
解决/修复方法
C计数器用于将压控振荡器(VCO)频率分频为所需的输出频率。 C-Counter Hi Divide和C-Counter Low Divide参数的总和是VCO频率的结果分频器值。
例如,如果VCO以840 MHz运行,并且所需的输出时钟为105 MHz,则需要总分频值为8。对于50%占空比,高和低计数应在C计数器高分频和C计数器低分频参数之间平均分配,其中每个参数的分频值为4.要创建其他占空比值,可以根据需要调整C-Counter Hi Divide和C-Counter Low Divide参数。您需要确保这些参数的总和等于总分频值,以便生成所需的输出时钟频率。
如果总分频值是奇数值,那么如果需要50%的占空比,则需要打开C-Counter Odd Divide Enable参数。例如,如果VCO以840 MHz运行且所需输出时钟频率为120 MHz,则需要总分频值为7。在这种情况下, C-Counter Hi Divide参数为4, C-Counter Low Divide参数为3,并将C-Counter Odd Divide Enable参数设置为True 。如果需要50%以外的占空比,则需要根据需要调整C-Counter Hi Divide参数和C-Counter Low Divide参数。您需要确保这些参数的总和等于总分频值,以便生成所需的输出时钟频率。
要在您的设计中解决此问题,请打开<Altera PLL实例名称> _0002.v文件,并找到受影响的输出时钟的C-Counter Hi Divide和C-Counter Low Divide参数。根据需要调整这些参数,以创建正确的输出时钟频率和所需的占空比。
参考上面的示例,如果VCO以840 MHz运行且所需输出时钟频率为105 MHz且占空比为12.5%,则需要以下参数:
- C-Counter Hi Divide = 1
- C-Counter Low Divide = 7
- C-Counter Odd Divide Enable = False
由于Altera PLL宏功能计算中的问题,请为120 MHz输出时钟频率设置以下参数:
- C-Counter Hi Divide = 1
- C-Counter Low Divide = 6
- C-Counter Odd Divide Enable = True
要修复此示例中的参数,应将C-Counter Low Divide参数设置为7 ,并在<Altera PLL实例名称> _0002.v文件中将C-Counter Odd Divide Enable参数设置为False 。
此问题计划在Quartus II软件的未来版本中修复。
没有回复内容