数字设计小思 - 谈谈时钟:数字系统的心脏

这篇具有很好参考价值的文章主要介绍了数字设计小思 - 谈谈时钟:数字系统的心脏。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

本系列整理数字系统设计的相关知识体系架构,为了方便后续自己查阅与求职准备。时钟作为数字系统中的“心脏”,其设计的质量好坏直接关乎整个系统的稳定性,本文主要介绍了数字设计中的常见的时钟产生电路和时钟类型,并进行相关分析简介。

时钟产生电路

环形振荡器

奇数个反相器首尾相连即构成环形振荡器(简称 “环振” ),每个反相器两端出现周期性振荡信号。

数字设计小思 - 谈谈时钟:数字系统的心脏

假定每个反相器都相同,所产生的时 钟周期T或频率f取决于反相器链的级数N和反相器的传播延时tp
T = 1 f = 2   ×   N × t p T = \frac {1}{f} = 2\ × \ N × t_p T=f1=2 × N×tp
可通过改变反相器的级数以及每个反相器的面积来改变输出的时钟频率。

环形振荡器的优缺点如下:

  • 优点: 电路简单,无需外接元器件,完全片上集成。

  • 缺点: 频率精度差,随工艺、电源电压离散的变化大;频率稳定性差,随时间、 温度的变化大。

针对该时钟的特点,因此该时钟适用于对精度和稳定度要求都不高的片上时钟产生器。

晶体振荡器

晶体震荡电路主要构成如下,主要由晶体谐振器产生震荡,电容进行滤除振荡产生的谐波,放大器将筛选出的频率进行维持并进行放大,从而产生稳定的时钟信号。数字设计小思 - 谈谈时钟:数字系统的心脏

石英晶体两端加上电压后,就会产生振荡电流(机械能 ↔ 电能),振荡频率由晶体的尺寸与形状决定(晶体越薄越小,频率越高)。

晶体振荡器的优缺点如下:

  • 优点: 晶体振荡器频率稳定性高,可达10 ^ -6 (ppm), 而环形振荡器只能达到 10 ^ -2(ppm)。
  • 缺点: 晶体振荡器输出频率范围一般不超过100MHz,难以满足现代高速数字IC的更高时钟频率要求;而且采用非硅工艺的石英谐振器,无法片内集成;输出频率难以调节,只能产生单一频率。

PLL锁相环电路

锁相环 (PLL) 是一种反馈电路,且为模拟电路,性能受工艺、电源噪声、温度等的 影响显著,设计难度较大。

PLL电路的工作原理是将外部信号的相位与压控晶体振荡器 (VCXO) 产生的时钟信号的相位进行比较。然后,电路调整振荡器时钟信号的相位以匹配参考信号的相位。因此,原始参考信号和新信号彼此是精确同相的。

数字设计小思 - 谈谈时钟:数字系统的心脏

一个锁相环PLL电路通常由以下模块组成:

  1. 鉴相鉴频器PFD(Phase Frequency Detector): 将分频后的反馈时钟与参考时钟的相位进行比较,若反馈时钟滞后/领先参考时钟,则发生一个Up/Down信号。该信号的大小正比于所检测到的相位差。
  2. 电荷泵: 电荷泵将Up/Down信号转换为一个较大/较小的模拟控制电压Vcont,以便加速/减慢VCO, 从而消除反馈时钟与参考时钟的相位差。
  3. 低通滤波器(环路滤波器)LPF(Low-Pass Filter、Loop Filter): 用于滤除Vcont中的高频成分并平滑其响应,减少本地时钟的抖动。
  4. 压控振荡器VCXO(Voltage Controlled Oscillator): 压控振荡器产生系统时钟信号,信号的频率受输入电压Vcont的控制。利用变容二极管(偏置电压的变化会改变耗尽层的厚度,从而影响电容大小)与电感构成的LC谐振电路构成,提高变容二极管的逆向偏压,二极管内耗尽层变大,电容变小,LC电路的谐振频率提高,反之,降低逆向偏压时,二极管内电容变大,频率降低。

DLL和PLL具有类似的功能,可以完成时钟高精度、低抖动的倍频和分频,以及占空比调整和移相等功能。DLL即Delay Lock Loop,主要是用于产生一个精准的时间延迟,且这个delay不随外界条件如温度,电压的变化而改变。PLL利用压控振荡器调整频率来改变相位,DLL利用压控延迟线调整延时来改变相位。

DLL调整相位的方法是用压控延迟线(VCDL,Votage-Controlled Delay Line)而非 VCO,通过改变延时而非频率。

PLL/DLL电路的优缺点如下:

  • 优点: 稳定性好,无需积分运算,极点少;锁定速度快,PLL需要先锁定频率再锁定相位,DLL直接锁定相位;抗抖动与噪声性能好,无环振VCO 那样的反馈路径,对工艺与环境波动不敏感;可直接产生多相时钟。
  • 缺点: 无法改变输出频率,不能倍频,不 能产生多个时钟频率;调节范围较大时,可能产生错误锁定。

时钟类型

全局时钟

全局时钟(Global Clock)。一般的时钟都指的是全局时钟,全局时钟在芯片中的体现形式是时钟树。

数字设计小思 - 谈谈时钟:数字系统的心脏

它是由片上的时钟管脚引入,经过锁相和放大之后进入时钟树,输出给寄存器的稳定、可靠的时钟信号。这种时钟的时延通常被设计得最小,相对抖动也最小。数字设计小思 - 谈谈时钟:数字系统的心脏

内部时钟

对于内部时钟最早的接触应该就是使用计数器输出的计数值的相关逻辑做分频时钟。但如果设计不当,该部分会导致设计功能和时序问题。组合逻辑电路的常见的引起设计错误的问题:毛刺和延时,同时也是组合逻辑搭建的时钟所面对的问题。往简单了说,组合逻辑的毛刺会引起功能的异常,降低系统的稳定;延时会引起在时钟进行时序分析的相关问题,下面就这两方面进行说明。

组合逻辑搭建的时钟产生器会引入毛刺,使功能出现问题,此外由组合逻辑所导致的延迟也会导致时序方面的问题。在同步设计中,数据输入端的毛刺不会引起任何问题,因为数据是在时钟边沿处捕获的,所以可以将毛刺自动滤掉。然而,如果毛刺或尖峰脉冲出现在时钟输入端(或者寄存器的异步输入端)就会产生明显的影响。

下图通过逻辑设计产生了时钟,时钟产生部分包含一些组合逻辑,而计数器的寄存器是对边沿敏感的,这就导致下图的设计毛刺会明显影响到计数器的值。

数字设计小思 - 谈谈时钟:数字系统的心脏

在下面这个例子中可以看到,由于时钟沿处的毛刺,计数器在所示的时钟周期上递增了两次。由于时钟毛刺的作用,计数器增加了额外的计数值,这样就可能导致功能出现问题。

数字设计小思 - 谈谈时钟:数字系统的心脏

窄毛刺会违背寄存器的最小脉冲宽度要求。在毛刺到达时钟输入端时,如果寄存器的数据输入变化,会违背建立和保持时间。即使设计没有违背时序要求,寄存器也可能输出意料之外的值,使整个设计功能出现风险。

解决毛刺引发的设计功能问题,最简单的办法就是使用寄存器在时钟产生逻辑后寄存输出,这样无论前级的时钟产生部分的代码是否存在毛刺,都使用触发器做了寄存,降低了毛刺引起功能错误的风险。

数字设计小思 - 谈谈时钟:数字系统的心脏

分析完毛刺的影响,下面分析下组合逻辑构建的时钟引入的延迟问题。

用来产生内部时钟的组合逻辑也会增加时钟线上的延迟。在某些情况下,时钟线上的逻辑延迟会导致时钟偏移比两个寄存器之间的数据路径延迟更大。如果时钟偏移大于数据延迟,就会违背寄存器的时序要求,设计的功能也不会正确。

因此,就需要设计时钟时尽量减少时钟偏斜,一种减少时钟偏移的方法是将产生的时钟放到SoC中高扇出且低偏移值的时钟树上。使用低偏移值时钟树有助于减少信号整体的时钟偏移。

分频时钟

许多设计需要来自于主时钟的分频时钟。在设计中要保证大多数时钟来自于PLL。使用PLL能避免由异步时钟分频逻辑引起的许多问题。在对主时钟进行分频时,应该始终使用同步计数器或状态机。

此外,设计应该保证总是由寄存器直接产生分频时钟信号。不要对计数器或状态机的输出进行解码,然后产生时钟信号;这种实现方式常会导致毛刺和尖峰脉冲。可参考内部时钟的举例。

门控时钟

门控时钟的时钟线上的门控单元会导致时钟偏移,并会引入尖峰脉冲作用于触发器。但在涉及到低功耗设计时(通常ASIC中),门控时钟还是比较常用的。

数字设计小思 - 谈谈时钟:数字系统的心脏

行波时钟

行波计数器:将触发器前级输入引脚连接至下个寄存器的输入引脚,依次级联。由于第一个触发器时钟到Q的延迟而使第二个触发器的时钟输入产生偏移,而且不能在每个时钟边沿都激活。此时,延时逐渐累积会在引入时序分析和综合麻烦,因此需要尽量避免使用这种结构,

数字设计小思 - 谈谈时钟:数字系统的心脏

数字设计小思 - 谈谈时钟:数字系统的心脏

尽管使用行波计数器(或者行波时钟)存在各种问题,但是在功耗较高的系统中很适合使用这种计数器,因为这样能大量降低由逻辑或SoC所引起的峰值功耗。

多路时钟

时钟多路器用于使同一个逻辑功能具有不同的时钟。某些类型的多路逻辑选择如下图所示的时钟源。

数字设计小思 - 谈谈时钟:数字系统的心脏

例如,需要处理多个频率标准的通信应用常常使用多个时钟。虽然在时钟信号上引入逻辑上的问题,是在不同的应用中对多路时钟的要求差别很大。

在能满足下面的标准,时钟多路操作就是可接受的:

  • 在初始化配置后,时钟多路逻辑就不再改变。
  • 在测试时,设计会绕过功能时钟多路逻辑而选择普通时钟。
  • 在时钟切换时,寄存器始终处于复位状态。
  • 在时钟切换时产生的短暂错误响应没有负面影响。

如果设计中时钟切换很频繁,并且不在复位时切换,设计也不能容忍芯片中出现短暂的错误响应,就必须使用同步设计以确保寄存器没有违背时序,时钟信号上不出现毛刺同时没有竞争条件或其他麻烦。

为了实现时钟切换,在xilinx的原语中,存在CLK选择的结构以供设计者进行选择设计,按下面的原语示例,设计时需要控制信号S满足建立时间和保持时间,可实现时钟的无毛刺切换。

   BUFGMUX #(
      .CLK_SEL_TYPE("SYNC")  // ASYNC, SYNC
   )
   BUFGMUX_inst (
      .O(O),   // 1-bit output: Clock output
      .I0(I0), // 1-bit input: Clock input (S=0)
      .I1(I1), // 1-bit input: Clock input (S=1)
      .S(S)    // 1-bit input: Clock select
   );

双边沿或混合边沿时钟

双边沿时钟是指在时钟的上升沿和下降沿都进行数据传输,两个触发器由两个相位相反的时钟信号控制。

数字设计小思 - 谈谈时钟:数字系统的心脏

这样操作会为使用同步复位和使用插入扫描链这样的测试方法带来麻烦,同时也会增加确定关键信号的路径的难度。

但双沿采样时钟也是有好处的。

双沿时钟使得原本一个周期输出/输入一个数据的架构,改变为一个周期输出/输入两个数据,这样在不升高时钟频率的前提下,提升了信号的吞吐率,从而带来性能的提升。另外一个使用双沿时钟的优势是降低功耗,因为时钟频率减半,所以系统的功耗只有等效同步电路的一半。

但一般情况下,不建议使用双边沿时钟,这是因为:

  • 由于上下沿都用,要求时钟的质量很高,一般的时钟源很难达到,成本高。
  • 由于时钟的抖动等不确定因素的存在,容易使时钟的占空比发生改变,因此容易引起建立时间和保持时间的违规。

在FPGA中的通常高速传输时会用到双沿采样时钟,DDR存储同样也是使用的双沿采样,但在常规情况下不使用双沿采样时钟。文章来源地址https://www.toymoban.com/news/detail-427532.html

reference

  1. 什么是PLL? - 知乎
  2. PLL与DLL
  3. 硬件架构艺术
  4. 西电数字集成设计课程资料

到了这里,关于数字设计小思 - 谈谈时钟:数字系统的心脏的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【毕业设计】34-基于单片机的智能数字电子定时器_电子时钟系统设计(原理图工程+PCB工程+源码+仿真工程+答辩论文)

    摘要 随着社会的进步,经济水平的提高,人们开始通过定时器来规划自己的时间,传统的时钟不能通过移动的方式,只能将其挂在墙上或者钟楼塔的形式出现。针对此问题,本次系统设计了一款智能数字电子定时器器系统,可以实现定时、启动、停止、数字显示、报警、闹钟

    2024年02月04日
    浏览(38)
  • Verilog设计数字时钟

    目录 一、设计要求 二、模块总和 三、模块设计 1.顶层模块 2.秒分频模块 3.秒计数模块 4.分钟分频模块 5.分钟计数模块 6.小时分频模块 7.小时计数模块 8.数据分配数码管模块 9.数码管显示模块 10.管脚约束代码 四、引脚分配 1.利用 NEXYS4 DDR 开发板设计一款数字时钟,能够正确

    2024年02月06日
    浏览(38)
  • FPGA项目设计:数字时钟

    项目要求: 设计一个数字时钟,数码管前两位显示小时,数码管中间两位显示分钟,数码管后面两位显示秒。 项目设计: 系统框架图: 计数模块时序图: 代码实现: 计数模块: 数码管显示模块: 顶层文件:

    2024年02月14日
    浏览(44)
  • 基于Mutisim的数字时钟设计

    Warning:以下是王富贵同学以及小组成员的总体设计,需要源文件可私信寻求帮助,下文所有内容如有侵权请联系我删除。 设计意义 : 综合运用电子技术( 模拟电子线路,数字电子线路 ) 课程所学知识,设计、安装、调试具体的电子线路(不使用单片机、 ARM 和 FPGA等),并写

    2024年02月06日
    浏览(38)
  • 数字化校园建设,NTP数字电子时钟(网络时钟系统)方案

    数字化校园建设,NTP数字电子时钟(网络时钟系统)方案 数字化校园建设,NTP数字电子时钟(网络时钟系统)方案 京准电子科技官微——ahjzsz 本系统提供一套支持最新的网络时间协议NTPv4的软件以及其配置方案,为网络中的设备提供NTP服务。 系统由三部分组成,分别为嵌入

    2024年02月08日
    浏览(46)
  • 基于51单片机的数字时钟设计

    目录 一、总体概述 1、计时控制方案 2、主控制器模块 3、显示电路模块 4、调试按键模块 5、电源模块 6、闹钟声光报警模块 二、系统总体结构 1.电路图 三、系统的硬件设计与实现 1、电源电路 2、显示电路 3、单片机基本电路 4、按键电路 四、功能测试及结果分析 五、程序附

    2024年02月07日
    浏览(42)
  • 基于FPGA的数字时钟设计与实现(含源码)

    随着数字电子技术的不断发展,基于FPGA(现场可编程门阵列)的数字时钟设计方案逐渐成为了一种流行的选择。本篇博客将详细介绍如何利用FPGA实现一个简单的数字时钟,涉及到分频器、数码管驱动、时分秒计数、三八译码器和扫描数码管等模块。 1. 系统设计概述 在本设计

    2024年02月05日
    浏览(48)
  • 基于FPGA的多功能数字时钟设计报告

    作品基于intel Cyclone IV E EP4CE10F17C8 FPGA板卡,主要开发环境为Quartus Ⅱ,编程并实现了多功能温湿度电子钟。本作品在实现显示实时时间的基础上,设计并完成了设置闹钟、改变闹钟铃声、显示实时温度和实时湿度、基于以太网通信协议的实时视频传输等功能。在未设置闹钟时

    2024年02月05日
    浏览(47)
  • 基于 AT89C51 单片机的数字时钟设计

    目录 1.设计目的、作用 2.设计要求 3.设计的具体实现 3.1 设计原理 3.2 硬件系统设计         3.2.1 AT89C51 单片机原理 3.2.2 晶振电路设计 3.2.3 复位电路设计 3.2.4 LED 数码管显示 3.3 系统实现 3.3.1 系统仿真与调试 3.3.2 演示结果 4.总结 附录 附录 1 附录 2 (1 )掌握 51 系列单片机的

    2024年02月01日
    浏览(57)
  • 【数字IC手撕代码】Verilog无毛刺时钟切换电路|题目|原理|设计|仿真

    芯片设计验证社区·芯片爱好者聚集地·硬件相关讨论社区·数字verifier星球 四社区 联合力荐 !近500篇 数字IC精品文章收录 ! 【数字IC精品文章收录】学习路线·基础知识·总线·脚本语言·芯片求职·EDA工具·低功耗设计Verilog·STA·设计·验证·FPGA·架构·AMBA·书籍 本系列旨在提

    2023年04月08日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包