浅析FPGA时钟设计

发布时间:2012-01-6 阅读量:1983 来源: 我爱方案网 作者:

中心议题:
    *  全局时钟
    *  门控时钟
    *  多级逻辑时钟
    *  波动式时钟
解决方案
    *  PLD/ FPGA 设计中的时钟方案
  
对于一个设计项目来说, 全局时钟是最简单和最可预测的时钟。在PLD/ FPGA 设计中最好的时钟方案是由专用的全局时钟输入引脚驱动的单个主时钟去钟控设计项目中的每一个触发器。只要可能就应尽量在设计项目中采用全局时钟。PLD/ FPGA 都具有专门的全局时钟引脚, 它直接连到器件中的每一个寄存器。这种全局时钟提供器件中最短的时钟到输出的延时。
  
1  全局时钟
  
全局时钟的实例如图1 所示。图1 中定时波形示出触发器的数据输入D[ 1. . 3] 应遵守建立时间和保持时间的约束条件。建立和保持时间的数值在PLD 数据手册中给出, 也可用软件的定时分析器计算出来。如果在应用中不能满足建立和保持时间的要求, 则必须用时钟同步输入信号。

图1  全局时钟
  
2  门控时钟
  
在许多应用中, 整个设计项目都采用外部的全局时钟是不可能或不实际的。PLD 具有乘积项逻辑阵列时钟( 即时钟是由逻辑产生的) , 允许任意函数单独地钟控各个触发器。然而, 当你用阵列时钟时, 应仔细地分析时钟函数, 以避免毛刺。
  
通常用阵列时钟构成门控时钟。门控时钟常常同微处理器接口有关, 用地址线去控制写脉冲。然而, 每当用组合函数钟控触发器时, 通常都存在着门控时钟。
  
如果符合下述条件, 门控时钟可以象全局时钟一样可靠地工作, 图2 所示是一个可靠的门控时钟电路。

图2 门控时钟
  
( 1) 驱动时钟的逻辑必须只包含一个“与” 门或一个“或”门。如果采用任何附加逻辑在某些工作状态下, 会出现竞争产生的毛刺。
  
( 2) 逻辑门的一个输入作为实际的时钟, 而该逻辑门的所有其他输入必须当成地址或控制线, 它们遵守相对于时钟的建立和保持时间的约束。
  
在设计中可以将门控时钟转换成全局时钟以改善设计项目的可靠性。图3 示出如何用全局时钟重新设计图2 所示的电路。地址线在控制D 触发器的使能输入, 许多PLD 设计软件, 如Max+ Plus 软件都提供这种带使能端的D 触发器。当EN A 为高电平时, D 输入端的值被钟控到触发器中: 当ENA 为低电平时, 维持现在的状态。

图3  "与" 门门控时钟转化成全局时钟
 

 

 
3  多级逻辑时钟
  
当产生门控时钟的组合逻辑超过一级( 即超过单个的“与”门或“或”门) 时, 验证设计项目的可靠性变得很困难。即使样机或仿真结果没有显示出静态险象, 但实际上仍然可能存在着危险。通常, 不应该用多级组合逻辑去钟控PLD 设计中的触发器。
  
图4 给出一个含有险象的多级时钟的例子。时钟是由SEL 引脚控制的多路选择器输出的。多路选择器的输入是时钟( CLK) 和该时钟的2 分频( DIV2) 。多级逻辑的险象可以去除。例如, 可以插入“冗余逻辑”到设计项目中。然而, PLD/ FPGA 编译器在逻辑综合时会去掉这些冗余逻辑, 使得验证险象是否真正被去除变得困难了。
  
为此, 必须应寻求其他方法来实现电路的功能。

图4  有静态险象的多级时钟
  
图5 给出图4 电路的一种单级时钟的替代方案。
  
图中SEL 引脚和DIV2 信号用于使能D 触发器的使能输入端, 而不是用于该触发器的时钟引脚。采用这个电路并不需要附加PLD 的逻辑单元, 工作却可靠多了。

图5  无静态险象的多级时钟
  
4  行波时钟
  
另一种流行的时钟电路是采用行波时钟, 即一个触发器的输出用作另一个触发器的时钟输入。如果仔细地设计, 行波时钟可以像钟一样地可靠工作。然而, 行波时钟使得与电路有关的定时计算变得很复杂。行波时钟在行波链上各触发器的时钟之间产生较大的时间偏移, 并且会超出最坏情况下的建立时间、保持时间和电路中时钟到输出的延时, 使系统的实际速度下降, 如图6 所示。

图6 行波时钟
  
5  多时钟系统
  
许多系统要求在同一个PLD 内采用多时钟。最常见的例子是两个异步微处理器之间的接口, 或微处理器和异步通信通道的接口。由于两个时钟信号之间要求一定的建立和保持时间, 所以, 上述应用引进了附加的定时约束条件。它们也会要求将某些异步信号同步化。
  
图7 给出一个多时钟系统的实例。CLK _A 用以钟控REG_A, CLK_B 用于钟控REG_B, 由于REG_A驱动着进入REG_B 的组合逻辑, 故CLK_A 的上升沿相对于CLK_B 的上升沿有建立时间和保持时间的要求。由于REG_B 不驱动馈到REG_A 的逻辑, CLK_B的上升沿相对于CLK_A 没有建立时间的要求。此外,由于时钟的下降沿不影响触发器的状态, 所以CLK_A和CLK_B 的下降沿之间没有时间上的要求。电路中有两个独立的时钟, 可是, 在它们之间的建立时间和保持时间的要求是不能保证的。在这种情况下, 必须将电路同步化。图8 给出REG_A 的值( 如何在使用前) 同CLK_B 同步化。新的触发器REG_C 由GLK_B 触控,保证REG_G 的输出符合REG_B 的建立时间。然而,这个方法使输出延时了一个时钟周期。
 

 



图7  多时钟系统
   
在许多应用中只将异步信号同步化还是不够的, 当系统中有两个或两个以上非同源时钟的时候, 数据的建立和保持时间很难得到保证, 将面临复杂的时间问题。
  
最好的方法是将所有非同源时钟同步化。使用PLD 内部的锁项环( PLL 或DLL) 是一个效果很好的方法, 但不是所有PLD 都带有PLL, DLL, 而且带有PLL 功能的芯片大多价格昂贵, 所以除非有特殊要求, 一般场合可以不使用带PLL 的PLD。这时需要使用带使能端的D 触发器, 并引入一个高频时钟。

图8 具有同步寄存器输出的多时钟系统
  
6  结语
  
稳定可靠的时钟是系统稳定可靠的重要条件, 所以不能将任何可能含有毛刺的输出作为时钟信号, 并且尽可能只使用一个全局时钟, 对多时钟系统要注意同步异步信号和非同源时钟。

相关资讯
2025年5月日本半导体设备销售额创历史次高,AI需求驱动连续17个月增长

日本半导体制造设备协会(SEAJ)于2025年6月24日正式发布其最新统计报告,详细介绍了2025年5月及1-5月日本半导体制造设备的销售表现。这些数据反映了全球半导体产业链的强劲需求,为行业提供了关键的市场洞察。整体来看,日本制造设备销售额持续展现出卓越的增长态势,多项指标刷新历史纪录,凸显了日本在该领域的核心竞争力和市场主导地位。

龙芯3C6000 vs 英特尔第三代至强:国产算力破局之战

全球数据中心处理器市场长期被x86架构垄断,国产处理器面临指令集授权与生态建设的双重壁垒。2025年6月,龙芯中科发布基于100%自研指令集(LoongArch)的3C6000系列服务器处理器,首次在核心性能参数上对标英特尔2021年推出的第三代至强可扩展处理器,标志着国产高端芯片实现从技术攻关到市场应用的跨越式突破。

2025全球车载无线充电普及率破56%,中国增速24%领跑新兴市场

2024年全球车载无线充电系统销量同比增长14%,普及率首次突破50%大关,达53%;2025年Q1进一步攀升至56%。美国以87%的普及率领跑,韩国及北美市场紧随其后。中国欧洲和拉丁美洲需求强劲,其中中国销量同比激增24%,显著拉动全球增长。

汽车底盘传感器技术突破:英飞凌TLE4802实现无屏蔽高抗扰

全球半导体技术巨头英飞凌科技股份公司(FSE:IFX / OTCQX:IFNNY)始终致力于推动汽车电子领域的创新。随着新能源汽车和智能网联汽车的快速发展,底盘系统的安全性、精度和可靠性成为核心挑战。例如,电动助力转向和悬挂系统亟需更高性能的传感方案。在此背景下,英飞凌近期推出的新一代电感式传感器产品线正式亮相,旨在为汽车底盘应用提供颠覆性解决方案。这不仅标志着公司在前沿电子组件的深度布局,更呼应了行业对高可靠性传感技术的迫切需求。

英伟达Q1营收440亿:Blackwell引爆AI算力,自动驾驶增长72%

2025年Q1,英伟达营收达440亿美元(同比+69%),数据中心业务贡献390亿美元(同比+73%),占收入比近90%。Blackwell架构芯片创下公司史上最快增速,推动计算收入增长73%。汽车与机器人部门收入5.67亿美元(同比+72%),自动驾驶技术成为核心驱动力。尽管受美国对华H20芯片出口管制影响(损失45亿美元库存),英伟达仍维持增长韧性,市值一度突破3.75万亿美元,登顶全球上市公司。