zoukankan      html  css  js  c++  java
  • 【转】 DFT小讲座之5_时钟发生单元浅谈

     

    看到这个标题,很多粉丝也许会想,DFT的专题,讲时钟干什么?

    事实上,时钟的设计和DFT息息相关。如何在测试模式下保证各个模块的时钟资源都能被灵活控制?如何利用现有的功能性时钟逻辑实现DFT控制,节约芯片资源?这些都属于DFT比较进阶的内容了。

    DFT想要做的好,就不能将自己的视野局限于小DFT,即仅仅利用工具实现scan insertion和mbist,需要放眼整个芯片,了解功能性逻辑,这样才能合理规划出整个芯片的DFT架构,这也是DFT concept的工作之一。


    本期特别邀请了时钟设计专家Li Li来为大家做该篇推送。


    写在前面的话

    中芯事件将半导体行业推到敏感行业的风口浪尖上。全民也着着实实的补了一下半导体的课程。特朗普的反反复复,弃约精神给我们敲响了警钟。几乎所有人都意识到,国内芯片制造业崛起刻不容缓。何为半导体行业?一粒沙要历经怎样的锤炼、一段段硬件代码又是缘何能够最终刻在一颗颗芯片上的?这些是身处不同流水线上的每一个ICer所具备的基本认知,也是人类文明发展的骄傲。

    很开心能够收到DFT Elite美女编辑姐姐约稿,今天我们浅谈一下基带芯片中的时钟发生单元,以此抛砖引玉,期待看到更多同行分享更多业内真知。


    基带芯片是个啥

    如果把基带芯片比作一个网上商城,那么CDMA,WCDMA就是快递公司,而上网、接打电话、收发短信就如同来自商城客户的五花八门的订单。基带芯片做为网上商城,其实就扮演了高效打包、拆包和准确收货、发货的角色。所谓的全网通、定制机,不过是由我们这座精密昂贵的网上商城来决定的快递合作方而已。

    用行业的语言来解释,基带芯片将射频接收到,或者是即将发送的的信号进行翻译处理。手机通讯离不开2G,3G,4G,已经即将到来的5G。这些所谓的xG信号的处理和产生都是由基带芯片完成的。

    什么是时钟

    这里的时钟可不是大家平时意识到的手表啊,钟表什么的。IC行业里的时钟是指用于数字逻辑更新的一个不断toggle状态的信号。 芯片内部的任何一个数字逻辑的运转都离不开时钟。 时钟可以说是一个芯片设计的最重要,也是最基本的设置。 大家平时说的处理速度快慢,运行流畅与否,很大一程度上来说是有时钟决定的。 就以大家最熟悉的处理器来说,它们的运行速度就是指内部的时钟速度。


    时钟发生器是干嘛的

    顾名思义,时钟发生器是用来产生时钟信号的。在电路设计、尤其是数字逻辑中,时钟信号决定着逻辑单元中的状态更新,也确保着相关电子组件同步运算的实现。对于数字同步电路来说,在高低之间不断震荡的时钟信号,就像节拍器一样,实时有序地协调着电路的工作。它有自己的固定频率,却与运行无关。



    基带芯片中的时钟发生器长啥样

    对于一个负责时钟发生单元的前端电路设计者来说,每接手一个新的项目,首先要了解整个基带芯片中有多少模块需要时钟,每个模块的时钟特性是什么(正常工作频率,空闲状态行为,分频、开关需求等等)。然后基于这些基本需求,去一步步搭建属于每一个时钟信号的控制逻辑。虽然时钟数目庞杂,需求各异,但基本控制逻辑框架不外乎下图。

    4.bmp


    锁相环

    锁相环(PLL)可以被看做是时钟发生器的源头。它利用外部(基带芯片的外部)输入的参考时钟来实现输出时钟信号的自动跟踪,以此得到符合需求的内部振荡信号频率及相位。每一个锁相环的输出频率可调,但实际用例中,每个锁相环都会被定义输出一个固定频率。因此,锁相环的数目取决于各个模块对于频率的需求。

    5.bmp


    时钟选择器

    当不同的锁相环产生了不同频率的时钟信号之后,为了以最少的资源满足更多的频率需求,时钟选择器(Clock Multiplexer)的概念就应运而生了。锁相环的输出时钟甚至片外来的参考时钟,都可以被用做时钟选择器的输入,然后在同一时段、基于不同用例选择输出不同频率。从电路实现来说,时钟发生器是一个无毛刺(Glitch-free)的数选器。


    分频器

    如果说时钟发生器是多样化时钟频率需求的产物,那么分频器一定是用来锦上添花达到这个目的的。有了分频器,同一时钟选择器的输出时钟也会被进一步处理生成更多的频率资源以满足各个模块的各种用例。


    开关器


    最后,几乎所有的时钟在送出时钟发生单元之前,都会被定义一个开关器。基于用例,需要就打开,不需要则关掉。功耗资源的节约也是前端工程师需要时刻考量的因素之一。


    时钟树(Clock-tree)又是什么鬼

    当前端电路设计者写完所有的时钟控制代码之后,后端工程师会基于这样的抽象逻辑去做物理实现,而时钟树可以被认为是时钟信号在芯片中的物理体现形式。如果说前端工程师是在造梦,那么后端工程师是在让梦想不断逼近现实。

    在物理实现里,一个时钟信号从离开时钟发生器到最终到达各个逻辑单元,是由一级又一级的缓冲单元(Buffer)搭建而成的。最终得到的网状结构的时钟树,其实是平衡了诸如时钟偏移(Skew)、抖动(Jitter)还有各种延时(Source/Network Delay)等等因素之后的产物。下图是时钟树的简单示意图。

    6.bmp


    时钟的低功耗设计有哪些


    随着半导体行业工艺的增进、芯片功能的不断增强,低功耗的设计理念成为电路设计行业的最大挑战之一。通俗来说,每个用户都渴望拥有一台功能强大、待机时间超长的手机。然而现实是,电路设计工程师需要绞尽脑汁,才能不断走在“鱼与熊掌兼得”的路上。


    对于时钟发生器的设计来说,既要保证各个模块都可以运转在合适的高频上,又需要做到耗电少。怎么破?最基本的两个办法是:

    1) 不用则关 –> 既然不用,那就大胆关掉它;

    2) 闲了就降 –> 如果不忙,那就考虑降个频率慢慢跑。


    未来的DFT应该不仅仅局限于DFT。随着芯片功能的复杂化和集成度的提高,DFT的方法也应该随之一起进化发展。 DFT-DFM-DFX这也是我们未来的发展之路。 而迎接这一变化的唯一通路绕不开对功能性的理解。 我们也会在后期有针对的引进一些和DFT相关的功能性内容,期望能引发大家的思考。

  • 相关阅读:
    LeetCode120 Triangle
    LeetCode119 Pascal's Triangle II
    LeetCode118 Pascal's Triangle
    LeetCode115 Distinct Subsequences
    LeetCode114 Flatten Binary Tree to Linked List
    LeetCode113 Path Sum II
    LeetCode112 Path Sum
    LeetCode111 Minimum Depth of Binary Tree
    Windows下搭建PHP开发环境-WEB服务器
    如何发布可用于azure的镜像文件
  • 原文地址:https://www.cnblogs.com/lidan2019/p/10338676.html
Copyright © 2011-2022 走看看