原创 Modelsim仿真PLL遇到的问题

2010-3-21 17:28 5854 11 11 分类: FPGA/CPLD

      今天在用Modelsim做一个后仿真的时候,发现PLL的没有输出,在设定不同的测试时钟频率的时候,出现一下三种情况:


(1)当输入时钟周期小于在例化PLL时选择的输入时钟周期时,在运行仿真时,会出现以下警告信息:


      Warning : Input clock freq. is under VCO range. Cyclone III PLL may lose lock


(2)当输入时钟周期大于在例化PLL时选择的输入时钟周期时,在运行仿真时,会出现以下警告信息:


      Warning : Input clock freq. is over VCO range. Cyclone III PLL may lose lock


      这上面这两种情况下,PLL都不会正常工作。如果出现上面第一种情况,可以将输入测试时钟的周期设置大一些。如果出现第二种情况,可以将输入测试时钟的周期设置小一些。


(3)当输入时钟周期等于在例化PLL时选择的输入时钟周期时,在运行仿真时,会出现以下信息:


      Note : Cyclone III PLL locked to incoming clock


      这有这种情况下PLL才能正常工作


      根据以上这三种情况,我判断应该是在编译后生成的.vo文件中,包含了PLL的设置信息,如PLL的输入频率。但是我也发现比较困惑的一点就是输入测试时钟的频率和例化PLL时设置的输入时钟频率也不一定非要相等,PLL才能工作。不知道这是什么原因。


      但是也并不是只要将测试时钟的频率设定为与PLL的输入时钟完全相同时就一定可以正常工作,例如我例化的PLL的输入时钟频率为400MHz(从器件手册上看,Cyclone III 的PLL输入是支持这么高的频率的),在测试时我把输入测试时钟的频率设置为2.5ns,但是PLL没有输出。当我改为5ns的时候就有输出了。


      另外,在进行前仿真是,也发现了同样的问题,即如果PLL的输入时钟频率不合适那么PLL将不能够工作,只不过在PLL不能正常工作的时候,Modelsim没有任何提醒,只有在正常工作时,才出现Note : Cyclone III PLL locked to incoming clock。并且设置测试时钟的频率也不一定非要与PLL的输出时钟频率相同才能正常工作。


      不知道测试时钟的频率应该在一个什么范围内,PLL才能正常工作。希望更清楚的朋友多多指教!

文章评论0条评论)

登录后参与讨论
我要评论
0
11
关闭 站长推荐上一条 /2 下一条