CN1818911A - 旋转时钟设计流程 - Google Patents
旋转时钟设计流程 Download PDFInfo
- Publication number
- CN1818911A CN1818911A CN 200510055488 CN200510055488A CN1818911A CN 1818911 A CN1818911 A CN 1818911A CN 200510055488 CN200510055488 CN 200510055488 CN 200510055488 A CN200510055488 A CN 200510055488A CN 1818911 A CN1818911 A CN 1818911A
- Authority
- CN
- China
- Prior art keywords
- clock
- latch
- register
- rotary clock
- rotary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Logic Circuits (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
- Dc Digital Transmission (AREA)
Abstract
一种使用旋转时钟来设计集成电路的方法。网表(netlist)包括一个逻辑门列表、一个寄存器列表和一个在所述门与所述寄存器之间的互连列表。计算一个时钟时滞排程表以查找用于每个寄存器的最优计时相位(clocking phase)。接着,放置单元使得逻辑门放置在寄存器附近,所述逻辑门影响所述寄存器的设立和保持时间,并且所述寄存器放置在所述旋转时钟的已知相位抽头(tap)附近。接着,基于寄存器之间的逻辑路径门的延迟,为寄存器的最优计时选择所述旋转时钟的一抽头。
Description
相关申请案的交叉参考
本申请案为2003年2月14日提交的第PCT/GB03/000719号国际专利申请案的一部分;其要求2002年2月15日提交的GB0203605.1、2002年6月6日提交的GB0212869.2、2002年6月27日提交的GB0214850.0、2002年8月14日提交的GB0218834.0和2002年11月6日提交的GB 0225814.3的优先权。第PCT/GB03/000719号国际专利申请案的主题以引用的方式并入此分案中。
此申请案为PCT/GB03/000719的一部分,所述申请案以引用的方式并入本文中。
技术领域
本发明一般涉及采用旋转行波振荡器的集成电路设计。
背景技术
设计同步的(即,计时的)VLSI装置需要电路与软件技术和/或算法的组合。本发明涉及一系列装置,其可单独或共同起作用以协助实现低功率、高频全局VLSI计时(意指在整个晶片上以及局部计时),并支持电路和软件以完成能够支持运行、测试和诊断模式的工业设计。尤其:
通过旋转时钟网络的全局高频同步。
低速(多循环)事件的全局分布的同步。
对较低速率事件进行子采样并瞬时作用于整个晶片上的移动点同步器全局低等待时间高速数据互连机制(同步或异步)——GB 0218834.0(标记驱动器(blip driver))
支持传统不到1GHz时钟的可编程分频和/或可编程相位偏置。
用于时钟信号的低时滞/抖动缓冲机制——0225814.3(6/12/02)(有管缓冲器)
绝热分频组件——GB0203605.1(15/2/02)(分级计时系统)
绝热、节能逻辑族——GB0214850.0(27/6/02)(旋转时钟逻辑)
如下文所讨论的并入“选通”的节能高性能锁存器技术。
VLSI设计中的大体趋势
此处我们谈论在最近5年中见到的影响VLSI晶片如何被设计和实施的趋势。互连
最大的改变是从先前“晶体管主导的”设计方法到现代“互连主导的”设计。
在历史上,当晶体管和因此的逻辑门延迟主导同步系统的设计时,很少关注互连延迟。
如今互连延迟主导电路的性能。计时是长距离信号的一个例证——当互连延迟时间可超过逻辑门的延迟时间时,其它论点可应用于所有长度超过可能0.1mm的互连。
必须将互连视为一流的物理效应并且不应简单地作为以相关容限(associated margin)说明所述效应的“寄生效应”。
定时问题
因为互连延迟成为主导并且经常直到完成电路布局才能预测延迟,所以“定时分析”和“定时收敛”已变得很重要。延迟必须基于导线、缓冲器时钟的实际放置以确保同步系统将工作(必须满足所有路径上的所有设立和保持时间)。
可能需要改变布局来满足定时约束,并且此情况可经常在尝试新布局处引起“定时收敛”问题,但是所述新布局在设计中的别处导致新定时违规(timing violation),导致了迭代并延迟投向市场。
时钟概念
在同步系统中,数据由时钟信号的操作所控制。时钟控制允许数据改变的时间(输出时钟)和捕获数据的时间(输入时钟)。
时钟是投送到晶片上所有锁存器的全局信号。其因此具有任何互连的最“寄生的”互连效应并且因此经受最仔细的检查。实际上,必须记住时钟与数据之间的相对定时是重要的(有时其被忽略)。
寄存器(锁存器或DFF)的概念
此处寄存器是指传递锁存器(也称作电平触发的触发器)或边缘触发的触发器(如,DFF)。这些装置中的任一个能够通过使用“时钟”输入信号而控制数据信号从输入到输出的行进。术语寄存器、锁存器或DFF在许多论文中被互换使用,而且必须从上下文中推断出确切含义。
单元概念
单元是用于预设计布局样式的通用术语,其在制造后当在晶片上某处被例示时生产功能组件(例如,与非门、多路复用器、锁存器)。单元是分级的——较大的单元可含有用导线结合在一起的较小的单元。最低级别的单元含有晶体管布局。最高级别的单元仅含有子单元和配线。
路径概念
对于同步系统,“路径”的概念将网表的思想延伸到涵盖起源于寄存输出的信号组,其逻辑上组合(逻辑门)以最终作为对单个寄存器的单个位输入而获得,并且具有某些复合时间延迟特征。
路径概念与减少大多数逻辑操作(通常多个输入->一个输出)的实现非常符合。
对定时的约束涉及路径,因为:
1.时钟与数据变化之间的相对定时很重要。
2.对路径的任一输入可能改变馈给锁存器的输出。
参考D38[path_and_parasitics.ps],单个网可涉及于多个路径中——若干寄存器可使其输入由一个网上的数据以某种方式而确定。
[注意,在设计期间所假定的简单网可能被显示延迟的复合互连寄生网络代替。]
查找路径的所有组件涉及以“向后”工作的寄存器的DFF的D输入开始的连接性数据库(网表)的搜索。进行此搜索通常将使用图表数据库包来进行。当算法进行收集路径中所涉及的网和单元直到最终各个支路在另一寄存器的输出结束时,搜索结果“扇出”。
路径分析主要用于定时分析并且通常与逻辑功能性无关(除确定错误路径分析处之外)。
寄存元件以相当明确定义的时间(由时钟给出)产生并接收信号,而不像速度可能变化很大的逻辑门路径和互连。时钟+寄存器的主要目的在于通过添加延迟或存储来移除定时不确定性。
因此,对于本论文的目的的路径是(时钟稳定化)寄存输出与寄存输入之间的时间延迟项(互连和门)的集合。
静态定时分析用于检查电路中无路径由于设立或保持时间违规而失效。
设立和保持约束
典型DFF寄存器(从用户的角度)响应时钟波形的上升边缘——捕获在时钟边缘前存在的数据信号值。实际上,DFF不是瞬时装置。
对同步系统的熟知约束是设立和保持。图表展示了当对数据采样时可能存在的问题。在上述两种状况下,因为在上升时钟边缘发生前数据为零,所以希望俘获“0”。
保持时间违规:在上升边缘后,数据必须保持稳定一小段时间(保持时间),否则会发生保持时间违规。——在上述图中,假定第一时钟脉冲的时钟输入为“0”。但是数据在上升边缘后从“0”变为“1”太快,其可能引起对“1”采样而不是对“0”采样。为了预防保持时间问题,直到在边缘后的至少DFF的指定保持时间为止数据才可变化。
调整:对保持时间问题可能存在三种可能的调整。
1.使数据路径中的逻辑电路更慢——因此数据不能改变太快。
2.调节到寄存器的时钟相位使得其更早地发生。
3.将馈给此路径的所有寄存器的时钟相位调节为随后的相位(达到与上述(1)相同的效应但约束仍实用)。
设立时间违规:在时钟边缘发生前数据必须稳定一段足够时间(设立时间)。上文,预期第二时钟脉冲也对“0”采样。但是在上升边缘前不存在足够的设立时间,而且因此可能对“1”(输入的先前状态)采样。(此之所以发生是因为DFF不是真正的边缘触发装置,当时钟线为低时,其对输入状态连续采样。此采样器不能对数据变化立刻响应。)
调整:为了调整设立时间违规,存在三种选择:
1.使逻辑电路更快,因此对于时钟的数据及时变化。
2.调节寄存器的时钟相位以更迟地发生。
3.将馈给此路径的所有寄存器的时钟相位调节为更早的相位(达到与上述1相似的效应但受约束影响)。
由上所述,可看到关于起因和可能的解决方法的设立和保持问题的对称性。移动时钟相位的已知方法在不同的场合分别称为“预定时滞”、“松弛借用(slack borrowing)”、“时间挪用”并且被工业实践所接受。
时序电路最优化的另一种方法称为“重新定时”[参考SIS论文],其中寄存器的位置沿路径移动以试图使延迟时间相等。馈给逻辑门的输入的寄存器可视维持逻辑等效和定时的熟知规则而定移动到逻辑门的输出(或反之亦然)。
分级计时系统(优先权文件GB0203605.1)
早期旋转时钟中心电路集中在通过形成旋转时钟的栅格(给出的结构)来改进时钟发生和分布上[GB0203605.1中的先前图式]。作为选择概述了4相分布。讨论了用于在晶片表面上的多个频率/相位相关时钟产生器的局部化时钟划分和任意波形的发生,并且其称为BWB(二进制波形区块)。关键思想是通过使用排列于链中的局部通信状态机的事件的全局同步以避免长距离的通信耗用。
因为已改善了这些思想,所以如D35[testchip4.ps]中所示的建议的测试晶片架构是可能的。
以适当的背景信息在此文件的其余部分中陈述了对分级计时方案的其它最近的发展和改进。
松弛预算和多相计时——“松弛”、“临界路径”的概念
松弛仅是在设立时间违规可能发生前在同步路径上可用的“空余”量或“松弛”量的度量。如果同步机的所有路径显示松弛,那么可减少时钟循环直到一个路径变为“临界”,即,其达到设立时间极限。此接着为系统的临界路径并且设定时间(在单相系统中)。
多相同步系统(以及所谓的异步系统),即,可具有一个以上单定时参考的这些系统能够通过重新预调度管线来打破此时间极限,以将松弛部分从快速路径传递至经受紧或负松弛的慢速路径上。在这些情况下的限制在于:对于N级管线,沿管线的N路径的所有延迟的总数必须小于N*t循环。例如,以1GHz操作的3级管线可能具有0.5nS、2nS、0.5ns的路径,而且其将仍在1GHz下工作。
松弛是以时间单位而度量(通常为微微秒),并且在用于同步电路可工作的所有条件下必须为零或更高。负松弛数字有时出现在定时分析中,其意味着时钟周期必须增加以使电路工作。
仅指设立时间约束的松弛是在描述定时问题的文献中使用最广泛的术语。用于典型DFF边缘触发单相系统的保持时间违规易于调整并且经常不受到很多关注。对于大体分析,不可能完全根据松弛来研究同步系统,尤其是在使用多相计时或透明(电平触发的)触发器之处。
用于给出设立和保持约束的同步操作的完整条件在[Lui]中给出。
传统同步系统设计流程
同步机的设计涉及CAD工具步骤以产生照相平版印刷输出。
5.高级描述(HDL),例如,由人类设计者所创建的VHDL、Verilog源编码。
6.逻辑合成——将期望的逻辑和状态转换映射到预设计锁存器、门和缓冲器(共同称作单元)与网表(互连)的组合以实施功能。时钟控制锁存器并且控制从一个状态到下一个状态的状态变化,并且经常被假定为布线在整个晶片上的单相控制线。
--因为直到晶片被放置并布线为止最终寄生电容仍未知并且可改变临界路径长度,所以电路定时在此点仅是估计。
7.放置和布线
放置:使用CAD工具将单元定位于晶片布局上,所述工具经常尝试许多可能的布局配置以最优化诸如“最小导线长度”、“最优定时”的各种功能。
布线:自动布线软件采取由上文所确定的单元放置信息,加上引脚(在各个单元上的互连位置)加上网表(其引脚连接到其其它引脚)以确定互连路径。
因为假定时钟线将像电力线一样随处可用,所以放置通常不受时钟信号思想的影响。
通过一称作“CTS”时钟树合成的特定工具和一特定自动布线器(如,在更高级版本上也可插入主动缓冲器元件的H树)来执行对时钟线的布线。
8.定时分析和收敛
如今在工业中对上述任务存在许多可能的方法。上述提及的大多数算法使用启发式和迭代法来实现最优化。例如,称作TimberWolf的熟知自动放置码使用“模拟退火”方法。随机移动单元,并且评估每一新放置以观察其是否改进了在每一迭代中受到评估的任何数目的因素的目标(降低了成本函数)。普通成本函数是总配线长度、延迟时间。因为“单相随处”方法意味着将时钟视为更像电源及地面的全局资源,所以未采取与锁存器放置相关的时钟。
发明内容
根据本发明一实施例的一方法是一用于使用旋转时钟来设计系统的方法。所述方法包括:创建一使用高级语言的系统的高级行为描述;和将期望的逻辑合成为预设计的逻辑门、寄存器与锁存器的组合,以创建一含有逻辑门列表、锁存器初始列表和在逻辑门与寄存器之间的互连列表的网表。所述方法进一步包括:执行重新定时操作;创建一给出每一寄存器的最优计时相位的时钟时滞排程表;和将单元放置在一布局上,使得相对于寄存器和锁存器放置逻辑路径门,并使得寄存器和锁存器放置在旋转时钟的已知相位抽头附近。所述方法进一步包括:基于寄存器之间的逻辑路径门的延迟,选择用于寄存器的最优计时的旋转时钟的抽头;和在所述单元之间对连接进行布线。
本发明的一优点在于可通过使用用于每一寄存器的最优相位达到较高性能。
本发明的另一优点在于:由于大量相位可获得自旋转时钟,因而可将定时松弛更容易地在设计中从一路径移动到另一路径。
附图说明
图1展示具有不同于3f频率差值的旋转时钟之间的相位锁定,所示的电路为给出大体方法的部分电路,其中多相和低速时钟与两相高速旋转时钟可通过使用逻辑选通而相位锁定在一起;
图2展示待在本发明的布局中使用的扫描锁存器;
图3展示待在本发明的布局中使用的与非锁存器;
图4展示基于本发明的测试晶片布局;
图5展示适合与旋转时钟一起使用的真边缘触发的DFF锁存器;
图6展示使用电容性驱动单点的多相旋转时钟的波成形;
图7展示单网如何可以涉及于多路径中,即,若干寄存器可使其输入由一个网上的数据以某种方式确定;
图8展示如何可采用全局同步电路方法;
图9展示选通的互连;
图10展示与SRAM接口一起使用的恒定(contant)时钟;
图11展示示范性设计,其中已识别了逻辑单元和锁存器;
图12展示被移除的并以放置保持器代替的锁存器单元,尺度无变化;接着通过预放置的旋转时钟布局来提供锁存器;
图13展示预制的布局;
图14展示松弛曲线;
图15展示单元放置,其中布局工具意识到锁存器位置和由每一锁存器所提供的相位;用适当的定相将门单元与锁存器最靠近地放置;
图16展示单元放置,其中被移除的并以电容器代替的未使用的锁存器为额外布线释放空间;
图17展示锁存器如何连接到不同相位的旋转时钟;
图18展示在放置和布线后的松弛图表;
图19展示相对于临界边缘的设立和保持定义;和
图20A-20C展示根据本发明的流程图。
具体实施方式
多GiG旋转时钟设计流程
1.HDL
与上述相同。
2.逻辑合成
与上述相同。标准工具从HDL码运行以产生逻辑门列表、寄存器的初始列表和给出在各项之间的互连的网表。
3.时序最优化和相位扩展方法。
此为新步骤但基于已知思想。
下列操作是根据指定参考论文而在网表上得以执行。
a)重新定时
b)时钟时滞调度
c)视需要从边缘触发的到电平触发的触发器的转换[TIM论文]顺序地或同时执行[Liu]。
上述a、b、c的结果是一个新的网表,其中逻辑门保持与标准流程相同,但是寄存器配置改变了(我们不会降低在此点进行诸如Espresso[berkeley]工具的逻辑最优化的可能性)。(在网表中)各个寄存器的数目、放置可与标准流程不同。此外,产生时滞排程表(各个寄存器的最优相位的注解),并且其为一用于将此排程表映射(经由放置)到旋转时钟的固有能力上以产生多相时钟的方法,其是此处概述的本发明的一个方面。
4.放置和布线
我们称此类型的算法(其中,逻辑路径单元相对于锁存器而放置,所述锁存器又放置在时钟的已知相位点处)“放置驱动定时”,以与通常的试图仅基于数据定时而放置的“定时驱动放置”进行对比,通常假定单相时钟或至少一时钟具有少量时滞。
改进流程的原型使用内置Timberwolf的新成本函数来促进靠近适当锁存器放置门。在模拟退火方法的每一放置迭代上,确定对于馈给锁存器的D输入的单元的每一无关输出的相位容差。如果放置与锁存器足够接近,其通过连接到局部旋转时钟相位,具有适当的定相,那么会维持放置。designflow.sdd的最终图式展示4个可能的定相中的任一个仅通过将通道样式置换于时钟线内而可用于任何锁存器。因此,可对各个可能的锁存器评估4个可能相位,大大增加了可找到适当定时并且将达到负载完全扩展到旋转时钟上的机会。透明传递锁存器的使用将更进一步延伸容限。
放置的结果馈给到可以标准工具达到的布局的布线相位。
流程被概述为图表中的流程图[timberwolfFlow.sda]D51并且在[designflow.sdd]D42中更详细。
旋转计时电路的测试
因为能量包含于电路中并且不能以完全受控的方式被立即释放,所以如旋转计时[参考最初专利]的基于耦合LC的振荡器本质上难以由于选通、测试的目的而停止。
此部分的其余部分原理上描述了对锁存器和辅助电路的附加部分,以允许通过由时钟所驱动的存储元件(锁存器或DFF)的修改的间接方式在旋转计时晶片上执行单步、BIST和扫描测试。
基本原理是将数据门锁存器同步地连接到时钟线以模拟传统时钟选通,其中,比方说,将与门插入于时钟路径中。时钟选通与数据选通直接等效,并且在外部没有可察觉的差异并且在区域上没有可实施的差异。
同步数据选通(如在下文先前提出的电路所提出的锁存器内实施)
专利申请案[PCT/GB03/000719]描述了用于旋转时钟的作为对时钟选通的替代的数据选通。
因为停止上游信号的活动将在几个循环内停止下游信号的活动,所以此在有效性方面完全等效,但是可节约面积。(浏览BDD?图表并且查找何处为停止向前切换活动的数据选通的最佳位置——可能仅有几个这样的位置的新概念)
专利[PCT,或许初期的一个]具有旋转时钟的断电——一旦使用锁存器执行了有序的“停止”,那么此可很好地完成。通过传递晶体管对真正时钟选通的描述。
较新的电路:
此处建议方法延伸上述概念并由旋转时钟驱动的同步门锁存器元件以预防假采样。这些电路需要用于使用相位锁定全局时钟的局部共同操作状态机操作的多循环全局同步的电路。
适合旋转时钟流程的锁存器技术
所有同步系统都依赖某种锁存元件来控制数据流。这些在不同的场合称为锁存器、D触发器(DFF)、寄存器。这些电路使用时钟来通过允许仅相对于时钟定时源改变指定时间而减少路径延迟的不确定性。
自从20世纪80年代后期,在工业实践中已经提出单相边缘触发D触发器的方法。对于先前普通多相时钟分布方法的最大障碍是难以创建并分布一个以上的时钟相位而同时维持彼此相对相位精确度。
对于旋转计时,评估许多不同的DFF、传递锁存器设计。然而,大多数锁存器和FF由于其单相行数而使用内部缓冲器和反相器。当从诸如旋转时钟的真微分时钟源驱动时,不需要这些装置。
对于用于基于L-C的计时方案使用的任何锁存器装置的另一个有用的属性是对转子配线呈现的恒定电容性负载(时钟负载,其不依赖于穿过锁存器的数据)。如果无此属性,那么可能存在更不合理的情况,其中所有锁存器数据从0切换为1,其改变了电容,因此改变了周期且因此改变了相位稳定性。存在由旋转时钟的多个环承担的许多固有的电容变化的容差。
真DFF锁存器
D36展示了适用于旋转时钟的真边缘触发的DFF锁存器。其具有许多关于用于旋转计时操作的先前列出的时钟输入的优选特征。
注意:
来自缓冲输出和STOP组件的反馈给出边缘触发特征,其中无论在D输入上发生任何事件在主动上升边缘后输出状态不可能改变。
在时钟循环的非活动部分处关断PS和NS,以重新装备锁存器。
D36[dff_fast.ps](来自上文的波形图)
伪DFF锁存器建议
D4[constant_clock_C2.ps——具有SRAM I/F]
(来自上文的波形图)
在D36中展示了采样器和较快锁存器元件的设计。
电路实质上为传递锁存器但是希望具有类似于DFF的特征和类似于DFF操作。
因为其透明同时时钟为高,所以其与DFF相比显示长的保持时间特征,对DFF来说其为代替品。然而,可知,在非常高的频率下,由于锁存器的输出级中的延迟时间,此保持时间小于时钟循环的1/2,并且当在特定或小范围(或许2∶1范围)的操作频率下操作时,在其与主从锁存器之间存在极小差异。
将此锁存器安全地用于多相计时需要时序最优化级满足所有锁存器的设立/保持时间。
将锁存器设计为分路径,其中零与一电路分离以改进速度并消除交叉传导。
注意:
计时晶体管N1、P1与数据不成行但连接到电源。因为计时晶体管的通道从到通过晶体管源连接的两时钟(逻辑真和补码)的每一半时钟相位处的God的任一VDD固体路径(solid path)完全充电和放电,所以门电容基本上不随数据输入值变化。
保持,即,停止排列:
晶体管N5、P5控制“有效时钟选通”。而对于SOI处理,真时钟选通对旋转时钟可行,整体CMOS具有太多的RC而很难有效执行时钟选通。已展示了几乎不需要选通旋转时钟,但是对于扫描测试(见下文部分),必须保持所述状态。当′STOP为高并且STOP为低时,N5、P5执行为“有效时钟选通”的“数据选通”以保持锁存器的状态。同样,对数据扼流使得锁存器下游逻辑不活动,从而减少与功率消耗相关的数据活动——又与时钟选通直接相当。
(理想地,停止信号具有低阻抗开/关驱动特征,但是高阻抗静态驱动以隔离来自D输入路径的门电容直到其降低锁存器的操作)。
STOP信号事件的产生必须在时间上仔细控制。在GB0203605.1中概述的全局同步方法(分级计时系统)和在此概述的此电路的改进版本可达到立刻冻结整个同步机状态的此全局同时的“STOP”信号——在所述点处状态可被转储。
当STOP信号从逻辑信号产生时,可实施有效的“功能时钟选通”——可能由局部旋转时钟限定以确保开始/停止仅在锁存器不活动期间发生。
时钟活动通常将在停止周期期间延续,使得重新开始可同步并且无小故障。
使用具有不同时钟相位的伪DFF
如果需要,那么可将上述讨论的锁存器成对使用以作用于一个信号。所述对的每一锁存器具有不同的*CLK和CLK定向以实施可减低到很低速度的非贯通DFF类型排列。另一选择在于所述对可使用90度(4相)相对对准,并且给出的延迟时间将不经受在一组宽高时钟频率下的贯通。
此代表了非常积极的方法,但是电源电压装仓应将所有保持失效排除——如果晶片在保持时间失效,那么减小电源电压。将电位移到设立时间失效——但是透明锁存器也将在此为某预算。
全局同步方法——例如,同时在整个晶片上产生用于锁存器的STOP信号。
熟知很难在很短的时钟循环内在晶片上传输全局信号。诸如真传输线技术(光速应用)的措施可延伸信号在给定时间周期内移动的距离,但是通常当更新率很慢时无需此方法的耗用。
此处给出的电路的目的是产生使低速外部事件与高速内部旋转计时同步的大体低耗用的方法。
信号“采样不足”,是由于许多旋转时钟周期被允许低速信号变得稳定(给其时间以从外部引脚在晶片上充分传播),但是在高速时钟的此IN计数等待时间后,事件可在整个晶片上为同时的。
对信号的一此使用将是用于锁存器控制的STOP信号(见constant_clock_C2.ps D41)。举例而言,将外部STOP信号驱动到晶片上,并且再同步方法(以时钟的局部非活动相位为动力操作)将产生所需的STOP信号而无讹误。
通过在整个晶片区域上有效地同时停止整个晶片的能力,缓慢互连的通常问题以等待时间为代价得到了克服。
在[最初分级时钟编档]的关于多个全局分频时钟的部分中通过多个短距离局部同步链路描述了用于全局多循环同步的必需方案。
此处提供了额外的图表作为说明此可如何实施的细节的另外实例。
修改的门——并入锁存功能
参考D34[nandlatch.ps],仅相对于标准与非门的变化是时钟选通功率晶体管。当时钟不活动时,门没有通电并且不能驱动互连。在时钟的活动部分中,输出电容承担通常与非功能(A&B)。以此方式的选通可控制用于早期输入信号的输出转换。
选通互连(即,同步中继器)
D40[gated_interconnect.ps]
数据的选通可在逻辑门和锁存器的外部执行。图式D40展示了与互连成行而放置的门。将存在某由数据而定的时钟电容,并且此可容许在有限量内。当缓冲时,其变为同步中继器。这些项目和修改的门通常将不会插入到保持状态(因此无需为“可停止”)和功能,以使在路径的多个支路周围的延迟相等[视时序最优化策略而定]。
数字电路的测试(背景信息)
同步VLSI晶片需要计时系统来不仅提供系统定时以控制锁存器和其它存储元件,而且提供一协助测试抛光硅的机制,其可显示通常来自由(例如)在制造/平版期间分别由污染或光学问题引起的物理缺陷的若干失效形式。一些最常见的故障为:
1.固定型故障(Stuck-At fault)
此在缺陷引起电路节点固定在逻辑“0”或逻辑“1”之处。
2.延迟故障
不会影响逻辑操作但引起路径(通常)花费比通常更长的时间来评估的故障。此故障使装置不能以所要的时钟速度工作并且可致使装置滞销。
3.泄漏电流故障
其中动态节点不能使其电荷保持最短的时间量。此故障在根本不工作的装置或在其它高温下或低于额定操作速度的情况下可见。
上述为在制造中的常见的随机失效并且某种程度上降低了产量,但是即使正确设计的装置经受可影响每一晶片制造的其它系统故障的影响——有时光学干涉或制造容差的组合可在每一晶片上的同一点或在晶圆的相同区域上的晶片上创建不期望的特征。
系统故障最棘手并且必须除错并可能需要对掩码重制(re-spin)或对处理重返工。在任一情况下,除非通过测试能够诊断问题,否则校正是不可能的并且产量可能为零。
外部测试/除错
如今从晶片外部除错仅得到有限应用——仅VLSI装置使用的信号的一小部分在外部引脚上可供度量。同样的问题适用于刺激器(stimulus)——引脚不足。最终,调制解调器晶片可运行的速度通常10x或甚至更快于生产线测试器可操作的速度。
测试协助(内部)
当前解决方法为提供特定晶片上的硬件以能够使用测试样式来测试装置本身。这些数字测试样式可运用具有已知激励器的装置的内部逻辑,并且因为假定逻辑为确定性的,所以如果装置是可操作的并且关于顺应性可对此输出进行测试以检查晶片是否工作,那么输出应当是可预测的。
对于常规JTAG(公开标准)扫描测试,在通过逻辑合成进行的逻辑元件的设计期间[参考:来自Berkeley的SIS public domain system]使用ATPG(自动测试样式产生)软件产生测试模式。设计测试样式以充分运用逻辑,从而展现任何可能的固定型故障。使用移位寄存器(或可能的DFF重新配置以充当链)以在测试样式中移位作为机器状态(在任何时间完全通过在其存储元件内的状态定义同步系统),可发出单个时钟脉冲以将机器状态移到下一状态。然后读出从逻辑捕获的新状态并将其与所预期的结果进行比较。
此为耗时过程并且测试器时间(tester-time)很昂贵。另一缺点在于由测试器产生的时钟周期通常不够快,基于扫描的方法传统上仅可识别固定型故障,但是不能识别泄漏故障的延迟故障。第二方法称作内置自测法(BIST),其中采用晶片上伪随机样式产生器。这些中的每一个产生确定的但高度可变的样式(由时钟步的排序)并且所述模式馈给所述逻辑。使用再次与时钟同一类运行检查和算法捕获并压缩来自逻辑的输出。在一长系列的许多时钟循环后,如果逻辑恰当运行,那么检查和应为一已知的值。此能够以相对于高成品率样本检查和或由了解产生器样式和检查和产生器操作的软件而计算出的检查和的方式测试。
BIST具有其将以不受测试器限制而约束的全时钟速率工作并且其比自测快得多的优点。
问题在于因为预设定晶片的确切状态不可行,故障覆盖率不是100%并且详尽除错更困难。
当由于耦合问题而产生的许多次延迟故障并非总能被伪随机序列捕获时,延迟故障的覆盖率不完全。
扫描型电路
此处是应用于旋转计时电路并且利用“光速”链路来传输比平常中继互连更快的串行数据(如扫描数据)的扫描方法的实例。
D33[scanlatch_PCT.ps]
上文所示的电路的特征。
单步能(使用外部阶跃信号)——可能为100个时钟内的一个内部脉冲。
全速运行直到计数N接着停止并转储所述状态(很难但是为查找故障循环的快速方法)
扫描输入完全状态(以高速进行排序的移动点)
以高速使用光速链路扫描输出状态
定时序列
扫描输入EN_m和EN_s不活动。
Q将保持先前值
(扫描输出——将在一个1/2循环中对M采样(读出旧状态))
将通过来自移动点寄存器的下一个1/2循环上扫描输入而设定M。
步进和停止
整个晶片同步,CLK变低(仅在单步循环前取代)。
在CLK=LOW(为高时间作预备)不会引起任何输出时EN_s应变高。
CLK变高,来自主机(最后扫描输入或最后从D采样)中的数据的Q(从动)输出开始有效。
在CLK=HIGH时间期间(*CLK不活动)EN_m变高,其允许当CLK变回低时主机进行采样。
CLK再次变低(*CLK变高)主机对数据采样。crs EN_s应变低以预防所俘获的数据在下一个1/2循环上前进。
CLK再次变高。主机停止对数据采样,
EN_m应变低以使下次时钟变低,不进行新的采样(否则由于将存在对整个新时间进行采样而其将破坏延迟故障测试)
(此处在时钟上进行(例如)多次采样而不改变Q的虚拟/n的无关可能性)
扫描输出/输入
现可执行扫描输出和输入——例如输入新矢量而将旧的取出。
离线比较与所预测的ATPG矢量或新步骤比较的读出。
现再次进行Goto步骤(基于普遍晶片范围事件)
因为如果载入新数据那么其将在新周期内刷新输出,所以上述方法将找到延迟故障。
当CLK为高(*CLK为低)时EN_m可改变
当CLK为低时,EN_s可改变
锁存器数据的SRAM型接口
通常将使用扫描链技术来对晶片扫描输入并扫描输出测试数据(见上文)。
此处所建议的替代电路使用给出随机读写存取的锁存器的SRAM型接口。
根据先前概述的预制旋转时钟布局技术,锁存器可排列为在时钟线下方的行与列(锁存器也可放置于任意位置并且导线可将其连接到最近的旋转时钟线)。此行/列布局完全对应于SRAM布局(在工业中已熟知),并且通过修改,可配置锁存器存储元件以完全如a般工作。所展示的锁存器具有晶体管N7...N9、单列选择线和行选择线WRITE、READ。也可在不同于时钟结构的金属层内以类似X/Y样式投送数据信号。行、列、数据信号将被投送到衰减器(Pad)以使信号离开晶片从而连接到测试器。此外,晶片自身(或许晶片上测试控制器)可驱动SRAM接口到自测锁存器。
SRAM耗用很小——具有100K锁存器的10×10mm的晶片代表0.1M位的SRAM——由调制解调器标准看来很小。同样的晶片可能在板上具有2M位的高速缓冲存储器。在导线和引脚上的耗用很少。测试模式无需为次毫微秒存取(不像高速缓冲存储器),因此设计相当直接。STOP信号和SRAM读取/写入接口的内部控制允许任意局部化测试、状态转储/锁存器状态的恢复(或许对外部存储器)并且可有助于促进断电模式。
随机存取测试解决了代表扫描链方法的两个问题:
1.消除了来自扫描链活动的过多能量(因为晶片上的所有逻辑项目将由移位数据激活,所以通常引起过多功率消耗)。
2.因为移位SRAM测试接口本身是平行的,所以相对于扫描链改进了测试带宽(低速平行测试器可达到较高的吞吐量)。
N计数测试模式:
无论SCAN或SRAM接口,对机器状态进行快照接着对机器状态进行转储使能进行有效诊断。
在工业中实践的一个此方案为二进位搜索测试。
在此模式中,对机器的状态(所有存储元件的状态)初始化(以扫描输入矢量复位或预设)。接着,N时钟循环为将机器移动到N通道循环的问题。
将所述状态外部转并将其与由模仿硬件的模拟器预测的状态相比较。如果所述两组状态数据不匹配,那么然后逻辑操作在N循环中的某处失效。测试从相同初始状态重复但以N/2循环和与由模拟器预测的N/2状态比较的状态进行。视每次比较的结果而定,下一次测试可能为N/4或N*3/4。很快将确定引起故障的确切的时钟循环。
图式D35[testchip4.ps]展示了用于在使用本文中先前详尽描述的较低速率的事件的全局同步的N计数后,驱动晶片上STOP信号的外部计数器。
在计数N事件后对晶片给出“STOP”信号。显然所述/N计数器也可在生产晶片的内部。
可采用全局同步电路方法D39[global_sync_system.ps]——所展示的控制输入中的一个可为用于所展示的电路可在整个晶片上转换此的“STOP”信号。对于N循环然后停止的信号输入,可以相同方式使用等待时间。在用于STOP的N循环然后停止方案(假定8个循环延迟)中晶片上可能存在等待时间的Y循环,但是如果测试器进入N-Y而非N作为到在D39上展示的寄存器的数目,那么在正确的循环上将发生中断。
节能模式
先前分级计时方案概述了频率控制方法。先前应用展示了电压调节与电源电压改变以当空载时减小功率。
此可延伸到:
电压随速度改变而同时成比例缩放。例如逐渐降低频率(平滑地)同时降低电源电压——在此,此可轻松达到。同样,如果选通数据,那么晶片电压可降低到低于其将逻辑上运行但状态不丢失的程度。
软件流程改进
当将旋转时钟方法应用于现有设计时,通常的要求是改进性能并降低功率消耗。
现有设计最可能为使用DFF寄存器的单相、假定零(或低)时滞方法。
一种改进同步性能的熟知的方法是应用管线输送。管线输送将存储元件插入在路径中顺序放置的逻辑门之间以减小在重新同步前的门延迟的数目。
“系统寄存器”、“管线寄存器”的定义
我们定义系统寄存器为来自初始DFF合成电路(在馈入特定流程以前)的寄存器中的一个。将增加以实施用于旋转时钟流程的管线输送的额外寄存器定义为“管线寄存器”。
在环上的额定“同相”抽头点处保持“系统寄存器”意味着不改变高级定时分析。
使用伪DFF类型的设计/定时分析
在时钟边缘之前用于数据改变的设计(如DFF)
利益透明度给出某安全因素,即如果边缘较迟到达,那么其将较迟传播并且希望此迟滞不会在下游累积,使得物体失效。
可使用标准定时分析
“系统”寄存器(非管线寄存器)可在环的单相部分,假定回路的+/-2.5%=5%=10%并且可简化定时分析。
系统寄存器可用作在定时分析引擎中的“参考点”,而无需担心所有延迟将有助于降低对可能的状态/时间转换图表的剖析。
在添加旋转时钟管线元件(传递锁存器)之前,系统寄存器可能对应于低速ASIC寄存器,并代表架构的一个良好的结束点。
在时序最优化期间使元件同步的选择
在将概述的流程中,承担重新定时和时钟调度的算法将从上述列表中选出适当的装置。将选择全DFF(或在相反相对定相上背-背的两通路型锁存器)用于系统寄存器(如上所定义的),当通路型锁存器的保持时间需求不会引起问题时,将选择单伪DFF。
为达到可测试性,可将配置两先前选择。
接着,当可扫描性不重要时,可根据精细颗粒管线级使用时钟选通逻辑门思想。最后,可插入选通互连电路以使路径延迟变化(通过路径来自不同逻辑状态路线)规格化。
管线缓冲器
MISC CIRCUITS
使用多相旋转时钟电容性地驱动单个点的波形成形D37。当驱动绝热或能量恢复逻辑电路时,需要上升以产生小于陡方边缘。前述图表给出了使用多相抽头点以产生电容性分频器效果的简单方法。使用不同尺寸的电容器可剪裁波形。全部阵列电容对负载(对地)电容的比率确定了最终波的振幅。
在具有不同于3f频率差异D32[4phase_f_lock.ps]的旋转时钟之间的相位锁定为部分电路,所述电路给出了通常方法,其中使用逻辑选通可对多相并低速时钟和两相高速旋转时钟进行共同相位锁定。可看到与绝热分频器概念的相似之处。注意,2相、4相的区别仅在关于旋转时钟的几何连接点导线布线问题上——因为所有“液”相在每一环路上可用。
虽然已参考本发明的某些特定优选版本相当详细地描述了本发明,但是其它版本也是可能的。因此,上述的权利要求书的精神和范畴不应限于对本文中所含有的优选版本的描述。
Claims (3)
1.一种使用一个旋转时钟来设计系统的方法,所述方法包含:
选择一种处理技术和一个程序库;
执行一个用于一个设计的定时分析;
通过使用一个功率和空间限制来计算一个旋转时钟的尺度;
合成包括将所有锁存器单元转换成具有零宽度的特定虚拟版本的所述设计;
将所述单元放置并布线到安装在所述旋转时钟的线之间的行中;
移除虚设锁存器和重新布线网以使用由所述旋转时钟所提供的所述锁存器;和
移除任何过多的旋转时钟锁存器。
2.一种使用一个旋转时钟来设计系统的方法,所述方法包含:
通过使用一种高级语言来创建所述系统的一个高级行为描述;
将期望的逻辑合成为预设计的逻辑门、寄存器和锁存器的一个组合,
以创建一个含有一个逻辑门列表、一个寄存器初始列表和一个在所述逻辑门与寄存器之间的互连列表的网表;
执行一个重新定时操作;
创建一个给出每个寄存器的最优计时相位的时钟时滞排程表;
将所述单元放置在一个布局上,使得逻辑路径门相对于寄存器和锁存器而放置,并使得所述寄存器和锁存器放置在一个旋转时钟的已知相位抽头附近;
基于寄存器之间的逻辑路径门的延迟,为寄存器的最优计时选择所述旋转时钟的一个抽头;和
对所述单元之间的连接进行布线。
3.根据权利要求2所述的使用一个旋转时钟来设计系统的方法,其进一步包含:在创建一个时钟时滞排程表之后,将边缘触发的触发器转换成电平触发的触发器。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0203605.1 | 2002-02-15 | ||
GB0203605A GB0203605D0 (en) | 2002-02-15 | 2002-02-15 | Hierarchical clocking system |
GB0212869.2 | 2002-06-06 | ||
GB0214850.0 | 2002-06-27 | ||
GB0218834.0 | 2002-08-14 | ||
GB0225814.3 | 2002-11-06 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA03808371XA Division CN1647012A (zh) | 2002-02-15 | 2003-02-14 | 电子电路 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1818911A true CN1818911A (zh) | 2006-08-16 |
Family
ID=9931139
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100554840A Expired - Lifetime CN100433021C (zh) | 2002-02-15 | 2003-02-14 | 管状缓冲器 |
CN 200510055487 Pending CN1808448A (zh) | 2002-02-15 | 2003-02-14 | 旋转时钟逻辑 |
CN 200510055488 Pending CN1818911A (zh) | 2002-02-15 | 2003-02-14 | 旋转时钟设计流程 |
CN 200510055485 Pending CN1808447A (zh) | 2002-02-15 | 2003-02-14 | 标记模式驱动器 |
CN 200510055486 Pending CN1808328A (zh) | 2002-02-15 | 2003-02-14 | 分级计时系统 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100554840A Expired - Lifetime CN100433021C (zh) | 2002-02-15 | 2003-02-14 | 管状缓冲器 |
CN 200510055487 Pending CN1808448A (zh) | 2002-02-15 | 2003-02-14 | 旋转时钟逻辑 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200510055485 Pending CN1808447A (zh) | 2002-02-15 | 2003-02-14 | 标记模式驱动器 |
CN 200510055486 Pending CN1808328A (zh) | 2002-02-15 | 2003-02-14 | 分级计时系统 |
Country Status (2)
Country | Link |
---|---|
CN (5) | CN100433021C (zh) |
GB (1) | GB0203605D0 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202603A (zh) * | 2015-05-29 | 2016-12-07 | 阿尔特拉公司 | 用于在寄存器重定时之后探测信号的方法和装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8581668B2 (en) * | 2011-12-20 | 2013-11-12 | Analog Devices, Inc. | Oscillator regeneration device |
CN104240753B (zh) * | 2013-06-10 | 2018-08-28 | 三星电子株式会社 | 突触阵列、脉冲整形电路和神经形态系统 |
CN104348450B (zh) * | 2014-10-16 | 2016-11-30 | 新港海岸(北京)科技有限公司 | 一种时钟抖动消除电路 |
CN106505990B (zh) * | 2015-09-08 | 2021-12-03 | 恩智浦美国有限公司 | 具有可选滞后和速度的输入缓冲器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5325502A (en) * | 1991-05-15 | 1994-06-28 | Micron Technology, Inc. | Pipelined SAM register serial output |
JP2000048574A (ja) * | 1998-07-28 | 2000-02-18 | Nec Corp | センスアンプ回路 |
US6160451A (en) * | 1999-04-16 | 2000-12-12 | That Corporation | Operational amplifier output stage |
JP2001308653A (ja) * | 2000-04-26 | 2001-11-02 | Nippon Precision Circuits Inc | 増幅器 |
-
2002
- 2002-02-15 GB GB0203605A patent/GB0203605D0/en not_active Ceased
-
2003
- 2003-02-14 CN CNB2005100554840A patent/CN100433021C/zh not_active Expired - Lifetime
- 2003-02-14 CN CN 200510055487 patent/CN1808448A/zh active Pending
- 2003-02-14 CN CN 200510055488 patent/CN1818911A/zh active Pending
- 2003-02-14 CN CN 200510055485 patent/CN1808447A/zh active Pending
- 2003-02-14 CN CN 200510055486 patent/CN1808328A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202603A (zh) * | 2015-05-29 | 2016-12-07 | 阿尔特拉公司 | 用于在寄存器重定时之后探测信号的方法和装置 |
CN106202603B (zh) * | 2015-05-29 | 2020-02-21 | 阿尔特拉公司 | 用于在寄存器重定时之后探测信号的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
GB0203605D0 (en) | 2002-04-03 |
CN1808448A (zh) | 2006-07-26 |
CN1808328A (zh) | 2006-07-26 |
CN100433021C (zh) | 2008-11-12 |
CN1776691A (zh) | 2006-05-24 |
CN1808447A (zh) | 2006-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101471237B1 (ko) | 적응형 전압 스케일링 최적화를 이용하는 집적 회로들을 설계하기 위한 시스템 및 방법 | |
CN1647012A (zh) | 电子电路 | |
Kuon et al. | Measuring the gap between FPGAs and ASICs | |
Donno et al. | Power-aware clock tree planning | |
TWI476615B (zh) | 誤差偵測及誤差校正之二相時鐘失速技術 | |
Benini et al. | Glitch power minimization by selective gate freezing | |
US6550044B1 (en) | Method in integrating clock tree synthesis and timing optimization for an integrated circuit design | |
JP2011530763A5 (zh) | ||
Sathe et al. | Resonant-clock latch-based design | |
Wilton et al. | Design considerations for soft embedded programmable logic cores | |
Moreira et al. | Adapting a C-element design flow for low power | |
CN104795091B (zh) | 在fpga中实现zbt读写的时序稳定度的系统及方法 | |
CN1818911A (zh) | 旋转时钟设计流程 | |
Vishnu et al. | Clock tree synthesis techniques for optimal power and timing convergence in soc partitions | |
Lung et al. | Clock skew optimization considering complicated power modes | |
Ganusov et al. | Time-borrowing platform in the Xilinx Ultrascale+ family of FPGAs and MPSoCs | |
Wang et al. | TonyChopper: A desynchronization package | |
Kim et al. | Resource allocation and design techniques of prebond testable 3-D clock tree | |
Pudi | A configurable multi source clock tree synthesis for high frequency network on chips | |
Chen et al. | Reconfigurable ECO cells for timing closure and IR drop minimization | |
Wu et al. | Low-power design of sequential circuits using a quasi-synchronous derived clock | |
Lin et al. | A platform of resynthesizing a clock architecture into power-and-area effective clock trees | |
Rahman et al. | Power reduction via separate synthesis and physical libraries | |
JP2006134215A (ja) | クロックツリー生成装置、クロックツリー生成方法、クロックツリー生成プログラムおよび記録媒体 | |
Pedram et al. | Power optimization in VLSI layout: a survey |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |