可靠性
1. 为时钟信号选用全局时钟缓冲器BUFG!
不选用全局时钟缓冲器的时钟将会引入偏差。
2. 只用一个时钟沿来寄存数据
使用时钟的两个沿是不可靠的,因为时钟的某沿或者两个沿会漂移。如果时钟有漂移而且你只使用了时钟的一个沿,你就降低了时钟边沿漂移的风险。这个问题可以这样来解决:就是允许CLKDLL自动纠正时钟的占空比,以达百分之五十的占空比。否则强烈建议只使用一个时钟沿。
3. 除了用CLKDLL或DCM产生的时钟外不要在内部产生时钟
这包括产生门控时钟和分频时钟。作为替代,可以建立时钟使能或使用CLKDLL或DCM来产生不同的时钟信号。对于一个纯同步设计,建议在任何可能的情况下只使用一个时钟。
4. 不要在内部产生异步的控制信号(例如复位信号或者置位信号)
内部产生的异步控制信号会产生毛刺,作为替代,可以产生一个同步的复位/置位信号。要比需要作用的时刻提前一个时钟周期进行这个异步信号的同步。
|