高速移位电路的制作方法

文档序号:6784116阅读:186来源:国知局
专利名称:高速移位电路的制作方法
技术领域
本发明大体而言涉及数字电路,且更具体而言涉及用于数字应用的高速移位电路。
背景技术
数字系统现在广泛用于几乎所有电子应用中。这些数字系统可视为由一组合电路及/或顺序电路阵列构成的开关网络。数字系统中常见的一种顺序电路类型为移位寄存器。移位寄存器通常由一串行的存储元件布局构成并可在单个方向或两个方向上对二进制信息进行移位。
许多数字应用仅需要一能够每次一位地对输入进行移位的简单的移位寄存器。然而,在某些应用中,需要在单次操作中使输入移位任意的位数。对于这些应用而言,已使用组合电路来代替传统的移位寄存器。这些组合电路包括对数及桶形移位器,而这些移位器往往较慢、需要大量的硬件并消耗过多的功率。
因此,需要一种可在单次操作中使二进制信息移位任意位数的移位电路。与传统的桶形及对数移位器相比,所述移位电路应相对较快并具有更少的硬件及更低的功率消耗。

发明内容
在本发明的一个方面中,一种移位电路能够根据复数个移位控制位的二进制值使复数个输入数据位向左或向右移位若干个位位置。所述移位电路包括一第一移位元件,所述第一移位元件配置成对输入数据位实施两种移位操作之一,以产生复数个第一输出位,所述移位控制位中的一第一位用于选择由所述第一移位元件实施的移位操作。所述移位电路还包括一第二移位元件,所述第二移位元件配置成对所述第一输出位实施至少一种移位操作以产生复数个第二输出位,所述至少一种移位操作中的每一操作均可选自两种移位操作,所述移位控制位中一不同的位用于选择由所述第二移位元件实施的所述至少一种移位操作中的每一操作。所述移位电路进一步包括一第三移位元件,所述第三移位元件配置成对第二输出位实施两种移位操作之一,所述移位控制位中的一第二位用于选择由所述第三移位元件实施的移位操作。
在本发明的另一方面中,一种移位电路能够根据复数个移位控制位的二进制值而使复数个输入数据位向左或向右移位若干个位位置。所述移位电路包括第一移位装置,所述第一移位装置用于对所述输入数据位实施两种移位操作之一,以产生复数个第一输出位,所述移位控制位中的一第一位用于选择由所述第一移位装置实施的移位操作。所述移位电路还包括第二移位装置,所述第二移位装置用于对所述第一输出位实施至少一种移位操作以产生复数个第二输出位,所述至少一种移位操作中的每一操作均可选自两种移位操作,所述移位控制位中一不同的位用于选择由所述第二移位装置实施的所述至少一种移位操作中的每一操作。所述移位电路进一步包括第三移位装置,所述第三移位装置用于对所述第二输出位实施两种移位操作之一,所述移位控制位中的一第二位用于选择由所述第三移位装置实施的移位操作。
在本发明的另一方面中,一种方法用于根据复数个移位控制位的二进制值而使复数个输入数据位向左或向右移位若干个位位置。所述方法包括对所述输入数据位实施一移位操作以产生复数个第一输出位,并使用所述移位控制位中的一第一位来从两种移位操作中选择对所述输入数据位实施的移位操作。所述方法还包括对所述第一输出位实施至少一种移位操作,并使用所述移位控制位中一不同的位来从两种移位操作中选择对所述第一输出位实施的所述至少一种移位操作中的每一操作。所述方法进一步包括对所述第二输出位实施一移位操作,并使用所述移位控制位中的一第二位来从两种移位操作中选择对所述第二输出位实施的移位操作。
应了解,通过阅读下文中以例解说明方式显示及阐述本发明各种实施例的详细说明,所属领域的技术人员将易知本发明的其它实施例。应了解,本发明能够具有其它的、不同的实施例,且能够在各其它方面对其数个细节予以修改,此并不背离本发明的精神及范围。因此,应将所述图式及详细说明视为举例说明性而非限制性。


附图以举例方式而非限定方式图解说明本发明的各个方面,其中图1为一移位电路的一概念性方块图;图2为一以三个移位元件构建而成的移位电路的一概念性方块图;及图3为一以一多路复用器结构构建而成的移位电路的一概念性方块图。
具体实施例方式
下文结合附图所阐述的详细说明旨在说明本发明的各实施例,而非旨在代表本发明仅可实施为所述实施例。本揭示内容中所述的每一实施例均仅供作为本发明的一实例或例示,且未必应视为较佳于或优于其它实施例。该详细说明包括具体细节,以便提供对本发明的透彻了解。然而,所属领域的技术人员将易知,本发明可不使用这些具体细节来实施。在某些实例中,以方块图形式显示众所周知的结构及装置以避免淡化本发明的概念。所用缩写词及其它描述性术语可能只是出于方便及清晰之目的,而非意欲限定本发明范围。
一新颖的m位移位电路的概念性方块图显示于图1中,其中m为输入数据的位数。移位电路102可为一组合电路,其使输入数据位104左移或右移一由二进制值所规定位的位置数,所述二进制值由n条移位控制线106界定。所述n个移位控制位可呈二进制补码形式。根据所述n个移位控制位,可使输入数据位在一个方向上移位多达2(n-1)个位位置或在另一方向上移位多达(2(n-1)-1)个位位置。举例而言,在一由5个移位控制位控制的移位电路中,可将输入数据位向右移位多达16个位位置并向左移位多达15个位位置。移位控制位与由移位电路102所实施的移位操作之间的关系可由设计者界定。此关系的一实例显示于下表1中。
表1

在表1中,移位控制位的二进制值的绝对值等于输入数据位被移位的位位置数。如果移位控制位的二进制值为一负数,则实施一右移操作。如果移位控制位的二进制值为一正的非零数,则实施一左移操作。
移位控制位的二进制值可由下列方程式表示
Σi=0n-2ai·2i+(-1)an-1·2n-1---(1)]]>其中ai为第i个移位控制位;且n为移位控制位的位数。
方程式(1)可改写为(-1)an-1·2n-2+[Σi=1n-2(2ai-1)·2(i-1)]+ao-1---(2)]]>方程式(2)具有三个分量(1)ao-1(2)Σi=1n-2(2ai-1)·2i-1]]>(3)(-1)an-1·2n-2这些分量可构建于一如图2中所示的三级移位电路中。移位电路102可具有一执行方程式(2)中第一分量的第一移位元件202、一执行方程式(2)中第二分量的第二移位元件204及一执行方程式(2)中第三分量的第三移位元件206。每一移位元件均可用于独立于其他移位元件所实施的移位操作来根据表1实施一的移位操作。
下述实例即说明此种方法。当移位控制位为“00110”时,表1要求将输入数据位左移六个位位置。可通过根据方程式(2)将三个单独的移位操作相组合来获得相同的结果。可通过以“0”代替a0来求解第一分量。计算结果为“-1”,根据表1,此需要将输入数据位右移一个位位置。可通过以“0”代替a3、以“1”代替a2及以“1”代替a1来求解第二分量。计算结果为“-1”,根据表1,此需要将输入数据位再右移一个位位置。最后,可通过以“0”代替a4来求解第三分量。计算结果为“8”,根据表1,此需要将输入数据位左移八个位位置。因此,如果输入数据位两次右移一个位位置且随后左移八个位位置,则结果是输入数据位左移六个位位置。
重新参见图2,第一移位元件202可用于执行[(a0-1)]。如果a0等于“0”,则计算结果为“-1”,根据表1,此需要输入数据位右移一个位位置。如果a0等于“1”,则计算结果为“0”,根据表1,此为一不移位操作。因此,第一移位元件202可构建成在a0等于“0”的情况下使输入数据位右移一个位位置,并在a0等于“1”的情况下实施一不移位操作。
第二移位元件204可用于构建[Σi=1n-2(2ai-1)·2(i-1)].]]>移位电路102、第二移位元件204可包括(n-2)个级。第二移位元件的I级可用于根据ai的值来实施一右移或左移2(i-1)个位位置的移位。
作为一说明性实例,图2中针对一5位移位电路来显示第二移位元件204。此第二移位元件204具有三个级。第一级208可用于计算i等于“1”时方程式(2)的第二分量,第二级210可用于计算i等于“2”时方程式(2)的第二分量,且第三级212可用于计算i等于(n-2)或“3”时方程式(2)的第二分量。
a1等于“0”时第一级208的计算结果为“-1”,根据表1,此需要实施一右移一个位位置的操作。a1等于“1”时第一级208的计算结果为“1”,根据表1,此需要实施一左移一个位位置的操作。因此,第一级208可构建成在a1等于“0”的情况下实施一右移一个位位置的操作,并在a1等于“1”的情况下实施一左移一个位位置的操作。
a2等于“0”时第二级210的计算结果为“-2”,根据表1,此需要实施一右移两个位位置的操作。a2等于“1”时第二级208的计算结果为“2”,根据表1,此需要实施一左移两个位位置的操作。因此,第二级210可构建成在a2等于“0”的情况下实施一右移两个位位置的操作,并在a2等于“1”的情况下实施一左移两个位位置的操作。
a3等于“0”时第三级212的计算结果为“-4”,根据表1,此需要实施一右移四个位位置的操作。a3等于“1”时第三级212的计算结果为“4”,根据表1,此需要实施一左移四个位位置的操作。因此,第三级212可构建成在a3等于“0”的情况下实施一右移四个位位置的操作,并在a1等于“1”的情况下实施一左移四个位位置的操作。
第三移位元件206可用来构建 在图2所示的说明性实例中,针对一5位移位电路来显示第三移位元件206。在此实例中,如果a4等于“0”,则计算结果为“8”,根据表1,此需要实施一左移八个位位置的操作。如果a4等于“1”,则计算结果为“-1”,根据表1,此需要实施一右移八个位位置的操作。因此,第三移位元件206可构建成在a4等于“0”的情况下实施一左移八个位位置的操作,并在a4等于“1”的情况下实施一右移八个位位置的操作。一般而言,第三移位元件206可构建成根据an-1的值实施一右移或左移2(n-2)个位位置的操作。
移位电路102中的每一移位元件均可按许多种方式构建。举例而言,可使用可编程逻辑构建移位操作。适当的可编程逻辑装置包括可编程门阵列(FPGA)、ROM存储器、RAM存储器、闪存存储器、EPROM存储器、EEPROM存储器、CD-ROM及类似存储器。硬件实施方案包括离散门逻辑、晶体管逻辑及类似逻辑。在移位电路102的至少一个实施例中,可如图3中所示使用一多路复用器电路结构。
参见图3,可使用一第一多路复用器电路302构建第一移位元件202。第一多路复用器电路302可由(m+1)个2∶1多路复用器构建而成。在此种配置中,对每一输入数据位使用一个2∶1多路复用器并使用一额外的2∶1多路复用器以在万一一移位控制位a0要求进行一右移操作情况下保持所述输入数据位中的最低有效位(LSB)。在图3所示实施例中,可使用六个2∶1多路复用器来构建移位电路102的第一移位元件202。为了简化说明,将这六个2∶1多路复用器表示成一12∶6多路复用器电路。
提供至第一多路复用器电路302的输入的输入数据位304包括处于5个最高有效位位置中的5个输入数据位及一处于最低有效位位置中的“0”。提供至第一多路复用器电路302的输入的经移位输入数据位306包括处于5个最低有效位位置中的5个输入数据位及向左延伸至最高有效位位置中的符号位。
可使用一第二多路复用器电路308来构建第二移位元件204的第一级208。来自第一多路复用器电路302的6位输出可施加至第二多路复用器电路304的输入,以使这6个位在移位控制位a1为“0”的情况下右移一个位位置或在移位控制位a1为“1”的情况下左移一个位位置。第二多路复用器电路308可由六个2∶1多路复用器(来自第一多路复用器电路302的6位输出中每一位输出一个)构建而成。可使用两个额外的2∶1多路复用器(每侧一个)来保持与两次左移操作有关的LSB、或保持与一不移位操作后跟一左移操作有关的MSB。因此,将第二多路复用器电路308表示成一16∶8多路复用器电路。
提供至第二多路复用器电路308的输入的经移位数据位310包括处于六个最高有效位位置中的来自第一多路复用器电路302的6位输出及位于两个最低有效位位置中的“00”。提供至第二多路复用器电路308的输入的经移位数据位312包括处于六个最低有效位位置中的来自第一多路复用器电路302的6位输出及向左延伸至两个最高有效位位置中的符号位。
可使用一第三多路复用器电路314来构建第二移位元件204的第二级210。来自第二多路复用器电路308的8位输出可施加至第三多路复用器电路314的输入,以使所述8位在移位控制位a2为“0”的情况下右移两个位位置并在移位控制位a2为“1”的情况下左移两个位位置。第三多路复用器电路314可由八个2∶1多路复用器(来自第二多路复用器电路304的8位输出中每一位一个)构建而成。可使用四个额外的2∶1多路复用器(每侧两个)在所有可能的移位操作情况下保持LSB及MSB。因此,将第三多路复用器电路314表示成一24∶12多路复用器电路。
提供至第三多路复用器电路314的输入的经移位数据位包括处于八个最高有效位位置中的来自第二多路复用器电路308的8位输出及处于四个最低有效位位置中的“0000”。提供至第三多路复用器电路314的输入的经移位数据位318包括处于八个最低有效位位置中的来自第二多路复用器电路308的8位输出及向左延伸至四个最高有效位位置中的符号位。
可使用一第四多路复用器电路320来构建第二移位元件204的第三级212。来自第三多路复用器电路314的12位输出可施加至第四多路复用器电路320的输入,以使所述12位在移位控制位a3为“0”的情况下右移四个位位置并在移位控制位a3为“1”的情况下左移四个位位置。第四多路复用器电路320可由十二个2∶1多路复用器(来自第三多路复用器电路314的12位输出中每一位一个)构建而成。可使用八个额外的2∶1多路复用器(每侧四个)在所有可能的移位状态下保持LSB及MSB。因此,将第四多路复用器电路320表示成一40∶20多路复用器电路。
提供至第四多路复用器电路320的输入的经移位数据位322包括处于十二个最高有效位位置中的来自第三多路复用器电路314的12位输出及处于八个最低有效位位置中的“00000000”。提供至第四多路复用器电路320的输入的经移位数据位324包括处于八个最低有效位位置中的来自第三多路复用器电路314的12位输出及向左延伸至八个最高有效位位置中的符号位。
可使用一第五多路复用器电路326来构建第三移位元件206。来自第四多路复用器电路320的20位输出可施加至第五多路复用器电路326的输入,以使所述20位在移位控制位a4为“0”的情况下左移八个位位置并在移位控制位a4为“1”的情况下右移八个位位置。然后,可从第五多路复用器电路326中提取一5位输出。
提供至第五多路复用器电路326的输入的经移位数据位328是通过将来自第四多路复用器电路320的20位输出放置于二十个最高有效位位置中并将“0000000000000000”放置于十六个最低有效位位置中而产生的二进制数的第17个至第21个最低有效位位置。提供至第五多路复用器电路326的经移位数据位330是通过将来自第四多路复用器电路320的20位输出放置于二十个最低有效位位置中且使符号位向左延伸至十六个最高有效位位置中而产生的二进制数的第17个至第21个最低有效位位置。
上文对所揭示实施例的说明旨在使所属领域的技术人员能够制作或使用本发明。所属领域的技术人员将易于得出对这些实施例的各种修改,且本文所界定的一般原理也可适用于其它实施例,此并不背离本发明的精神或范围。因此,本文并非意欲将本发明限定于本文所示实施例,而欲赋予其与本文所揭示原理及新颖特征相一致的最宽广范畴。
权利要求
1.一种能够根据复数个移位控制位的二进制值而将复数个输入数据位左移或右移若干个位位置的移位电路,其包括第一移位元件,其配置成对所述输入数据位实施两种移位操作之一以产生复数个第一输出位,所述移位控制位中的一第一位用于选择由所述第一移位元件实施的所述移位操作;第二移位元件,其配置成对所述第一输出位实施至少一种移位操作以产生复数个第二输出位,所述至少一种移位操作中的每一操作均可选自两个移位操作,所述移位控制位中一不同的位用于选择由所述第二移位元件实施的所述至少一种移位操作中的每一操作;及第三移位元件,其配置成对所述第二输出位实施两种移位操作之一,所述移位控制位中的一第二位用于选择由所述第三移位元件实施的所述移位操作。
2.如权利要求1所述的移位电路,其中所述第一移位元件的所述两种移位操作包括一不移位操作及一右移一个位位置的操作。
3.如权利要求2所述的移位电路,其中所述移位控制位中的所述第一位包括最低有效位,且其中所述第一移位元件进一步配置成如果所述移位控制位中的所述第一位为1则实施所述不移位操作且如果所述移位控制位中的所述第一位为0则实施所述右移位操作。
4.如权利要求1所述的移位电路,其中所述移位控制位包括n个位,且其中所述第二移位元件包括(n-2)个串联极,所述(n-2)个级中的每一级均配置成实施所述至少一种移位操作中的一种操作。
5.如权利要求4所述的移位电路,其中所述(n-2)个级中的一i级配置成实施一右移或左移2(i-1)个位位置的操作,其中(1≤i≤(n-2))。
6.如权利要求5所述的移位电路,其中所述(n-2)级中的所述i级配置成如果其对应移位控制位为1则实施所述左移操作且如果其对应移位控制位为0则实施所述右移位操作。
7.如权利要求1所述的移位电路,其中所述移位控制位包括n个位,且其中所述第三移位元件的所述两种移位操作包括分别移位2(n-2)个位位置的一右移及左移操作。
8.如权利要求7所述的移位电路,其中所述移位控制位中的所述第二位包括最高有效位,且其中所述第三移位元件进一步配置成如果所述移位控制位中的所述第二位为0则实施所述左移操作且如果所述移位控制位中所述第二位为1则实施所述右移操作。
9.如权利要求1所述的移位电路,其中所述第一及第二移位元件分别配置成保持任何移位操作组合的所有输入数据位。
10.如权利要求1所述的移位电路,其中所述移位控制位包括n个位,且其中所述第一及第三移位元件分别包括一多路复用器电路,且所述第二移位元件包括由(n-2)个多路复用器电路形成的一串联结构。
11.如权利要求10所述的移位电路,其中所述输入数据位包括m个位,且其中所述多路复用器电路中的每一个均包括至少m个并联多路复用器。
12.如权利要求10所述的移位电路,其中所述输入数据位包括m个位,且其中所述第一移位元件的所述多路复用器电路包括(m+l)个并联多路复用器。
13.如权利要求12所述的移位电路,其中所述由(n-2)个多路复用器电路形成的串联结构的所述i多路复用器电路包括复数个并联多路复用器,所述复数个并联多路复用器等于2i个多路复用器加上所述i多路复用器电路自其接收其输入的并联多路复用器的数量,其中(1≤i≤(n-2))。
14.一种能够根据复数个移位控制位的二进制值而将复数个输入数据位左移或右移若干个位位置的移位电路,其包括第一移位装置,其用于对所述输入数据位实施两种移位操作之一以产生复数个第一输出位,所述移位控制位中的一第一位用于选择由所述第一移位装置实施的所述移位操作;第二移位装置,其用于对所述第一输出位实施至少一种移位操作以产生复数个第二输出位,所述至少一种移位操作中的每一操作均可选自两种移位操作,所述移位控制位中一不同的位用于选择由所述第二移位装置实施的所述至少一种移位操作中的每一操作;及第三移位装置,其用于对所述第二输出位实施两种移位操作之一,所述移位控制位中的一第二位用于选择由所述第三移位装置实施的所述移位操作。
15.如权利要求14所述的移位电路,其中所述第一移位元件的所述两种移位操作包括一不移位操作及一右移一个位位置的操作。
16.如权利要求15所述的移位电路,其中所述移位控制位中的所述第一位包括最低有效位,且其中所述第一移位装置进一步配置成如果所述移位控制位中的所述第一位为1则实施所述不移位操作且如果所述移位控制位的所述第一位为0则实施所述右移操作。
17.如权利要求14所述的移位电路,其中所述移位控制位包括n个位,且其中所述第二移位装置包括(n-2)个串联级,所述(n-2)个级中的每一级均配置成实施所述至少一种移位操作之一。
18.如权利要求17所述的移位电路,其中所述(n-2)个级中的一i级配置成实施一右移或左移2(i-1)个位位置的操作,其中(1≤i≤(n-2))。
19.如权利要求18所述的移位电路,其中所述(n-2)个级中的所述i级配置成如果其对应移位控制位为1则实施所述左移操作且如果其对应移位控制位为0则实施所述右移操作。
20.如权利要求14所述的移位电路,其中所述移位控制位包括n个位,且其中所述第三移位装置的所述两个移位操作包括分别移位2(n-2)个位位置的一右移及左移操作。
21.如权利要求20所述的移位电路,其中所述移位控制位中的所述第二位包括最高有效位,且其中所述第三移位元件进一步配置成如果所述移位控制位中的所述第二位为0则实施所述左移操作且如果所述移位控制位中的所述第二位为1则实施所述右移操作。
22.一种用以根据复数个移位控制位的二进制值而将复数个输入数据位左移或右移若干个位位置的方法,其包括对所述输入数据位实施一移位操作以产生复数个第一输出位,并使用所述移位控制位中的一第一位来从两种移位操作中选择对所述输入数据位实施的所述移位操作;对所述第一输出位实施至少一种移位操作以产生复数个第二输出位,并使用所述移位控制位中一不同的位来从两种移位操作中选择对所述第一输出位实施的所述至少一种移位操作中的每一操作;及对所述第二输出位实施一移位操作,并使用所述移位控制位中的一第二位来从两种移位操作中选择对所述第二输出位实施的所述移位操作。
23.如权利要求22所述的方法,其中从中选择对所述输入数据位实施的所述移位操作的所述两种移位操作包括一不移位操作及一右移一个位位置的操作。
24.如权利要求23所述的方法,其中所述移位控制位中的所述第一位包括最低有效位,且其中如果所述移位控制位中的第一位为1则对所述输入数据位实施的所述移位操作是所述不移位操作。
25.如权利要求23所述的方法,其中所述移位控制位中的所述第一位包括最低有效位,且其中如果所述移位控制位中的所述第一位为0则对所述输入数据位实施的所述移位操作是所述右移操作。
26.如权利要求22所述的方法,其中所述移位控制位包括n个位,且其中对所述第一输出位实施的所述至少一种移位操作由(n-2)个串联级实施,所述(n-2)个级中的每一级均实施所述至少一种移位操作中的一种操作。
27.如权利要求26所述的方法,其中所述(n-2)个级中的一i级实施一右移或左移2(i-1)个位位置的操作,其中(1≤i≤(n-2))。
28.如权利要求27所述的方法,其中所述(n-2)个级中的所述i级如果其对应移位控制位为1则实施所述左移操作。
29.如权利要求27所述的方法,其中所述(n-2)个级中的所述i级如果其对应移位控制位为0则实施所述右移操作。
30.如权利要求22所述的方法,其中所述移位控制位包括n个位,且其中从中选择对所述第二输出位实施的所述移位操作的所述两种移位操作包括分别移位2(n-2)个位位置的一右移及左移操作。
31.如权利要求30所述的方法,其中所述移位控制位的所述第二位包括最高有效位,且其中如果所述移位控制位的所述第二位为0则对所述第二输出位实施的所述移位操作是所述左移操作。
32.如权利要求30所述的方法,其中所述移位控制位的所述第二位包括最高有效位,且其中如果所述移位控制位中的所述第二位为1则对所述第二输出位实施的所述移位操作是所述右移操作。
全文摘要
本发明揭示关于根据复数个移位控制位的二进制值将复数个输入数据位左移或右移若干个位位置的系统及技术。一第一移位元件可配置成对所述输入数据位实施两种移位操作之一以产生复数个第一输出位,所述移位控制位中的一第一位用于选择由所述第一移位元件所实施的所述移位操作。一第二移位元件可配置成对所述第一输出位实施至少一种移位操作以产生复数个第二输出位,所述至少一种移位操作中的每一操作均可选自两种移位操作,所述移位控制位中一不同的位用于选择由所述第二移位元件所实施的所述至少一种移位操作中的每一操作。一第三移位元件可配置成对所述第二输出位实施两种移位操作之一,所述移位控制位中的一第二位用于选择由所述第三移位元件所实施的所述移位操作。
文档编号G11C19/28GK1942855SQ200580011556
公开日2007年4月4日 申请日期2005年2月25日 优先权日2004年2月27日
发明者苏曼特·兰普拉萨德 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1