FPGA时钟设计

发布者:czc天天最新更新时间:2011-07-22 来源: 现代电子技术关键字:时钟  FPGA 手机看文章 扫描二维码
随时随地手机看文章
   

摘要:在FPGA设计中,为了成功地操作,可靠的时钟是非常关键的。设计不良的时钟在极限的温度、电压下将导致错误的行为。在设计PLD/FPGA时通常采用如下四种类型时钟:全局时钟、门控时钟、多级逻辑时钟和波动式时钟。多时钟系统包括上述四种时钟类型的任意组合。
关键词:FPGA;时钟;逻辑时钟;险象

    对于一个设计项目来说,全局时钟是最简单和最可预测的时钟。在PLD/FPGA设计中最好的时钟方案是由专用的全局时钟输入引脚驱动的单个主时钟去钟控设计项目中的每一个触发器。只要可能就应尽量在设计项目中采用全局时钟。PLD/FPGA都具有专门的全局时钟引脚,它直接连到器件中的每一个寄存器。这种全局时钟提供器件中最短的时钟到输出的延时。

1 全局时钟
    全局时钟的实例如图1所示。图1中定时波形示出触发器的数据输入D[1..3]应遵守建立时间和保持时间的约束条件。建立和保持时间的数值在PLD数据手册中给出,也可用软件的定时分析器计算出来。如果在应用中不能满足建立和保持时间的要求,则必须用时钟同步输入信号。

a.JPG



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

b.JPG


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

c.JPG



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

d.JPG


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

e.JPG



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

f.JPG



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的建立时间。然而,这个方法使输出延时了一个时钟周期。

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

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

关键字:时钟  FPGA 引用地址:FPGA时钟设计

上一篇:FPGA控制下面阵CCD时序发生器设计及硬件实现
下一篇:基于FPGA的出租车计费系统设计

推荐阅读最新更新时间:2024-05-02 21:30

基于数字移相的高精度脉宽测量系统及其FPGA实现
摘要:采用XILINX公司的SpartanII系列FPGA芯片设计了一种基于数字移相技术的高精度脉宽测量系统,同时给出了系统的仿真结果和精度分析。与通常的脉冲计数法相比,该系统的最大测量误差减小到原来的34.2%。 关键词:脉宽测量 数字移相 脉冲计数法 FPGA 在测量与仪器仪表领域,经常需要对数字信号的脉冲宽度进行测量。这种测量通常采用脉冲计数法,即在待测信号的高电平或低电平用一高频时钟脉冲进行计数, 然后根据脉冲的个数计算待测信号宽度,如图1所示。待测信号相对于计数时钟通常是独立的,其上升、下降沿不可能正好落在时钟的边沿上,因此该法的最大测量误差为一个时钟周期。例如采用80MHz的高频时钟,最大误差为12.5ns。
[应用]
STM32笔记之十二:时钟不息工作不止,systic时钟应用
a) 目的:使用系统时钟来进行两项实验 周期执行代码与精确定时延迟。 b) 初始化函数定义: void SysTick_Configuration(void); c) 初始化函数调用: SysTick_Configuration(); d) 初始化函数: void SysTick_Configuration(void) { SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);//时钟除8 SysTick_SetReload(250000); //计数
[单片机]
虚拟和增强现实技术可支持更广泛领域创新应用
虚拟和增强现实技术正在最终达到预期目标,可支持更广泛领域的大量创新应用。 电子产品和数据处理技术的快速发展正在进一步模糊数字世界和物理世界之间的区分。虚拟和增强现实等前沿技术一度仅限于早期采用者,如今已经在消费和商业市场中越来越受欢迎。通过佩戴的耳机和眼镜所提供的图像和数据都达到了非常高的速度、清晰度和沉浸式质量,以致于几乎每天都能看到新的应用出现。 就历史而言,虚拟和增强现实(VR/AR)的概念在过去已经有过长期的发展历程。第一项VR装置专利于1962年颁发,而AR则于20世纪90年代初诞生于美国军事研究。在这两种情况下,要提供有意义的高质量图像,需要巨大的计算资源,因而技术进步都受到一定的阻碍。 但摩尔定律改变了这
[嵌入式]
STM32时钟体系结构
STM32的时钟体系可以直接以图概括(摘自STM32F10X参考手册) 下面就此图做分析 1. STM32输入时钟源 1.1 时钟源的作用 无论是小型单片机还是像STM32这样高级单片机,它们工作的核心都是大规模的时序逻辑电路,而驱动时序逻辑电路的关键则是准确而又稳定的时钟源。它的作用就像小学在操场上做广播体操时候播放的背景音乐,用于协调和同步各单元运行,为时序电路提供基本的脉冲信号。 1.2 STM32时钟源的设计 在51单片机中,一般都外接一个11.0592MHz的晶振,注意,提供时钟的不是晶振,而是RC时钟电路,而晶振只是时钟电路的元件之一。同理,在STM32中,时钟源也是由RC时钟电路产生,与51单片机的区别是区别在于
[单片机]
基于IIC1.0的时钟芯片应用程序设计
摘要:在对串行实时时钟芯片X1203内部结构和工作特性作基本介绍的基础上,设计出用单片机的通用I/O口线虚拟I2C总线来实现与时钟芯片的串行接口电路以及利用虚拟I2C总线软件包VIIC设计时钟芯片1203的应用程序。 关键词:单片机 实时时钟 虚拟I2C总线 实时时钟是微机测控系统中的一个重要组成部分。美国Xicor公司推出的串行接口实时时钟芯片X1203提供备用电源输入引脚,使器件能用非可重新充电电池任务用电源。该芯片以其体积小、功耗低、使用简单、接口容易、与单片机连线少为主要特点,同时具有较高的精度,能很好满足微机测控系统的求。下面具体介绍该芯片的内部结构、工作特性、与51系列单片机接口设计实例以及如何利用虚拟I2C总线软件包
[单片机]
Lattice推出即插即用的iCEstick FPGA评估套件
美国俄勒冈州希尔斯波罗市 - 2013年8月20日 - 莱迪思半导体公司(NASDAQ: LSCC)今日宣布推出iCEstick评估套件,一款易于使用、带有USB接口、拇指大小的开发板,可以让工程师和系统架构师迅速评估和开发基于莱迪思 iCE40™ mobileFPGA™系列的移动设备解决方案,iCE40™ mobileFPGA™系列是全球首款也是唯一一款专为移动设备市场而设计的FPGA。该套件加速了使用该器件的解决方案的开发,拥有针对红外和传感器功能的硬件特性和参考设计,适用于智能手机、平板电脑、游戏机以及其他有着严格的低成本、低功耗和快速上市时间要求的应用。 “目前市场上移动设备爆炸性的增长给移动设备设计人员带来
[嵌入式]
基于STM32F407时钟配置学习
2F4x系列时钟树如下: 1、系统时钟SYSCLK 在STM32F407中,除了一些特定的时钟(例如,USB OTG FS时钟,I2S时钟)外,系统所有外设的时钟均是通过SYSCLK来提供的。也就是说我们经常用到的外设时钟,都是通过SYSCLK分频得到的。下面是和SYSCLK相关的时钟树的图。 由图中可以看到,SYSCLK的来源主要有三个。 - HSI 振荡器时钟 - HSE 振荡器时钟 - 主 PLL (PLL) 时钟 下面分别来看下系统时钟SYSCLK的三个来源。 (1) 高速外部时钟HSE(4M~26M) 高速外部时钟是芯片内部的HSE振荡器产生的。高速外部信号(HSE)有两个时钟源。 - HSE外
[单片机]
基于STM32F407<font color='red'>时钟</font>配置学习
Cadence仿真和原型设计平台选择SiTime的时钟解决方案
MEMS 精密计时领域供应商SiTime日前宣布,Cadence Design Systems选择了SiTime MEMS 计时解决方案用于 Cadence ® Palladium Z2 企业仿真和 Protium X2 企业原型平台。 SiTime 振荡器和 Cascade Platform时钟发生器为Cadence 提供了卓越的性能并实现快速生产。 “Cadence 对使用的组件有苛刻的技术要求。”Cadence 公司研发副总裁兼 HSV 负责人 Dhiraj Goswami 说。“SiTime 计时解决方案的精度及其支持,可以满足Palladium 和 Protium 平台的要求。在这次合作之后,我们期待继续与 SiTi
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved