用于管芯间同步的数据传输的时钟同步的装置和方法_3

文档序号:9566852阅读:来源:国知局
Il的相位延迟从0°增大到360°并且将PI2的相 位延迟从360°减小到0°,直到时钟信号Tx和Ty的时钟边沿对齐。
[0061] 对于大于零或等于零的'n',当往返延迟(即,Tdl+Td2)大于(2n+l)*T巧cle且 小于(2n+2)*Tcycle时,则在一些实施例中,控制逻辑单元108将PIl的设定初始化为0° 的相位位置,并且将PI2的初始相位位置初始化为360° (实际上为0° )。初始化之后, 控制逻辑单元108将PI2引导至从0°朝向360°向上的阶跃相(step地ase)位置W及从 360°朝向0°向下的阶跃相位置,直到时钟信号Tx和Ty的时钟边沿对齐。
[0062] 图4示出了根据本公开内容的一些实施例的显示图3的延迟估计器300的操作的 时序图400。要指出的是,图4的与任何其它附图的元件具有相同附图标记(或名称)的那 些元件可W采用与所描述的方式相似的任何方式来操作或运行,但不限于此。此处,X轴是 时间,并且每个波形的y轴是电压。时序图400显示了当k= 0和k= 1时的Qk_A的两 个波形。此处,Tcycle是Clk_A的周期,其具有带有高相位和低相位的50%占空比。此处 对=种情况进行分析。 阳06;3] 在情况1中,往返传播延迟(即,Tdl巧d2)大于Tcycle的一半但小于Tcycle。在 该情况下,针对k= 0、1、2和3的Est.Delay为0001,即,C[3:0]为0001。例如,当k= 0 时,FF302对Clk_A的低相位进行采样W输出Y= 0,然后由invl303将该输出反相朗尋C_ Ou化Ut输出为'r(即,C[0] = 1)。类似地,当k= 1时,FF302对Clk_A的高相位进行 采样W输出Y= 1,然后由invl303将该输出反相朗尋C_0u化Ut输出为'0'(即,C[l]= 0),对于'k'的其它值依此类推。
[0064] 在情况2中,往返传播延迟(即,Tdl+Td2)大于Tcycle但小于3/2T巧cle。在运 种情况下,针对k= 0、l、2 和 3,Est.Delay为0010(即,C[3:0]为0010)。例如,当k= 0 时,FF302对Clk_A的高相位进行采样W输出Y= 1,然后由invl303将该输出反相朗尋C_ Ou化Ut输出为'0'(即,C[0] = 0)。类似地,当k= 1时,FF302对Clk_A的低相位进行 义样W输出Y= 0,然后由invl303将该输出反相[^将C_0u1:put输出为'I'(即,C[1]= 1),对于'k'的其它值依此类推。
[00化]在情况3中,往返传播延迟(即,Tdl+Td2)等于(或大体上等于)T巧cle。在该情 况下,针对k= 0、1、2 和 3,Est.Delay为OOlO或 0001(即,C[3:0]为OOlO或 0001)。由 于C[0]和CU]可W假设'0'或'1'的值,所W运种情况为亚稳态情况。为避免该亚稳态 情况,在一些实施例中,控制逻辑单元108对PI1和PI2的相位设定进行初始化,如参考图3 所论述的。在一些实施例中,对延迟估计器300进行修改(如参考图5所示)W识别亚稳 态情况,W使控制逻辑单元108能够为PIl和PI2采用适当的初始化步骤。
[0066] 图5示出了根据本公开内容的另一个实施例的用于图1的装置中的延迟估计器 500。要指出的是,图5的与任何其它附图的元件具有相同附图标记(或名称)的那些元件 可W采用与所描述的方式相似的任何方式来操作或运行,但不限于此。参考图3来描述图 5。为不使实施例难W理解,不再详细描述图3的元件。
[0067] 在一些实施例中,延迟估计器500包括如图所示地禪合在一起的除法器301、采样 器(或触发器(FF))501、302和502、反相器503、504和303、W及异或狂OR)口505。在一 些实施例中,由FF501对除法器301的输出Ax进行采样W产生输出'X'。在一些实施例 中,由FF502对除法器301的缓冲输出Az(即,由反相器502和504进行缓冲)进行采样 W产生输出'Z'。在一些实施例中,通过对信号'X'和'Z'执行XOR操作的XOR 505来接 收输出'X'和'Z',W产生Edge_Detected信号。在一些实施例中,互连i2的输出时钟信 号Clk_B(即,Ty)用作FF501、FF302和FF505的采样时钟,其中,时钟信号Clk_B是时 钟信号Cnk_A延迟了Tdl加上Td2之后的延迟形式。
[0068] 在一些实施例中,当时钟信号Clk_B的过渡边沿在时钟信号Clk_A的过渡边沿附 近进行采样时,'X'和'Z'输出具有相反的极性。在一些实施例中,XOR505用于延迟估计。 在一些实施例中,当'X'和'Z'具有相反的极性时,XOR505的输出指示时钟'A'和时钟'B' 的过渡边沿靠近彼此。像运样,将C[N:0]代码调整(即,改变)为一些已知值,否则C[N:0] 可能充满噪声或不正确。在一些实施例中,反相器503和504的延迟为可编程的延迟,其调 整检测可能的边沿接近的时间精细度。 W例图6示出了根据本公开内容的一些实施例的显示图5的延迟估计器500的操作的 时序图600。要指出的是,图6的与任何其它附图的元件具有相同附图标记(或名称)的那 些元件可W采用与所描述的方式相似的任何方式来操作或运行,但不限于此。
[0070] 此处,X轴为时间,并且每个波形的y轴为电压。波形分别是节点Ax、Clk_A、Az和 Qk_B上的时钟信号Ax、ak_A、Az和Qk_B。在一些实施例中,ak_B是FF501、302、和502 的采样时钟。参考T0,虚线显示当时钟信号Clk_B使用相应的FF来对时钟信号Ax、Clk_ A、和Az进行采样时的时间点。如果时钟信号CLK_B的过渡边沿(CLK_A的通过互连il和 i2的延迟形式)靠近CLK_A的过渡边沿,则由于亚稳定性或噪声,FF302可能不能给出可 靠的输出。然而,由于由反相器503和504给出的反相器延迟,被提供至FF501和FF502 的时钟信号CLK_B利用相反的极性对时钟信号Ax和Az进行采样(即,如果CLK_A和CLK_ B彼此太接近,则XOR口将输出'1')。
[0071] 图7示出了根据本公开内容的一些实施例的操作图5的延迟估计器500的方法 700。要指出的是,图7的与任何其它附图的元件具有相同附图标记(或名称)的那些元件 可W采用与所描述的方式相似的任何方式来操作或运行,但不限于此。
[0072] 尽管W特定的顺序示出了参考图7的流程图中的方框,但是可W修改动作的顺 序。因此,可W采用不同的顺序来执行所示出的实施例,并且可W并行执行一些动作/方 框。根据某些实施例,图7中所列出的方框和/或操作中的一些是可选的。为清晰起见而 对所呈现的方框进行编号,并且编号并不是要规定各种方框必须发生的操作的顺序。另外, 可W采用多种组合的形式来利用来自各种流程的操作。
[007引在方框701,由控制逻辑单元108将用于除法器301的V初始化为'N',其中W使T*2W"大于Tdl+Td2。在方框702,对除法器301进行编程W将ClkPI2除W2k。在方框 703,控制逻辑单元108等待2Vrcycle并且然后继续进行方框704。在方框704,存储延迟 估计器500的输出。例如,由控制逻辑单元108将输出C_0u化Ut和Edge_Detected存储在 存储器中。在方框705,确定Edge_Detected是否等于1。
[0074] 如果Edge_Detected为1,则在方框707,C比]被设定为1并且C虹]被设定为0, 其中'm'是延迟估计器500中所表示的相关联的时钟除法器系数设定。此处,C虹]是指 C比-1]、C比-2]-CU]、C[0]。通过像运样设定C比]和C虹],避免了边沿过于接近的情况 (即,避免了触发器亚稳定性的问题)。在方框709,将代码字C[N:0]提供至控制逻辑单元 108。如果Edge_Detected不等于零,则过程进行到方框706。在方框706,确定'k'是否大 于零。如果'k'大于零,则'k'减小1,即,k=k-1。然后方法进行到方框702。如果确定 'k'不大于零,则过程进行到方框709。在处理方框709之后,控制逻辑单元108更新PIl 和PI2的相位设定,W使CLKl与CLK2信号对齐。
[00巧]尽管参考从'N'开始并减小到零的'k'描述了方法700,但是所述方法可W被修 改为'k'从零开始并且增大到'N'。在运种实施例中,修改了条件语句(例如,方框706和 708的操作)。
[0076] 当由延迟估计器109确定C[N:0]时,正向路径的延迟范围(即,Td)是已知的, 则可W导出PIl和PI2的相位设定,W设定有效操作范围,如下所示。T(PI1)+T(PI2)= T,其中'r与Tcycle相同;T(PI2) +灯dl巧d2)/2 =n*T,其中n= 1、2、3…。对于Td= 灯dl+Td2)/2的给定估计,由控制逻辑单元108来确定PI2的最小和最大设定,如:
[0077] PI2_min=T-Td_max-(保护带)=T-C[N:0]*T/4-T/4-(保护带)= 5T/8-C[N:0]*T/4 …巧)
[0078] PI2_max=T-Td_min+(保护带)=T-C阳:0]*T/4+(保护带)= 9T/8+C[N:0]*T/4…(10)
[00巧]其中,当Td接近T/4、T/2、和T等时,在延迟估计器109中添加了保护带(例如, 对上述等式假设为T/8)来考虑误差。根据加工技术和/或其它因素,可W使用不同的保护 带的值。在一些实施例中,通过将PI2预设为最低限和最高限,控制逻辑单元108可W单步 调试PI2(和PI1)的相位延迟,直到Tx与Ty对齐,运消除了前述错误锁定问题。
[0080] 表1示出了用于预设PIl和PI2的范围W消除由错误锁定情况所导致的对齐模糊 的延迟估计代码。在一些实施例中,PI2的有效相位延迟范围彼此重叠来考虑抖动和FF敏 感度。例如,如果在一条线上绘制PI2_min和PI2_max,则随着C3到CO增加1,所述线移动 一位,并且该新线与之前的线重叠。运只是为了说明每个代码的PI2min/max区域彼此重 叠,因此不可能错过任何延迟情况。
[0081] 表I:用于预设PI2的范围的来自延迟估计器109的代码
[0083] 表1提供了如何基于所估计的路径延迟Td来确定C[N:0]代码的示例。该C[N:0] 代码用于建立初始相位翻译控制代码(PI2_min)、其调整方向、W及其最大控制代码。尽管 表1示出了PI2代码,但是可W使用T(P11)+P(PI2) =T来计算PIl代码。
[0084] 图8示出了根据本公开内容的一些实施例的具有用于管忍间同步的数据传输的 时钟同步的装置的S维(3D)堆叠管忍800。要指出的是,图8的与任何其它附图的元件具 有相同附图标记(或名称)的那些元件可W采用与所描述的方式相似的任何方式来操作或 运行,但不限于此。 阳0化]在该实施例中,封装801 (例如,101或201)对无核管忍802 (例如,第一管忍102) 和有核管忍803 (例如,第二管忍103)进行封装。在一些实施例中,互连il和i2为TSV。在 一些实施例中,有核管忍803包括多个核(例如,36个核)。在一些实施例中,每个核都可W 具有诸如参考第二管忍103所描述的时钟电路之类的时钟电路。在一些实施例中,无核管 忍802与有核管忍803位于不同工艺节点上。例如,无核管忍位于前一个工艺(即,N-I工 艺节点)上,而有核管忍803位于最新的工艺节点N上。在运种情况下,参考第一管忍102 和202中的装置所描述的时钟同步装置用于将有核管忍803中的时钟与无核管忍8
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1