关于Quartus中错误信息PLL must be driven by a non-inverted input clock pin的解释
来源:互联网 发布:福州大学网络vpn 编辑:程序博客网 时间:2024/05/23 20:47
曾经在使用Quartus的PLL时,出现如下错误。
这个错误信息的意思是:PLL必须由同相的时钟输入引脚驱动。
这就跟我们用LEs实现的IP有区别了。先看一下手册。
红圈部分已经说明了PLL只能连CLK0、CLK1、CLK2、CLK3,这四个引脚(再通过选择器来选择其中一路时钟做为PLL的输入),除此之外都连不了。
再看看开发板上的原理图。
上面两张图,很清晰地告诉你,有源晶振接了CLK0和CLK4。正好,这块FPGA,有两个PLL,也就是说这两个PLL都能使用有源晶振做为PLL的输入。
此外,每四路时钟输入引脚做为一组给PLL提供输入,所以,这里8个时钟输入引脚,为2个PLL提供输入。
手册上面,也很明确地写出来了。n为0,就对应PLL1;n为1,就对应PLL2,我这里的芯片只有两个PLL,当然,某些型号是有四个PLL的,原理都一样。
为什么PLL不能把FPGA的内部信号作为时钟输入?如:内部的LEs实现的分频器的输出不能接在PLL的输入。
最为通俗的解释就是:PLL是硬核,输入这部分的电路相当于PCB,是固定死的(只把输入固定,输出是可以接LE的)。
为什么要固定PLL的输入?再看一下手册。
PLL分布在FPGA的四个角,同时,力求PLL输出的全局时钟到FPGA内部的每个结节(寄存器等)的时延尽量相等。这就非常符合同步设计原则了。另一方面,全局时钟跟一般的信号线有区别,全局时钟需要带的负载多,要求有一定的驱动能力;一般的信号线的要求刚好相反。所以,负载多的时候,一般给全局时钟加个global,以增加驱动能力。
再想一下,PLL的输入由有源晶振提供,全局时钟由global驱动,如果这两个时钟都流遍整块芯片的内部,工艺方面更加复杂,同时串扰也不好解决,最致命的是,PLL的输入由LE提供,那么PLL输入和输出的建立、保持时间都变得不固定了!难道你每次用PLL都要约束一下?所以,你只能另寻妙计了。
- 关于Quartus中错误信息PLL must be driven by a non-inverted input clock pin的解释
- python中出现非正定“Input X must be non-negative”的问题
- 关于SSLSocket程序中报的那些错:connect refuse;...must be non-empty等。
- tapestry 关于'personid must be enclosed by a Form component'
- UICollectionView must be initialized with a non-nil layout parameter
- UICollectionView must be initialized with a non-nil layout parameter
- 关于2008年Fielding的一篇博文《REST APIs must be hypertext-driven》的一些思考
- REST APIs must be hypertext-driven——Posted by Roy T. Fielding
- Input strings must be a multiple of 16 in length
- 在Quartus II中设置Virtual pin
- Keras VGG16中ValueError: filter must not be larger than the input问题的解决
- Swift学习笔记(十一)——Swift中三元运算符的低级错误:Consecutive statements on a line must be separated by';'
- 关于matlab中神经网络sim出错:'model' parameter must be a string
- iOS中使用opencv碰到这样的编译错误:non-const static data member must be initialized out of line
- DocumentRoot must be a directory 的解决办法
- 关于hive 中order by,sort by,ditribute by,cluster by的解释说明
- java.lang.IllegalArgumentException: Object returned from onCreateLoader must not be a non-static inn
- java.lang.IllegalArgumentException: Object returned from onCreateLoader must not be a non-static inn
- [NOI2014]动物园(kmp+递推)
- 调试makefile—查看其中的变量值
- Android中使用HTTP服务
- 2015071303 - 再谈大圣归来
- learning English <1>
- 关于Quartus中错误信息PLL must be driven by a non-inverted input clock pin的解释
- Java调用C/C++动态库so
- HttpURLConnection 发送 文件和字符串信息
- C++中的return, exit 与 abort 的区别
- ubuntu上svn+maven+jenkins自动部署
- Web.config自定义节点
- Android开发之监听手机来电
- httpclient 发送文件和字符串信息
- 嵌套editview上下滑动