热度 15
2013-10-18 09:14
2199 次阅读|
0 个评论
fpga设计中避免门控时钟 写了程序不能调试,很痛苦。就象考试做完题不能知道结果对不对,只能自己检查,检查多少遍也不能确保全对!既然是检查,那就吹毛求疵吧,没有error了,再研究warning! 下文为转载的转载: 当综合器出现这样的Warning时,即提示发现了门控时钟 WARNING DesignRules:372 - Netcheck: Gated clock. Clock net _n0019 is sourced by a combinatorial pin. This is not good design practice. Use the CE pin to control the loading of data into the flip-flop. 如果一个时钟节点由组合逻辑驱动,那么它就形成了门控时钟了。综合器建议用组合逻辑驱动CE引脚。 为什么综合器会出现这样的警告呢? 原来门控时钟容易产生毛刺、增加延时、引起时钟漂移(Clock Skew),并且还会降低可测性。 门控时钟引起的这些问题怎么解决呢? 用组合逻辑来驱动CE端口,而不要驱动Clock端口,这样能更好地保持同步。 说了那么多坏处,有没有好处呢? 门控时钟的好处常用在ASIC而不是FPGA中。在ASIC中可以通过门控时钟降低功耗。不过即使是在ASIC中,上述的缺点还是存在的,所以必须要小心地设计。