CN110262771A - 一种基于mos晶体管的基本运算电路及其扩展电路 - Google Patents
一种基于mos晶体管的基本运算电路及其扩展电路 Download PDFInfo
- Publication number
- CN110262771A CN110262771A CN201910382396.3A CN201910382396A CN110262771A CN 110262771 A CN110262771 A CN 110262771A CN 201910382396 A CN201910382396 A CN 201910382396A CN 110262771 A CN110262771 A CN 110262771A
- Authority
- CN
- China
- Prior art keywords
- circuit
- mos transistor
- module
- multiply
- output end
- 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
- 239000000758 substrate Substances 0.000 claims abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 8
- 239000013598 vector Substances 0.000 claims description 65
- 239000011159 matrix material Substances 0.000 claims description 36
- 238000006243 chemical reaction Methods 0.000 claims description 15
- 230000001186 cumulative effect Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 10
- 230000015572 biosynthetic process Effects 0.000 claims 1
- 239000004065 semiconductor Substances 0.000 abstract description 15
- 238000010586 diagram Methods 0.000 description 13
- 238000006073 displacement reaction Methods 0.000 description 7
- 230000005611 electricity Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000000155 isotopic effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Logic Circuits (AREA)
- Analogue/Digital Conversion (AREA)
Abstract
本发明属于半导体技术领域,公开了一种基于MOS晶体管的基本运算电路,包括:MOS晶体管;所述MOS晶体管的漏极连接电源端VDD,所述MOS晶体管的源极作为电路输出端;MOS晶体管的栅极作为第一输入端,MOS晶体管的衬底作为第二输入端;其中,第一输入端采用二值输入a:VDD/VG0;第二输入端采用二值输入b:VX1/VX2;VG0的获取方法为:在MOS晶体管的衬底加载相对大值电压VX1,在MOS晶体管的栅极加载从VDD到VSS的扫描电压,获取MOS晶体管的第一导通电流图;在MOS晶体管的衬底加载相对小值电压VX2,重复上述操作,获取MOS晶体管的第二导通电流图并比较,获取导通电流差值最大时的栅极电压,即为VG0。本发明提供的基本运算电路能够降低空间占用,提升扩展使用的规模。
Description
技术领域
本发明涉及技术领域,特别涉及一种基于MOS晶体管的基本运算电路及其扩展电路。
背景技术
乘加逻辑在很多领域中有较多的应用,是许多算法在实现过程中的主要逻辑运算。比如通信中的滤波运算,以及深度学习算法中的卷积运算都是以乘加运算为基本运算的。但是采用当前传统的CMOS数字电路实现方式,用标准单元库设计的乘加电路一般都需要较大的面积,因此可以集成的乘加电路并行规模比较受限,这也直接影响了一些需要大量并行乘加运算的应用的实现。
发明内容
本发明提供一种基于MOS晶体管的基本运算电路及其扩展电路,解决现有技术中CMOS数字电路占用面积达,影响扩展应用规模的技术问题。
为解决上述技术问题,本发明提供了一种基于MOS晶体管的基本运算电路,包括:MOS晶体管;
所述MOS晶体管的漏极连接电源端VDD,所述MOS晶体管的源极作为电路输出端;
所述MOS晶体管的栅极作为第一输入端,所述MOS晶体管的衬底作为第二输入端;
其中,所述第一输入端采用二值输入a:VDD/VG0;第二输入端采用二值输入b:VX1/VX2;
所述VG0的获取方法为:
在所述MOS晶体管的衬底加载相对大值电压VX1,在所述MOS晶体管的栅极加载从VDD到VSS的扫描电压,获取所述MOS晶体管的第一导通电流图;
在所述MOS晶体管的衬底加载相对小值电压VX2,在所述MOS晶体管的栅极加载从VDD到VSS的扫描电压,获取所述MOS晶体管的第二导通电流图;
比较所述第一导通电流图和第二导通电流图,获取导通电流差值最大时的栅极电压,即为VG0。
一种bit乘加运算电路,包括:多个所述的基本运算电路;
所述多个基本运算电路的漏极相连,多个所述多个基本运算电路的源极与电路输出端相连。
进一步地,所述bit乘加运算电路还包括:模数转换电路ADC;
所述模数转换电路与所述电路输出端相连;
其中,所述bit乘加运算电路的运算关系为:
一种向量乘加运算电路,包括:所述的bit乘加运算电路、第一移位器以及第一加法器;
所述bit乘加运算电路的输出端与所述第一移位器相连,形成乘加运算单元;
多个所述乘加运算单元的输出端分别与所述第一加法器相连,形成初级向量乘加运算电路;
其中,所述初级向量乘加运算电路的运算关系为:
进一步地,包括:所述初级向量乘加运算电路、第二移位器以及第二加法器;
所述初级向量乘加运算电路的输出端与所述第二移位器相连,形成初级向量乘加运算单元;
多个所述初级向量乘加运算单元的输出端与所述加法器相连,形成并行向量乘加运算电路,实现输入个数和输入位宽可调的向量乘加运算结构。
进一步地,包括:所述初级向量乘加运算电路、第三移位器、第三加法器、寄存器、状态机以及数据输入模块;
所述初级向量乘加运算电路的输出端与所述第三移位器相连;
所述第三移位器的输出端以及所述寄存器的输出端分别与所述第三加法器的输入端相连;
所述第三加法器的输出端与所述寄存器的输出端相连;
所述状态机分别与所述第三移位器、所述第三加法器以及所述第三寄存器相连,实现串行移位和迭代运算结构;
所述数据输入模块分别与所述初级向量乘加运算电路的输入端以及所述状态机相连。
一种二进制乘法电路,包括:所述的bit乘加运算电路、第一模数转换器、第四移位器以及第四加法器;
所述bit乘加运算电路的漏极连接使能信号EN,所述bit乘加运算电路的第一输入端连接A操作数,第二输入端连接B操作数,形成部分和产生模块PAdd;
所述部分和产生模块的输出端与所述第一模数转换器相连,形成累加电流数字转换单元;
所述累加电流数字转换单元的输出端与所述第四移位器相连,形成移位操作单元;
多个所述移位操作单元的输出端分别与所述第四加法器相连,形成二进制数据A[n-1:0]·B[m-1:0]的乘法电路;
其中,A[n-1]所接的mos管的宽长比W/L是A[n-2]所接的mos管的宽长比W/L的2倍。
一种矩阵乘法电路,包括:所述的部分和产生模块PAdd、第二模数转换器、第五移位器以及第五加法器;
多个所述部分和产生模块PAdd分别与所述第二模数转换模块相连,所述第二模数转换模块的输出端与所述第五移位器相连,形成矩阵运算单元;
多个所述矩阵运算单元分别与所述第五加法器相连,形成矩阵单点运算的VVMUL模块。
进一步地,包括:VVMUL模块、第一操作数存储模块MEM_VA、第二操作数存储模块MEM_VB、结果存储模块MEM_VM以及控制逻辑模块;
所述VVMUL模块的输入端分别与所述第一操作数存储模块和第二操作数存储模块相连,所述VVMUL模块的输出端与所述结果存储模块;
所述控制逻辑模块分别与所述VVMUL模块、所述第一操作数存储模块、所述第二操作数存储模块以及所述结果存储模块相连,产生操作数存储模块地址、读使能信号、EN使能信号以及结果存储器的对应地址和使能信号。
进一步地,所述矩阵乘法电路包括多个VVMUL模块;
所述多个VVMUL模块并行连接,分别与所述第一操作数存储模块、第二操作数存储模块、所述结果存储模块以及所述控制逻辑模块相连,形成并行矩阵乘法电路。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例中提供的基于MOS晶体管的基本运算电路,通过利用基于MOS管衬底加载电压实现单管阈值可调基本运算电路,并以此来扩展搭建乘加电路,乘加电路的规模较大时,我们只需要增加单管基本运算阵列的规模,并不会像传统乘加电路那样需要线性增长电路规模,因此在面积和集成度上会有较大的优势。从而能够在扩展架构上,在不同电路层次上来进行并行度和运算速度的权衡设计,在同等面积下具备更好的运算速度和并行度,所以对各种实际应用具有较好的适用性。
附图说明
图1为本发明实施例提供的基于MOS晶体管的基本运算电路的结构示意图;
图2为本发明实施例提供的VG0的确定电路的结构示意图;、
图3为本发明实施例提供的基于图2的导通电流扫描图;
图4为本发明实施例提供的bit乘加电路的结构示意图;
图5为图4的数字化转化结构示意图;
图6为本发明实施例提供的初级向量乘加运算单元的结构示意图;
图7为本发明实施例提供的并行向量乘加运算电路的结构示意图;
图8为本发明实施例提供的串行向量乘加运算电路的结构示意图;
图9为本发明实施例提供的部分和产生模块PAdd的结构示意图;
图10为本发明实施例提供的部分和产生模块PAdd的数字化结构示意图;
图11为本发明实施例提供的二进制乘法电路结构示意图;
图12为本发明实施例提供的VVMUL模块的结构示意图;
图13为本发明实施例提供的矩阵运算电路的结构示意图;
图14为本发明实施例提供的矩阵运算并行电路的结构示意图。
具体实施方式
本申请实施例通过提供一种基于MOS晶体管的基本运算电路及其扩展电路,解决现有技术中CMOS数字电路占用面积达,影响扩展应用规模的技术问题。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细说明,应当理解本发明实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
实施例一
参见图1,一种基于MOS晶体管的基本运算电路,包括:MOS晶体管;
所述MOS晶体管的漏极连接电源端VDD,所述MOS晶体管的源极作为电路输出端;
所述MOS晶体管的栅极作为第一输入端,所述MOS晶体管的衬底作为第二输入端;
其中,所述第一输入端采用二值输入a:VDD/VG0;第二输入端采用二值输入b:VX1/VX2。
值得说明的是:MOS管作为一种4端器件,通过加在栅端的电压决定了源端与漏端之间有多少电流流过。具体来说,当栅上加的电压达到阈值电压VT时,MOS管道通使得电流流过。而体,B端,也即衬底是晶体管的第四个端口,它可以起到调节器件特性和参数的作用。在本申请中,充分利用了晶体管B端对晶体管阈值电压的影响来实现电路功能。
参见图2,为了确定VG0,基于PMOS管设计了具体的测试电路。
尺寸相同的两个PMOS管PM1管和PM2管,PM1管的B端接VX1而PM2管的B端接VX2。PM1管和PM2管的D端接VDD而S端接VSS,PM1管和PM2管的栅极都接VG。
所述VG0的获取方法为:
在所述MOS晶体管的衬底加载相对大值电压VX1,在所述MOS晶体管的栅极加载从VDD到VSS的扫描电压,获取所述MOS晶体管的第一导通电流图;
在所述MOS晶体管的衬底加载相对小值电压VX2,在所述MOS晶体管的栅极加载从VDD到VSS的扫描电压,获取所述MOS晶体管的第二导通电流图;
比较所述第一导通电流图和第二导通电流图,获取导通电流差值最大时的栅极电压,即为VG0。
图3,对VG进行电压扫描从VDD一直到VSS,则PM1管的导通电流为中间曲线所示,PM2管的导通电流如右上曲线所示。因此可以选得合适的区间,在该区间内PM1管的导通电流远大于PM2管,近似可以认为PM1管导通而PM2管截止,我们选取VG0电压使得PM1管电流值与PM2管电流值的比重最大。
PMOS管D端接VDD,S端接VSS。PMOS管的栅极作为输入a,PMOS管的B端作为输入b。a为二值输入VDD/VG0。b为二值输入VX1/VX2。对应b输入,只需要在输入之前将VDD映射为VX1,0映射为VX2。
则可以实现如下的逻辑运算,PMOS管实现运算真值表:
a | b | b映像 | Ids |
VDD | VX1 | VDD | 0 |
VDD | VX2 | 0 | 0 |
VG0 | VX1 | VDD | I |
VG0 | VX2 | 0 | 0 |
也即,利用单MOS管实现了一个二输入的逻辑运算,控制通断,并以电流的形式作为输出。
类似的,也可以采用NMOS管实现二输入的逻辑运算,如下NMOS管实现运算真值表:
a | b映像 | Ids |
0 | VDD | 0 |
0 | 0 | 0 |
VG0 | VDD | 0 |
VG0 | 0 | I |
实现的逻辑表达式如下表:
本实施例后续所述电路均采用PMOS管进行电路实现与扩展,采用PMOS管实现只是一种实施方式,本专利阐述的扩展电路并不只限于PMOS管构成,对于NMOS管实施方式亦可适用。
下面将就上述基本运算电路展开多种具体的扩展应用方案。
实施例二
参见图4,一种bit乘加运算电路,包括:多个所述的基本运算电路;
所述多个基本运算电路的漏极相连,多个所述多个基本运算电路的源极与电路输出端相连。
基于单MOS管二值逻辑运算电路得到的电流输出,可以进行扩展得到单bit乘加运算电路。每个MOS管实现基本运算电路中所述的二值逻辑运算并以电流的形式输出,多个MOS管的S端相连进行电流求和,因此可以实现如下逻辑关系:
我们对输入an进行求反变换的预处理,也即则上式就化成:
o=a0×b0+a1×b1+a2×b2+a3×b3
后续说明中,为了便于描述,均对an在输入前进行取反变换预处理,不再赘述。
参见图5,进一步地,基于以上论述的扩展功能电路,我们可以利用模数转换电路ADC将模拟电流值进行数字化处理,即可完成单bit乘加的数字运算实现。
即,所述bit乘加运算电路还包括:模数转换电路ADC;所述模数转换电路与所述电路输出端相连。
并具体以N=8为例即并联8个MOS管进行运算,实际上该电路可以并连较多的MOS管,完成大规模的单bit乘加数字运算,比如并联128个MOS管甚至1024个MOS管。本专利论述的方法适用于N取各种整数值的情况。
其中,所述bit乘加运算电路的逻辑运算关系为:an和bn都为单bit数。
实施例三
参见图6,本实施例还一种向量乘加运算电路,包括:所述的bit乘加运算电路、第一移位器以及第一加法器。
所述bit乘加运算电路的输出端与所述第一移位器相连,形成乘加运算单元;多个所述乘加运算单元的输出端分别与所述第一加法器相连,形成初级向量乘加运算电路。
其中,所述初级向量乘加运算电路的运算关系为:
具体来说,初级向量乘加运算电路结构完成如下运算:
图6中左边MOS管阵列第一行各MOS的栅极分别输入a0[0],a1[0],a2[0],...aN[0],与从各MOS管的B端输入的b0[0],b1[0],b2[0],..b.N[0]进行bit乘加运算,得到类似的第二行各MOS管栅极输入a0[1],a1[1],a2[1],...aN[1],仍然与b0[0],b1[0],b2[0],...bN[0]进行bit乘加运算,得到该行an[1]比an[0]在二进制数上高一位,因此最终的求和s01需要乘2;依次类推求得最终
图中×2n运算只需进行左移n位即可实现。
基于上述的初级向量乘加运算电路进行了并行扩展和串行扩展;下面具体说明。
参见图7,向量乘加运算电路包括:所述初级向量乘加运算电路、第二移位器以及第二加法器。
所述初级向量乘加运算电路的输出端与所述第二移位器相连,形成初级向量乘加运算单元;
多个所述初级向量乘加运算单元的输出端与所述加法器相连,形成并行向量乘加运算电路,实现输入个数和输入位宽可调的向量乘加运算结构。
采用上述初级向量乘加运算电路,可以实现只需要将初级向量乘加电路中的输入bn[0]替换成bn[l]即可完成Sl的运算。
利用式来求取最终的S。Sl与S的关系如下式
由于bn[1]比bn[0]在二进制数上高一位,因此需要对得到的s1进行乘2运算,依次类推对Sl进行×2l的运算,最终对各个Sl进行×2l(移位)后求和即可得到S。其中,每个子Sl的运算都是利用初级向量乘加运算电路得到,各个Sl的运算可以并行实现。
实施例四
下面基于上述的初级向量乘加运算电路进行了串行扩展。
参见图8,具体包括:所述初级向量乘加运算电路、第三移位器、第三加法器、寄存器、状态机以及数据输入模块。
所述初级向量乘加运算电路的输出端与所述第三移位器相连;
所述第三移位器的输出端以及所述寄存器的输出端分别与所述第三加法器的输入端相连;
所述第三加法器的输出端与所述寄存器的输出端相连;
所述状态机分别与所述第三移位器、所述第三加法器以及所述第三寄存器相连,实现串行移位和迭代运算结构;
所述数据输入模块分别与所述初级向量乘加运算电路的输入端以及所述状态机相连。
利用初级向量乘加电路,还可以构造串行扩展电路来完成求解S的向量乘加运算,具体步骤如下:
步骤1:初始状态下控制逻辑对寄存器R进行清零,之后控制输入数据输入an[t:0]和bn[0],利用初级向量乘加电路进行运算得到S0,控制逻辑控制对S0移位0,然后与当前R(为清零值)进行相加,并存入R中;
步骤2:控制逻辑控制输入an[t:0]和bn[1],利用初级向量乘加电路进行运算得到S1,控制逻辑控制对S1移位1,然后与当前R(S0)进行相加,得到结果(stmp=s1×2+s0)存入R中;
步骤3:类似步骤2进行迭代运算,直到完成所有Sl的运算,这时R中存储的值即为最终所求S值。
类似的我们可以采用多个所述初级向量乘加电路来提高并行度,还可以实现部分并行的扩展,只需利用串行电路进行改进,设定初级向量乘加电路的并行个数,同时进行多路Sl的运算和移位相加处理,最后再将各路电路得到的部分和相加即可完成最终S的求解运算。
实施例五
本实施例还提出了一种二进制乘法电路,包括:所述的bit乘加运算电路、第一模数转换器、第四移位器以及第四加法器。
参见图9,所述bit乘加运算电路的漏极连接使能信号EN,所述bit乘加运算电路的第一输入端连接A操作数,第二输入端连接B操作数,形成部分和产生模块PAdd;
参见图10,所述部分和产生模块的输出端与所述第一模数转换器相连,形成累加电流数字转换单元;
参见图11,所述累加电流数字转换单元的输出端与所述第四移位器相连,形成移位操作单元;多个所述移位操作单元的输出端分别与所述第四加法器相连,形成二进制数据A[n-1:0]*B[m-1:0]的乘法电路。
下面具体说明。
利用所述bit乘加运算电路可以构造出任意长度两个数据的相乘运算,具体实现方法如下:
设两个数据长度分别为nbit和mbit,二进制数据A[n-1:0]*B[m-1:0]的乘法算式可以表达为如下公式
A[n-1:0]*B[m-1:0]=A[n-1:0]*B[0]+21*A[n-1:0]*B[1]
+22*A[n-1:0]*B[2]+…+2m-2*A[n-1:0]*B[m-2]
+2m-1*A[n-1:0]*B[m-1]
要完成整个乘法运算可以分为2步:
第一步,计算A[n-1:0]和B中每一比特相乘后的部分积;
第二步,将所有的部分积经过移位后累加即可得到最终结果。
参见图9,具体来说,部分积的产生可以利用所述的bit乘加运算电路实现,以pmos管为例,并不只限于pmos管构成网络;对于nmos管实施方式亦可适用。网络由n个mos管构成,并且A[n-1]所接的mos管的宽长比W/L是A[n-2]的2倍,以此类推,以实现不同二进制权重的开关电流控制,每个mos管的栅极接nbit的A操作数,调节阈值用的衬底统一接同一个比特B,pmos管的源极统一接EN信号用于控制该行部分和运算是否使能,当每个pmos管的栅电压和衬底电压都接高电平时,pmos管漏极输出最大电流,最后每个pmos管漏极电流累加后输出至同一个Iout,得到模拟信号累加电流。
值得说明的是,实施例一~四的运算电路采用的乘加电路的输入在二进制权重上是相同的,因此对应的mos管的宽长比W/L是相同的,因此开关导通电流也是相同的。
相应的,本实施例采用的bit乘加电路由于输入是A[n-1:0],即其对应的二进制权重不同,因此对应的mos管的宽长比W/L也是不同的;一般需要利用W/L来控制开关导通电流与二进制权重对应。
参见图10,部分和产生模块PAdd可以直接用于产生n比特向量和1bit标量信号的乘累加操作,部分和产生模块PAdd已经输出了模拟累加电流值,为了得到相应的数字结果,只需要在输出端接入一个模数转换器即可。
参见图11,电路用来完成n*m比特乘法运算部分积的移位累加功能。通过m个结构相同的部分积产生模块可以产生m个部分积的模拟电流信号,该模拟信号需要先经过模数转换模块ADC转化为数字信号,然后通过不同位数的移位操作后进行m个数据的累加,最终得出向量A[n-1:0]*B[m-1:0]的相乘结果。
实施例六
参见图12,本实施例还提出一种矩阵乘法电路,包括:所述的部分和产生模块PAdd、第二模数转换器、第五移位器以及第五加法器。
多个所述部分和产生模块PAdd分别与所述第二模数转换模块相连,所述第二模数转换模块的输出端与所述第五移位器相连,形成矩阵运算单元;
多个所述矩阵运算单元分别与所述第五加法器相连,形成矩阵单点运算的VVMUL模块。
具体来说,设所要完成的矩阵乘法运算如下:
VA为i行j列,每个数据位nbit,VB为j+1行i+1列,每个数据为mbit,则结果矩阵VM为i+1行i+1列,其中每一个元素需要完成j+1个n*m数据的累加操作,其中结果矩阵VM中
参见图12,利用我们的新型bit乘加电路可以简单实现上述公式中一个乘法结果元素的乘累加操作,以求解VM(0,0)为例,形成VVMUL模块。
PAdd模块依旧为图1的部分和产生模块,每个VA*VB乘法均为一个n*m乘法,因此对应于m个行的部分积,不同VA*VB其结果可以先部分积累加,再统一移位后求和,这样只需要扩展PAdd模块的网络规模即可,对于公式3中j+1个n*m数据的累加,相当于将Padd的规模扩展为j+1*m个即可,因为VB为m行,因此所有乘法都会产生m个部分积,每一行PAdd模块扩展为j+1个,其输出电流直接累加。再通过ADC转换为数字信号后进行部分积移位累加最终得到VM(0,0)。
实际上,上述公式既可以作为求矩阵乘法运算中一个点结果的公式,同时该公式也可以表示矩阵操作中一类通用类型操作,只是用于乘累加的向量点根据操作不同顺序会有所不同。比如向量的卷积运算,卷积矩阵结果中的每个值也是类似公式的乘累加结果形成。又比如两个向量的点积运算,也可以归纳到公式的结构类型,因此,VVMUL模块可以适用任意2个向量数据的乘累加操作。
VVMUL模块给出的是矩阵运算中一个点的运算结构,也可以认为是2个单向量乘累加的实现电路,对于矩阵操作,需要依次把矩阵中所有点求解出来,因此需要一个操作控制模块对求解过程加以控制。
参见图13,基于VVMUL模块形成一个完整的矩阵运算电路,包括:VVMUL模块、第一操作数存储模块MEM_VA、第二操作数存储模块MEM_VB、结果存储模块MEM_VM以及控制逻辑模块。
所述VVMUL模块的输入端分别与所述第一操作数存储模块和第二操作数存储模块相连,所述VVMUL模块的输出端与所述结果存储模块;
所述控制逻辑模块分别与所述VVMUL模块、所述第一操作数存储模块、所述第二操作数存储模块以及所述结果存储模块相连,产生操作数存储模块地址、读使能信号、EN使能信号以及结果存储器的对应地址和使能信号。
实现完整矩阵运算的模块结构,可以完成一组向量VA和VB的乘累加运算,MEM_VA和MEM_VB为操作数存储模块,用来存放向量操作数,MEM_VM为结果存储模块,用于存放最后运算结果。Ctrl控制逻辑用来根据矩阵的操作类型产生相应的操作数存储模块的地址、读使能使得在每一轮运算中可以从MEM_VA,MEM_VB中给出合适的向量数据送给VVMUL,同时可以根据向量数据的数值产生相应行的EN使能信号送给VVMUL以及产生结果存储器的对应地址和使能信号,VVMUL运算结束后将结果数据写入Ctrl给定的MEM_VM相应地址中,一次操作结束,再开始下一轮同样类型的操作,直到整个矩阵运算完成。
参见图14,为了进一步加速矩阵运算,亦可以采用并行化展开的方式,将向量乘累加操进行并排展开,读写存储模块的位宽加倍即可实现速率的提升。
所述矩阵乘法电路包括多个VVMUL模块;所述多个VVMUL模块并行连接,分别与所述第一操作数存储模块、第二操作数存储模块、所述结果存储模块以及所述控制逻辑模块相连,形成并行矩阵乘法电路。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例中提供的基于MOS晶体管的基本运算电路,通过利用基于MOS管衬底加载电压实现单管阈值可调基本运算电路,并以此来扩展搭建乘加电路,乘加电路的规模较大时,我们只需要增加单管基本运算阵列的规模,并不会像传统乘加电路那样需要线性增长电路规模,因此在面积和集成度上会有较大的优势。从而能够在扩展架构上,在不同电路层次上来进行并行度和运算速度的权衡设计,在同等面积下具备更好的运算速度和并行度,所以对各种实际应用具有较好的适用性。
最后所应说明的是,以上具体实施方式仅用以说明本发明的技术方案而非限制,尽管参照实例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种基于MOS晶体管的基本运算电路,其特征在于,包括:MOS晶体管;
所述MOS晶体管的漏极连接电源端VDD,所述MOS晶体管的源极作为电路输出端;
所述MOS晶体管的栅极作为第一输入端,所述MOS晶体管的衬底作为第二输入端;
其中,所述第一输入端采用二值输入a:VDD/VG0;第二输入端采用二值输入b:VX1/VX2;
所述VG0的获取方法为:
在所述MOS晶体管的衬底加载相对大值电压VX1,在所述MOS晶体管的栅极加载从VDD到VSS的扫描电压,获取所述MOS晶体管的第一导通电流图;
在所述MOS晶体管的衬底加载相对小值电压VX2,在所述MOS晶体管的栅极加载从VDD到VSS的扫描电压,获取所述MOS晶体管的第二导通电流图;
比较所述第一导通电流图和第二导通电流图,获取导通电流差值最大时的栅极电压,即为VG0。
2.一种bit乘加运算电路,其特征在于,包括:多个如权利要求1所述的基本运算电路;
所述多个基本运算电路的漏极相连,多个所述多个基本运算电路的源极与电路输出端相连。
3.如权利要求2所述的bit乘加运算电路,其特征在于,所述bit乘加运算电路还包括:模数转换电路ADC;
所述模数转换电路与所述电路输出端相连;
其中,所述bit乘加运算电路的运算关系为:
4.一种向量乘加运算电路,其特征在于,包括:如权利要求3所述的bit乘加运算电路、第一移位器以及第一加法器;
所述bit乘加运算电路的输出端与所述第一移位器相连,形成乘加运算单元;
多个所述乘加运算单元的输出端分别与所述第一加法器相连,形成初级向量乘加运算电路;
其中,所述初级向量乘加运算电路的运算关系为:
5.如权利要求4所述的向量乘加运算电路,其特征在于,包括:所述初级向量乘加运算电路、第二移位器以及第二加法器;
所述初级向量乘加运算电路的输出端与所述第二移位器相连,形成初级向量乘加运算单元;
多个所述初级向量乘加运算单元的输出端与所述加法器相连,形成并行向量乘加运算电路,实现输入个数和输入位宽可调的向量乘加运算结构。
6.如权利要求4所述的向量乘加运算电路,其特征在于,包括:所述初级向量乘加运算电路、第三移位器、第三加法器、寄存器、状态机以及数据输入模块;
所述初级向量乘加运算电路的输出端与所述第三移位器相连;
所述第三移位器的输出端以及所述寄存器的输出端分别与所述第三加法器的输入端相连;
所述第三加法器的输出端与所述寄存器的输出端相连;
所述状态机分别与所述第三移位器、所述第三加法器以及所述第三寄存器相连,实现串行移位和迭代运算结构;
所述数据输入模块分别与所述初级向量乘加运算电路的输入端以及所述状态机相连。
7.一种二进制乘法电路,其特征在于,包括:如权利要求2所述的bit乘加运算电路、第一模数转换器、第四移位器以及第四加法器;
所述bit乘加运算电路的漏极连接使能信号EN,所述bit乘加运算电路的第一输入端连接A操作数,第二输入端连接B操作数,形成部分和产生模块PAdd;
所述部分和产生模块的输出端与所述第一模数转换器相连,形成累加电流数字转换单元;
所述累加电流数字转换单元的输出端与所述第四移位器相连,形成移位操作单元;
多个所述移位操作单元的输出端分别与所述第四加法器相连,形成二进制数据A[n-1:0]·B[m-1:0]的乘法电路;
其中,A[n-1]所接的mos管的宽长比W/L是A[n-2]所接的mos管的宽长比W/L的2倍。
8.一种矩阵乘法电路,其特征在于,包括:如权利要求7所述的部分和产生模块PAdd、第二模数转换器、第五移位器以及第五加法器;
多个所述部分和产生模块PAdd分别与所述第二模数转换模块相连,所述第二模数转换模块的输出端与所述第五移位器相连,形成矩阵运算单元;
多个所述矩阵运算单元分别与所述第五加法器相连,形成矩阵单点运算的VVMUL模块。
9.如权利要求8所述的矩阵乘法电路,其特征在于,包括:VVMUL模块、第一操作数存储模块MEM_VA、第二操作数存储模块MEM_VB、结果存储模块MEM_VM以及控制逻辑模块;
所述VVMUL模块的输入端分别与所述第一操作数存储模块和第二操作数存储模块相连,所述VVMUL模块的输出端与所述结果存储模块;
所述控制逻辑模块分别与所述VVMUL模块、所述第一操作数存储模块、所述第二操作数存储模块以及所述结果存储模块相连,产生操作数存储模块地址、读使能信号、EN使能信号以及结果存储器的对应地址和使能信号。
10.如权利要求9所述的矩阵乘法电路,其特征在于:所述矩阵乘法电路包括多个VVMUL模块;
所述多个VVMUL模块并行连接,分别与所述第一操作数存储模块、第二操作数存储模块、所述结果存储模块以及所述控制逻辑模块相连,形成并行矩阵乘法电路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910382396.3A CN110262771B (zh) | 2019-05-09 | 2019-05-09 | 一种基于mos晶体管的基本运算电路及其扩展电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910382396.3A CN110262771B (zh) | 2019-05-09 | 2019-05-09 | 一种基于mos晶体管的基本运算电路及其扩展电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110262771A true CN110262771A (zh) | 2019-09-20 |
CN110262771B CN110262771B (zh) | 2021-07-13 |
Family
ID=67914504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910382396.3A Active CN110262771B (zh) | 2019-05-09 | 2019-05-09 | 一种基于mos晶体管的基本运算电路及其扩展电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110262771B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118095387A (zh) * | 2024-04-29 | 2024-05-28 | 深圳市九天睿芯科技有限公司 | 实现层规范化函数的电路、处理装置、芯片及电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5256585A (en) * | 1991-04-10 | 1993-10-26 | Samsung Electronics Co., Ltd. | Process for fabricating a gate-drain overlapped semiconductor |
US5528058A (en) * | 1986-03-21 | 1996-06-18 | Advanced Power Technology, Inc. | IGBT device with platinum lifetime control and reduced gaw |
US20070018726A1 (en) * | 2005-07-20 | 2007-01-25 | Samsung Electronics Co., Ltd. | Differential circuit, output buffer circuit and semiconductor integrated circuit for a multi-power system |
CN101371359A (zh) * | 2005-10-28 | 2009-02-18 | Dsm解决方案股份有限公司 | 在硅和硅合金中使用互补结型场效应晶体管和mos晶体管的集成电路 |
CN103003940A (zh) * | 2009-10-12 | 2013-03-27 | 莫诺利特斯3D<sup>TM</sup>有限公司 | 具有半导体装置和结构的*** |
CN106158973A (zh) * | 2016-07-06 | 2016-11-23 | 电子科技大学 | 一种积累型dmos |
CN107466426A (zh) * | 2017-06-14 | 2017-12-12 | 深圳市汇顶科技股份有限公司 | 一种基于mos场效应晶体管的滤波电路及芯片 |
CN107481759A (zh) * | 2016-06-08 | 2017-12-15 | 中芯国际集成电路制造(上海)有限公司 | 一种外部双电压输入选择开关电路及电子装置 |
CN109461659A (zh) * | 2018-11-08 | 2019-03-12 | 中国科学院微电子研究所 | 碳化硅mosfet器件及其制备方法 |
CN109599387A (zh) * | 2017-09-30 | 2019-04-09 | 中芯国际集成电路制造(上海)有限公司 | 静电放电保护电路及其结构和工作方法 |
-
2019
- 2019-05-09 CN CN201910382396.3A patent/CN110262771B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5528058A (en) * | 1986-03-21 | 1996-06-18 | Advanced Power Technology, Inc. | IGBT device with platinum lifetime control and reduced gaw |
US5256585A (en) * | 1991-04-10 | 1993-10-26 | Samsung Electronics Co., Ltd. | Process for fabricating a gate-drain overlapped semiconductor |
US20070018726A1 (en) * | 2005-07-20 | 2007-01-25 | Samsung Electronics Co., Ltd. | Differential circuit, output buffer circuit and semiconductor integrated circuit for a multi-power system |
CN101371359A (zh) * | 2005-10-28 | 2009-02-18 | Dsm解决方案股份有限公司 | 在硅和硅合金中使用互补结型场效应晶体管和mos晶体管的集成电路 |
CN103003940A (zh) * | 2009-10-12 | 2013-03-27 | 莫诺利特斯3D<sup>TM</sup>有限公司 | 具有半导体装置和结构的*** |
CN107481759A (zh) * | 2016-06-08 | 2017-12-15 | 中芯国际集成电路制造(上海)有限公司 | 一种外部双电压输入选择开关电路及电子装置 |
CN106158973A (zh) * | 2016-07-06 | 2016-11-23 | 电子科技大学 | 一种积累型dmos |
CN107466426A (zh) * | 2017-06-14 | 2017-12-12 | 深圳市汇顶科技股份有限公司 | 一种基于mos场效应晶体管的滤波电路及芯片 |
CN109599387A (zh) * | 2017-09-30 | 2019-04-09 | 中芯国际集成电路制造(上海)有限公司 | 静电放电保护电路及其结构和工作方法 |
CN109461659A (zh) * | 2018-11-08 | 2019-03-12 | 中国科学院微电子研究所 | 碳化硅mosfet器件及其制备方法 |
Non-Patent Citations (2)
Title |
---|
Z.J WANG ET AL.: "An All Digital CMOS Serial Link Transceiver with 3x Over-sampling Based Data Recovery", 《2006 6TH INTERNATIONAL WORKSHOP ON SYSTEM ON CHIP FOR REAL TIME APPLICATIONS》 * |
郑天华 等: "一种深亚微米复杂芯片物理设计的时序收敛方法", 《微电子学与计算机》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118095387A (zh) * | 2024-04-29 | 2024-05-28 | 深圳市九天睿芯科技有限公司 | 实现层规范化函数的电路、处理装置、芯片及电子设备 |
CN118095387B (zh) * | 2024-04-29 | 2024-07-12 | 深圳市九天睿芯科技有限公司 | 实现层规范化函数的电路、处理装置、芯片及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110262771B (zh) | 2021-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110209375B (zh) | 一种基于radix-4编码和差分权重存储的乘累加电路 | |
KR0178878B1 (ko) | 반도체 메모리를 사용한 정보처리 시스템 | |
CN109344964A (zh) | 一种适用于神经网络的乘加计算方法和计算电路 | |
CN109359269A (zh) | 进行矩阵向量乘法运算的***及进行神经网络运算方法 | |
Schwarze et al. | Generalization in a large committee machine | |
KR102470924B1 (ko) | 인메모리 컴퓨팅 및 하이브리드 계산/저장 메모리 아키텍처를 위한 sram 기반 셀 | |
CN113257306A (zh) | 一种基于静态随机存取存储器的存算一体阵列及加速装置 | |
CN112698811A (zh) | 神经网络随机数发生器共享电路、共享方法、处理器芯片 | |
CN112989273A (zh) | 一种利用补码编码进行存内运算的方法 | |
US9933998B2 (en) | Methods and apparatuses for performing multiplication | |
CN110262771A (zh) | 一种基于mos晶体管的基本运算电路及其扩展电路 | |
Krishnan et al. | Hybrid RRAM/SRAM in-memory computing for robust DNN acceleration | |
CN213934855U (zh) | 一种基于随机计算的神经网络随机数发生器共享电路 | |
CN109669666A (zh) | 乘累加处理器 | |
Yu et al. | Self-amplifying current-mode multiplier design using a multi-memristor crossbar cell structure | |
CN115629734A (zh) | 并行向量乘加器的存内计算装置和电子设备 | |
Khodabandehloo et al. | A prototype CVNS distributed neural network using synapse-neuron modules | |
US20220334800A1 (en) | Exact stochastic computing multiplication in memory | |
Cai et al. | A low-computation-complexity, energy-efficient, and high-performance linear program solver using memristor crossbars | |
Huang et al. | An Ising Model-Based Annealing Processor With 1024 Fully Connected Spins for Combinatorial Optimization Problems | |
Youssefi et al. | Efficient mixed-signal synapse multipliers for multi-layer feed-forward neural networks | |
Wang et al. | SSR: A skeleton-based synthesis flow for hybrid processing-in-RRAM modes | |
CN116151171B (zh) | 一种基于并行回火的全连接伊辛模型退火处理电路 | |
Park et al. | CPR: Crossbar-grain Pruning for an RRAM-based Accelerator with Coordinate-based Weight Mapping | |
Numan | Integrated Circuit Blocks for In-Memory Computing |
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 |