微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 关于分频时钟做时钟

关于分频时钟做时钟

时间:10-02 整理:3721RD 点击:
在描述代码风格的文章中,只要提到时钟有关的问题,必然会说不要用分频时钟做时钟,可是在实际设计中,或者看别人的代码,都频繁地用到了分频时钟当时钟用,请问大侠们怎么看待这个问题

通过时钟使能实现



   分频时钟做使能?

我觉得可能是你代码风格吧,只要你描述的够好,应该会自动综合成比较好的时钟

看你design的需要,分频的clock可以当时钟,也可以当clk enable.当时钟使能的时候,是为了在后端balance clock tree的时候比较容易。

分频时钟是个难点

FPGA中,时钟要走既有的专用时钟线,才能实现较好的时序性能,但时钟线资源有限,如果使用分频时钟比较难走时钟线,而且时钟树很难调整,因此不要使用分频信号、门控做时钟。
ASIC中,是ok的,但不同时钟穿越时也还是要人工注意。

关于时钟分频有两种办法:第一种是产生数据的enable信号,这样所有动作都是同步的,缺点是后端clock tree会长很大,当系统的时钟很快的时候就要考虑tree的delay了 第二种方法是真的拿来当时钟用,这样两个clock没有相对应的关系,正常情况下按异步的界面来设计,这样你没有长tree的限制。但为了FPGA的验证方便,系统较小的话第一种就ok了

还是看用途,不过一般来讲分频时钟作为使能信号,然后仍然采用高速时钟来做系统时钟。大的设计中很重视同步设计,最好一个设计中不要有太多时钟。

ASIC可以搞,FPGA不能这么搞,一是因为这个完全可以用单时钟加使能来完美解决,二是因为分频时钟和原时钟在FPGA内部的相位关系随着每次布局布线后的结果而变,这样肯定不能接受,而且时序分析麻烦。

就看你分频以后的时钟要不要和分频前的同步,如果不用,很简单,就把除频器当一个macro就可以了,ASIC clock root下到除频器以后,FPGA 除频器后加一个BUFG,一切搞定。
如果要同步就比较麻烦。一种做法是换到data enable,一种是用特殊的除频器。前者后端简单,后者后端有点麻烦。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top