CN103227638A - 方法和布置 - Google Patents

方法和布置 Download PDF

Info

Publication number
CN103227638A
CN103227638A CN2013100366210A CN201310036621A CN103227638A CN 103227638 A CN103227638 A CN 103227638A CN 2013100366210 A CN2013100366210 A CN 2013100366210A CN 201310036621 A CN201310036621 A CN 201310036621A CN 103227638 A CN103227638 A CN 103227638A
Authority
CN
China
Prior art keywords
clock
signal
frequency
clock signal
pll
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.)
Granted
Application number
CN2013100366210A
Other languages
English (en)
Other versions
CN103227638B (zh
Inventor
A·菲里斯
I·A·宇尔兹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics Grenoble 2 SAS
STMicroelectronics Research and Development Ltd
Original Assignee
STMicroelectronics Grenoble 2 SAS
STMicroelectronics Research and Development Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by STMicroelectronics Grenoble 2 SAS, STMicroelectronics Research and Development Ltd filed Critical STMicroelectronics Grenoble 2 SAS
Publication of CN103227638A publication Critical patent/CN103227638A/zh
Application granted granted Critical
Publication of CN103227638B publication Critical patent/CN103227638B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0004Initialisation of the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0079Receiver details
    • H04L7/0083Receiver details taking measures against momentary loss of synchronisation, e.g. inhibiting the synchronisation, using idle words or using redundant clocks

Abstract

本发明的实施例涉及一种方法和布置。一种布置包括:第一时钟源;第二时钟源;以及电路系统,配置成向电路供应时钟信号,所述电路系统被配置成将时钟信号从一个频率改变成另一不同频率,从而在从所述一个频率改变成所述另一不同时钟频率时不供应时钟信号。

Description

方法和布置
技术领域
本发明涉及一种方法和布置并且具体地,但是并未仅涉及一种用于在改变时钟频率时使用的方法和布置。
背景技术
在已知电路中,时钟频率有时从一个值改变成另一个值。这可能引起例如时钟毛刺(glitch)和偏移(skew)的问题。这可能在使用改变的时钟来钟控数据时成问题。
发明内容
根据一个方面,提供一种布置,该布置包括:第一时钟源;第二时钟源;以及电路系统(circuitry),配置成向电路供应时钟信号,所述电路系统被配置成将时钟信号从一个频率改变成另一不同频率,从而在从所述一个频率改变成所述另一不同时钟频率时不供应时钟信号。
附图说明
为了理解一些实施例,现在仅通过例子参照以下附图:
图1示出了第一裸片和第二裸片;
图2更具体示出了发送器物理接口和关联电路系统的部分;
图3更具体示出了图1和图2的发送器物理接口;
图4示出了图1的布置的发送器物理接口控制电路系统;
图5具体示出了图4的控制电路的延迟链;
图6具体示出了DLL控制电路系统;
图7示出了定时图;
图8示出了在频率切换阶段期间的具体定时图;
图9示出了与图8的频率切换相反的频率切换的具体定时图;
图10示出了第二实施例的发送器物理接口控制电路系统;
图11示出了图10的发送器物理接口控制电路系统的计数器电路;
图12示出了用于第二实施例的定时图;以及
图13示出了在频率切换阶段期间的具体定时图。
具体实施方式
可以使用其中在单个封装内有多个裸片的一些实施例。具体而言,可以在单个封装内并入多个集成电路。在以下例子中,图1示出了具有两个裸片的单个封装内系统,提供该封装内系统以具体说明在两个裸片之间的交互。然而理解在一些实施例中可以在相同单个封装中提供三个或者更多裸片。
用于在单个封装内系统(SiP)中越来越普遍使用两个或者更多单独裸片的基本原理如下:
CMOS硅工艺中的减少的特征尺寸允许数字逻辑在相继制作技术中显著缩减。例如,当比较在90纳米技术中实施的数字逻辑单元与在65纳米技术中实施的数字逻辑单元时,可以获得近似50%的面积缩减。然而,如果完全在这些实施方式中,则模拟和输入/输出单元往往少得多地缩减。这可能在许多复杂的芯片上系统(SoC)中造成焊盘越来越受限制的设计。如果未与如果数字逻辑是器件面积的决定因素则可能密集地实施它一样密集地实施它,则焊盘受限制的设计可能视为浪费。
在一些实施例中,另一因素是例如向亚32纳米设计的转变可能引入在一方面为支持低电压、高速输入/输出逻辑(诸如在800MHz或者更高频率的DDR3(双数据速率)RAM(随机存取存储器)1.5V)与另一方面为更高电压互连技术(例如HDMI(高清晰度多媒体接口)、SATA(串行高级技术附着)、USB3(通用串行总线)等)之间的分歧。更低电压DDR3接口与HDMI技术相比可能需要更低晶体管栅极氧化物厚度。这可能与标准工艺不兼容。
向新工艺移植高速模拟接口在时间和专家关注方面消耗大量资源。通过将系统的模拟块的实施方式从数字块的实施方式去耦合可以允许减少获得工作硅片的时间。
通过将传统单片芯片上系统拆分成多个裸片以便形成包括两个或者更多裸片的封装内系统,可以实现优点。例如可以设计每个裸片以提供特定功能,该特定功能可能在特定功能的实施方式中需要模拟和数字电路系统的各种不同混合。这意味着在一些实施例中可以有可能将相同裸片或者相同设计用于不同封装内系统中的裸片。这一模块性可以减少设计时间。
可以使用在封装中有两个或者更多裸片的实施例。取而代之或者除此之外还可以使用如下实施例,其中有利的是独立认证、生效或者测试裸片中的至少一个裸片以例如符合标准。取而代之或者除此之外还可以使用如下实施例,其中裸片之一包含用于驱动具体无线、光学或者电接口的专用逻辑,从而可以独立制造一个或者多个其它裸片并且未引起与专用逻辑关联的任何成本。取而代之或者除此之外还可以使用如下实施例,其中裸片之一包含将向一个或者多个其它裸片的设计者/制造商隐瞒的信息、例如加密信息。取而代之或者除此之外还可以使用如下实施例,其中裸片之一包含高密度RAM(随机存取存储器)或者ROM(只读存储器)并且可优选出于制作产量和/或产品灵活性的原因而将这一存储器从标准高速逻辑分离。
应当理解一些实施例可以具有除了先前讨论的优点之外的附加或者替代优点。
一些实施例可以具有与两裸片(或者更多裸片)系统的特定相关性。然而应当理解实施例可以实施于除了两裸片或者更多裸片系统之外的场景中。例如一些实施例可以用来有助于两个或者更多块的功能。那些块可以是相同集成电路的部分、相同裸片的部分、在不同集成电路或者任何其它适当布置上。
图1示出了第一裸片2和第二裸片4。在图1中,仅举例而言,第一裸片2具有CPU7。第二裸片4具有闪速存储器9。这一闪速存储器包含CPU为了引导系统而需要的引导代码。在实施例中,需要两个裸片以振荡器29确定的频率(振荡器模式)在引导期间运行、然后切换成锁相环PLL11确定的更高操作频率(PLL模式)。这是因为CPU7可以从位于与包含CPU7的裸片远离的裸片上的闪速存储器9引导。因此,在两个裸片之间的接口需要在这一引导时段期间工作。
接口可以以如下频率运行,该频率是接口的时钟的一半。这意味着在振荡器模式中,接口以振荡器频率的一半运行。类似地,在PLL模式中,接口可以以PLL频率的一半运行。
在一些实施例中,即时(on-the-fly)频率改变对于整个系统而言‘不可见’。这意味着可以无需与芯片上系统的握手(handshaing)。也可以避免比如时钟毛刺和/或时钟偏移之类的问题。
每个裸片具有发送器和接收器,并且相应地将并入发送和接收电路系统二者,从而如需要的那样允许在裸片之间的双向通信,例如裸片1访问和接收来自位于裸片2中的闪速存储器的数据。将理解,这是接口的一个功能并且可以有在SiP的全操作中的一个或者多个其它用途。
第一裸片2具有发送器物理接口(TX PHY)6和发送器控制器(TX控制器)18。发送器物理接口6具有关联控制电路10和时钟生成器8。控制器18被布置成提供通发送器物理接口6向第二裸片4传播的数据12。发送器物理接口6被配置成提供时钟信号14以伴随数据。在一个优选实施例中在图1中示出了这一时钟为差分对CK和CKN。时钟可以视为用于数据的定时参考,因为跨越在两个裸片之间的接口发送时钟和数据。
第一裸片也具有由主DLL功能19构成的关联延迟锁定环(DLL)电路系统16,该主DLL功能包含主导(master)可编程数字延迟线(PDD)22和控制状态机(SM)20。DLL电路系统包括耦合到发送器物理接口6的从属PDD。在一些实施例中,从属PDD24直接连接到发送器物理接口6。通过从属PDD24对延迟量级的调整可以用来在接口高速操作时精确控制CK/CKN差分时钟对的、相对于发送的信号的相位。
后文将更具体描述控制电路10和DLL电路系统16的作用。
第二裸片4也可以包括尽管在该裸片的技术中实施的相同发送器电路部件。用相同标号标注这些部件,但是附有下标“a”。
第二裸片4包括接收器物理接口(RX PHY)8和接收器控制器(RX控制器)30。接收器物理接口28被配置成接收数据流12和差分时钟信号对14。接收器物理接口28被配置成用从差分对CK/CKN14得到的时钟捕获数据流并且向控制器30传播数据。
第一裸片2也可以包括尽管在该裸片的技术中实施的相同接收器电路系统部件。用相同标号标注这些部件,但是附有下标“a”。
PLL向控制电路10并且向DLL控制器43提供时钟信号clk_pll。振荡器29向发送器控制电路10提供时钟信号clk_osc。
如提到的那样,接口可能需要以振荡器29确定的频率在SiP的引导阶段期间操作,以便从第二裸片上的闪速存储器9向第一裸片上的CPU7取读数据。仅举例而言,振荡器频率通常可以是30MHz级,而接口以该频率的一半操作。
在引导时段期间,将包括PLL11的芯片上系统带到它们的操作状态,该PLL在正常操作期间将是接口的时钟源。在引导时段结束时,SiP需要将接口切换成它的由PLL确定的操作频率,在这期间,接口可以以例如400MHz的速度操作。这对应于800MHz的PLL频率。超过量级级别的这一频率增加可以由发送器控制电路10管理。
在其它时间,可以以由PLL确定的不同操作频率操作在两个裸片之间的接口。例如可以以减少的频率运行接口和/或裸片中的一个或者多个裸片用于带宽优化或者功率节省。
为了实现这样的频率改变,接口将以振荡器确定的频率在如下时段内转变,在该时段期间PLL被重新配置。为了实现操作频率改变,停止接口,然后以振荡器确定的频率重启接口。PLL在接口以振荡器确定的频率操作之时被重新配置成新速度、然后被允许重新实现锁定。当PLL和DLL二者已经重新实现锁定时,再次停止接口,然后以新PLL频率确定的频率重启接口。在一些实施例中,在相对慢的振荡器速度时,无需由DLL提供的差分时钟CK/CKN的相位精确性。
应当理解,用于在不同操作PLL速度之间切换的能力使布置可适用于其中可能需要这样的切换的单系统以及使用两个或者更多裸片的SiP实施例。
现在参照图2,该图更具体示出了第一裸片的发送器物理接口6和关联电路系统。应当理解,图2中所示相同或者相似电路系统存在于与它的发送器物理接口关联的第二裸片上。
如可见的那样,发送器物理接口6被配置成在两个流(phyt_hi和phyt_lo)中从控制器18(在图2中未示出)接收数据。在所示实施例中,每个流包括位0至n。数据流由发送器物理接口6接收,该发送器物理接口通过在差分时钟对CK/CKN的上升和下降边沿上发送数据将数据组合成单个流PHYT。在这一实施例中,将数据从两个单时钟边沿(SCE)流转换成单个双时钟边沿(DCE)流。其它实施例可以具有未经转换以该格式向接收器物理接口传播的一个SCE流。替代实施例可以已经始于未经转换以该格式传播的DCE流。当然可以使用任何其它适当数据传播方法。
在第二裸片上的接收器物理接口28捕获DCE流并且将DCE流转换回成两个SCE流,然后向接收器控制器30传播该两个SCE流。发送器控制器18也向发送器物理接口6提供有效信号。发送器物理接口6被配置成向第二裸片发送有效信号VALID。在一些实施例中,可以无需有效信号。
控制电路10被配置成接收来自的PLL的时钟信号clk_pll和来自振荡器的时钟信号clk_osc。控制电路10生成作为用于时钟生成器8的源来使用的时钟输出clk_phy。时钟生成器8生成用于发送器物理接口6的时钟。应当理解,clk_phy在正常操作期间以相同速度运行或者由clk_pll确定,并且在振荡器或者引导阶段期间以相同速度运行或者由clk_osc确定。
控制电路10也被配置成接收系统重置信号rst_n和一个或者多个配置输入。控制电路10生成状态信号和DLL模式信号dll_mode。后文将描述这些信号。
时钟生成器8生成时钟信号clk_retime和时钟信号clk_drive,这些时钟信号用来控制通过发送器物理接口传播数据和有效信号。在差分时钟CK/CKN生成时使用时钟信号clk_drive。时钟生成器8被配置成如图1中所示提供向控制器18提供的输出时钟tx_clk。这一时钟由控制器用来控制phyt_hi和phyt_lo数据流的钟控。
DLL电路系统用来在SiP以由PLL频率确定的高速度运行时改变差分时钟信号CK/CKN的相位。DLL电路系统的状态机20比较输入时钟(具有与CK/CKN相同的频率)的相位与相同时钟的、反相的并且通过主导PDD22寻路由的版本。状态机20然后调整控制主导PDD延迟的代码,直至两个时钟对准。这一代码然后对应于CK/CKN的半周期并且无论过程、电压和温度(PVT)如何都维持这一PDD延迟。DLL19的比例电路32可以被配置成向从属PDD24提供与半周期的任何比例对应的代码。通过从属PDD的延迟确定CK/CKN的相位。例如在这一系统中的默认延迟被配置成CK/CKN的四分之一周期,这允许时钟在第一与第二裸片之间的接口定位于数据窗的标称中心。可以如需要的那样选择相对于数据的时钟的位置的选择。例如在一个实施例中,相对于数据的时钟可以在数据窗的中心区域中。这可以最小化来自数据切换的耦合、减少时钟抖动和/或在用于捕获数据的最优位置而无需进一步调整接收器物理接口中的时钟。
DLL可以在测试模式期间按照细微增量将CK/CKN的相位从0调整成CK/CKN的半周期。这是为了通过寻找在通过与失败区域之间的边界来确定数据窗的限制。以此方式,例如可以检查不同封装对接口的噪声/抖动性能的影响。取而代之,可以进行在SiP与PCB上的单独封装中的两个裸片之间的数据窗的大小比较。
DLL因此可以高速调整差分时钟的相位。当接口以振荡器确定的更慢频率运行时,可以在具有四分之一周期的分辨率的定序逻辑来确定差分时钟信号的位置。这然后提供用于通过绕过从属PDD延迟在这时重新配置PLL和DLL二者的机会。将参照图3更具体描述这一点。
DLL19由DLL控制电路43控制。DLL控制电路43向DLL19提供重置信号rest_n_dll并且向DLL时钟生成器40提供时钟信号clk_dll。DLL控制电路43被布置成接收用于DLL19的系统重置rst_n输入。DLL控制电路43接收后文将描述的PLL时钟clk_pll和至少一个配置信号。
DLL时钟生成器40向DLL19提供时钟信号。
发送器物理接口6包括位分片:一个位分片50用于每个数据位,一个位分片52用于有效信号,并且一个位分片54用于CK/CKN。每个位分片接收时钟生成器8输出的时钟驱动信号clk_drive和时钟信号clk_retime。有效位分片接收有效信号。每个数据位分片将接收相应数据位。时钟位分片54被配置成从从属PDD24接收输出并且向从属PDD24提供输出。数据位分片被配置成如先前描述的那样接收phyt_hi和phyt_lo数据流并且提供单个数据输出流。有效电路系统被配置成接收有效信号并且提供对应有效信号以伴随数据流。
现在参照图3,该图更具体示出了发送器物理接口6的部分。图3示出了CK/CKN位分片54和一个数据位分片52(用于PHYT[n])的细节。应当注意,数据和有效位分片相同。CK/CKN位分片的结构相似。在一些实施例中,这用于保持数据、有效和时钟传播在位分片之间对准。
CK/CKN位分片被布置成提供第一时钟信号CK和时钟信号CKN,这些时钟信号提供差分时钟对14。通过焊盘电路传播这些信号,这些焊盘电路驱动外部的、裸片到裸片接口。CK/CKN位分片包括第一复用器56。第一复用器56被配置成接收第一四位输入和第二四位输入。第一四位输入包括信号‘1100’。这一图案在信号dll_mode为‘0’时由复用器在信号ABCD上输出。第二四位输入包括信号‘1001’。这一图案在dll_mode为‘1’时由复用器在信号ABCD上输出。DLL模式信号由控制电路10提供。
向由时钟信号clk_drive驱动的定序逻辑电路58提供信号ABCD。与PLL时钟信号clk_pll相同速度的时钟信号clk_drive以CK/CKN的所需速度的双倍运行。对于时钟信号clk_drive的每个相继周期,定序逻辑的输出为A、然后B、然后C、然后D、然后A并且在连续循环中以此类推。因此,该输出是以时钟信号clk_drive的速度的一半运行的、具有50%占空比的时钟波形。无论DLL模式信号dll_mode的状态如何都是这种情况。当DLL模式信号dll_mode=‘1’时,输出波形相对于在DLL模式信号dll_mode=‘0’情况时被提前一个时钟信号clk_drive周期。这一提前等于差分时钟CK/CKN周期的四分之一。
CK/CKN位分片54包括第二复用器68。第二复用器68也由DLL模式信号dll_mode控制。复用器的‘0’输入由定序逻辑的输出clk_seq提供。也向从属PDD24输入这一输出时钟信号58clk_seq。从属PDD24的另一端或者输出提供第二复用器68的‘1’输入。
从属PDD24由从DLL19接收的代码信号pdd_code控制。当DLL模式信号dll_mode=‘0’时,通过第二复用器68的‘0’输入直接传播序列逻辑的输出clk_seq。当DLL模式信号dll_mode=‘1’时,经由从属PDD24通过第二复用器68的‘1’输入对序列逻辑的输出clk_seq寻路由。当从属PDD延迟的值是CK/CKN的默认四分之一周期时,第二复用器68的输出无论DLL模式信号dll_mode是‘0’还是‘1’都无净相移。这是因为由于第一复用器56而向四分之一周期的提前添加四分之一周期的从属PDD24延迟。然而当dll_mode=‘1’时,通过从属PDD的路由提供用于微调CK/CKN的相位(相对于数据和有效信号的固定相位)的能力。
向第一XOR门82和第二XOR门83提供第二复用器68的输出。第一XOR门82从‘0’信号接收第二输入,而第二XOR门83从‘1’信号接收第二输入。第一XOR门82的输出提供第一时钟信号CK,而第二XOR门83的输出提供第二时钟信号CKN。使用XOR门以生成差分时钟信号可以在这些阶段中平衡CK和CKN上的延迟。
图3示出了用于PHYT[n]的数据位分片之一的细节。它被配置成接收phyt_hi[n]和phyt_lo[n]输入信号。重定时电路60接收phyt_hi[n]和phyt_lo[n]输入信号并且用时钟信号clk_retime在时间上将这些单时钟边沿信号组装成四个信号EFGH。时钟信号clk_retime是时钟信号clk_drive(和PLL时钟信号clk_pll)的速度的一半。
向可以与在CK/CKN位分片中的定序逻辑电路相同的定序逻辑电路62输入重定时电路60的输出信号EFGH。定序逻辑电路62的输出然后与CK/CKN位分片中的定序逻辑58的输出正确对准,因为二者由时钟信号clk_drive驱动。随后通过以‘0’作为其第二输入的第二复用器64和第一XOR门66的‘0’输入以及焊盘电路向外部接口传播定序逻辑电路62的输出phyt_seq。在数据与CK/CKN位分片之间的这些路径的匹配用于维持接口信号的尽可能好的平衡。因而提供第二XOR门68,但是未连接它的输出。未使用第二复用器64的‘1’输入。
应当理解在其它实施例中,数据位分片电路系统可修改成通过利用第二复用器的‘1’输入并且提供相关复用器选择信号来连接到关联的从属PDD。可能需要调整重定时电路以适应从属PDD延迟。每位将需要用于单独调整的比例电路。这一布置可以用来微调每个数据位的定时以便补偿芯片上、封装和PCB布线所施加的偏移。
现在参照图4,该图更具体示出了图1和图2的控制电路10。
向第一复用器106输入振荡器时钟clk_osc和PLL时钟clk_pll。复用器106从第一触发器108的输出接收控制输入switch_freq,该第一触发器控制选择时钟信号中的哪个时钟信号。然后,所选时钟信号从第一复用器106输出作为时钟信号clk_mode并且根据信号的值确定接口、PLL或者振荡器的操作模式。如后文描述的那样向同步器、脉冲生成器、延迟链电路和各种其它电路系统提供这一信号。
从系统配置寄存器103驱动配置输入conf_pll_not_osc(该配置输入根据信号的值强制从OSC模式改变成PLL模式或者相反)。这一寄存器由软件控制并且给予用于从PLL改变成振荡器模式以及相反的指令。由于需要在接口的操作期间(即时)改变模式,所以提供同步器101以对准这一输入与用作时钟输入的控制时钟clk_mode。根据在切换之前的操作模式,在PLL时钟clk_pll或者振荡器clk_osc速度执行同步配置conf_pll_not_osc与时钟信号clk_mode。
向也接收时钟信号clk_mode的脉冲生成器104输入同步器101的输出pll_not_osc_synced。脉冲生成器104将在同步器101的输出pll_not_osc_synced改变状态时在stop_n上生成变低脉冲。向第一延迟链电路输入脉冲生成器的输出stop_n。
参照图5,第一延迟链包括十二个触发器120和其它逻辑的链。仅举例而言,示出了十二个触发器。然而可以提供多于或者少于十二个触发器。串联布置触发器103,从而一个触发器的输出向下一触发器提供输入。每个触发器根据操作模式接收振荡器时钟或者PLL时钟作为控制时钟clk_mode。stop_n脉冲被输入到第一触发器的数据输入,并且重置信号rst_n_del被输入到触发器的重置输入。这使触发器重置并且通过链传播信号stop_n的上升边沿。这一传播边沿然后如图所示通过使用有一个输入反相的AND门来产生变高脉冲。例如在en_sw(使能切换信号)上的脉冲在边沿向第五触发器的输出传播时启动,并且在它向第十一触发器的输出传播时终止。因此,第一AND门107接收第五触发器的输出和第十一触发器的反相输出。
在一个替代方式中,第一触发器的数据输入可以连结到电压电压Vdd。
类似地,在信号en_stop(停止信号)上的脉冲在边沿向第三触发器的输出传播时启动,并且在它向第十一触发器的输出传播时终止。因此,第二AND门105接收第三触发器的输出和第十一触发器的反相输出。
向相应触发器109的输入提供第一和第二AND门107和105的输出。触发器109接收时钟信号clk_mode。驱动输出的触发器109用于保证在系统重置(rst_n)之后分别从en_sw得到的pulse1和从en_stop得到的pulse2上的正确状态,并且引起en_sw和en_stop上的一个周期的延迟。
选择en_stop和en_sw上的脉冲的持续时间以确定其中停止接口的时段以及频率切换分别何时发生。可以通过选择触发器的延迟链上的抽头以相配来调整这些时段。后文将参照图8的定时图更具体描述这些和其它定时特征。
往回参照图4,也向第一触发器108的D输入提供同步器101的输出pll_not_osc_synced。这一第一触发器108被布置成接收时钟信号clk_mode。第一触发器108也被布置成接收使能信号enab_switch。enab_switch是来自延迟链102的pulse1。第一触发器108提供的输出是信号switch_freq。这一输出控制在复用器106从一个时钟频率切换成另一时钟频率,并且将为高以选择PLL时钟频率而为低以选择振荡器时钟频率。
应当注意将switch_freq连接到复用器106完成仅在停止接口时活跃的定时回路。在一些实施例中,由于信号switch_freq引起的将复用器状态从clk_osc改变成clk_pll或者相反的切换而可能在信号clk_mode上出现的任何毛刺并非决定性的。
延迟链102的第二输出(pulse2)enab_stop被反相并且向AND门117输入。AND门117的另一输入是系统重置rst_n。AND门117的输出是rst_n_stop,该输出因此在enab_stop脉冲活跃时或者在系统重置时为活跃低。向第二延迟链110输入rst_n_stop。
再次参照图5,该图示出了第二延迟链110。第二延迟链110包括八个触发器111,这些触发器依次连接并且用来延迟信号rst_n_stop的变高边沿。可以提供延迟链,因为它可以避免需要构造重置树(以确保同步发送器物理接口以内的所有电路)。因此在这一实施例中,在重置之后经由en_phy停止时钟信号clk_phy(持续等效八个时钟周期),并且因此也在这一时段期间禁用时钟生成器生成的时钟信号(clk_drive,clk_mem,clk_tx)。这消除在rst_n与这些始终之间的任何关键定时,因此保证在重置之后的可靠同步。这是第二延迟链电路的目的。仅举例而言,示出了八个触发器。然而可以提供多于或者少于八个触发器。
第二延迟链110的输出是在重置脉冲rst_n_stop的持续时间加上第二延迟链110提供的8个周期内为低的使能信号en_phy。向时钟门控缓冲器112输入使能信号en_phy作为使能信号以控制输出时钟clk_phy的激活。时钟门控缓冲器的时钟输入是信号clk_mode。因此,在信号conf_pll_not_osc改变状态发起的切换期间,将在使能信号en_phy的低时段的持续时间内停止输出clk_phy。时钟门控缓冲器112可以保证在这一时段期间无时钟信号clk_phy上的毛刺。当停止时钟门控缓冲器输出的时钟信号clk_phy时,停止接口(因为clk_phy是时钟生成器的输入时钟,该时钟生成器生成如下时钟,这些时钟控制时钟、数据和有效在位分片中的传播)。
第二延迟链110的第一触发器111的数据输入in接收配置信号conf_enable_clk_phy。这一配置信号充当用于使发送器接口接口掉电的手段。当为高时,控制电路的操作如至此描述的那样,当它为低时,第二延迟链111的输出en_phy的状态也将为低从而禁用从时钟门控缓冲器112输出的时钟信号clk_phy。由于这是向时钟生成器8的输入,所以禁用时钟生成器8和发送器物理接口。
也向第二触发器114的使能输入提供第二延迟链110输出的使能信号en_phy。第二触发器114接收时钟输入clk_mode,即振荡器时钟或者PLL时钟。数据输入由控制复用器106的相同信号(也就是第一触发器108输出的switch_freq信号)提供。第二触发器114的输出是信号stat_pll_not_osc,该信号如果为高则指示接口以PLL确定的频率操作,而如果为低则指示以振荡器确定的频率操作。将这一输出信号向系统状态寄存器113寻路由,以便向控制软件提供这一信息。
当在新频率重启发送器物理接口时钟时,即当信号en_phy变高时,在更新信号stat_pll_not_osc时的时间是在切换阶段结束时。
NOR门115具有第一输入和第二输入,第一输入是反相的由第一触发器108输出的信号switch_freq,第二输入具有配置信号conf_no_dll_timing。这一NOR门115的输出是图2和图3中所示信号dll_mode。向CK/CKN位分片54输入这一信号。这一信号将控制是否使用DLL。如说明的那样,如果接口的频率是振荡器确定的频率,则未使用DLL,因为定时在接收裸片上具有充分捕获裕度时粗略。一般而言,如果接口的频率是PLL确定的频率,则由于DLL的用于微调CK/CKN的相位并且因此微调捕获定时的能力而使用它。然而如果发现系统可靠而无需DLL在PLL频率(这在一些实施例中可以仅在更低PLL频率)提供的调整的相位精确性,则可以设置conf_no_dll_timing为高,从而强制信号dll_mode为‘0’。时钟位分片定时然后仅由通过定序逻辑的路径控制。在这一情况下,可以通过设置配置信号conf_enable_clk_dll(见后文)为低来关断DLL,以便节省功率。这关断去往DLL时钟生成器40的信号clk_dll,因此禁用DLL16的内部时钟。在这一情况下,在逻辑上强制DLL时钟为‘1’以便不让状态寄存器的软件控制监视悬置(hang)。
图6示出了图2中所示DLL控制电路43的细节。可以仅在PLL频率操作模式期间需要DLL,因此仅需时钟信号clk_pll作为去往DLL控制信号的时钟输入。时钟信号clk_pll是向时钟门控缓冲器116的时钟输入。时钟信号clk_pll是时钟门控缓冲器116的输出。时钟信号clk_pll是去往八个触发器的链118的时钟输入,该链用来提供在重置之后、在启动时钟信号clk_dll之前的八个周期的延迟。这可以出于如先前关于重置信号讨论的相似原因。
去往触发器链118的输入是配置输入conf_enable_clk_dll。这可以设置成低,以在发现接口可靠而无需DLL提供的微调时,如果无需DLL则禁用它。在这一情况下,持久保持使能信号en_dll(即延迟链的输出)为低,从而禁用时钟信号clk_dll并且因此禁用DLL。
AND门120具有作为系统重置的第一输入rst_n和第二配置输入conf_rst_n_dll。AND门120的输出是重置信号rst_n_dll。这用来重置DLL控制电路中的触发器链118,并且也如图2中所示向DLL119输出。这意味着在系统重置时或者如果强制配置输入conf_rst_n_dll为低则经由该输入重置触发器链和DLL。配置信号conf_rst_n_dll用来在两个PLL频率之间的改变的期间在振荡器操作模式期间重置DLL。
为了辅助理解一些实施例,参照图7、图8和图9。这些示出了如先前图中所示各种信号的定时图。将图7的定时图划分成其中接口脱离重置并且开始以振荡器确定的频率运行的第一区域OSC(引导)200、其中停止接口并且在振荡器时钟与PLL时钟之间进行切换的第二区域202以及其中接口以PLL频率运行的第三区域204。
第一行示出了振荡器频率clk_osc,而第二行示出PLL时钟频率clk_pll。这示出为实线,以示意地指示PLL时钟频率比振荡器时钟频率快得多。在所有定时图中,为了清楚起见,未精确表示两个时钟的实际频率。在所示布置中,重置信号rst_n在序列开始(第一区域200开始)时变高以使接口脱离重置。由于第二延迟链110中的触发器而在时钟信号clk_phy启动之前有八个周期的延迟。应当注意,在重置时,强制控制电路10的状态在振荡器模式中,以便电路在时钟启动时准备好以振荡器确定的频率运行。就这一点而言,信号pll_not_osc_synced(第6行)、switch_freq(第10行)、en_phy(第16行)和stat_pll_not_osc(第21行)都强制为低。
第4行示出了PLL和DLL锁定信号。PLL锁定在图上的任意时间变高,并且为了绘图方便,已经压缩在PLL锁定与DLL锁定之间的相对时间。当软件控制已经检测到PLL和DLL在锁定中时,它将配置寄存器驱动conf_pll_not_osc(第5行)设置成‘1’以从振荡器模式改变成PLL模式。然后将这一输入同步至信号clk_mode——第11行(该信号将处于clk_osc频率——第1行)。这一经同步的信号是pll_not_osc_synced(第6行)。
第7行示出了信号stop_n上的变低脉冲。这是脉冲生成器104的输出。信号通过pll_not_osc_synced信号(第6行)的上升边沿或下降边沿被触发变低。这里,信号由上升边沿触发变低,并且脉冲的持续时间为两个周期。这由脉冲生成器104以内的定时控制。
在图8中更具体示出了切换序列的其余部分。
在stop_n信号(第7行)上的变低脉冲使信号en_sw(第8行)在如先前描述并且如示出的时间脉冲为高。信号enab_switch(第9行)如图所示在一个周期以后跟随信号en_sw(第8行)。当enab_switch(第9行)已经变高时,使能触发器108,从而在时钟信号clk_mode(第11行)的下一变高时钟边沿上,触发器108将向信号switch_freq(第10行)传播信号pll_not_osc_synced信号(第6行)的新的高状态。
这时,如图所示,复用器106由信号clk_mode(第11行)从传播时钟信号clk_osc切换成传播clk_pll。如果在这一切换期间在clk_mode上生成毛刺,则仅有的影响将是第一延迟链102中的触发器链解译潜在丢失或者额外脉冲。这将具有将来自第一延迟链的生成脉冲以及后续脉冲缩短或者延长一个周期的净效果,但是这可以无不利影响,因为它们的持续时间可以被相当任意地设置并且可以在整个切换序列中并不关键。在任何情况下,通过变低的信号en_phy(第16行)的作用已经停止向发送器物理接口施加的时钟。这停止接口,从而有可能无数据破坏。
在第12行上示出了信号dll_mode。当在PLL操作阶段期间,在使用DLL定时时,使这一信号与信号switch_freq(第10行)对准。
为了举例说明一个实施例,在时钟信号clk_osc(第1行)和时钟信号clk_mode(第11行)上方的数字指示在信号stop_n脉冲(第7行)之后的周期编号。始于0直至12的编号代表第一延迟链102中的延迟链上的抽头。接下来的编号然后从1重启直至8以代表第二延迟链110中的延迟链上的抽头。由于信号switch_freq(第10行)在(第一个链的和时钟clk_osc的)周期7改变状态,则从周期8向前的周期计数在这一时间之后在新频率(clk_pll)继续。例如可以看出在en_stop(第13行)上的脉冲在周期3上启动并且在周期11上完成,这对应于去往AND门110的第一延迟链输入的抽头。
在下一行上看见信号enab_stop(第14行)按照一个周期跟随信号en_stop(第13行)。信号rst_n_stop(第15行)是反相的信号enab_stop。在第16行上的信号en_phy是控制接口停止的信号。在信号en_phy上的变低脉冲在第一延迟链的周期4上启动,并且在第二延迟链的周期8上结束;这代表发送器物理接口块在其期间停止的时段。
在第17行上示出了时钟信号clk_phy。这是时钟门控缓冲器112的输出。起初,时钟信号clk_phy(该时钟信号是发送器的时钟生成器的源时钟)在振荡器频率。当信号en_phy变低时然后关断这一时钟。当信号en_phy在切换阶段结束变高时,将在PLL频率再次接通这一时钟。因此,用来控制发送器物理接口的时钟信号起初在振荡器确定的频率,然后在低状态中关断,然后在PLL确定的频率恢复接通。当关断这一时钟频率时,这停止发送器物理接口6。
第18行示出了信号clk_retime,该信号是时钟生成器8提供的时钟信号。在这一实施例中,信号clk_retime以25%占空比以时钟信号clk_phy的频率的一半运行。占空比的这一个值仅为可能值的一个例子。当时钟信号clk_phy停止时,时钟信号clk_retime也停止。
第19行示出了时钟信号clk_drive,该信号也是时钟生成器8提供的时钟信号。如可见的那样,这一信号具有与时钟信号clk_phy相同的频率和占空比。当时钟信号clk_phy停止时,时钟信号clk_drive也停止。
第20行示出了时钟信号clk_tx,该时钟信号clk_tx在时钟生成器8中生成,并且用来控制数据从发送器控制18流向发送器物理接口6。时钟信号clk_tx具有与时钟信号clk_retime相同的频率和占空比,从而从发送器控制器向发送器物理接口传播的数据的飞行时间允许是clk_tx的一个周期。当停止时钟信号clk_phy时停止信号clk_tx,因此在频率切换序列期间禁止数据从发送器控制器流动。信号clk_tx在新频率模式启动时随其它时钟重启。这意味着信号clk_tx与CK/CKN同步,并且因此与接收器物理接口的时钟clk_rx同步(在图1中示出)。从CK/CKN(具有相同频率)得到信号clk_rx并且使用该信号作为接收器控制器的源时钟。以此方式同步clk_tx和clk_rx可以使接口兼容于链路的每侧上的数据加密/解密,因为通过频率切换序列保持每个裸片上的代码关键字对准。
信号stat_pll_not_osc(第21行)在切换阶段结束时从低切换成高,从而向软件控制通知从振荡器转变成PLL模式。这是第二触发器114的输出。
图9示出了相同信号的、但是针对从PLL改变成振荡器模式的定时图。将它划分成PLL206、切换208和振荡器210区域,并且针对在stop_n脉冲(第7行)之后的周期计数给予相同标号。仅为了清楚,第二延迟链的延迟已经从8减少成4个周期。这一序列除了顺序相反的相对频率之外,与针对描述的从振荡器改变成PLL模式相同。在序列的每个部分中的周期数目可以在任一情况下相同。
在描述的实施例中,当操作模式从振荡器改变成PLL模式时,停止去往发送器物理接口的时钟。换而言之,停止数据在接口中的传播。保持发送器物理接口和接收器物理接口中的任何数据,直至以PLL频率重启时钟。应当理解,这将针对从振荡器改变成PLL时钟频率以及相反改变而出现。
在一些实施例中,软件可以发起频率切换序列。
现在将描述从OSC(包括从引导时段)改变成PLL模式的软件算法。
软件将首先通过将信号conf_rst_n_dll设置成‘0’来确立DLL重置,然后将PLL配置成clk_pll的所需频率设置,然后轮询(poll)PLL锁定状态。当实现PLL锁定时,软件通过将conf_rst_n_dll设置成‘1’来去确立DLL重置,然后轮询DLL锁定状态。当实现DLL锁定时,软件将频率模式配置信号conf_pll_not_osc设置成‘1’以发起频率切换序列。
控制电路然后将以先前描述的方式控制将操作模式改变成PLL确定的频率。当状态输出stat_pll_not_osc设置成‘1’时将完成序列。软件将轮询与信号stat_pll_not_osc关联的状态寄存器。
取而代之或者除此之外,频率切换还可以经由振荡器确定的频率在PLL确定的第一频率与PLL确定的第二频率之间。
现在将描述从PLL改变成OSC模式的软件算法。软件将把频率模式配置信号conf_pll_not_osc重置成‘0’。将操作模式改变成OSC频率然后将如描述的那样由控制电路控制。当状态输出stat_pll_not_osc设置成‘0’时将完成序列。软件将轮询与信号stat_pll_not_osc关联的状态寄存器。
如果需要将操作模式改变成新PLL频率,则软件如先前关于从振荡器频率改变成PLL频率描述的那样确立DLL,然后将PLL重新配置成新频率设置并且以此类推。
概括而言,如果需要改变PLL频率,则序列将是PLL频率1,停止发送器物理接口,然后以振荡器确定的频率重启。并行重新配置PLL并且使能DLL,从而等待锁定信号,再次停止发送器物理接口并且在新PLL频率2重启。
实施例允许裸片间信道具有在即时改变的频率。频率切换可以在振荡器确定的频率与PLL确定的频率之间。当在两个裸片之间的信道在振荡器确定的频率操作时可以在上电之后使用这一情形。这可以用来在裸片之间传送引导数据。取而代之或者除此之外,频率切换还可以经由振荡器频率从第一PLL频率到第二PLL频率。
实施例允许PLL/DLL在振荡器阶段期间获得锁定。可以无需要求DLL为振荡器频率。向新PLL频率的切换可以由PLL/DLL锁定信号门控。
在一些实施例中可以无需与控制器的握手。
在对先前描述的实施例的一个修改中,发送器的重置发生于在振荡器频率与PLL频率之间的切换期间。这一重置可以在从PLL频率改变成振荡器频率时和/或在从振荡器频率改变成PLL频率时发生。从一个PLL频率改变成另一PLL频率以与先前描述的实施例相似的方式经由振荡器频率,因此接口的重置在这一切换期间发生两次。当无数据将在频率切换期间保持于裸片间信号上时可以使用这一修改。
现在参照图10至图13描述具有这一修改的一个实施例。
首先参照图10,该图是图1的控制电路的替代控制电路。控制电路如图4中所示而有以下差异。向计数器250提供脉冲生成器104的输出信号load。应当注意,响应于用于发起频率改变的信号conf_pll_not_osc改变状态而在信号load上生成的脉冲是变高脉冲,该变高脉冲是与在先前描述的实施例中在stop_n上生成的变低脉冲相反的。通过在脉冲生成器电路的输出路径中包括反相器来实现这一差异。计数器250接收时钟clk_mode,即控制电路的控制时钟。计数器250具有向第一延迟链102提供的第一输出zero_n以及第二输出set_n。计数器具有配置成接收系统重置信号rst_n的重置输入。
现在参照图11,该图更具体示出了计数器250。活跃低系统重置信号rst_n是去往第一触发器330的重置输入。因此在系统重置时强制触发器330的Q输出为低。这是计数器电路的信号unlock。信号unlock是第二触发器332的重置信号,因此在系统重置时也设置它的Q输出为低。这是计数器电路的信号set_n。触发器330和332的两个时钟(CP)输入是控制时钟clk_mode。
信号set_n是OR门334的第一输入,该OR门的第二输入是信号load,即脉冲生成器104的输出信号。load处于低状态,直至从脉冲生成器104第一次出现脉冲。因此,在这一时间期间,去往OR门334的两个输入为低,因此信号lock(即OR门334的输出)也为低。去往触发器332的D输入反馈信号lock。因此在去确立系统重置rst_n与load上的第一脉冲之间,在低状态中维持set_n和lock二者。这涉及在第一load脉冲之前并且当接口在振荡器模式中时的时段。
set_n也是去往倒计数的计数器326的输入。在set_n为低时,强制倒计数的计数器的输出Q0-Q5为高。信号Q0-Q5是去往OR门338的输入。因此强制信号zero_n(即OR门338的输出)为高。zero_n连接到触发器330的D输入,从而在系统重置rst_n去确立之后,向信号unlock传播zero_n的高状态,因此从触发器332去除重置状态。这完成倒计数的计数器控制逻辑在系统重置之后的状态,从而load、set_n和lock为低,并且zero_n和unlock为高。逻辑将维持这一状态,直至来自脉冲生成器的在load上的第一脉冲。这一状态可以视为计数器电路的静止状态。
往回参照图10,向第一OR门252提供计数器250的set_n输出。第一OR门252的第二输入被反相,并且由第一延迟链102的第八抽头tap8提供。这在图5中表示为256。这一OR门的输出是掉电信号pwd_ctrl。向时钟生成器8提供这一信号。当为活跃高时,它将借助时钟生成器以内的无毛刺的切换来停止时钟clk_tx。
tap8也是去往反相器254的输入。反相器254的输出是用于物理发送器接口的掉电信号pwd_phy。向时钟生成器8提供这一信号。当为活跃高时,它将借助时钟生成器中的无毛刺的切换来停止时钟clk_retime和clk_drive。
在计数器电路的静止状态中,set_n为低,并且tap8为高。这将意味着pwd_ctrl和pwd_phy二者在不活跃低状态中,从而允许数据在接口中传播。
倒计数的计数器336在时钟输入处接收时钟信号clk_mode。倒计数的计数器可配置并且包括可编程值337。向倒计数的计数器136的load输入提供脉冲生成器的输出信号load。当脉冲生成器在信号load上生成变高脉冲时,这使可编程值加载到倒计数的计数器输入P0-P5中。
在load上的变高脉冲使OR门334的输出lock变高,从而clk_mode的下一时钟边沿将使触发器332的输出set_n变高。这释放倒计数的计数器的设置输入免于强制Q0-Q5为高并且使倒计数的计数器开始从load脉冲加载的可编程值P0-P5倒计数。
当set_n变高时,这强制pwd_ctrl变高;这停止时钟clk_tx。这防止数据从TX控制器18流动并且是从TX PHY 6的数据刷新时段的启动,因为clk_retime和clk_drive在这一时间保持活跃从而仍然在TX PHY中传播数据。
当倒计数的计数器已经完成计数时,值Q0-Q5中的每个值将为零。OR门338的输出zero_o然后将变低。由于向触发器330的第一输入提供zero_n,所以当zero_o在计数结束时变低时,将在clk_mode的下一时钟边沿上向unlock传播低。这将重置触发器332从而强制set_n为低。这时,load为低,因此强制OR门334的输出lock为低。由于反馈lock作为触发器332的D输入,所以将维持这一状态。set_n低将再次强制倒计数的计数器Q0-Q5的输出为高,因此zero_n为高。这一高状态将在下一clk_mode边沿上通过触发器330向信号unlock传播。因此将计数器控制逻辑返回到静止状态(load、lock和set_n为低,而zero_n和unlock为高)。
应当理解,向触发器102的第一个链提供zero_n。如上文描述的那样,在计数器结束时,zero_n变低,然后变高。在zero_n上的这一变低脉冲将重置触发器102的第一个链,并且脉冲的变高边沿将通过延迟链传播(如先前针对stop_n描述的那样)。因此,tap8将在zero_n重置链时变低并且在变高边沿向tap8传播时再次变高。作为反相tap8的pwd_phy将在这一时段期间脉冲为高。因此,pwd_phy在计数结束时变高,因此停止clk_retime和clk_drive。这标志刷新时段结束。应当理解,向计数器中加载的可编程值必须足以允许TX PHY中的所有数据被传播并且在RX裸片中被捕获。该值将依赖于通过TX和RX PHY的时钟周期延时数目,并且可以在不同实施方式中变化。因而在一些实施例中提供这一可编程性。
如在这一实施例中使用的第一延迟链如图5中所示。然而在这一实施例中,AND门105输出的信号称为en_reset,因为在这一实施例中,这一信号将使能重置操作。第一延迟链的功能与在先前描述的实施例中相同,具体参照信号enab_switch、switch_freq和dll_mode的生成。差异在于生成信号tap8以控制pwd_ctrl和pwd_phy的切换以及重命名enab_stop为具有略微不同作用的enab_reset。enab_reset被反相,然后向图10中所示AND门117输入,该AND门提供信号rst_n_phy。去往AND门117的另一输入是系统重置rst_n。因此,rst_n_phy用来在系统重置时或者在由enab_reset上的脉冲控制的频率切换频率期间重置物理发送器接口和时钟生成器。
rst_n_phy也用作去往第二延迟链的重置输入,其中rst_n_phy的作用与在先前实施例中的rst_n_stop相同,第二延迟链的功能依旧。关于时钟clk_phy的控制和状态信号stat_pll_not_osc的生成,输出信号en_phy具有相同功能。
当tap8返回为高时(当zero_n的变高边沿已经向tap8传播时),这强制pwd_ctrl和pwd_phy二者为它们的默认低状态。应当注意,这时rst_n_phy为活跃低,因此TX PHY和时钟生成器在重置中。在频率切换序列中的下一事件是rst_n_phy将在少数周期之后(在第一延迟链的周期12)变高。同样,en_phy将保持clk_phy的启动持续八个周期以用于可靠地重置PHY。当en_phy变高以使能clk_phy并且因此使能所有TX PHY时钟时,PHY时钟的启动序列与在TX PHY退出系统重置时相同。
现在将首先针对在将模式从振荡器改变成PLL模式时描述用于这一实施例的软件控制的切换算法。出现以下情形。首先确立DLL重置。然后配置PLL以设置PLL频率clk_pll。当锁定PLL时,去确立DLL重置。在锁定DLL之后,软件控制将信号conf_pll_not_osc设置成1。控制电路的作用然后使去往控制器18的时钟(clk_tx)关断以停止向接口传播数据。等待多个周期以便刷新物理发送器和接收器接口。关断去往物理发送器接口的时钟(clk_retime,clk_drive)。通过确立重置信号rst_n_phy来重置物理发送器接口。控制电路在去确立这一重置信号之前等待多个周期。时钟然后在八个周期以后以由PLL确定的频率恢复。然后,将状态信号stat_pll_not_osc设置成1并且存储于状态寄存器113中。
现在将针对在将模式从PLL改变成振荡器模式时描述用于这一实施例的软件控制的切换算法。
出现以下情形。将信号conf_pll_not_osc重置成0。软件轮询conf_pll_not_osc状态寄存器。控制电路如先前描述的那样执行停止时钟clk_tx、刷新数据、停止时钟clk_retime和clk_drive、重置TX PHY和时钟生成器以及重启时钟。然而新时钟频率将是振荡器频率,然后将状态信号stat_pll_not_osc设置成0并且存储于状态寄存器113中。
软件控制也可以用于通过在PLL到振荡器、然后振荡器到PLL模式的两步序列中经由振荡器频率切换在PLL频率之间改变。
现在参照图12和图13,这两幅图示出了用于重置方法的定时图。定时图示出了从振荡器模式改变成PLL模式。附图示出了引导区域、切换区域和PLL区域。图13更具体示出了如与图12相比的切换区域。
与图7和图8中所示相同的那些信号由相同编号引用并且一般如先前描述的那样。这些是信号1(clk_osc)、2(clk_pll)、3(rst_n)、6(pll_not_osc_synced)、10(switch_freq)、11(clk_mode)、12(dll_mode)、16(en_phy)、17(clk_phy)、18(clk_retime)、19(clk_drive)、20(clk_tx)和21(stat_pll_not_osc)。应当注意出于空间原因而在图10中未示出信号4(PLL,DLL lock)、5(conf_pll_not_osc)、8(en_sw)和9(enab_switch),但是这些信号将如图7中所示。
去确立作为系统重置rst_n的信号3。随后,作为unlock的信号E变高以将计数器电路带到它的静止状态而load、set_n和lock在低状态并且zero_n和unlock在高状态中。这一状态持续,直至conf_pll_not_osc发起频率切换,然后Pll_not_osc_synced变高,从而在作为load的信号A上引起变高脉冲。系统重置信号K(rst_n_phy)变高,在八个周期以后跟随有信号16(en_phy)以便启动时钟并且允许接口传播数据。
如可见的那样,向计数器施加信号A(load)上的变高脉冲,该计数器提供如先前描述的那样得到并且作为信号set_n的信号B。信号C是计数器zero_n的输出,该计数器在编程数目的周期以后提供变低脉冲(在倒计数定时器的控制之下)。注意定义PHY的刷新时段为在set_n变高与zero_n脉冲之间的时间。信号D是计数器中的响应于load变高而变高并且响应于set_n变低而变低的lock信号。信号E(unlock)是触发器332的重置输入。这由触发器330的响应于信号zero_n上的脉冲而变高的Q输出提供。信号F是延迟链102的第八抽头tap8。
信号G是OR门252输出的pwd_ctrl信号。这一信号在set_n变高时变高并且保持为高,直至tap8变高。信号H是作为tap8的反相的pwd_phy。当pwd_phy变高时,这使得向发送器控制器的时钟clk_tx停止,从而防止数据从TX控制器传播。可以在图12中看见这一点。物理发送器接口继续运行,从而向RX裸片刷新数据。此后,由倒计数定时器定时的信号pwd_phy变高,使得向发送器接口的时钟clk_retime和clk_drive停止。在这些事件之间的时段与接口的刷新时段相同。然后重置物理发送器接口。重启接口与在系统重置之后相同。
信号I是延迟链1的AND门105输出的en_reset信号并且在切换时段开始时提供变高脉冲。信号J是延迟链1输出的enab_reset信号,并且提供相对于en_reset被延迟一个时钟周期的变高脉冲。信号K是AND门117输出的重置信号rst_n_phy。信号16是信号en_phy。注意en_reset、enab_reset和rst_n_phy的定时分别与来自先前描述的实施例的en_stop、enab_stop和rst_n_stop相同,并且en_phy定时也相同。当rst_n_phy脉冲为低时,它重置发送器接口;这是相对于描述的第一实施例的根本差异。
如同先前描述的实施例,这一实施例的用于从PLL切换成振荡器频率的频率切换序列与从振荡器切换成PLL频率的情况相同,但是每个时段的频率相反。
在一些实施例中,切换算法可以由软件控制。软件可以通过在裸片之间的链路运行。在一些实施例中,软件和发送器物理接口配置业务可以通过在裸片之间的相同链路运行。软件可以用来配置PLL并且重置/使能DLL。在一些实施例中,软件可以监视PLL锁定、DLL锁定和/或频率操作模式状态。
在一些实施例中,每个操作阶段中的周期数目在从振荡器频率改变成PLL频率和相反时相同。
一些实施例可以具有能够在引导时在振荡器频率运行、然后在主要自治控制之下切换成更高频率。电路或者硬件在一些实施例中可以使得最小化软件控制接口,因为发送器物理接口本身而不是控制器操纵频率切换。
一些实施例具有用于将PDD延迟作为定时部件切换进来和出去以便给予微调定时的能力。这经由复用器68并且利用经由图3的复用器56提前时钟来完成。可以在频率切换序列中无缝完成这一操作。
在一些实施例中,将基本上相同位分片电路系统用于接口信号(例如时钟比对数据)即使在将PDD部件切换进来和出去时仍然可以提供良好平衡。
一些实施例可以具有用于在系统在低频率操作时重新配置PLL/DLL的能力,因为与主发送器物理接口独立控制DLL子系统。没有这一点,在重新配置PLL/DLL之时将无需中断数据流。时钟位分片电路系统通过使用来自定序逻辑的输出来操作而无PDD延迟。
一些实施例允许通过仅允许在停止或者重置接口时本地切换时钟源来消除原本会破坏数据传播的时钟毛刺。这通过如图4中所示时钟控制电路系统的定序的设计来完成。使用时钟门控逻辑可以消除在停止和启动PHY时钟,例如图4的缓冲器112时以及在时钟生成器以内的毛刺。
应当理解上文描述的实施例示出了在不同信号之间的关系。应当理解延迟周期数目在其它实施例可以与所示实施例不同。

Claims (21)

1.一种布置,包括:
第一时钟源;
第二时钟源;以及
电路系统,配置成向电路供应时钟信号,所述电路系统被配置成将所述时钟信号从一个频率改变成另一不同频率,从而在从所述一个频率改变成所述另一不同时钟频率时不供应时钟信号。
2.根据权利要求1所述的布置,其中所述第二时钟源被配置成提供第一频率时钟信号和第二频率时钟信号。
3.根据权利要求2所述的布置,其中所述电路系统被配置成通过停止向所述电路供应所述第一时钟信号、向所述电路提供来自所述第一时钟源的时钟信号、停止供应来自所述第一时钟源的所述时钟信号并且提供所述第二频率时钟信号来将从所述第一频率时钟信号供应的所述时钟信号改变成所述第二频率时钟信号。
4.根据权利要求1至3中的任一权利要求所述的布置,其中所述第二时钟源包括锁相环。
5.根据权利要求3和4所述的布置,其中所述第二时钟源被配置成在向所述电路供应来自所述第一时钟源的所述时钟信号时达到锁定。
6.根据任一前述权利要求所述的布置,包括配置成提供可控延迟的延迟锁定环电路系统,所述延迟锁定环电路系统被配置成在所述电路使用所述第一时钟时被重新配置。
7.根据权利要求6所述的布置,其中所述延迟锁定环电路系统包括选择性地控制时钟信号经过的可编程延迟。
8.根据任一前述权利要求所述的布置,其中所述电路系统被配置成将在由所述第一时钟源和所述第二时钟源之一确定的所述一个频率的时钟信号改变成在由所述第一时钟源和所述第二时钟源中的另一时钟源确定的所述另一频率的时钟信号。
9.根据任一前述权利要求所述的布置,其中所述第一时钟源包括振荡器。
10.根据任一前述权利要求所述的布置,其中所述电路包括用于发送数据的电路。
11.根据权利要求10所述的布置,其中所述用于发送数据的电路包括用于数据的相应位的多个位分片和用于待与所述数据一起发送的时钟的至少一个位分片,所述位分片基本上相同。
12.根据任一前述权利要求所述的布置,其中所述电路包括具有多个抽头的延迟链,其中一个或者多个抽头的所述选择被配置成确定其中未供应所述时钟的时段和其中改变所述时钟的频率的时段中的至少一个时段。
13.根据任一前述权利要求所述的布置,其中所述电路系统包括配置成接收时钟信号和使能信号并且具有输出的门控电路系统,所述门控电路系统被配置成在输出上提供所述时钟信号。
14.根据权利要求13所述的布置,其中所述使能信号依赖于所述延迟链的输出。
15.根据任一前述权利要求所述的布置,其中所述电路被配置成在不供应时钟信号时保持数据,从而在重新施加所述时钟信号时提供所述数据。
16.根据权利要求1至14中的任一权利要求所述的布置,其中所述电路被配置成在不供应时钟信号时接收重置信号,所述电路被配置成在不供应时钟信号时被重置。
17.一种裸片,包括根据任一前述权利要求所述的布置。
18.一种第二裸片与根据权利要求17所述的第一裸片的组合。
19.根据权利要求18所述的组合,其中所述第一裸片包括处理器,并且所述第二裸片包括配置成存储用于所述处理器的引导数据的存储器。
20.根据权利要求19所述的组合,其中所述第一裸片被配置成在引导操作期间以依赖于所述第一时钟电路的时钟频率而定的时钟频率与所述第二裸片通信。
21.一种集成电路,包括根据权利要求1至16中的任一权利要求所述的布置。
CN201310036621.0A 2012-01-30 2013-01-24 方法和布置 Active CN103227638B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1201530.1 2012-01-30
GB1201530.1A GB2499374A (en) 2012-01-30 2012-01-30 Circuit supplying two clock frequencies, while changing from one frequency to the other does not supply a clock signal.

Publications (2)

Publication Number Publication Date
CN103227638A true CN103227638A (zh) 2013-07-31
CN103227638B CN103227638B (zh) 2016-12-28

Family

ID=45876295

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201320053262.5U Expired - Lifetime CN203261315U (zh) 2012-01-30 2013-01-24 用于改变时钟频率的装置、裸片、裸片组合和集成电路
CN201310036621.0A Active CN103227638B (zh) 2012-01-30 2013-01-24 方法和布置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201320053262.5U Expired - Lifetime CN203261315U (zh) 2012-01-30 2013-01-24 用于改变时钟频率的装置、裸片、裸片组合和集成电路

Country Status (3)

Country Link
US (1) US8831160B2 (zh)
CN (2) CN203261315U (zh)
GB (1) GB2499374A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024040483A1 (zh) * 2022-08-24 2024-02-29 华为技术有限公司 一种调频方法和装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8692595B1 (en) * 2013-03-14 2014-04-08 Altera Corporation Transceiver circuitry with multiple phase-locked loops
US9465405B1 (en) 2015-06-30 2016-10-11 Freescale Semiconductor, Inc. Synchronous communication between system in package (SiP) devices
US10389341B1 (en) * 2015-12-28 2019-08-20 Altera Corporation Synchronize-able modular physical layer architecture for scalable interface
US10313108B2 (en) 2016-06-29 2019-06-04 Intel Corporation Energy-efficient bitcoin mining hardware accelerators
TWI657672B (zh) * 2017-03-02 2019-04-21 北京集創北方科技股份有限公司 傳送單元
US11550749B2 (en) * 2020-02-11 2023-01-10 Stmicroelectronics International N.V. Serial data interface with reduced loop delay

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US645426A (en) * 1898-12-29 1900-03-13 Julius Von Orlowsky Apparatus for treating calcium carbid.
US6483888B1 (en) * 2001-10-11 2002-11-19 International Business Machines Corporation Clock divider with bypass and stop clock
US20040012435A1 (en) * 2002-07-16 2004-01-22 Tetsumasa Meguro Clock switching circuit
CN100351732C (zh) * 2004-10-29 2007-11-28 国际商业机器公司 用于切换与主时钟相关的频率的方法和装置
CN101300772A (zh) * 2005-10-31 2008-11-05 泰瑞达公司 用于调节同步时钟信号的方法和装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US537146A (en) * 1895-04-09 Theodore h
JPS4925060B1 (zh) * 1969-04-08 1974-06-27
DE4244858A1 (de) * 1991-09-27 1995-10-05 Toshiba Kawasaki Kk Tragbarer Rechner mit Funktion zum Umschalten des CPU-Taktes
US5357146A (en) * 1992-12-31 1994-10-18 At&T Bell Laboratories Glitch-free clock multiplexer
US6228583B1 (en) 1997-08-04 2001-05-08 Massachusetts Institute Of Technology Assays for compounds which extend life span
US6088255A (en) * 1998-03-20 2000-07-11 Fujitsu Limited Semiconductor device with prompt timing stabilization
US6201448B1 (en) * 1999-12-28 2001-03-13 Intel Corporation Method and apparatus to reduce clock jitter of an on-chip clock signal
US6452426B1 (en) * 2001-04-16 2002-09-17 Nagesh Tamarapalli Circuit for switching between multiple clocks
JP2003131754A (ja) * 2001-10-25 2003-05-09 Hitachi Ltd 動作周波数切替え方式
US7089442B2 (en) * 2003-02-07 2006-08-08 Rambus Inc. Fault-tolerant clock generator
JP2007086960A (ja) * 2005-09-21 2007-04-05 Sanyo Electric Co Ltd クロック切り替え回路
US7729415B1 (en) * 2006-02-14 2010-06-01 Xilinx, Inc. High-speed interface for a programmable device
US9237000B2 (en) * 2006-06-19 2016-01-12 Intel Corporation Transceiver clock architecture with transmit PLL and receive slave delay lines
US20080307240A1 (en) * 2007-06-08 2008-12-11 Texas Instruments Incorporated Power management electronic circuits, systems, and methods and processes of manufacture
JP2009147829A (ja) * 2007-12-17 2009-07-02 Panasonic Corp Dll回路,撮像装置,メモリ装置
US8217697B2 (en) * 2008-11-19 2012-07-10 Intersil Americas Inc. Fault tolerant redundant clock circuit
US8035451B2 (en) * 2009-12-11 2011-10-11 Stmicroelectronics Pvt. Ltd. On-the-fly frequency switching while maintaining phase and frequency lock
JP5317356B2 (ja) * 2010-02-26 2013-10-16 ルネサスエレクトロニクス株式会社 クロック制御信号生成回路、クロックセレクタ、及び情報処理装置
EP2698723A1 (en) * 2010-03-11 2014-02-19 Ricoh Company, Ltd. Adapter and communication method
US8824222B2 (en) * 2010-08-13 2014-09-02 Rambus Inc. Fast-wake memory
US8799698B2 (en) * 2011-05-31 2014-08-05 Ericsson Modems Sa Control of digital voltage and frequency scaling operating points
US9281827B2 (en) * 2011-11-21 2016-03-08 Cirrus Logic International Semiconductor Ltd. Clock generator

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US645426A (en) * 1898-12-29 1900-03-13 Julius Von Orlowsky Apparatus for treating calcium carbid.
US6483888B1 (en) * 2001-10-11 2002-11-19 International Business Machines Corporation Clock divider with bypass and stop clock
US20040012435A1 (en) * 2002-07-16 2004-01-22 Tetsumasa Meguro Clock switching circuit
CN100351732C (zh) * 2004-10-29 2007-11-28 国际商业机器公司 用于切换与主时钟相关的频率的方法和装置
CN101300772A (zh) * 2005-10-31 2008-11-05 泰瑞达公司 用于调节同步时钟信号的方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024040483A1 (zh) * 2022-08-24 2024-02-29 华为技术有限公司 一种调频方法和装置

Also Published As

Publication number Publication date
US20130195235A1 (en) 2013-08-01
GB2499374A (en) 2013-08-21
CN203261315U (zh) 2013-10-30
CN103227638B (zh) 2016-12-28
GB201201530D0 (en) 2012-03-14
US8831160B2 (en) 2014-09-09

Similar Documents

Publication Publication Date Title
CN203261315U (zh) 用于改变时钟频率的装置、裸片、裸片组合和集成电路
CN100373288C (zh) 无假信号的时钟选择电路
US10007293B2 (en) Clock distribution network for multi-frequency multi-processor systems
US6563349B2 (en) Multiplexor generating a glitch free output when selecting from multiple clock signals
US20110254602A1 (en) Lockstep synchronization and maintenance
KR20140012312A (ko) 지연 고정 루프 회로 및 그의 구동 방법
US20110214003A1 (en) Clock control signal generation circuit, clock selector, and data processing device
CN109863696A (zh) 基于计数器的sysref实施方案
JP2008067398A (ja) 直角位相クロックを生成する方法および装置
JP2004054350A (ja) クロック切り替え回路
US8165253B2 (en) Methods and apparatus for serializer/deserializer transmitter synchronization
CN102857222B (zh) 一种系统时钟的动态调整方法和电路
US10469060B1 (en) Synchronizable ring oscillators
JP2013046268A (ja) クロック分周装置
US7253673B2 (en) Multi-phase clock generator and generating method for network controller
KR20030003340A (ko) 소비전류와 레이아웃 면적의 감소를 위한 지연고정루프
JP4741632B2 (ja) 半導体集積回路装置
KR20060114234A (ko) 지연고정클럭을 생성하는 회로 및 그 생성방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant