数字串行读出架构的制作方法

    专利查询2022-07-07  116



    1.本发明总体上涉及数字电子设备。更具体地,实施例涉及用于从大量数字电路快速且有效地输出值的串行读出架构,诸如用于从互补金属氧化物半导体(cmos)中的大量计数器电路输出像素转换计数值。


    背景技术:

    2.许多电子设备包括相机和其他依靠数字图像传感器的特征。例如,大多数现代智能手机都包括一个或多个数码相机,它们依靠数字图像感测硬件和软件来捕获和处理图像。此类应用通常使用互补金属氧化物半导体(cmos)图像传感器(cis)来执行图像感测。随着时间的推移,消费者期望这些图像传感器具有更高的性能,包括更高的分辨率和更低的噪声。此外,特别是在便携式电子设备(例如,具有固定电池容量)中,期望的是提供这样的特征而不会对功耗和动态范围产生不利影响。例如,模拟电源驱动了现代cis功耗的重要部分(如果不是主要的话)。因此,在便携式电子设备中实施高性能cis可能涉及在严格的功率效率和噪声约束内设计模数转换器(adc)和其他组件。
    3.cmos图像传感器中的adc将模拟像素信息转换为数字代码(“像素转换”)。许多应用对此类adc提出了严格的设计要求。例如,许多应用需要在非常高速的时钟(例如,千兆赫范围内)以及对功耗和面积消耗的严格限制的情况下操作。例如,传统架构可以使用基于斜坡的adc将模拟像素输出电压(对应于由像素检测到的信号强度)与参考斜坡电压进行比较,以生成宽度与像素电压电平成比例的脉冲。计数器将脉冲宽度测量为经过的时钟周期数,使得计数是模拟像素输出值的数字表示。典型的现代cmos图像传感器可以在数百或数千行中的每一行中具有数百或数千个像素,并且每个像素可以具有对应的计数器,以针对每个像素转换周期输出其相应的数字计数。此外,每个数字计数可以是多个(例如,11)位。为每个像素转换周期获取这些数字计数可以涉及读出数百万位(或更多)的计数器数据。这样,计数器数据的串行化和读出效率低下可能成为像素转换性能的瓶颈。


    技术实现要素:

    4.实施例提供读出架构以支持大量数字位值的高速串行化读出,诸如用于cmos图像传感器应用中的高分辨率像素转换。例如,来自大量数字数据源(例如,计数器)的输出与读出架构的传输门耦合,并且传输门被顺序使能,从而一次一个地从数据源移入位数据。传输门被分组为门组。对于每个门组,实施例通过控制时钟和数据路径延迟成反比(即,具有较高时钟延迟的门组具有较低数据延迟,反之亦然)并确保所有门组的总路径延迟在单个时钟周期内来寻求跨门组的总路径延迟的平衡。一些实施例包括用于对路径延迟和数据总线电容进行进一步门组级控制的分区总线。
    5.根据一组实施例,提供了用于从多个数字数据源串行化读出位数据的系统,所述系统包括:输出触发器,被配置为响应于缓冲数据信号和输入时钟信号来输出串行化输出数据信号;包括多个门组的数据路径,每个门组具有多个传输门的相应子集,每个传输门用
    于响应于相应门使能信号的断言来选择性地从多个数字数据源中的相应一个数字数据源输出位数据,所述数据路径通过将数据路径延迟量添加到数据信号以生成缓冲数据信号来将来自传输门的相应门输出的数据信号提供给所述输出触发器;时钟延迟块,被配置为通过将时钟路径延迟量添加到输入时钟信号来生成缓冲时钟信号;和门选择器块,与时钟延迟块耦合,以响应于缓冲时钟信号来顺序地断言每个相应的门使能信号,使得在移出例程期间在输入时钟信号的每个时钟周期中多个传输门中的选定一个传输门被使能,其中时钟路径延迟量对于多个门组中的每一个门组是不同的,数据路径延迟量对于多个门组中的每一个门组是不同的。
    6.根据另一组实施例,提供了一种模数转换器系统。该系统包括:多个数字计数器,每个数字计算器具有相应计数器输出以输出对应于检测到的模拟输入电压电平的多个数字计数值中的相应一个数字计数值;和串行读出系统。所述串行读出系统包括:输出触发器,被配置为响应于缓冲数据信号和输入时钟信号来输出串行化输出数据信号,所述串行化输出数据信号被配置为具有在其上表示的多个数字计数值;包括多个门组的数据路径,每个门组具有多个传输门的相应子集,每个传输门与相应计数器输出中的一个耦合,以响应于相应门使能信号的断言而选择性地从多个计数器中的相应一个输出位数据,数据路径通过将数据路径延迟量添加到数据信号以生成缓冲数据信号来将来自传输门的相应门输出的数据信号提供给输出触发器;时钟延迟块,被配置为通过将时钟路径延迟量添加到输入时钟信号来生成缓冲时钟信号;和门选择器块,与时钟延迟块耦合,以响应于缓冲时钟信号来顺序地断言每个相应的门使能信号,使得在移出例程期间在输入时钟信号的每个时钟周期中多个传输门中的选定一个被使能,其中时钟路径延迟量对于多个门组中的每一个门组是不同的,数据路径延迟量对于多个门组中的每一个门组是不同的。
    7.根据另一组实施例,提供了用于从多个数字数据源串行化读出位数据的另一系统。该系统包括:用于基于缓冲时钟信号顺序移入位数据序列以生成数据信号的装置,位数据序列被预先分组为门组;用于控制对输入时钟信号的时钟延迟以生成缓冲时钟信号的装置,时钟延迟量被控制为对于所述门组中每个门组是不同的;用于控制对数据信号的数据延迟以生成缓冲数据信号的装置,数据延迟量被控制为对于所述门组中的每个门组是不同的;和用于响应于输入时钟信号来输出缓冲数据信号的装置。
    附图说明
    8.本文提及的并构成其一部分的附图示出了本公开的实施例。附图连同描述用于解释本发明的原理。
    9.图1示出了说明性像素模数转换器(adc)系统的一部分。
    10.图2示出了图1的说明性信号的简化图。
    11.图3示出了根据本文描述的实施例的新颖的串行读出架构。
    12.图4示出了根据本文描述的实施例的串行读出架构的说明性实施方式。
    13.图5示出了根据各种实施例的用于从多个数字数据源串行化读出位数据的说明性系统的功能框图。
    14.在附图中,相似的组件和/或特征可以具有相同的参考标记。此外,相同类型的各种组件可以通过在参考标记后加上区分相似组件的第二标记来区分。如果在说明书中仅使
    用了第一参考标记,则描述可适用于具有相同第一参考标记的类似部件中的任何一个,而与第二参考标记无关。
    具体实施方式
    15.在以下描述中,提供了许多具体细节以便彻底理解本发明。然而,本领域技术人员应当理解,本发明可以在没有这些细节中的一个或多个的情况下来实现。在其他示例中,为简洁起见将不描述本领域已知的特征和技术。
    16.图1示出了作为本文描述的实施例的示例情况的说明性像素模数转换器(adc)系统100的一部分。如以下将描述的,本文描述的实施例包括有效的串行读出架构,其可用于从任何合适的数字数据源读出大量位值。图1中所示的像素adc系统100是出现这样的合适的数字数据源的情况的一个示例。例如,这样的像素adc系统100可以将一行像素中的数千个模拟像素值转换成对应的数千个多位(例如,11位)计数输出值130;并且获取该行的数字像素输出数据可以涉及串行读出这些数千位。因此,像素adc系统100中的大量计数器120在本文中可以被认为是说明性类型的数字数据源,其生成大量数字位以被串行读出架构快速且有效地读出。
    17.如图所示,像素adc系统100包括与多个比较器110耦合的像素斜坡电压发生器140,这些比较器与多个计数器120耦合。像素斜坡电压发生器140生成斜坡电压(vramp)105,其本质上可以是从在低起始电平处开始并以基本线性方式充电到高结束电平的电压。例如,电流发生器开始使充电电流流过负载(例如电容性负载),从而为负载充电。随着负载充电,负载两端的电压可以随时间基本上线性增加。
    18.如图所示,斜坡电压105可以在每个比较器110的输入之一(例如,负输入)处被接收。在图像传感器的许多典型adc架构中,相同的斜坡电压105可以由多个比较器110,诸如对于每行像素的所有比较器110共享。每个比较器110的另一输入(例如,正输入)可以与对应像素的相应像素响应电压(vp)107耦合。例如,像素响应电压107是对应于由像素的光电检测器元件检测到的光的强度(例如,光子数)的像素的模拟输出。每个比较器110将其相应的像素响应电压107与斜坡电压105进行比较。斜坡电压105可以被配置为使得斜坡在假设低于任何像素响应电压107的电平处开始,并且使得斜坡在假设高于任何像素响应电压107的电平处结束。在像素转换周期的某个点处,斜坡电压105的线性变化电平将越过像素响应电压107的电平,从而触发对应的比较器110的输出的状态变化。
    19.在这样的配置中,每个比较器110的输出实际上是在对应于斜坡电压开始增加的第一时间点处开始并且在对应于越过像素响应电压107电平的斜坡电压105电平的第二时间点处结束的脉冲。这样,不同电平的像素响应电压107将导致比较器110的输出处的状态变化的不同时序,并且第一和第二时间点之间的脉冲宽度与像素响应电压107电平的测量值相关。如图所示,比较器110与计数器120耦合,计数器120被配置为生成数字输出130,其指示脉冲宽度的测量值,并且从而指示像素响应电压107电平的测量值。
    20.这样,每个计数器120可以与比较器110中的相应一个的输出耦合以接收输出信号作为停止信号123。每个计数器120还接收起始信号125和输入时钟信号127。起始信号125指示斜坡的起始(即,当斜坡电压开始从其起始电平增加时)。起始信号125的状态变化(例如,断言或去断言)触发计数器120开始对输入时钟信号125的脉冲进行计数。计数继续直到计
    数器120检测到对应于比较器110输出的状态变化的停止信号123的状态变化为止。此时,每个计数器120可以停止计数并且可以生成相应的数字计数值130。例如,每个数字计数值130可以包括n位(例如,11位),并且可以在大量计数器120的输出处有大量这样的数字计数值130。计数器120的输出可以与读出架构150耦合,该读出架构150可以有效地串行化并读出数字计数值以生成数字输出信号155。
    21.为了更清楚起见,图2示出了图1的说明性信号的简化图。如图所示,起始信号125的状态变化(例如,上升沿)触发斜坡电压105从某个低起始电平开始上升。斜坡电压105可以在一段时间内继续上升(例如,基本上线性地)。在某一点处,随着斜坡电压105增加,它越过说明性像素响应电压107的电平。例如,像素响应电压107对应于在对应于像素响应电压107的像素处的光电检测器的检测强度。如图1所示,当斜坡电压105的上升电平越过像素响应电压107电平时,对应的比较器110的输出状态发生变化,并且输出可以被用作停止信号123。从图2中可以看出,停止信号123响应于斜坡电压105的电平越过像素响应电压107电平而改变状态。
    22.还示出了输入时钟信号127。输入时钟信号127可以是任何合适的周期性信号,但通常是具有大约50%占空比的方波。如参考图1所描述的,计数器120可以被触发以响应于起始信号125而起始输入时钟信号127的计数周期(例如,上升沿或其他可检测的状态变化)并且响应于停止信号123而停止输入时钟信号127的计数周期。输入时钟信号127在起始信号125和停止信号123之间经过的周期数可以被用作像素响应电压107的测量值并且可以由计数器120输出以作为数字计数值130。
    23.图3示出了根据本文描述的实施例的新颖的串行读出架构300。数字数据源350被示出用于添加的情况。如上所述,数字数据源350可以包括输出大量数字位以供读出的任何组件、系统、设备等。例如,图1的像素adc系统100的大量计数器120是这样的合适数字数据源的示例。数字数据源350的另一示例可以是存储器、寄存器组等。如本文所述,串行读出架构300可以快速且有效地从数字数据源350读出数字输出数据以生成串行化输出数据信号345。
    24.如图所示,串行读出架构300的实施例包括与分区总线330通信的多个门组315。虽然未明确示出,但每个门组315包括对应于数字数据源350中的一个的输出的多个门。输入时钟信号305被传递通过时钟延迟块325以控制门选择器块320的时序,该门选择器块320迭代地选择每个门组315中的每个门以用于将对应的选定数据位输出到分区总线330。输出到分区总线330的对应的选定数据位被传递通过数据延迟块335到达输出触发器340。然后输出触发器340可以响应于输入时钟信号305在串行化输出数据信号345上输出对应选定数据位。
    25.在一些应用情况下,在输入时钟信号305的源和不同的数字数据源350之间可能存在较大的路径长度差异(例如,时钟路径长度)。例如,cmos图像传感器的每个adc可以相对较大,并且可能没有实用的方法来布置大量这样的adc而不在这些adc和输入时钟信号305的源之间产生较大的路径长度差异。类似地,在不同的数字数据源350和输出触发器340之间可能存在较大的路径长度差异(例如,数据路径长度)。串行读出架构300的实施例寻求在时钟延迟块325、分区总线330和数据延迟块335之间基本上平衡进出门组315的总有效路径长度。这样的平衡可以包括实施时钟路径和数据路径,使得一个路径中的有效路径长度(例
    如,延迟量和/或物理距离)随着另一路径中的有效路径长度的减小而增加。例如,实施例被配置为使得具有较大关联时钟路径长度的数字数据源350将经由较小关联数据路径长度与输出触发器340通信;以及具有较小关联时钟路径长度的数字数据源350将经由较大关联数据路径长度与输出触发器340通信。
    26.总路径延迟可以被认为是从在输入时钟信号305节点处存在时钟脉冲时开始(例如,串行读出架构300的组件被设计成进行响应的时钟状态的任何变化,诸如时钟上升沿或下降沿)到由输出触发器340接收到所产生的读出数据位时的时间量。例如,在触发选择器块320以选择性地从门组315之一的下一个门读入数据之前,时钟脉冲在时钟延迟块325处延迟第一量的时钟脉冲。读入的数据被传递到分区总线330,在此它在被传送到数据延迟块335之前被延迟第二量。在一些情况下,该第二量还可以包括输入门路径(例如,从每个传输门到数据总线)。然后,读入数据在传送到输出触发器340之前在数据延迟块335被延迟第三量。第一、第二和第三延迟量加在一起以提供大约预定量的总延迟。例如,期望的总延迟可以是t皮秒,数据延迟块335可以提供大约t/2皮秒的固定延迟,并且时钟延迟块325和分区总线330一起提供附加的大约t/2皮秒的延迟。在这样的示例中,时钟延迟块325和分区总线330可以被设计为使得距输入时钟信号305更远并且在时钟延迟块325中经历更多延迟的数字数据源350将在分区总线330中经历更少的延迟;以及更接近输入时钟信号305并且在时钟延迟块325中经历较少延迟的数字数据源350因此将在分区总线330中经历更多延迟;使得跨时钟延迟块325和分区总线330的组合延迟保持基本一致。
    27.将数字数据源350输出进行分组到门组315中可以提供各种特征。一个特征是门组315促进在跨大量数字数据源350的时钟和数据路径延迟之间提供更多平衡,这可以提高串行读出架构300的功率效率。另一个特征是平衡跨门组的总路径延迟可以促进更高速的操作。实施例被设计为确保所有门组315的总路径延迟(包括最坏情况的总路径延迟)在单个时钟周期内。可以看出,通过如本文所述的平衡路径延迟,最坏情况的路径长度比没有这种平衡情况下的路径长度短得多(例如,大约一半)。另一个特征是门组315促进使用分区总线330来减少门组315的门所看到的总线负载。例如,大数据总线可以被看作是大负载(例如,并且可以增加明显的寄生效应)。根据门组315对总线进行分区可以有效地减少每个门所看到的总线的大小,这可以增加信号速度、减少功率和/或减少门组件面积(例如,在每个门组315的每个门的输入处的缓冲器的面积)。
    28.图4示出了根据本文描述的实施例的串行读出架构400的说明性实施方式。串行读出架构结构400可以是图3的串行读出结构300的实施方式。如图所示,串行读出架构400可以响应于输入时钟信号305而生成串行化输出数据信号345。串行读出架构400的组件可以包括多个门组315、门选择器块320、时钟延迟块325、分区总线330、数据延迟块335和输出触发器340。每个门组315被配置为与多个数字数据源350(未示出)的输出耦合以一次接收一位。
    29.所示实施方式假设串行读出架构400与128个数字数据源350耦合,诸如与128个数字计数器耦合。数字数据源350中的每一个的输出与相应的数据源节点410耦合。例如,数据源节点410-0至410-127中的每一个与数字数据源350-0至350-127中的相应一个的输出耦合。在一个实施方式中,每个数据源节点410表示单个位(例如,在其输出处一次生成单个位)。在其他实施方式中,每个数字数据源350可以被配置为向其相应的数据源节点410输出
    多位数字值。在其他实施方式中,每个数据源节点410与运行到一个或多个数字数据源的总线耦合350,并且类似或不同的技术被用于将数据移出到数据源节点410。
    30.每个数据源节点410与传输门(t门)414耦合。在一些实施方式中,每个数据源节点410直接耦合到t门414。例如,使用数字计数器作为数字数据源350,在计数器中执行计数的触发器可以直接驱动t门414。在其他实施方式中,每个数据源节点410经由相应的读入缓冲器412与t门414耦合。例如,t门414可以被实施为nmos晶体管和pmos晶体管,其中源极节点连接在一起,漏极节点连接在一起,并且它们相应的栅极节点由互补使能信号416驱动。每个t门414的操作可以有效地成为三态缓冲器。例如,当门使能信号416被去断言时,去断言的门使能信号416可以截止nmos晶体管,并且去断言的门使能信号416的补码可以截止pmos晶体管;使得从其门输出信号418的角度来看,t门414实际上是具有高阻抗的开路。相反,当门使能信号416被断言时,断言的门使能信号416可以导通nmos晶体管,并且断言的门使能信号416的补码可以导通pmos晶体管;使得从其门输出信号418的角度来看,t门414实际上是到读入缓冲器412的短路路径(例如,pmos倾向于更强地传递来自读入缓冲器412的“1”,并且nmos更倾向于传递来自读入缓冲器412的'0')。如下面将更充分解释的,实施例一次仅使能一个t门414,从而有效地一次提供一位到分区总线330。
    31.数据源节点410及其相关联的读入缓冲器412和t门414被分组成门组315。所示实施方式使用四个门组315来支持128个数字数据源350。实施例可以使用任何合适数量的门组315以支持任何合适数量和/或类型的数字数据源350。如本文所述,门组315促进时钟和数据路径延迟和路径距离的平衡,并且门组315的数量可以是被选择以将路径规范保持在预定阈值内。例如,数字数据源350的物理尺寸的增加可以类似地增加那些数字数据源350中的一些与其他组件(例如,输入时钟信号305的源、输出触发器340等)之间的路径距离;并且门组315的数量(以及对应的分区总线330的分区数量)可以增加以适应路径距离的那些增加。
    32.来自所有t门414的门输出信号418与分区总线330耦合。如上所述,分区总线330可以包括与门组315的数量相同数量的总线分区426(例如,在所示的实施方式中有四个)。这样,来自每个特定门组315中的所有t门414的门输出信号418与分区总线330的总线分区426中的相应一个耦合。例如,第一门组315a与数据源节点410-0至410-31(即,前32个数字数据源350)相关联,每个分别与相关联的读入缓冲器412-0至412-31和相关联的t门414-0至414-31耦合。那些t门414-0至414-31的输出是门输出信号418-0至418-31,所有这些都与第一总线分区426a耦合。
    33.每个总线分区426通过单向总线缓冲器424与其相邻的总线分区426分离。每个单向总线缓冲器424可以由t门(如图所示)或其他三态缓冲器或任何其他合适的组件来实施。实际上,每个单向总线缓冲器424选择性地将总线分区426彼此耦合或隔离。例如,当从第一门组315a读取数据时,所有的单向总线缓冲器424被关闭(即设置为开路),并且单向总线缓冲器424a在第一总线分区426a的右手边提供非常高的阻抗。实际上,从第一门组315a的组件的角度来看,整个数据总线看起来仅与第一总线分区426a一样长。如下所述,来自分区总线330的数据作为总线输出信号428被传送到数据延迟块335。从数据延迟块335的角度来看,与分区总线330和使能的t门414的耦合具有非常低的阻抗。当从第四门组315d读取数据时,所有的单向总线缓冲器424都被打开(即设置为闭合电路),并且数据仍然从第一总线分
    区426a的区域读出总线(作为总线输出信号428)。当打开时,每个单向总线缓冲器424提供非常高的输入阻抗和非常低的输出阻抗。这样,从第四门组315d的组件的角度来看,整个数据总线仍然看起来只有单个(即第四)总线分区426d那么长;而从数据延迟块335的角度来看,与分区总线330和使能的t门414的耦合(通过三个单向总线缓冲器424)仍然具有非常低的阻抗。
    34.由串行读出架构400提供的串行化本质上是“移出”过程,其以串行方式逐一移出数字数据源350的输出。如上所述,每个计数器输出可以是任何合适的整数n个位,但是为了简单起见,描述假设每个计数器输出只是单个位。移出由门选择器块320控制。如图所示,门选择器块320可以被实施为与一系列门激活触发器434耦合的启动器触发器432。每个门激活触发器434与t门414的对应一个相关联。门激活触发器434被布置在移位寄存器配置中。在这样的配置中,任何门激活触发器434n的输出驱动了下一个门激活触发器434(n 1)的输入,并且所有门激活触发器434根据相同的输入时钟信号305(例如,或者通过输入时钟信号305的缓冲版本)而进行时钟控制。每个门激活触发器434的输出被用作相应的门使能信号416以用于使能t门414中的对应一个,并且门选择器块320实质上依次将门使能信号416移位到每个下一个门激活触发器434,同时保持所有其他t门414禁用。
    35.在移出数据之前,门选择器块320可以复位启动器触发器432和门激活触发器434,使得门选择器块320中的所有触发器的“q”输出为'0'。如图所示,启动器触发器432的“q_bar”输出与第一门激活触发器434-0的数据输入耦合,使得输入到第一门激活触发器434-0的数据为“1”;并且每个门激活触发器434的q输出依次与下一个门激活触发器434的数据输入耦合,使得输入到每个后续门激活触发器434-1至434-127的数据为“0”。在第一个时钟上升沿(例如,或任何其他合适的时钟转换),启动器触发器432的输出处的“1”被移位到第一门激活触发器434-0的q输出。所有其他门激活触发器434的q输出保持在“0”。在第一门输出信号418-0被断言并且所有其他门输出信号418保持被去断言的情况下,第一t门414-0被使能,并且所有其他t门414保持被禁用。这样,在第一数据源节点410-0处接收并由第一读入缓冲器412-0缓冲的数据位被传递到分区总线330(到第一总线分区426a)。如图所示,启动器触发器432的数据输入与高电平参考耦合,使得当未复位时,启动器触发器432的q_bar输出为“0”。这样,在第一个时钟上升沿之后,输入到第一门激活触发器434-0的数据变为“0”,输入到第二门激活触发器434-1的数据变为“1”(即,与来自第一门激活触发器434-0的输出耦合,其响应于第一时钟上升沿转变为“1”),并且输入到第二门激活触发器434-1的数据保持在“0”。因此,在第二时钟上升沿,第一门使能信号416-0变为去断言,第二门使能信号416-1变为断言,并且所有其他门使能信号416保持去断言。可以看出,在每个后续时钟周期中,下一个门使能信号416依次被断言,并且所有其他门使能信号416被去断言。因此,在每个时钟周期中,每个下一个t门414被一次一个地顺序使能。
    36.门选择器块320的实施例还可以控制分区总线330的总线分区426的激活。如图所示,对应于门组315中的第一t门414的每个门使能信号416可以被用于使能与该门组315相关联的单向总线缓冲器424。例如,第二门组315b包括t门414-32至414-63,并且第三门组315c包括t门414-64至414-95。当门激活触发器434-32的输出变为高电平以断言门使能信号416-32时,这使能t门414-32并且还触发第一总线缓冲器使能触发器422a以使能第一单向总线缓冲器424a。例如,每个总线缓冲器使能触发器422被边沿触发,以便响应于检测到
    门使能信号416的断言而使能其对应的单向总线缓冲器424。类似地,当门激活触发器434-64的输出变为高电平时以断言门使能信号416-64,这使能t门414-64并且还触发第二总线缓冲器使能触发器422b以使能第二单向总线缓冲器424b。
    37.值得注意的是,当被使能时,每个单向总线缓冲器424可以在数据信号从t门414通过总线分区426传递到数据延迟块335时向数据信号添加延迟。例如,在所示的实施方式中,来自第一门组315a的数据可以传递通过分区总线330到达数据延迟块335而没有明显的附加延迟。来自第二门组315b的数据传递通过分区总线330到达数据延迟块335,具有来自单个单向总线缓冲器424a的附加延迟。来自第三门组315c的数据传递通过分区总线330到达数据延迟块335,具有来自两个单向总线缓冲器424a和424b的附加延迟。来自第四门组315d的数据传递通过分区总线330到达数据延迟块335,具有来自三个单向总线缓冲器424a、424b和424c的附加延迟。
    38.实施例通常可以包括任何合适整数(n)的门组315(在所示的实施方式中n=4),使得分区总线330具有n个总线分区426。每个第n个总线分区426(即,每个第一至第n总线分区426)与n个门组315中的第n个门组的t门414的相应门输出418耦合。总线分区426经由至少n-1个单向总线缓冲器424彼此耦合(例如,所示实施方式中的四个总线分区426经由三个单向总线缓冲器424彼此耦合)。在一些实施例中,如果存在整数(k)个t门414,则可以说n个门组315中的每一个对应于t门414的k/n的相应序列,使得每个第n个门组315的相应序列开始于关联的组起始门,该组起始门是k个t门414中的第[(n-1)*(k/n) 1]个t门414。例如,在所示的实施方式中,k是128,且n是4,且第三个(即n=3)门组315c的组起始门是第65个t门(在图中标记为414-64,因为第一个t门标记为414-0),对应于(3-1)*(128/4) 1=65。可以看出,使能每个门组315的组起始门的门使能信号416也是使能单向总线缓冲器424以激活与该门组315相关联的总线分区426的门使能信号416(例如,门使能信号416-64的断言使能t门414-64和单向总线缓冲器424b)。
    [0039]
    时钟延迟块325和数据延迟块335的实施例可以分别被实施为一系列时钟延迟缓冲器442和数据延迟缓冲器452。虽然这些组件被描述为“延迟缓冲器”,但缓冲器本身可能仅对它们各自路径的整体延迟有轻微贡献。在长传输距离的情况下(例如,时钟信号源和最远的数字数据源350之间的距离可以在毫米量级),长传输线会产生可观的电容,这会导致信号延迟。时钟和数据路径中的各种缓冲器可以有效地断开长传输线,使得每个部分实际上更短,并且具有明显更少的电容和关联的延迟。这样,在一些情况下,沿着传输线的缓冲器的数量可以指示延迟量,只要缓冲器的数量可以往往对应于传输线的长度。因此,本文中提及的“延迟缓冲器”或“缓冲器的延迟作用”等通常旨在指代由缓冲器驱动的传输线的一部分中的任何延迟(例如,包括由缓冲器本身和由缓冲器驱动的传输线部分的寄生效应导致的延迟)。
    [0040]
    在一些实施方式中,时钟延迟缓冲器442和数据延迟缓冲器452中的每一个可以以基本上相同的方式实施以与基本上相同的延迟量相关联。在一些实施方式中,由时钟延迟缓冲器442和数据延迟缓冲器452(以及它们相关联的传输线部分)中的每一个添加的延迟量可以类似于由分区总线330(和它们对应的总线分区426)的单向总线缓冲器424中的每一个添加的延迟量。例如,所示实施方式包括四个时钟延迟缓冲器442、三个数据延迟缓冲器452和三个单向总线缓冲器424;并且这些缓冲区中的每一个都可以被认为与一个缓冲器的
    延迟作用相关联(例如,“1b”)。在操作中,可以跨门组315平衡总路径延迟,使得来自每个门组315的数据经历总共7b的延迟(例如,其中7b的延迟正好在单个时钟周期内)。例如,对于第一门组315a的数据,时钟延迟块325引入4b的延迟,分区总线330不引入附加延迟,并且数据延迟块335引入3b的延迟。或总延迟的7b。对于第四门组315d的数据,时钟延迟块325引入1b的延迟,分区总线330引入3b的延迟,并且数据延迟块335引入3b的延迟;再次总共7b的总延迟。
    [0041]
    为了说明起见,假定是在顺序移出过程中读取在数据源节点410-5(即,在第一门组315a中)接收的位输出的时间。在输入节点405处接收关于输入时钟信号305的上升时钟沿。输入时钟信号305在到达门激活触发器434-5的输入之前传递通过所有时钟延迟缓冲器442a至442d。这样,在输入节点405处接收到时钟上升沿的时间与时钟上升沿触发门激活触发器434-5的时间之间存在与时钟路径延迟相对应的第一延迟量(例如,4b),从而断言门使能信号416-5。这使能了t门414-5,导致数据源节点410-5处的位数据被传送(在门输出信号418-5上)到第一总线分区426a和数据延迟块335而没有明显延迟。在数据延迟块335中,数据信号在到达输出触发器340之前传递通过三个数据延迟缓冲器452a、452b和452c。这样,t门414-5被使能的时间和数据到达输出触发器340的输入的时间之间存在与数据路径延迟相对应的第二延迟量(例如,3b)。在接收到下一个时钟上升沿时,输出触发器340将其输入转移到其输出,使得来自数据源节点410-5的数据将在串行读出架构400的输出节点407处在串行输出数据信号345上被输出。
    [0042]
    为了进一步说明,假定是在顺序移出过程中读取在数据源节点410-105(即,在第四门组315d中)接收的位输出的时间。在输入节点405处接收输入时钟信号305的上升时钟沿。输入时钟信号305现在在到达门激活触发器434-105的输入之前仅传递通过时钟延迟缓冲器442a中的一个。这样,在输入节点405处接收到时钟上升沿的时间与时钟上升沿触发门激活触发器434-105的时间之间存在对应于较小时钟路径延迟的第一延迟量(例如,1b),从而断言门使能信号416-105。这使能了t门414-105,导致数据源节点410-105处的位数据被传送(在门输出信号418-105上)到第四总线分区426d。在移出序列中的这一点上,所有单向总线缓冲器424a、424b和424c都已被使能。这样,从t门414-105传送的数据现在在到达数据延迟块335之前传递通过三个单向总线缓冲器424,这可以添加对应于第一数据路径延迟的第二延迟量(例如,3b)。在数据延迟块335中,如前面的说明,数据信号在到达输出触发器340之前传递通过三个数据延迟缓冲器452a、452b和452c。这样,存在对应于第二数据路径延迟的第三延迟量(例如,3b)。现在,在t门414-105被使能的时间和数据到达输出触发器340的输入的时间之间的总数据路径延迟包括来自单向总线缓冲器424的延迟和来自数据延迟缓冲器的延迟452两者。在接收到下一个时钟上升沿时,输出触发器340将其输入转移到其输出,使得来自数据源节点410-5的数据将在串行读出架构400的输出节点407处在串行化输出数据信号345上被输出。
    [0043]
    实施例被设计为确保从在输入节点405处接收到时钟上升沿直到从t门414之一读取的数据到达输出触发器340的输入的总延迟必须小于一个时钟周期。例如,被设计为利用2.5兆赫时钟进行操作的实施方式可以被配置为使得通过时钟路径和数据路径的总延迟远低于400纳秒。此外,一般而言,串行读出架构400的实施例寻求确保具有较大关联时钟路径延迟的数字数据源350将具有较小关联数据路径延迟,反之亦然。这样,虽然所示的实施方
    式包括四个时钟延迟缓冲器442、三个数据延迟缓冲器452和三个单向总线缓冲器424,但是可以使用任何合适数量的缓冲器和/或其他延迟元件。此外,路径延迟的受控可变性可以以任何合适的方式来实施。例如,所示实施方式实质上包括可变时钟路径延迟、数据路径延迟的可变部分和数据路径延迟的固定部分。一些替代实施方式包括时钟路径延迟的可变部分和固定部分(例如,通过在时钟延迟缓冲器442a之前添加固定数量的时钟延迟缓冲器442)。此外,可变性的特定布置可以以任何合适的方式实施。例如,在所示实施方式中,来自第一门组315a的数据经历最大时钟路径延迟和最小数据路径延迟,并且来自第四门组315d的数据经历最小时钟路径延迟和最大数据路径延迟。一些替代实施方式被布置为使得来自第四门组315d的数据经历最大时钟路径延迟和最小数据路径延迟,并且来自第一门组315a的数据经历最小时钟路径延迟和最大数据路径延迟。
    [0044]
    上面的描述和图4所示的实施方式被简化为假设每个数字数据源350输出单个位。然而,在许多应用中,每个数字数据源350并行输出多个位。例如,11位数字计数器可以并行输出11位作为输出计数值。在一些这样的实施例中,每个并行位输出可以被认为是其自己的数字数据源350。例如,如果每个数字数据源350是并行输出11位的11位计数器,则就11位输出中的每一个可以经由11个数据源节点410和t门414中的相应一个(例如,经由相应的输入缓冲器412)被耦合的情况下,每个位输出可以被考虑作为其自己的“数字数据源”。这样的实施方式可以有效地依次移出每个数字数据源350的每个位,使得单个串行化数据输出信号345表示来自所有数字数据源350的所有数据位的串行化。
    [0045]
    在其他这样的实施例中,读出架构400的某些组件表示被配置为适应多位数字数据源350的并行位结构的重复并行结构。例如,生成m个串行化数据输出信号345,每个表示由所有数字数据源350输出的m个位位置中的相应一个的串行化。在一些这样的实施方式中,单个时钟路径被用于控制时钟延迟并控制多个并行数据路径的门选择。特别地,实施方式可以包括一个时钟延迟块325和一个门选择器块320,与每个门组315、分区总线330、数据延迟块335和输出触发器340的m个并行副本耦合。例如,所示的第一数据源节点410-0及其对应的第一输入缓冲器412-0和第一t门414-0可以表示m个第一数据源节点410-0、m个第一输入缓冲器412-0和m个第一t门414-0的并行集合。所有m个第一t门414-0可以使用相同的门使能信号416来使能,使得与相同数字数据源350的并行输出相关联的所有输入门控路径作为单元(即,同时)被使能。这些m个输入门控路径中的每一个可以与m个数据输出路径中的相应一个耦合,使得m个数据信号中的每一个经由m个分区总线330和数据延迟块335中的相应一个被传送(与其他m-1个数据信号并行)到m个输出触发器340中的相应一个(即,所示的分区总线330、数据延迟块335和输出触发器340分别表示m个分区总线330、m个数据延迟块335和m个输出触发器340的并行集合)。
    [0046]
    图5示出了根据各种实施例的用于从多个数字数据源350串行化读出位数据的说明性系统500的功能框图。系统500的功能框可以使用任何合适的结构来实施,诸如参考图3和4所描述的那些。系统500可以具有各种输入/输出节点。例如,输入时钟信号305可以经由第一输入节点接收,来自数字数据源350的位数据可以经由第二输入节点(例如,或与数字数据源350的数量相对应的节点数量)接收,并且可以经由输出节点从系统500输出串行化数据输出信号345。
    [0047]
    如图所示,系统500包括第一功能组件510,其提供用于基于缓冲时钟信号525顺序
    移入位数据序列中以生成数据信号的装置。如本文所述,位数据序列被预分组为与数字数据源350的组相对应的门组。移入的位数据可以由第一功能组件510输出作为数据信号515。在一些实施例中,第一功能组件包括用于顺序使能多个传输门中的每一个的装置,其中每个传输门与数字数据源350中的一个耦合以接收位数据的对应部分。
    [0048]
    第二功能组件520可以提供用于控制输入时钟信号305的时钟延迟以生成缓冲时钟信号525的装置。时钟延迟的量被控制为对于每个不同的门组是不同的。第三功能组件530可以提供用于控制数据信号515的数据延迟以生成缓冲数据信号535的装置。数据延迟量被控制为对于每个门组是不同的。在一些实施例中,每个门组对应于位数据的相应部分,第三功能组件530包括具有多个总线分区的分区数据总线,并且第一功能组件510包括用于顺序移入位数据的每个相应部分到分区数据总线的相应总线分区的装置。在这样的实施例中,第三功能组件530可以基于用于顺序移入对应于门组的位数据的相应部分的相应总线分区为每个门组添加不同量的数据延迟。
    [0049]
    实施例可以包括第四功能组件540,其可以提供用于响应于输入时钟信号305来输出缓冲数据信号535的装置。例如,在移出例程的第k个时钟周期中,该位数据的第k个位由第一功能组件510移入,并且位数据的第(k-1)个位由第四功能组件540输出到串行化数据输出信号345上。在一些实施例中,对于任何门组的总路径延迟量对应于由第二功能组件520添加的时钟延迟量和由第三功能组件530添加的数据延迟量。总路径延迟量可以跨所有门组被平衡,使得对于时钟延迟的添加量被控制为较大的那些门组,数据延迟的添加量被控制为较小,并且对于时钟延迟的添加量被控制得较小的那些门组,数据延迟的添加量被控制为更大。在一些实施例中,对于所有门组,总路径延迟量基本相同,即使时钟延迟和数据延迟的相应贡献不同。第二功能组件520和第三功能组件530的实施例可以被设计成使得从在系统500输入节点之一处接收到关于输入时钟信号305的时钟脉冲直到对应的移入数据位在第四功能组件540处是可用的(用于下一时钟周期中的后续输出)的总路径延迟具有比输入时钟信号305的一个时钟周期更短的持续时间。
    [0050]
    如上所述,在一些情况下,每个数字数据源350具有m个并行位输出。例如,每个数字数据源350是m位计数器。一些实施例通过将数据路径组件实施为数据路径组件的m个并行副本来配置用于这样的情况。第一功能组件510被实施为第一功能组件510的m个并行副本,每个用于基于缓冲时钟信号从m个并行位输出中的相应一个顺序移入相应的位数据序列以生成m个并行数据信号的相应一个。第三个功能组件530包括第三功能组件530的m个副本,每个用于控制对m个并行数据信号中的相应一个的数据延迟,以生成m个并行缓冲数据信号中的相应一个。第四功能组件540包括第四功能组件540的m个并行副本,每个用于响应于输入时钟信号输出m个缓冲数据信号中的相应一个。在一些这样的实施例中,第二功能组件520的单个副本用于控制数据路径的所有m个副本的时钟路径。以这种方式,m个并行数据信号可以跨数字数据源350的所有m个输出以同步的方式生成。例如,第一串行化数据输出信号345a表示来自所有数字数据源350的相应第一位输出的串行化位,第二串行数据输出信号345b表示来自所有数字数据源350的相应第二位输出的串行化位,并且第一和第二串行化数据输出信号345的符号时序是同步的。
    [0051]
    应当理解,当元件或组件在本文中被提及“连接到”或“耦合到”另一元件或组件时,它可以连接到或耦合到另一元件或组件,或居间的元件或组件也可能存在。相反,当元
    件或组件被提及“直接连接到”或“直接耦合到”另一元件或组件时,它们之间不存在居间的元件或组件。应当理解,尽管术语“第一”、“第二”、“第三”等可以在本文中用于描述各种元件、组件,但这些元件、组件、区域不应受这些术语的限制。这些术语仅用于将一个元件、组件与另一个元件、组件区分开来。因此,在不背离本发明的教导的情况下,下文讨论的第一元件、组件可以被称为第二元件、组件。如本文所用,术语“逻辑低”、“低状态”、“低电平”、“逻辑低电平”、“低”或“0”可互换使用。术语“逻辑高”、“高状态”、“高电平”、“逻辑高电平”、“高”或“1”可互换使用。
    [0052]
    如本文所用,术语“一”、“一个”和“该”可以包括单数和复数参考。将进一步理解的是,当在本说明书中使用时,术语“包括”、“包含”、“具有”及其变体指定了所述特征、步骤、操作、元件和/或组件的存在,但不排除一个或多个其他特征、步骤、操作、元件、组件和/或其组的存在或添加。相反,当在本说明书中使用时,术语“由
    ……
    组成”指定了所述特征、步骤、操作、元件和/或组件,并且排除了附加特征、步骤、操作、元件和/或组件。此外,如本文所用,词语“和/或”可以指代并涵盖一个或多个相关联列出的项目的任何可能组合。
    [0053]
    尽管本文参考说明性实施例描述了本发明,但该描述并不旨在解释为限制性的。相反,说明性实施例的目的是使本领域技术人员更好地理解本发明的精神。为了不混淆本发明的范围,省略了众所周知的工艺和制造技术的许多细节。在参考描述描述时,说明性实施例的各种修改以及其他实施例对于本领域技术人员将是显而易见的。因此,所附权利要求旨在涵盖任何此类修改。
    [0054]
    此外,本发明的优选实施例的一些特征可以被有利地使用而无需相应地使用其他特征。这样,上述描述应被认为仅是对本发明原理的说明,而不是对其的限制。本领域技术人员将理解落入本发明范围内的上述实施例的变化。结果,本发明不限于上面讨论的特定实施例和说明,而是由以下权利要求及其等同物限制。
    转载请注明原文地址:https://tc.8miu.com/read-1460.html

    最新回复(0)