首页> 中国专利> 多值逻辑宽位高速加法器

多值逻辑宽位高速加法器

摘要

一种多值逻辑宽位高速加法器。利用CMOS逻辑电路宽范的电压空间及较低的阈值,将电压值划分为不同等级使一个位点可表示多种数值。本发明以电压值划分4级的4进制加法运算说明其原理。采用改进的施密特门进行电压比较确定变量的值域以此进行保真寄存和总输入输出;采用状态逻辑化简将多值转为有权二值逻辑实现两位点的全加器,将4个的全加器分成为1组,用16组所构成64位点(相当于二进制的128位长)的宽位加法器,组内采用单链选通式进位方式而组间采用单链逻辑推挽式进位。与相应的CMOS加法器相比较,具有以下特点:每个位点可表示4种数值,相对于二值逻辑可增加一倍的位长且减少一倍的总线和存贮空间;每组进位时延仅为1个BJT管可减少了4个CMOS管进位时延;组与组之间一线单链进位联接,易于线性地位宽扩展。

著录项

  • 公开/公告号CN112783472A

    专利类型发明专利

  • 公开/公告日2021-05-11

    原文格式PDF

  • 申请/专利权人 何群;

    申请/专利号CN201911105173.9

  • 发明设计人 何群;

    申请日2019-11-05

  • 分类号G06F7/501(20060101);

  • 代理机构

  • 代理人

  • 地址 210009 江苏省南京市鼓楼区中山北路200-2号8幢1单元202室

  • 入库时间 2023-06-19 10:57:17

说明书

技术领域

计算机算术运算部件,尤其是加法器。属于集成电路设计。

背景技术

加法器是计算机系统的核心部件,其执行速度与字长、逻辑器件的时间延迟(时延)及进位方式成正比,这三项也是解决加法器执行速度的关键。

对于字长、时延问题,近年来VCC在1.0~18.0V范围内的各种CMOS器件得以广范应用而且为了适应这种情况在同一个芯片中采用几种不同电压值的电源(VCC)的器件得到很快的发展,显然,由于CMOS器件的开启电压VT的降低使VCC很低的情况下就可分辩出逻辑0、1。基于这个原理,若将VCC加宽则可将VCC宽范的电压空间定义为多种逻辑值,基于多值逻辑原理利用电压值来表示数值,可使1个位点变量不只表示0、1两个值而是多个值,即将逻辑电路中的电位划分为若干等级,每一级别表示一个数值量,就得多值逻辑关系,由此1个位点可实现4、6、…进制的加法器就可有效地提高运算字长的长度且加快运算速度;

对于加法器的进位方式,以超前进位为代表的多链进位式加法器结构是通过分组分层。每组用进位传递函数(P)和进位产生函数(G)表征该组的进位状态,将其递层上传经判断给出各组的进位状态。随着加法器字宽的增长、层次增多,则器件增多、连线增多增长,将出现进位速度明显下降的问题;以曼彻斯特链为代表的单链式进位加法器结构,由P信号控制使用旁路方式提高进位速度。由于各旁路结点是用多路开关或传输门递级实现的,当字宽增长时多路开关时延递级增加明显、而传输门还受到结点数量的限制都难以实现进位状态高速传递。综合两者的特点,将n个位点分成m个组,组内以pi、gi特征进行单链选通式进位,组间以P、G(是pi、gi的函数)为条件采用单链逻辑推挽式进位可极大的提高加法器的运算速度。

发明内容

针对背景技术提出的问题,给出一种多值存取、单链式进位的宽位高速加法器。

将一个最小的存贮单元定义为一个位点,一个位点变量按其电压的大小表示相应的数值,为适应当前CMOS器件的常用电压范围,本发明以四值逻辑说明其原理,即逻辑变量a可为0、1、2、3四个值之一,其对应的电压为0~1V、1~2V、3~4V、4~5V;

在加法运算前将多值变量转换为对应的有权二值逻辑值,权重与数值对应,方法是基于多值逻辑阈运算原理,用改进的施密特门实现。以2.0V作为分界电压,用一个压控施密特门将a分辩为(3、2)和(1、0)两个部分,用y=逻辑1示a=(3、2)和逻辑0示a=(0、1),另外用两个不对称施密特门分别从a中分辩出两个极端值3和0,通过与分界逻辑y比较,即可确定出a的权重逻辑值L0、L1、L2、L3,分别表示数值0、1、2、3;

根据有权二值逻辑值数值明确的特点,采用状态逻辑化简以实现两变量全加器,即将高阻状态作为逻辑0态参与单管“与”和单线“或”的运算,最终用有源施密特门将高阻状态转为逻辑0;

以4个全加器为一个单元分组,组内采用单链选通式进位、组间采用单链逻辑推挽式进位。即组内的选通式进位采用4管选通门,其具有本位进位和后位前传两种互斥的选通功效;组间单链逻辑推挽式进位采用4个BJT管和1个三态门组成,用两个管实现开通/关闭本位的进位状态进入进位链、用一对BJT管(BiCMOS)实现推挽上传进位信号。这样可达到进位的极值速度;

采用多值保真逻辑实现变量的存取及传输,对输入的多值变量a按上述变量转换方法获得其对应的有权二值逻辑值域0、1、2、3,以其值域强度驱动相应的标准电压,并与三个传送门一起构成一个具电压保真的多值变量寄存器或存贮器。有序地控制传送门的开/关即可实现变量的存、取及传输。

附图说明

图1 多值变量转换为有权逻辑值

(a):压控不对称施密特门逻辑图,将多值变量a分辩为(0、1)和(2,3)两个部分的逻辑图,y=0示a=2或3,y=1示a=0或1;

(b):上不对称施密特门逻辑图,将a=3分辩为L3,若a=3则L3=1反之L3=0;

(c):下不对称施密特门逻辑图,将a=0分辩为L0,若a=0则L0=1反之L0=0。

图2 状态加法逻辑进位传递函数(P)和进位产生函数(G)

(a):状态逻辑说明图例;

(b):加法“和”为0、1值的逻辑图及相应的进位g1(1),其中c为后位点向本位点的进位状态;

(c):本位点加法“和”为1、2值的逻辑图及产生相应的进位g1(2)。

图3 进位函数及“和”产生逻辑及两位点全加器简图

(a):本位点加法“和”为2、3值的逻辑图及相应的进位g1(3),两值相加产生的进位产生函数G;

(b):本位点加法“和”为3、0值的逻辑图及两值相加产生的进位传递函数P;

(c):生成两值相加的全加”和”变量S;

(d):两位点全加器通配简图,其中ci-1为后位点向本位点的进位状态。

图4 选择门、选通门及说明

(a):选择门;(b):选通门;(c):一个位点进位原理说明。

图5 4个位点加法器

包括组内、组间进位的4个位点加法器。

图6 64位点加法器

64位点加法器(相当于二进制的128位加法器),ci、co分别为cin、cout的缩写。

图7 多值存取逻辑及总线传输

(a):多值比较、保真逻辑;

(b):多值寄存器及总线存取逻辑,其中原件1、2、3为传输门。

图8 实例1用32位点加法器(相当于二进制的64位加法器)

具体实施方式

1.多值逻辑定义

由于CMOS器件可在宽范的电压下运行且有极好的对称性,所以可提供具有的多值逻辑关系的n个电位V1、V2、…、Vn,每个电位对0电位(地)表示一种逻辑值,1个位点的逻辑变量可以取其之一,表示其的值域。本发明以四值逻辑说明其原理。

设四值逻辑系统的值为i:0、1、2、3,其逻辑变量为a,b,本发明涉及以下多值逻辑运算(~示“非”符号):

取反运算:~a=(3-a); 阈运算:a

四值逻辑系统用电压表示其值域如表1。

表1四值逻辑定义

2.多值变量转换为有权二值逻辑

为了进行加法计算,将一个属于四个值域多值变量a分辨为对应数值,根据多值逻辑阈运算原理,采用改进的施密特器件可实现多值变量转换为有权二值逻辑(L3、L2、L1、L0)。其逻辑原理图见图1(其中逻辑门简图对应相应虚框部分,该图也是多值变量寄存器的一部分,见后6.的说明)。

设多值变量为a且M管的开启电压VT≈1V,以图1(a)将a逻辑值分a=(3、2)和a=(0、1)两个部分;图1(b)将a=3分辩为L3;图1(c)将a=0分辩为L0。

图1(a)前端是一压控不对称的施密特门,当a=(3、2)时,其保真电压为(4.8V、3.8V),见6.中的说明,因M1的漏极为V2(=4V),所以都不能使M1导通;而M2、M4导通,则x=0使M6止,V1L又使M7导通,又使y=0,表示a在3、2范围内;当a=0、1时,其电压在0~2V之间,使M1导通从引起正反馈使M3导通,其导通又使M2止,则x=V2,x又使M6通、M7止(因x电压>V1L),则将x=V2整形为y=V3(逻辑1),有

当a=(3、2),y=0;当a=(0、1),y=1 (1)

图1(b)是一上不对称施密特门,用于分辩a=3,a=3的保真电压为4.8V,其分辩过程如下:

当a=0、1、2时,都会使M1通,A点对B点的电压增大引起正反馈使M3通,M3通又使M2止,使输出~L3=V3(逻辑1),表示a不在3的值域内;

当a=3时,使M1止,不引起正反馈,A点为0V,即输出~L3=0V(逻辑0),表示a在3的值域内。有

当a=(0、1、2),~L3=1;当a=3,~L3=0 (2)

图1(c)是一下不对称施密特门,用于分辩a=0,a=0的保真电压为0.2V,其分辩过程如下:

当a=3、2、1时,都会使m4通,F点对G点的电压增大引起正反馈使m2通,m2通又使m3止,使输出L0=0V(逻辑0),表示a不在0的值域内;

当a=0时,使m4止,不引起正反馈,G点为V3,即输出L0=V3(逻辑1),表示a在0的值域内。有

当a=(0、1、2),L0=0;当a=3,L0=1 (3)

由式(1)、(2)、(3)直接得出~L3、L0并推出L1和L2的逻辑式:

L2=~y.~L3;L1=y.~L0,见图1。

3.两变量加法运算

加法运算是将由多值变量a、b转换的有权二值逻辑值L3~0、i3~0按加法算术式得S(”和”)及P和G1。见下真值表2,其实质形成了一个4进制全加器。表中N示真值序号、a(L3~0)和b(i3~0)示其有权数值、H示加法算术数值之和、P示进位传递函数、G1(进位产生函数)示向前进位为1、s、S分别示本位点的加法”和”,用c示后位点向本位点的进位值,s为不加c的”和”,而为加c的”和”。

表2加法运算真值表

表2是由真值表按s升值(0→1→2→3)将该表分成了4个部分(表中用双线分开)。

由于在一次运算中,表2中只有一种真值出现,采用状态逻辑化简,其方法是保证每个CMOS管的输入(栅极)有确定逻辑值的前提下,用单管实现”与”运算,用单线实现“或”运算;将高阻(相当为逻辑“0”)作为一种逻辑状态存在,在状态逻辑终端点再用有源阈运算将高阻转换为逻辑0。

用单管实现”与”运算,见图2(a)上:

Lio=Li·ik(当Li=1且ik=1时,Lio=1;否则Lio=Z(高阻);

Ljo=Lj·ik(当Lj=1且ik=0时,Ljo=1;否则Ljo=Z。

用单线实现“或”运算,见图2(a)中:

图中A点=L1·i3+L2·i2(当两个”与”式中有一个(最多只有1个)为1时,A=1;否则A=Z(高阻)。图中m为分界管,将A点的状态传入B点,而B点再进行状态逻辑组合将不改变A点状态,该管的输出为或门的输出。

终端点用有源施密特门将高阻分辩为逻辑0运算,见图2(a)下:

x=Z,m1、m2输出为Z,在V1L作用下,m3、m4通,y=0。其中V1L为V1的逻辑电位,见图1(a);

x=1,在V1L作用下m1、m2通,m2通使m3止,m1通,m1通又使x通过m1则y=x=1。

加法运算的实现,

由序号1、8、11、14(第一部分)所示的算术表示为:

若(1+3)or(2+2)or(3+1)=1则将产生进位,即g1(1)=1。而本位”和”则为:

((0+0)or(1+3)or(2+2)or(3+1))and(c=0)时则s0=1,示加法和为0;

((0+0)or(1+3)or(2+2)or(3+1))and(c=1)时s1=1,示加法和为1。

其对应的逻辑表达式为:

g1=L1·i3+L2·i2+L3·i1;

s0=(L0·i0+L1·i3+L2·i2+L3·i1)·~c;

s1=(L0·i0+L1·i3+L2·i2+L3·i1)·c。

图2(b)是其逻辑图。

由序号2、5、12、15(第二部分)所示逻辑表达式为(图2(c)是其逻辑图):

g1(2)=L2·i3+L3·i2;

s1=(L0·i1+L1·i0+L2·i3+L3·i2)·~c;

s2=(L0·i1+L1·i0+L2·i3+L3·i2)·c。

由序号3、6、9、16(第三部分)所示逻辑表达式为(图3(a)是其逻辑图):

g1(3)=L3·i3;

s1=(L0·i2+L1·i1+L2·i0+L3·i3)·~c;

s2=(L0·i2+L1·i1+L2·i0+L3·i3)·c。

由序号4、7、10、13(第四部分)所示逻辑表达式为(图3(b)左是其逻辑图):

s3=(L0·i3+L1·i2+L2·i1+L3·i0)·~c;

s0=(L0·i3+L1·i2+L2·i1+L3·i0)·c;

p=L0·i3+L1·i2+L2·i1+L3·i0。

图3(b)右给出了对G(和P)生成逻辑图,g1(1)、g1(2)、g1(3)任一位输出为1(最多只有1位)时,G=1,示向前进位状态为1;反之若g1(1)、g1(2)、g1(3)输出均为Z(高阻)则经有源施密特逻辑门使G=0,示向前进位状态为0。P实现原理同G。

将这四部分的产生的si(i=3、2、1、0)经有源施密特逻辑门求得相应逻辑值(0或1),见图2(a),由其控制cmos管(1、2、3、4)的栅极,而漏极为相应标准的电压,将产生变量a+b的本位多值逻辑”和”S,见图3(c)。由此得两个变量的多值全加器,称为1个位点的全加器,其通配简记图为图3(d),其中ci-1为后位点向本位点的进位值。

4. 4个位点加法器

将四个全加器分为1组,组内以pi、gi为条件进行选通式进位,组间以Pj、Gj为条件采用单链推挽式进位。

基本部件:两管选择门(三态),见图4(a)。

ck为选择信号,di为输入数据,do为输出数据,实现逻辑见表3,右图为其简记图。

表3选择门说明

四管选通门(三态),是由两个选择门组成,见图4(b)(右图为其简记图)。

当(Ck=1、~Ck=0)选通上选择门,而下选择门止。如图4(a)的工作方式,d1传至D;

当(Ck=0、~Ck=1)选通下选择门,而上选择门止,则d2传至D。

1个位点全加器进位原理;

见图4(c),其中下图为其对应的全加器,当pi=1时,开下选择门,将后位的进位状态ci-1向前位点传递,此时ci=ci-1;当pi=0时,开上选择门,将本位点进位状态gi向前位点传递,此时ci=gi。

4位点加法器及进位原理:

将4位全加器按上述进位方法连接得4位点的单链进位加法器以及组间进位线路,见图5。其中,a4~1、b4~1为加数和被加数,S4~1为其加法”和”;cin(c0)为后组向本组的进位状态,c3~1为本组内产生的进位状态,cout为本组向前组的进位状态。

由组内4位点的进位逻辑式给出组间进位的逻辑式,本组生成组间P和G,其逻辑表达式为:

P=p4·p3·p2·p1;

G=g4+g3·p4+g2·p4·p3+g1·p4·p3·p2。

为提高并行运算速度,将由cin信号控制BJT管(BiCMOS)实现逻辑推挽式进位,见图5左上。

当P=1,本组不产生进位状态,控制三态门(1号原件)关闭(输出为高阻)G不进入进位链。同时P控制T1和T2开通,若cin=1时,T3通,T4止,T3发射极将V3输至cout,则cout=1。当cin向0时,T3止、T4通则cout输出为0,T3T4形成逻辑推挽式进位,其0、1切换传递时为1个BJT管的时延。这样cin完成向前组传送进位即cout=cin。

当P=0,本组位点可以接收后位的进位状态,而本组向前的进位状态由G决定。P控制T1、T2止,则T3、T4止,T3的发射极和T4的集电极输出均为高阻。此时三态门(1号原件)开通,将G输入链路则Cout=G向前组传递。

因为各组组内是同时并行实现进位、加法运算,而组间进位则是串行实现的,所以其进位方式对整个加法器运算速度至关重要,这种逻辑推挽式进位解决了两个关键问题,其一是提高速度达到极速,即1个BTJ管的时延,没有别的方法与之相比;其二每级输出都是由T1或T2提供的标准逻辑值,不会递减逻辑摆幅,不论多少组串接都如此。而采用逻辑开关、传输门等原件都会因组数大增时使逻辑摆幅递减而失真。

在速度要求不高的情况下,可采用另一并行进位方式,即是用1个三态门取代T1、T2、T3、T4。Cin接至该门的输入端,该门的输出端接Cout,而P接入该门的控制端。其结构简洁,但进位速度远低与前者。

5. 64位点加法器

将图5组成的4位点加法器作为一个单元,用16个单元串联即得64位点加法器,见图6,其相当于128位二进制加法器。以此类推,按这种串接方法可组成位数更宽的加法器。工作过程见实施实例1。

6.多值变量的存取及传输

将图1中的逻辑线路进行相应的简化就得多值变量的保真逻辑电路,见图7(a)(右下方为简记图)。其中1、3号原件见图1(b)、(c),2号原件为图1(a),其原理参见1.中的相关说明,这里只对驱动部分进行说明。

当di=2、3时,B点为0(B=0),C=0。C=0使m6止则其输出为高阻,对do无作用。而B=0使m5止则其输出为高阻,对do也无作用,即使两个驱动管m6、m5无输出。

此时若di=3,则A点为0(A=0),使m1通则do=V3,为多值逻辑3的值域。同时A=0使m2止则E点为高阻,这样B=0驱动m3也无作用;反之,若di=2,则A=1,m1止、m2通,则E点为V2,B=0驱动m3使do=V2,若a=3则do=V3,若a=2则do=V2。

当di=1、0时,B点为1(B=1),A=1。A=1使m1止则其输出为高阻,对do无作用、B=0使m3止则其输出为高阻,对do也无作用,即使两个驱动管m1、m3无输出。

此时若di=0,则C=1,使m6通则do=0V,为多值逻辑0的值域。同时C=1使m4止则F点为高阻,这样B=1驱动m5也无作用;反之,若di=1,则C=0,m6止、m4通,则F点为V1,则B=1驱动m5使do=V1,若a=0则do=0V,若a=1则do=V1。。

根据上述,列出表4,其中斜体为驱动标准电压的关键管导通,”Z通”示该管导通但其漏极为高阻,实际不通。

表4电压保真逻辑说明

保真电路的作用是使寄存器中的变量与标准电压值的偏差在0.2V左右(一个管的饱和压降),使变量传输、分辩精准。用电压保真逻辑实现多值变量的存、取及传输。图7(b)(下方为简记图)给出了原理图,图中1、2、3原件为传输门,其工作过程见表5。

表5多值变量的存取

表5

其实质是一个包括总线输入、出的多值寄存器,前述的多值变量a、b都是取自这种寄存器,而相加所得的”和”S存入该寄存器。根据其原理可设计相应的大容量存贮部件(RAM)。

实施实例1 32位点的4进制加法器

主要为说明原理,采用32位点(4进制)加法器作为实施实例,其计算能力与64位2进制加法器相同。其单元逻辑图为图6中的i块,将16个单元逻辑图串接得总逻辑图,见图8。设

a=(30101113123112131231031223203220)

b=(03232220211111032120212110230122)

c0=1(二值逻辑的“1”)。

实例的计算步骤见表6。

表6计算步骤

表6中i表示位点序号(32、31、…、2、1)和分组的组号(z8、z7、…、z1),Pi、Gi分别示传递函数(P)、进位产生函数(G),对应序号所示位点为该位点的pi、gi状态,而对应组号为该组的P、G状态;ai、bi、Si分别为被加数、加数、和,与序号一一对应。为区别进位状态,用符号*表示后位点的进位状态向前位点传递。

组间产生分界是由zi(i=1~8)对应的Pi(Pi等于本组的p1.p2.p3.p4)决定的,Pi=0(z1~6)将产生1个进位分界点,向前组进位由本组的Gi状态决定;Pi=1(z7、z8)不产生进位分界点,后组的Gi状态继续前传。Gi为*表示后位点(或后组)的进位状态继续前传。

实际的求”和”算术逻辑式可定义为Si=((ai+bi)MOD(4)+G(i-1))MOD(4)(由硬件逻辑实现,参见图2、3实现原理),式中第1个MOD(4)表示去除进位(由线路已给出进位),第2个MOD(4)表示求得的”和”只保留余数(由线路给出)。

例如1:

a17=3、b17=3,(a17+b17)MOD(4)=6MOD(4)=2,G17=1(本位有进位),

S17=((a17+b17)MOD(4)+G16=2+*)MOD(4),此*(G16)为G14产生的(值为1)的进位由组进位z4传入进位链后继续上传至此,所以S17=(2+1)MOD(4)=3。

例如2:

a29=0、b29=3,(a29+b29)MOD(4)=3MOD(4)=3,P29=1,G29=*(使G28的进位状态传向G30),

S29=((a29+b29)MOD(4)+G28)MOD(4)=(3+*)MOD(4)=(4)MOD(4)=0,此*是由G22产生的进位状态(值为1)由组进位z6传入进位链后继续上传经组进位z7后上传至此。

例如3:

z8的Pi=(p32.p31.p30.p29)=1,表示本组P=1、Gi=(1←)表示由z6产生的值为1继续前传,即得本次计算的最高进位C64(二值逻辑的“1”)。

参见表6的计算过程,本次计算值为:

S=(10000 0000 0002 2323 0011 3100 0010 0003)

性能比较

本发明与典型芯片(CD40181)的主要数据见表7。

表7主要性能

关键时延(生成G及传入进位链的时间延迟),

本发明:

一个位点的Gi是由图1(由寄存器引出y、~L3、L0)产生L和i所需的最大时延为3个管时延;由L和i分别并行产生(图2(b、c)、图3(a))g1(1)、g1(2)、g1(3)分别并行产生需3个管时延(只需计一个逻辑式);由g1(1)、g1(2)、g1(3)分别并行产生(图2(a)、图3(b))本位G需2个管时延;

小组内四个位点产生小组进位(图5进位部分)G共需5个管时延。

组间进位时延;

组间进位时延(图5左上)1个BJT管时延。

上述共用14个管时延。

典型应用:

4位加法产生

产生G=g4+g3.p4+g2.p4.p3+g1.p4.p3.p2需4+3=7个管时延;

两组(8位)的组间进位需2个2入门实现,需2*2=4个管时延。

上述共用16个管时延。

根据上述及表7的参数得比较表8。

表8比较结论

由表8可知本发明除在电源种类多用2种、传输和加法运算前进行分辩时逻辑摆幅略小外,在用管量、组内进位时延、组间进位时延、及128位(二进制)加法器位点数等参数均优于典型应用,尤其后两项,说明本发明相比典型应用具有位点数减少1倍,相应的总线及控制、存贮器也减少1倍,而进位速度提高至少4倍(未计BJT管与MOS管的时延差别)。另外,本发明的这种进位方式可线性串行连接,每增加8位(二进制计)加法器只增加1个BJT管的进位时延。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号