CN110048715A - 高速数据加权平均架构 - Google Patents
高速数据加权平均架构 Download PDFInfo
- Publication number
- CN110048715A CN110048715A CN201811488874.0A CN201811488874A CN110048715A CN 110048715 A CN110048715 A CN 110048715A CN 201811488874 A CN201811488874 A CN 201811488874A CN 110048715 A CN110048715 A CN 110048715A
- Authority
- CN
- China
- Prior art keywords
- bit
- circuit
- output
- data
- logic
- 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
Links
- 239000011159 matrix material Substances 0.000 claims abstract description 41
- 230000007704 transition Effects 0.000 claims abstract description 32
- 230000004044 response Effects 0.000 claims abstract description 19
- 238000001514 detection method Methods 0.000 claims abstract description 8
- 241001269238 Data Species 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 230000009466 transformation Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 5
- 238000013500 data storage Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 5
- 229910002056 binary alloy Inorganic materials 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/14—Conversion to or from non-weighted codes
- H03M7/16—Conversion to or from unit-distance codes, e.g. Gray code, reflected binary code
- H03M7/165—Conversion to or from thermometric code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/06—Continuously compensating for, or preventing, undesired influence of physical parameters
- H03M1/0617—Continuously compensating for, or preventing, undesired influence of physical parameters characterised by the use of methods or means not specific to a particular type of detrimental influence
- H03M1/0634—Continuously compensating for, or preventing, undesired influence of physical parameters characterised by the use of methods or means not specific to a particular type of detrimental influence by averaging out the errors, e.g. using sliding scale
- H03M1/0656—Continuously compensating for, or preventing, undesired influence of physical parameters characterised by the use of methods or means not specific to a particular type of detrimental influence by averaging out the errors, e.g. using sliding scale in the time domain, e.g. using intended jitter as a dither signal
- H03M1/066—Continuously compensating for, or preventing, undesired influence of physical parameters characterised by the use of methods or means not specific to a particular type of detrimental influence by averaging out the errors, e.g. using sliding scale in the time domain, e.g. using intended jitter as a dither signal by continuously permuting the elements used, i.e. dynamic element matching
- H03M1/0665—Continuously compensating for, or preventing, undesired influence of physical parameters characterised by the use of methods or means not specific to a particular type of detrimental influence by averaging out the errors, e.g. using sliding scale in the time domain, e.g. using intended jitter as a dither signal by continuously permuting the elements used, i.e. dynamic element matching using data dependent selection of the elements, e.g. data weighted averaging
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/14—Conversion to or from non-weighted codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
- H03M1/34—Analogue value compared with reference values
- H03M1/38—Analogue value compared with reference values sequentially only, e.g. successive approximation type
- H03M1/46—Analogue value compared with reference values sequentially only, e.g. successive approximation type with digital/analogue converter for supplying reference values to converter
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/66—Digital/analogue converters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M3/00—Conversion of analogue values to or from differential modulation
- H03M3/30—Delta-sigma modulation
- H03M3/458—Analogue/digital converters using delta-sigma modulation as an intermediate step
- H03M3/466—Multiplexed conversion systems
- H03M3/468—Interleaved, i.e. using multiple converters or converter parts for one channel, e.g. using Hadamard codes, pi-delta-sigma converters
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Electronic Switches (AREA)
- Logic Circuits (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本公开的实施例涉及高速数据加权平均架构。温度计编码的输入信号的数据加权平均通过以下来完成:控制交叉开关矩阵的操作以使用响应于数据加权平均输出信号的前一周期的反馈而生成的控制信号来生成数据加权平均输出信号的当前周期。基于前一周期中数据加权平均输出信号的结束逻辑转变的检测,控制信号指定当前周期中针对数据加权平均输出信号的开始逻辑转变的比特位置。
Description
技术领域
本公开涉及信号处理领域,并且特别地,涉及一种数据加权平均架构。
背景技术
对于高速数据转换器通常采用数据加权平均(DWA)算法作为解决方案来实现动态元件匹配(DEM)。图1图示了没有采用DWA的数据转换器102和采用DWA的数据转换器104的操作的比较。数据字110被接收并且由转换器电路处理以致动数模转换器(DAC)的输出元件(OE)。在该示例中,DAC包括七个输出元件。
对于数据转换器102,数据字110由温度计解码器120解码以生成控制信号122,控制信号122的数据比特选择性地致动输出元件124。如果数据字具有为3的值(二进制格式<0,1,1>),则温度计解码器120解码该字以生成具有为<1,1,1,0,0,0,0>的值的七比特控制信号122,该七比特控制信号122使得从左侧起前三个输出元件124被致动。阴影框指示被激活的输出元件,同时非阴影框指示被去激活的输出元件。如果下一数据字具有为1(二进制格式<0,0,1>)的值,则温度计解码器120解码该字以生成具有为<1,0,0,0,0,0,0>的值的七比特控制信号122,该七比特控制信号122使得仅从左侧起第一输出元件124被致动。对于具有5和4的值的下一数据字的操作也被示出。
应注意的是,该数据转换器102不成比例地致动输出元件124。换而言之,DAC的左侧上的输出元件将比DAC右侧上的输出元件更频繁地被致动。这在当DAC的所有输出元件124完全相同时的理想场景中,将不是问题。然而,在实际设计中,这种不匹配存在并且在输出处表现为输出信号的本底噪声的增加。这会负面地影响DAC的性能并且导致信噪比的降低。DWA算法确保跨一元输出元件124的不匹配是高通过的并且被推出感兴趣的频带之外。这类似于一阶噪声整形。
对于数据转换器104,数据字110由实现数据加权平均(DWA)算法的动态元件匹配(DEM)电路130来处理以生成控制信号132,控制信号132的数据比特选择性地致动输出元件(OE)134。如果数据字具有为3(二进制格式<0,1,1>)的值,则温度计解码器120解码该字以生成具有为<1,1,1,0,0,0,0>的值的七比特控制信号122,其使得从左侧起前三个输出元件124被致动。阴影框指示被激活的输出元件,同时非阴影框指示被去激活的输出元件。在此刻,相比于数据转换器102,数据转换器104的操作不存在差别。如果下一数据字具有为1(二进制格式<0,0,1>)的值,则温度计解码器120解码该字以生成具有为<0,0,0,1,0,0,0>的值的七比特控制信号122,其使得下一顺序的一个(即,仅第四)输出元件124被致动。如果下一数据字具有为5(二进制格式<1,0,1>)的值,则温度计解码器120解码该字以生成具有为<1,1,0,0,1,1,1>的值的七比特控制信号122,其使得下一顺序的五个(即,后三个和前两个)输出元件124被致动(在这种情况下需要从右侧回绕(wraparound)到左侧)。具有为4的值的下一数据字的操作也被示出,其引起下一顺序的四个输出元件的致动。应注意的是,该数据转换器104随时间将相对均等地致动所有的输出元件124。
尽管相对于数模转换器的输出元件存在不匹配,但数据加权平均算法使得致动在所有输出元件上相对均等地分布。归因于输出元件不匹配的噪声由DWA整形,DWA有利地平均掉感兴趣的频带中的不匹配误差。
用于实现高速数据转换器的、采用数据加权平均算法来实现动态元件匹配的电路是本领域技术人员公知的。这种电路的一个示例是在图2中示出,图2图示了使用时间交错参考DWA架构的连续时间积分三角调制器(sigma-delta modulator)的框图。图2电路的配置和操作将不在本文中讨论,因为该信息可以通过参考Dayanik等人的“A5GS/s 156MHz BW70dB DR Continuous-Time Sigma-Delta Modulatorwith Time-Interleaved ReferenceData-Weighted Averaging,”2017Symposium on VLI Circuits,2017(通过引用并入本文)获得。该解决方案和本领域技术人员已知的其他类似解决方案的关切点包括:由于高转换时间,操作是冗长的,这限制了吞吐量和性能;电路面积和功率效率低下;以及交错的使用引入高度的复杂性。用于执行动态索引功能对解码器和加法器逻辑的需要进一步说明了这种复杂性。电路的性能也受到使用多条平行路径进行交错的不利影响。
因此,本领域需要一种高速数据转换器,该高速数据转换器在低计算延迟情况下操作并且面积和功率效率高。所需的电路应优选地避免使用复杂的解码器和加法器电路,并且避免使用交错结构。
发明内容
提供本发明内容以引入在下文具体实施方式中被进一步描述的概念的选择。本发明内容并不旨在标识所要求保护的技术方案的关键或基本特征,也不旨在用作限制所要求保护的技术方案的范围的辅助。
在一个实施例中,一种用于从温度计码(thermometric code)信号来生成数据加权平均信号的电路,包括:交叉开关矩阵,该交叉开关矩阵具有被配置成接收温度计码信号的输入、以及被配置成输出数据加权平均信号的输出,其中通过交叉开关矩阵的在输入与输出之间的变换(switching)由交叉选择信号控制;以及控制电路,被配置成接收数据加权平均信号的前一时间周期,以及从数据加权平均信号的前一时间周期中确定数据加权平均信号的前一时间周期内的其中结束逻辑转变出现的比特位置,以及生成交叉选择信号以控制通过交叉开关矩阵的在输入与输出之间的变换来选择数据加权平均信号的当前时间周期内的其中开始逻辑转变出现的比特位置。
在一个实施例中,一种电路包括:输入数据总线,该输入数据总线承载以温度计编码格式的多比特输入数据字;交叉开关矩阵,该交叉开关矩阵具有被耦合到输入数据总线以接收多比特输入数据字的开关输入以及被配置成输出多比特输出数据字的开关输出,多比特输出数据字是温度计编码的多比特输入数据字的数据加权平均(DWA)转换;以及DWA控制电路,该DWA控制电路被配置成接收多比特输出数据字,以及从多比特输出数据字生成多比特选择信号,该多比特选择信号由选择数据总线施加以控制交叉开关矩阵的输入;其中交叉开关矩阵被配置成响应于多比特选择信号来操作以选择性地将开关输入映射到开关输出,以实现温度计编码的多比特输入数据字的DWA转换以输出多比特输出数据字。
附图说明
图1将不采用数据加权平均(DWA)算法的数据转换器和采用DWA的数据转换器的操作进行比较。
图2示出了如现有技术中已知的使用时间交错参考DWA架构的连续时间积分三角调制器的框图。
图3是根据一个实施例的DWA电路的框图。
图4是使用如图3的DWA电路中所使用的交叉开关的复用器的逻辑表示。
图5是如在图3的DWA电路中所使用的DWA控制电路的电路图。
图6是针对图3的DWA电路操作的时序图。
具体实施方式
在以下具体实施方式和附图中,具体细节被阐述以提供对本公开的透彻理解。然而,本领域技术人员将明白,在一些情况中,可以在没有这些具体细节的情况下实践本公开。在其他的一些情况中,公知的元件已以示意图或框图形式图示,以免以不必要的细节混淆本公开。附加地,对于大部分,具体细节等已被省略,因为这些细节对于获得对本公开的完整理解并不被认为是必要的,并且被认为是在相关的领域普通技术人员的理解范围内。
现在参考图3,图3示出了数据加权平均(DWA)电路200的框图。该电路包括数据总线202,该数据总线202承载以温度计编码格式的多比特输入数据字DT<N-1:0>。在一个示例中,N-16;然而,将理解的是,本文所公开的解决方案是对于N的任何值是可扩展的。数据总线202被连接到交叉开关矩阵204的数据输入。交叉开关矩阵204的输出被连接到数据总线206,该数据总线206承载多比特输出数据字DW<N-1:0>,多比特输出数据字DW<N-1:0>是温度计编码的多比特输入数据字DT<N-1:0>的数据加权平均转换。DWA控制电路210接收多比特输入数据字DT<N-1:0>和多比特输出数据字DW<N-1:0>两者、以及数据时钟信号(CLK),并且操作以生成多比特选择信号Sel<N-1:0>,多比特选择信号Sel<N-1:0>由数据总线212施加到交叉开关矩阵204的控制输入。交叉开关204响应于多比特选择信号Sel<N-1:0>而操作以选择性地将开关输入映射到开关输出,以实现数据加权平均转换和实现动态元件匹配(DEM)。
交叉开关矩阵204的物理配置对本领域技术人员是公知的。交叉开关矩阵204实际上包括多个开关元件,多个开关元件可以被控制以选择性地将开关输入中的给定的一个开关输入耦合到开关输出中的给定的一个开关输出。开关元件电路的复杂性准许开关输入中的任何个体开关输入响应于多比特选择信号Sel<N-1:0>的数据值而被连接到开关输出中的任何给定的一个开关输出。
交叉开关矩阵204的操作可以由N个复用器204(0)至240(N-1),逻辑地表示,其中每个复用器240是N:1复用器。参见图4。在数据总线202上的多比特输入数据字DT<N-1:0>的比特被标识为DT(N-1),…,DT(0)。多比特输出数据字DW<N-1:0>的比特被标识为DW(N-1),…,DW(0)。每个复用器240的选择控制输入接收多比特选择信号Sel<N-1:0>。应注意的是,在每个复用器的输入处多比特输入数据字DT<N-1:0>的比特的回绕序列顺序是不同的。作为一个示例,对于复用器240(N-1),在输入处多比特输入数据字DT<N-1:0>的比特的顺序是DT(N-1),DT(N-2),…,DT(0)。对于复用器240(N-2),在输入处多比特输入数据字DT<N-1:0>的比特的顺序是DT(N-2),DT(N-3),…,DT(0),DT(N-1)。对于复用器240(1),在输出处多比特输入数据字DT<N-1:0>的比特的顺序是DT(1),DT(0),DT(N-1),…,DT(3),DT(2)。对于复用器240(0),在输入处多比特输入数据字DT<N-1:0>的比特的顺序是DT(0),DT(N-1),DT(N-2),…,DT(2),DT(1)。本领域技术人员将认识到,多比特输入数据字DT<N-1:0>的比特的序列的连接实际上是跨N个复用器240(0)至240(N-1)而桶形移位(barrel-shifted)的。其效果在于,交叉开关矩阵操作,以利用由多比特选择信号Sel<N-1:0>的值选择的可选择桶形移位定位来选择性地将多比特输入数据字DT<N-1:0>的比特连接到多比特输出数据字DW<N-1:0>的比特。
DWA控制电路210以如下的方式生成多比特选择信号Sel<N-1:0>,使得一次仅断言(例如,在逻辑1)选择信号中的N比特中的一个,同时所有其他比特是去断言的(例如,在逻辑0)。通过选择性地将对应于被断言比特的复用器输入(参考标记0至N-1)连接到复用器输出,N个复用器240(0)至240(N-1)对多比特选择信号Sel<N-1:0>的被断言比特进行响应。多比特选择信号Sel<N-1:0>的单个被断言比特指定多比特输入数据字DT<N-1:0>的比特的序列与多比特输出数据字DW<N-1:0>的比特的序列之间桶形移位定位关系。这通过参考一些示例可以更好地理解。
首先考虑具有为<0,0,…,0,1>(其中,仅Sel(0)=1)的值的多比特选择信号Sel<N-1:0>。响应于多比特选择信号Sel<N-1:0>的该值,复用器240(0)将会将DT(0)连接到输出DW(0),复用器240(1)将会将DT(1)连接到输出DW(1),复用器240(N-2)将会将DT(N-2)连接到输出DW(N-2),以及复用器240(N-1)将会将DT(N-1)连接到输出DW(N-1)。
现在考虑具有为<0,0,…,1,0>(其中,仅Sel(1)=1)的值的多比特选择信号Sel<N-1:0>。响应于多比特选择信号Sel<N-1:0>的该值,复用器240(0)将会将DT(N-1)连接到输出DW(0),复用器240(1)将会将DT(0)连接到输出DW(1),复用器240(N-2)将会将DT(N-3)连接到输出DW(N-2),以及复用器240(N-1)将会将DT(N-2)连接到输出DW(N-1)。
对于具有为<0,1,…,0,0>(其中,仅Sel(N-2)=1)的值的多比特选择信号Sel<N-1:0>。响应于多比特选择信号Sel<N-1:0>的该值,复用器240(0)将会将DT(2)连接到输出DW(0),复用器240(1)将会将DT(3)连接到输出DW(1),复用器240(N-2)将会将DT(0)连接到输出DW(N-2),以及复用器240(N-1)将会将DT(1)连接到输出DW(N-1)。
最后,如果多比特选择信号Sel<N-1:0>具有为<1,0,…,0,0>的值,其中仅Sel(N-1)=1。响应于多比特选择信号Sel<N-1:0>的该值,复用器240(0)将会将DT(1)连接到输出DW(0),复用器240(1)将会将DT(2)连接到输出DW(1),复用器240(N-2)将会将DT(N-1)连接到输出DW(N-2),以及复用器240(N-1)将会将DT(0)连接到输出DW(N-1)。
用于将多比特输入数据字DT<N-1:0>的比特连接到多比特输出数据字DW<N-1:0>的比特的交叉开关矩阵204的操作可以通过以下操作以数学的方式表示:
DW(n,k)=DT(mod(N+n-k,N))
其中,n、k∈(0,N-1),n是输出,以及k是使得DW(n,k)是将输入DT((N+n-k)对N取模)连接到输出DW(n)的开关地址的选择。
考虑上文给出的第一示例,其中多比特选择信号Sel<N-1:0>具有为<0,0,…,0,1>的值,其中仅Sel(0)=1并且因此k=0。对于n=0并且N=16,输出比特DW(0)将被连接到输入比特DT(0),因为(16+0-0/16=1余0,并且因此模数为0)。对于n=1并且N=16,输出比特DW(1)将被连接到输入比特DT(1),因为(16+1-0/16=1)余1,并且因此模数为1)。前述对应于上文所提及的结果,其中复用器240(0)将会将DT(0)连接到输出DW(0),复用器240(1)将会将DT(1)连接到输出DW(1),复用器240(N-2)将会将DT(N-2)连接到输出DW(N-2)、以及复用器240(N-1)将会将DT(N-1)连接到输出DW(N-1)。在该配置中,多比特输入数据字DT<N-1:0>的连续比特DT(0)至DT(N-1)针对k=0由交叉开关矩阵204分别映射到多比特输出数据字DW<N-1:0>的比特DW(0)、DW(1)、…、DW(N-1)。
现在考虑具有为<0,0,…,1,0>的值的多比特选择信号Sel<N-1:0>,其中仅Sel(1)=1,并且因此k=1。对于n=0并且N=16,输出比特DW(0)将被连接到输入比特DT(15),因为(16+0-1/16=0余15,并且因此模数为15)。对于n=1并且N=16,输出比特DW(1)将被连接到输入比特DT(1),因为(16+1-1/16=1余0,并且因此模数为0)。前述对应于上文所提及的结果,其中复用器240(0)将会将DT(N-1)连接到输出DW(0),复用器240(1)将会将DT(0)连接到输出DW(1),复用器240(N-2)将会将DT(N-3)连接到输出DW(N-2),以及复用器240(N-1)将会将DT(N-2)连接到输出DW(N-1)。在该配置中,多比特输入数据字DT<N-1:0>的连续比特DT(0)至DT(N-1)针对k=1由交叉开关矩阵240分别映射到多比特输出数据字DW<N-1:0>的比特DW(N-1)、DW(0)、…、DW(N-2)。
对于具有为<0,1,…,0,0>的值的多比特选择信号Sel<N-1:0>,其中仅Sel(N-2)=1并且因此k=14。对于n=0并且N=16,输出比特DW(0)将被连接到输入比特DT(2),因为(16+0-14/16=0余2,并且因此模数为2)。对于n=1并且N=16,输出比特DW(1)将被连接到输入比特DT(3),因为(16+1-14/16=1余3,并且因此模数为3)。前述对应于上文所提及的结果,其中复用器240(0)将会将DT(2)连接到输出DW(0),复用器240(1)将会将DT(3)连接到输出DW(1),复用器240(N-2)将会将DT(0)连接到输出DW(N-2),以及复用器240(N-1)将会将DT(1)连接到输出DW(N-1)。在该配置中,多比特输入数据字DT<N-1:0>的连续比特DT(0)至DT(N-1)针对k=14由交叉开关矩阵240分别映射到多比特输出数据字DW<N-1:0>的比特DW(2)、DW(3)、…、DW(1)。
最后,如果多比特选择信号Sel<N-1:0>具有为<1,0,…,0,0>的值,其中仅Sel(N-1)=1,并且因此k=15。对于n=0并且N=16,输出比特DW(0)将被连接到输入比特DT(1),因为(16+0-15/16=0余1,并且因此模数为1)。对于n=1并且N=16,输出比特DW(1)将被连接到输入比特DT(2),因为(16+1-15/16=1余2,并且因此模数为2)。前述对应于上文所提及的结果,其中复用器240(0)将会将DT(1)连接到输出DW(0),复用器240(1)将会将DT(2)连接到输出DW(1),复用器240(N-2)将会将DT(N-1)连接到输出DW(N-2),以及复用器240(N-1)将会将DT(0)连接到输出DW(N-1)。在该配置中,多比特输入数据字DT<N-1:0>的连续比特DT(0)至DT(N-1)针对k=15由交叉开关矩阵240分别映射到多比特输出数据字DW<N-1:0>的比特DW(1)、DW(2)、…、DW(0)。
现在参考图5,图5示出了针对DWA控制电路210的电路图。DWA控制电路210包括时钟生成电路300、组合逻辑电路302以及N个触发器304(0)至304(N-1)。为与上文所提供的示例一致,在图5中N=16;然而,应理解的是本文所公开解决方案对于N的任何值是可扩展的。每个触发器304的输出对应于多比特选择信号Sel<N-1:0>中的一个比特。响应于加载时钟信号LD_CLK的边沿,所有触发器304同时操作以加载从组合逻辑电路302输出的数据比特,以及使所加载的该数据比特在触发器输出处可用,以包括在多比特选择信号Sel<N-1:0>中。该加载时钟信号LD_CLK由时钟生成电路300生成。
时钟生成电路300包括时钟门电路(C-GATE),该时钟门电路(C-GATE)具有被配置成接收时钟信号CLK的时钟输入、以及被配置成接收使能信号310的使能输入EN。当使能信号310被断言时,时钟门电路操作以将数据时钟信号CLK通过作为加载时钟信号LD_CLK,并且触发器304(0)至304(N-1)将在适当的时钟边沿被触发以加载从组合逻辑电路302输出的数据比特。反过来,当使能信号310被去断言时,时钟门电路操作以保持加载时钟信号LD_CLK的当前逻辑状态,并且用于加载从组合逻辑电路302输出的数据比特的触发器操作被暂停或被抑制。
用于生成使能信号310的电路包括逻辑与非(NAND)门312,该逻辑与非门312具有被连接以接收数据总线202上的多比特输入数据字DT<N-1:0>的比特的输入。当多比特输入数据字DT<N-1:0>的所有比特为逻辑1时,与非门312的输出314为逻辑0(并且否则输出314为逻辑1)。用于生成使能信号310的电路还包括逻辑或(OR)门322,该逻辑或门322具有被连接以接收在数据总线202上的多比特输入数据字DT<N-1:0>的比特的输入。当多比特输入数据字DT<N-1:0>的所有比特为逻辑0时,或门322的输出324为逻辑0(并且否则输出324为逻辑1)。逻辑与(AND)门332逻辑地将与非门312的输出与或门322的输出组合以生成使能信号310。因此,仅当与非门312的输出为逻辑0(指示检测到多比特输入数据字DT<N-1:0>的所有比特为逻辑1)或者或门322的输出为逻辑0(指示检测到比特输入数据字DT<N-1:0>的所有比特为逻辑0)时,使能信号310将相应地具有逻辑1状态。当使能信号310具有逻辑1状态时,时钟门电路C-GATE被禁用。在多比特输入数据字DT<N-1:0>的比特的所有其他条件下,使能信号310具有逻辑0状态,时钟门电路C-GATE被启用。
组合逻辑电路302由N个逻辑与门350(0)至350(N-1)形成,该N个逻辑与门350(0)至350(N-1)操作以生成被施加到N个触发器304(0)至304(N-1)的对应输入的多比特输入选择信号Sel_in<N-1:0>。每个与门350的第一输入被连接到在数据总线206上所接收的多比特输出数据字DW<N-1:0>的对应比特的逻辑反转(inversion)。每个与门350的第二输入被连接到在数据总线上所接收的多比特输出数据字DW<N-1:0>的相邻比特。例如,与门350(0)具有被连接以接收对应比特DW(0)的逻辑反转的第一输入、以及被连接以接收相邻比特DW(N-1)的第二输入,在其中N=16的示例中,这将是DW(15)。提供多比特输入选择信号Sel_in<N-1:0>的一个比特的与门350(0)的输出被连接到针对触发器FF0的对应触发器304(4)的输入。类似地,与门350(N-1)(在其中N=16的示例中,这将是与门350(15))具有被连接以接收对应比特DW(N-1)(在其中N=16的示例中,这将是比特DW(15))的逻辑反转的第一输入、以及被连接以接收相邻比特DW(N-2)(在其中N=16的示例中,这将是比特DW(14))的第二输入。提供多比特输入选择信号Sel_in<N-1:0>的另一比特的与门350(N-1)的输出被连接到针对触发器FF15的对应触发器304(N-1)的输入。其他的与门350被类似地连接到多比特输出数据字DW<N-1:0>的逻辑反转比特和相邻比特,并且生成多比特输入选择信号Sel_in<N-1:0>的对应比特。
组合逻辑电路302操作以找出所接收的多比特输出数据字DW<N-1:0>中具有逻辑1值的最高显著比特位置。换而言之,这是其中多比特输出数据字DW<N-1:0>的结束逻辑转变(从逻辑1到逻辑0)出现的比特位置。其第二输入接收逻辑1值并且其第一输入从所接收的多比特输出数据字DW<N-1:0>中的下一相邻更高比特接收逻辑0值的与门350将输出逻辑1值。所有其他与门350将输出逻辑低值,因为它们的第一或第二输入中的至少一个将接收逻辑0输入。通过考虑其中多比特输出数据字DW<N-1:0>具有为<0,0,…,0,1,1,1,0>的值的以下示例,该操作将被更好地理解。在该示例中,比特DW(3)是具有逻辑1值的最高显著比特(下一比特DW(4)具有逻辑0值),并且这是其中结束逻辑转变出现的比特位置。与门350(4)将具有接收比特DW(4)的逻辑反转的第一输入(即,在第一输入处接收逻辑1值)、以及接收具有逻辑1值的相邻比特DW(3)的第二输入。因此,与门350(4)的输出将处于逻辑1值,并且其他与门350将输出逻辑0值。
如上文所提及的,与门350(0)具有被连接以接收对应比特DW(0)的逻辑反转的第一输入、以及被连接以接收相邻比特DW(N-1)的第二输入。这是重要的,因为这种连接实现了最高显著比特位置找出操作的回绕。为了理解该特征,考虑以下示例,其中多比特输出数据字DW<N-1:0>具有为<1,1,1,…,0,0,0>的值。在该示例中,比特DW(N-1)是具有逻辑1值的最高显著比特,并且这是其中结束逻辑转变出现的比特位置。由于回绕,下一相邻的更高比特是具有逻辑0值的比特DW(0)。与门350(0)将具有接收比特DW(0)的逻辑反转的第一输入(即,在第一输入处接收逻辑1值),并且具有接收具有逻辑1值的相邻比特DW(N-1)的第二输入。因此,与门350(0)的输出将处于逻辑1值,并且所有其他与门350将输出逻辑0值。
当加载时钟信号LD_CLK的边沿被接收时,N个触发器304(0)至304(N-1)将加载从N个逻辑与门350(0)至350(N-1)的对应的逻辑与门输出的数据。来自逻辑与门350(0)至350(N-1)的输出形成多比特选择信号Sel<N-1:0>的比特。因为,一次仅一个与门输出将具有逻辑1值。这意味着一次仅多比特选择信号Sel<N-1:0>中的一个比特将具有逻辑1值。多比特选择信号Sel<N-1:0>中的具有逻辑1值的该一个比特指定用于控制交叉开关矩阵204的操作的比特位置(参考标记k,如上文所描述),从而以特定顺序将多比特输入数据字DT<N-1:0>的比特连接到多比特输出数据字DW<N-1:0>的比特。该操作的示例在上文中详细讨论。实际上,由多比特选择信号Sel<N-1:0>提供的比特位置标识下一多比特输出数据字DW<N-1:0>的其中开始逻辑转变应出现以实现数据加权平均的比特位置。
如上文所提及的,当使能信号310是逻辑0时(即,信号被去断言),时钟门电路操作以保持加载时钟信号LD_CLK的当前逻辑状态,并且用于加载从组合逻辑电路302输出的数据比特的触发器操作被暂停或被抑制。在当多比特输入数据字DT<N-1:0>的所有比特是逻辑1或逻辑0时出现的该模式中,LD_CLK抑制寄存器304加载SEL比特。这是强制的,因为操作以生成SEL信号的组合逻辑电路302的与逻辑将生成具有针对多比特输入数据字DT<N-1:0>的全逻辑1或全逻辑0的前述输入条件的逻辑值的所有比特。重要的是,在本文中相对于电路操作将被讨论,该动作在前一周期中发生,从而卸去关键时序路径的负担。
DWA电路200的操作由数据时钟信号CLK驱动。现在参考图6,图6示出了图示该操作的时序图。操作相对于数据时钟信号CLK的时间周期t出现。DWA电路200接收当前时间周期ti中的多比特输入数据字DT<N-1:0>以及使用在该当前时间周期ti中可用的多比特选择信号Sel<N-1:0>以输出针对该时间周期ti的多比特输出数据字DW<N-1:0>。当前时间周期ti中的多比特选择信号Sel<N-1:0>是从在前一时间周期ti-1中生成的多比特输出数据字DW<N-1:0>而生成的。该操作可以通过考虑在多个连续时间周期之上的电路200操作而更好地理解。
在电路200操作开始时,针对当前时间周期t0的多比特选择信号Sel<N-1:0>(即,Selt0)可以被初始化为期望值,诸如值<0,0,…,0,0,1>。在该示例情况下,k=0因为比特Sel(0)是逻辑1。需要这样的初始化,因为不存在来自前一时间周期ti-1的多比特输出数据字DW<N-1:0>以用于生成针对当前时间周期t0的多比特选择信号Sel<N-1:0>。交叉开关矩阵204通过将DT(0)连接到输出DW(0)、将DT(1)连接到输出DW(1)、…、将DT(N-2)连接到输出DW(N-2)、以及将DT(N-1)连接到输出DW(N-1),来对具有为<0,0,…,0,0,1>的初始化值的多比特选择信号Sel<N-1:0>进行响应。对于在时间周期t0中接收的具有为<0,0,0,…,0,1,1,1>的值的多比特输入数据字DT<N-1:0>(即,数据字的温度计码具有为3的值,二进制<0,1,1>),电路200将输出针对时间周期t0的具有为<0,0,0,…,0,1,1,1>的值的多比特输出数据字DW<N-1:0>(即,DTt0)。多比特输入数据字DT<N-1:0>的三个逻辑1值比特DWA转换成多比特输出数据字DW<N-1:0>,其中开始逻辑转变的比特位置处于比特DW(0)并且结束逻辑转变的比特位置处于比特DW(2)。
现在,假设在时间周期t1处所接收的多比特输入数据字DT<N-1:0>(即,DTt1)具有为<0,0,…,1,1,1,1,1,1>的值(即,数据字的温度计码具有为6(二进制<1,1,0>)的值)。DWA控制电路210处理具有来自前一时间周期t0的值为<0,0,0,…,0,1,1,1>的多比特输出数据字DW<N-1:0>(即,DWt0),以标识具有逻辑1值的最高显著比特(即,结束逻辑转变的比特位置)。在该情况下,这将是由与门350(3)找出的比特DW(2),与门350(3)的第一输入接收逻辑地反转的比特DW(3)并且与门350(3)的第二输入接收比特DW(2)。多比特选择输入信号Sel_in<N-1:0>因此针对时间周期t1被生成(即,Sel_int1)。响应于加载时钟信号LD_CLK(从数据时钟信号CLK由时钟门电路C-GATE生成),触发器304被加载有与门350的输出。仅被耦合到与门350(3)的输出的触发器304(3)将被设定为逻辑1值。对于时间周期t1(即,Selt1),所生成的多比特选择信号Sel<N-1:0>将相应具有为<0,0,…,1,0,0,0>的值。因此,k=3因为比特Sel(3)为逻辑1。交叉开关矩阵204通过将DT(13)连接到输出DW(0)、将DT(14)连接到输出DW(1)、…、将DT(11)连接到输出DW(N-2)、以及将DT(12)连接到输出DW(N-1),来对具有为<0,0,…,1,0,0,0>的值的多比特选择信号Sel<N-1:0>进行响应。电路200将输出针对时间周期t1的具有为<0,0,0,…,0,1,1,1,1,1,1,0,0,0>的值的多比特输出数据字DW<N-1:0>(即,DWt1)。多比特输入数据字DT<N-1:0>的六个逻辑1值比特因此DWA转换成多比特输出数据字DW<N-1:0>,其中开始逻辑转变的比特位置处于比特DW(3)并且结束逻辑转变的比特位置处于比特DW(8)。
例如,在时间周期t2处所接收的多比特输入数据字DT<N-1:0>具有为<1,1,1,…,1,1,1,1,1,1>的值(即,所有比特处于逻辑1值)。DWA控制电路210处理具有来自前一时间周期t1的值为<0,0,0,…,0,1,1,1,1,1,1,0,0,0>的多比特输出数据字DW<N-1:0>,以标识具有逻辑1值的最高显著比特(即,结束逻辑转变的比特位置)。在该情况下,其将是由与门350(9)找出的比特DW(8),与门350(9)的第一输入接收逻辑地反转的比特DW(9),并且与门350(9)的第二输入接收比特DW(8)。多比特选择输入信号Sel_in<N-1:0>因此针对时间周期t2而生成(即,Sel_int2)。响应于加载时钟信号LD_CLK(从数据时钟信号CLK由时钟门电路C-GATE生成),触发器304被加载有与门350的输出。仅被耦合到与门350(9)的输出的触发器304(9)将被设定为逻辑1值。对于时间周期t2,所生成的多比特选择信号Sel<N-1:0>将因此具有为<0,0,…,0,1,0,0,0,0,0,0,0,0,0>值(Selt2)。因此,k=9因为比特Sel(9)为逻辑1。交叉开关矩阵204通过将DT(7)连接到输出DW(0)、将DT(8)连接到输出DW(1)、…、将DT(5)连接到输出DW(N-2)、以及将DT(6)连接到输出DW(N-1)来对具有为<0,0,…,0,1,0,0,0,0,0,0,0,0,0>的值的多比特选择信号Sel<N-1:0>进行响应。电路200在时间周期t2中将输出具有为<1,1,1,…,1,1,1,1,1,1>的值(即,所有比特处于逻辑1值)的多比特输出数据字DW<N-1:0>(即,DWt2)。多比特输入数据字DT<N-1:0>的十六个逻辑1值比特因此DWA转换成多比特输出数据字DW<N-1:0>,其中开始逻辑转变的比特位置处于比特DW(9)并且结束逻辑转变的比特位置处于比特DW(8)。
在这个时间点处,时钟生成电路300的与非门312检测到针对多比特输入数据字DT<N-1:0>的<1,1,1,…,1,1,1,1,1,1>(即,所有比特处于逻辑1值)输入条件,并且生成具有使得时钟门电路C-GATE被禁用的逻辑0值的信号314。数据时钟信号CLK没有被通过,并且加载时钟信号LD_CLK将不呈现用于触发在下一时间周期t3中的触发器304的操作的边沿。
现在考虑在时间周期t3处所接收的多比特输入数据字DT<N-1:0>具有为<0,0,0,…,0,0,0,1>的值(即,数据字的温度计码具有为1(二进制<0,0,1>)的值)。DWA控制电路210处理来自前一时间周期t2的具有为<1,1,1,…,1,1,1,1,1,1>的值(即,所有比特处于逻辑1值)的多比特输出数据字DW<N-1:0>,以标识具有逻辑1值的最高显著比特(即,结束逻辑转变的位置)。在这种情况下,没有这样比特存在,因为所有比特具有逻辑1值。所有触发器304将输出逻辑0值,这将引起开关矩阵的不当操作。然而,这对控制电路212在当前时间周期t3中生成多比特选择信号Sel<N-1:0>的操作是无关紧要的。对此的原因在于,对于时间周期t3,时钟门电路C-GATE当前被禁用,并且因此没有执行操作以用新值来加载触发器304。相反,触发器304保持指示来自前一时间周期t2的结束逻辑转变的位置的、具有为<0,0,…,0,1,0,0,0,0,0,0,0,0,0>的值的前一多比特选择信号Sel<N-1:0>。因此,k=9因为比特Sel(9)为逻辑1。交叉开关矩阵204通过将DT(7)连接到输出DW(0)、将DT(8)连接到输出DW(1)、…、将DT(5)连接到输出DW(N-2)、以及将DT(6)连接到输出DW(N-1)来对具有为<0,0,…,0,1,0,0,0,0,0,0,0,0,0>的值的多比特选择信号Sel<N-1:0>进行响应。对于时间周期t3,电路200将输出具有为<0,0,…,0,1,0,0,0,0,0,0,0,0,0>的值的多比特输出数据字DW<N-1:0>(即,DWt3)。多比特输入数据字DT<N-1:0>的一个逻辑1值比特因此DWA转换成多比特输出数据字DW<N-1:0>,其中开始逻辑转变的比特位置处于比特DW(9)并且结束逻辑转变的比特位置也处于比特DW(9)。
如本文所示,与逻辑350用作为一种类型的边沿检测器,其将检测在开始逻辑转变的比特位置处出现的、数据输入中从1到0(非0到1)的转变。因为具有全逻辑1值或全逻辑0值的输入不呈现这样的比特转变,因此在这样的条件下,来自与逻辑350的输出将全部为逻辑0。如果这不被检测和阻挡,则该输出将引起交叉中的所有开关的解选择(deselection)。为了处理这种情形,LD_CLK相对于全逻辑1或全逻辑0输入的检测而被禁用,并且选择信号Sel的先前状态被维持。
现在,考虑稍后时间点的操作,其中多比特输出数据字DW<N-1:0>具有针对前一时间周期ti-1的为<0,0,1,1,1,1,…,0,0,0>的值。假设在当前时间周期ti所接收的多比特输入数据字DT<N-1:0>具有为<0,0,…,0,1,1,1,1>的值(即,数据字的温度计码具有为4(二进制<1,0,0>)的值)。DWA控制电路210处理来自前一时间周期ti-1的具有为<0,0,1,1,1,1,…,0,0,0>的值的多比特输出数据字DW<N-1:0>,以标识具有逻辑1值的最高显著比特(即,结束逻辑转变的位置)。在这种情况下,其将是比特DW(N-3),或在N=16的情况下的比特DW(13),这由与门350(14)找出,与门350(14)的第一输入接收逻辑地反转的比特DW(14)并且与门350(14)的第二输入接收比特DW(13)。因此,多比特选择输入信号Sel_in<N-1:0>针对当前时间周期ti被生成(即,Sel_inti)。响应于加载时钟信号LD_CLK(从数据时钟信号CLK由时钟门电路C-GATE生成),触发器304被加载有与门350的输出。仅被耦合到与门350(14)的输出的触发器304(14)将被设置为逻辑1值。所生成的多比特选择信号Sel<N-1:0>将相应地具有为<0,1,0,…,0,0,0,0>的值。因此,k=14因为比特Sel(14)为逻辑1。交叉开关矩阵204通过将DT(2)连接到输出DW(0)、将DT(3)连接到输出DW(1)、…、将DT(1)连接到输出DW(N-2)、以及将DT(0)连接到输出DW(N-1),来对具有为<0,1,0,…,0,0,0,0>的值的多比特选择信号Sel<N-1:0>进行响应。对于当前时间周期ti,电路200将输出具有为<1,1,0,…,0,0,0,0,0,1,1>的值的多比特输出数据字DW<N-1:0>(即,DWti)。多比特输入数据字DT<N-1:0>的四个逻辑1值比特因此DWA转换成多比特输出数据字DW<N-1:0>,其中开始逻辑转变的比特位置处于比特DW(14)并且回绕以在比特DW(1)处的结束逻辑转变的比特位置处结束。
作为其中N=16的电路200操作的另一示例,对于在从t0到t6的时间周期内的多比特输入数据字DT<15:0>、多比特输出数据字DW<15:0>以及多比特选择信号Sel<15:0>,考虑以下的值:
-多比特输入数据字DT<15:0>
t0:0000000000000111
t1:0000000111111111
t2:0000000000000011
t3:0000000001111111
t4:1111111111111111
t5:0000000000001111
-多比特输出数据字DW<15:0>
tinit:0000000000000000
t0:0000000000000111
t1:0000111111111000
t2:0011000000000000
t3:1100000000011111
t4:1111111111111111选择将由此值保持
t5:0000000111100000
-多比特选择信号Sel<15:0>
t0:0000000000000001选择被初始化
t1:0000000000001000
t2:0001000000000000
t3:0100000000000000
t4:0000000000100000
t5:0000000000100000从t4被保持
t6:0000001000000000
将注意到在时间tinit,多比特输出数据字DW<15:0>没有值,并且对于时间周期t0,多比特选择信号Sel<15:0>利用针对k=0的DWA转换的起始值被初始化。在时间周期t0的多比特输入数据字DT<15:0>具有为<0000000000000111>的温度计码值,并且其中k=0,受控的交叉开关矩阵204将为<0000000000000111>的多比特输入数据字DT<15:0>值映射到在时间周期t1处具有为<0000000000000111>的值的多比特输出数据字DW<15:0>。
在时间t0处的该多比特输出数据字DW<15:0>产生在时间t1处具有为<0000000000001000>的值并且k=3的多比特选择信号Sel<15:0>。在时间t1处的多比特输入数据字DT<15:0>具有为<0000000111111111>的温度计码值并且其中k=3,受控的交叉开关矩阵204在时间t1处将为<0000000111111111>的多比特输入数据字DT<15:0>值映射到具有为<0000111111111000>的值的多比特输出数据字DW<15:0>。
在时间t1处的该多比特输出数据字DW<15:0>产生在时间t2处具有为<0001000000000000>的值并且k=12的多比特选择信号Sel<15:0>。在时间t2处的多比特输入数据字DT<15:0>具有为<0000000000000011>的温度计码值并且其中k=12,受控的交叉开关矩阵204将为<0000000000000011>的多比特输入数据字DT<15:0>值映射到在时间t2处具有为<0011000000000000>的值的多比特输出数据字DW<15:0>。
在时间t2处的该多比特输出数据字DW<15:0>产生在时间t3处具有为<0100000000000000>的值并且k=14的多比特选择信号Sel<15:0>。在时间t3处的多比特输入数据字DT<15:0>具有为<0000000001111111>的温度计码值并且其中k=14,受控的交叉开关矩阵204将为<0000000001111111>的多比特输入数据字DT<15:0>值映射到在时间t3处具有为<1100000000011111>的值的多比特输出数据字DW<15:0>。注意比特的回绕。
在时间t3处的该多比特输出数据字DW<15:0>产生在时间t4处具有为<0000000000100000>的值并且k=5的多比特选择信号Sel<15:0>。在时间t4处的多比特输入数据字DT<15:0>具有为<1111111111111111>的温度计码值并且其中k=5,受控的交叉开关矩阵204将为<1111111111111111>的多比特输入数据字DT<15:0>值映射到在时间t4处具有为<1111111111111111>的值的多比特输出数据字DW<15:0>。
在时间t4处具有为<1111111111111111>的值的该多比特输出数据字DW<15:0>被时钟生成电路300检测到,时钟生成电路300通过禁用时钟门电路C-GATE来进行响应。因此,数据时钟信号CLK被阻止穿过。在缺少加载时钟信号LD_CLK的情况下,在时间t4处具有为<1111111111111111>的值的多比特输出数据字DW<15:0>将不引起多比特选择信号Sel<15:0>的任何改变,多比特选择信号Sel<15:0>在时间t5处被保持在为<0000000000100000>的值并且k=5。在时间t5处的多比特输入数据字DT<15:0>具有为<0000000000001111>的温度计码值并且其中k=5,受控的交叉开关矩阵204将为<0000000000001111>的多比特输入数据字DT<15:0>值映射到在时间t5处具有为<0000000111100000>的值的多比特输出数据字DW<15:0>。
在时间t5处具有为<0000000111100000>的值的多比特输出数据字DW<15:0>产生在时间t6处具有为<0100000000000000>的值并且k=9的多比特选择信号Sel<15:0>。
再次参考图6以用于检验时序关系。
对“Inputdelay”的引用指代来自正在提供温度计数据DT的外部数据源的延迟。相对于数据时钟的时序,这是数据到达电路200的有限时间。数据时钟的边沿与温度计数据DT的呈现之间不存在瞬时时序关系。
对XbarSWdelay的引用指代到交叉开关的数据输入与来自交叉开关的数据输出之间的延迟。当交叉开关的选择稳定时,这个延迟是可见且间接的(consequential)。这种条件仅对于最先数据输入-输出(仅在t0处的后初始化)以及在当输入的所有比特为逻辑1或逻辑0的情况下出现。在其他时间,选择信号Sel将不稳定并且将是关键路径的一部分。
对tcritical的引用指代设计的功能关键路径(但不是在初始化期间,并且不在比特为全逻辑1或全逻辑0时),这包括对触发器304的触发器Q输出延迟的时钟加上对交叉开关的输出延迟的选择。
对ANDdelay的引用指代针对响应于选择信号Sel_in的数据加权平均输出的延迟。基本上,这是关联于与逻辑电路的操作的延迟。可以明白的是,该延迟不是关键路径的一部分,因为它的值在当前输出处是稳定的并且在随后的时钟上升边沿之前很稳定。Sel_in将在随后的周期中被加载到触发器304上。
图6中的波形连同所图示的时序关系一起因此示出了DWA输出在输入呈现的很短时间范围内可用。该小的转换时间主要归因于对触发器的Q延迟的时钟以及对交叉开关的输出延迟的选择。尽管输出计算直接地涉及通过逻辑350和电路300(时钟门控逻辑)的处理,但是借助于所提出的架构,这些任务被从时序关键路径中排除。
因此,图6示出了电路200有利地具有非常低的计算延迟。上至数GHz数据速率的电路200的操作是可能的。电路的架构进一步减轻了对解码器电路和加法器电路的需要,并且因此与诸如图2中所示的现有技术设计相比是一个明显的改进。电路200的架构更适合用在高速反馈和前馈拓扑结构中(例如,在诸如积分三角模数转换器中的反馈DAC和高速DAC的前馈路径的电路中)。由电路200的开关矩阵、逻辑与电路以及触发器所呈现的规则和模块化构造允许快速实现。附加地,该电路设计有利地以相对低的功率操作并且占据相对较小的面积,特别是与诸如图2所示的现有技术设计相比时。
虽然先前的描述已经参照特定的电路和实施例进行了描述,但是并不旨在限制于本文所公开的具体细节;相反,它延伸到诸如在所附权利要求的范围内的所有功能上等同的结构、方法和用途。
Claims (21)
1.一种用于从温度计码信号生成数据加权平均信号的电路,包括:
交叉开关矩阵,具有被配置成接收所述温度计码信号的输入和被配置成输出所述数据加权平均信号的输出,其中通过所述交叉开关矩阵的在所述输入与所述输出之间的变换由交叉选择信号控制;以及
控制电路,被配置成接收所述数据加权平均信号的前一时间周期,并且从所述数据加权平均信号的所述前一时间周期的比特来确定所述数据加权平均信号的所述前一时间周期内的其中结束逻辑转变出现的比特位置,并且生成所述交叉选择信号以控制通过所述交叉开关矩阵的在所述输入与所述输出之间的变换,以选择所述数据加权平均信号的当前时间周期内的其中开始逻辑转变出现的比特位置。
2.根据权利要求1所述的电路,其中所述数据加权平均信号包括多个比特,并且其中所述控制电路包括逻辑电路,所述逻辑电路被配置成逻辑地组合所述数据加权平均信号的所述多个比特,以检测所述数据加权平均信号的其中所述结束逻辑转变出现的所述比特位置。
3.根据权利要求2所述的电路,其中所述逻辑电路包括多个与门,每个与门具有被耦合为接收所述数据加权平均信号的一个比特的第一输入、以及被耦合为接收所述数据加权信号的另一比特的第二输入,其中所述一个比特和所述另一比特是所述数据加权平均信号内的相邻比特。
4.根据权利要求2所述的电路,其中所述逻辑电路生成选择输入信号,所述选择输入信号指定所述数据加权平均信号的其中所述开始逻辑转变出现的所述比特位置。
5.根据权利要求4所述的电路,其中所述控制电路还包括数据存储电路,所述数据存储电路响应于加载时钟信号而存储所述选择输入信号并且输出所述交叉选择信号。
6.根据权利要求5所述的电路,其中所述控制电路还包括时钟生成电路,所述时钟生成电路被配置成生成所述加载时钟信号。
7.根据权利要求6所述的电路,其中所述时钟生成电路包括检测电路,所述检测电路被配置成检测针对所述温度计码信号的比特的全逻辑1状态,并且响应于此而禁用所述加载时钟信号的生成。
8.根据权利要求6所述的电路,其中所述时钟生成电路包括检测电路,所述检测电路被配置成检测针对所述温度计码信号的比特的全逻辑0状态,并且响应于此而禁用所述加载时钟信号的生成。
9.根据权利要求1所述的电路,其中所述温度计码信号包括多个比特,并且其中所述数据加权平均信号包括多个比特,所述交叉开关矩阵操作从而以具有由所述交叉选择信号指定的桶形移位定位的序列来选择性地将所述温度计码信号的比特连接到所述数据加权平均信号的比特。
10.根据权利要求9所述的电路,其中所述桶形移位定位将针对所述数据加权平均信号的所述当前时间周期的所述开始逻辑转变的所述比特位置放置成相邻于针对所述数据加权平均信号的所述前一时间周期的所述结束逻辑转变的所述比特位置。
11.一种电路,包括:
输入数据总线,承载温度计编码格式的多比特输入数据字;
交叉开关矩阵,具有被耦合到所述输入数据总线以接收所述多比特输入数据字的开关输入、以及被配置成输出多比特输出数据字的开关输出,所述多比特输出数据字是温度计编码的所述多比特输入数据字的数据加权平均(DWA)转换;以及
DWA控制电路,被配置成接收所述多比特输出数据并且从所述多比特输出数据生成多比特选择信号,所述多比特选择信号由选择数据总线施加到所述交叉开关矩阵的控制输入;
其中所述交叉开关矩阵被配置成响应于所述多比特选择信号来操作以选择性地将所述开关输入映射到所述开关输出,以实现温度计编码的所述多比特输入数据字的DWA转换,以输出所述多比特输出数据字。
12.根据权利要求11所述的电路,其中所述DWA控制电路处理所述多比特输出数据字的前一周期以生成所述多比特选择信号,所述多比特选择信号用于控制所述交叉开关矩阵来对温度计编码的所述多比特输入数据字的当前周期进行DWA转换,以输出所述多比特输出数据字的当前周期。
13.根据权利要求12所述的电路,其中所述DWA控制电路还被配置成接收温度计编码的所述多比特数据字,并且其中所述多比特选择信号在周期之间的改变响应于温度计编码的所述多比特输入数据字的比特具有全逻辑1值或全逻辑0值而被抑制。
14.根据权利要求13所述的电路,其中所述DWA控制电路包括逻辑电路,所述逻辑电路包括:
或门,被配置成接收温度计编码的所述多比特输入数据字的比特,并且在所有比特具有逻辑0值的情况下生成第一控制信号;
与非门,被配置成接收温度计编码的所述多比特输入数据字的比特,并且在所有比特具有逻辑1值的情况下生成第二控制信号;
与门,被配置成接收所述第一控制信号和第二控制信号并且响应于此而生成第三控制信号,所述第三控制信号被配置成抑制所述多比特选择信号的改变。
15.根据权利要求12所述的电路,其中所述DWA控制电路被配置成以如下方式来生成所述多比特选择信号,使得在任一周期中所述多比特选择信号中仅一个比特被断言,同时所有其他比特在该周期被去断言。
16.根据权利要求15所述的电路,其中所述交叉开关矩阵操作从而以具有桶形移位定位的序列来选择性地将温度计编码的所述多比特输入数据字的比特连接到所述多比特输出数据字的比特,所述桶形移位定位由所述多比特选择信号中的被断言的所述一个比特指定。
17.根据权利要求16所述的电路,其中所述DWA控制电路包括组合逻辑电路,所述组合逻辑电路被配置成找出所述前一周期中针对所述多比特输出数据字的比特的结束逻辑转变的比特位置,并且其中所述多比特选择信号指定所述当前周期中针对所述多比特输出数据字的比特的开始逻辑转变的比特位置。
18.根据权利要求17所述的电路,其中所述桶形移位定位将针对所述多比特输出数据字的所述当前周期的所述开始逻辑转变的所述比特位置放置成相邻于针对所述多比特输出数据字的所述前一周期的所述结束逻辑转变的所述比特位置。
19.根据权利要求16所述的电路,还包括存储器电路,所述存储器电路被配置成存储所述组合逻辑电路的输出作为所述多比特选择信号,其中在温度计编码的所述多比特输入数据字的比特具有全逻辑1值或全逻辑0值的情况下,所述输出的存储被抑制。
20.根据权利要求19所述的电路,其中所述存储器包括在数目上与所述多比特数据输出字中的比特的数目相等的多个触发器,每个触发器具有被耦合到所述组合逻辑电路的对应输出的输入,并且其中所述触发器由选择时钟信号计时。
21.根据权利要求20所述的电路,其中在温度计编码的所述多比特输入数据字具有全逻辑1值或全逻辑0值的情况下,所述选择时钟信号被抑制。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/864,233 US10050640B1 (en) | 2018-01-08 | 2018-01-08 | High speed data weighted averaging architecture |
US15/864,233 | 2018-01-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110048715A true CN110048715A (zh) | 2019-07-23 |
CN110048715B CN110048715B (zh) | 2024-05-17 |
Family
ID=63078772
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811488874.0A Active CN110048715B (zh) | 2018-01-08 | 2018-12-06 | 高速数据加权平均架构 |
CN201822043066.5U Withdrawn - After Issue CN209562535U (zh) | 2018-01-08 | 2018-12-06 | 数据加权平均电路 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201822043066.5U Withdrawn - After Issue CN209562535U (zh) | 2018-01-08 | 2018-12-06 | 数据加权平均电路 |
Country Status (2)
Country | Link |
---|---|
US (2) | US10050640B1 (zh) |
CN (2) | CN110048715B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112653461A (zh) * | 2019-10-10 | 2021-04-13 | 意法半导体国际有限公司 | 一阶无存储器动态元件匹配技术 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10050640B1 (en) * | 2018-01-08 | 2018-08-14 | Stmicroelectronics International N.V. | High speed data weighted averaging architecture |
US11094354B2 (en) | 2019-10-10 | 2021-08-17 | Stmicroelectronics International N.V. | First order memory-less dynamic element matching technique |
US11451240B2 (en) * | 2020-07-21 | 2022-09-20 | Stmicroelectronics International N.V. | Double data rate (DDR) quad switched multibit digital to analog converter and continuous time sigma-delta modulator |
US11563443B2 (en) | 2020-08-31 | 2023-01-24 | Stmicroelectronics International N.V. | High speed data weighted averaging (DWA) to binary converter circuit |
US11979167B2 (en) | 2021-08-16 | 2024-05-07 | Stmicroelectronics International N.V. | Low power and high speed data weighted averaging (DWA) to binary converter circuit |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1535503A (zh) * | 2001-06-27 | 2004-10-06 | 诺基亚有限公司 | 用于抑制循环动态单元匹配算法所引入的谐波的方法和装置 |
US20090110102A1 (en) * | 2007-08-07 | 2009-04-30 | Faraday Technology Corp. | Signal routing method |
CN102638264A (zh) * | 2012-04-26 | 2012-08-15 | 中国科学院微电子研究所 | 一种实现数据加权平均算法的系统 |
US9214953B1 (en) * | 2014-09-05 | 2015-12-15 | Dialog Semiconductor (Uk) Limited | Generalized data weighted averaging method for equally weighted multi-bit D/A elements |
JP2016213598A (ja) * | 2015-05-01 | 2016-12-15 | 旭化成エレクトロニクス株式会社 | データ加重平均化回路、インクリメンタルデルタシグマad変換器、及びデータ加重平均化方法 |
CN209562535U (zh) * | 2018-01-08 | 2019-10-29 | 意法半导体国际有限公司 | 数据加权平均电路 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4852083A (en) * | 1987-06-22 | 1989-07-25 | Texas Instruments Incorporated | Digital crossbar switch |
WO1999014876A1 (en) * | 1997-09-19 | 1999-03-25 | Fujitsu Network Communications, Inc. | Constant phase crossbar switch |
KR100693816B1 (ko) * | 2005-08-20 | 2007-03-12 | 삼성전자주식회사 | 동적 소자 정합 방법 및 다중 비트 데이터 변환기 |
WO2007095996A1 (en) * | 2006-02-23 | 2007-08-30 | Mentor Graphics Corp. | Cross-bar switching in an emulation environment |
US7561088B1 (en) * | 2008-04-16 | 2009-07-14 | Adtran, Inc. | Multi-loop data weighted averaging in a delta-sigma DAC |
US8108585B2 (en) * | 2009-02-13 | 2012-01-31 | The Regents Of The Universtiy Of Michigan | Crossbar circuitry and method of operation of such crossbar circuitry |
US8736476B2 (en) * | 2012-10-31 | 2014-05-27 | Silicon Laboratories Inc. | Modified first-order noise-shaping dynamic-element-matching technique |
US9337874B1 (en) * | 2014-12-18 | 2016-05-10 | Intel IP Corporation | High-speed digital signal processing systems |
-
2018
- 2018-01-08 US US15/864,233 patent/US10050640B1/en active Active
- 2018-07-13 US US16/034,467 patent/US10211850B1/en active Active
- 2018-12-06 CN CN201811488874.0A patent/CN110048715B/zh active Active
- 2018-12-06 CN CN201822043066.5U patent/CN209562535U/zh not_active Withdrawn - After Issue
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1535503A (zh) * | 2001-06-27 | 2004-10-06 | 诺基亚有限公司 | 用于抑制循环动态单元匹配算法所引入的谐波的方法和装置 |
US20090110102A1 (en) * | 2007-08-07 | 2009-04-30 | Faraday Technology Corp. | Signal routing method |
CN102638264A (zh) * | 2012-04-26 | 2012-08-15 | 中国科学院微电子研究所 | 一种实现数据加权平均算法的系统 |
US9214953B1 (en) * | 2014-09-05 | 2015-12-15 | Dialog Semiconductor (Uk) Limited | Generalized data weighted averaging method for equally weighted multi-bit D/A elements |
JP2016213598A (ja) * | 2015-05-01 | 2016-12-15 | 旭化成エレクトロニクス株式会社 | データ加重平均化回路、インクリメンタルデルタシグマad変換器、及びデータ加重平均化方法 |
CN209562535U (zh) * | 2018-01-08 | 2019-10-29 | 意法半导体国际有限公司 | 数据加权平均电路 |
Non-Patent Citations (2)
Title |
---|
XIAOFEN MA等: "Dual cycle shift data-weighted averaging technique for multi-bit Sigma-Delta Modulators", 《2009 IEEE INTERNATIONAL CONFERENCE OF ELECTRON DEVICES AND SOLID-STATE CIRCUITS (EDSSC)》, pages 174 - 177 * |
张际宝: "4阶低失真高精度Sigma Delta调制器的研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》, pages 135 - 1080 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112653461A (zh) * | 2019-10-10 | 2021-04-13 | 意法半导体国际有限公司 | 一阶无存储器动态元件匹配技术 |
Also Published As
Publication number | Publication date |
---|---|
US10211850B1 (en) | 2019-02-19 |
CN110048715B (zh) | 2024-05-17 |
CN209562535U (zh) | 2019-10-29 |
US10050640B1 (en) | 2018-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN209562535U (zh) | 数据加权平均电路 | |
US20210343319A1 (en) | First order memory-less dynamic element matching technique | |
US5534796A (en) | Self-clocking pipeline register | |
JPS5936857A (ja) | プロセツサユニツト | |
Chakraborty et al. | Automated synthesis of compact crossbars for sneak-path based in-memory computing | |
US7092480B1 (en) | High-speed synchronous counters with reduced logic complexity | |
JPS63276795A (ja) | 可変長シフトレジスタ | |
CN106771958B (zh) | 具有低功率扫描系统的集成电路 | |
US11199884B2 (en) | Optimization device and method of controlling optimization device utilizing a spin bit | |
US10218380B1 (en) | High speed data weighted averaging architecture | |
EP1388048B1 (en) | Storage system for use in custom loop accellerators | |
JP2581282B2 (ja) | 非同期比較動作を行う2進大小比較器および比較器セルとその方法 | |
US20220069837A1 (en) | High speed data weighted averaging (dwa) to binary converter circuit | |
JP2766133B2 (ja) | パラレル・シリアル・データ変換回路 | |
US7203265B2 (en) | Synchronous counting circuit | |
US5140540A (en) | Delay equalization emulation for high speed phase modulated direct digital synthesis | |
US6154163A (en) | Successive approximation shift register with reduced latency | |
US3665409A (en) | Signal translator | |
EP4376004A1 (en) | In-memory computation system with compact storage of signed computational weight data | |
CN115083496B (zh) | 一种数据打散移位寄存结构 | |
US11342922B1 (en) | Direct bi-directional gray code counter | |
CN112653461A (zh) | 一阶无存储器动态元件匹配技术 | |
US20230061509A1 (en) | Low power and high speed data weighted averaging (dwa) to binary converter circuit | |
JP3135990B2 (ja) | パリティ付加回路 | |
JP2003185706A (ja) | テストモード設定回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |