Modelsim仿真PLL遇到的问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
今天在用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 才能正常工作。希望更清楚的朋友多多指教!