TWI795967B - Configurable computing unit within memory - Google Patents
Configurable computing unit within memory Download PDFInfo
- Publication number
- TWI795967B TWI795967B TW110140162A TW110140162A TWI795967B TW I795967 B TWI795967 B TW I795967B TW 110140162 A TW110140162 A TW 110140162A TW 110140162 A TW110140162 A TW 110140162A TW I795967 B TWI795967 B TW I795967B
- Authority
- TW
- Taiwan
- Prior art keywords
- transistor
- resistor
- coupled
- input transistor
- input
- Prior art date
Links
- 230000008878 coupling Effects 0.000 claims description 11
- 238000010168 coupling process Methods 0.000 claims description 11
- 238000005859 coupling reaction Methods 0.000 claims description 11
- 239000013078 crystal Substances 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 16
- 238000009825 accumulation Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Landscapes
- Logic Circuits (AREA)
- Read Only Memory (AREA)
Abstract
Description
本發明是有關於一種運算單元,且特別是有關於一種記憶體內的可配置運算單元。 The present invention relates to a computing unit, and more particularly to a configurable computing unit in memory.
記憶體內運算(Computing in memory,CIM)技術被視為解決記憶體牆(memory wall)的有效技術之一,其利用在記憶體內運算來減少資料搬移的次數,可以大為提升運算速度至傳統架構的幾百甚至幾千倍以上。現今大型人工智慧(artificial intelligence,AI)網路(例如深度神經網路(Deep Neural Network,DNN))因為很大一部分的能量被消耗在資料的搬移中,但透過記憶體內運算的技術亦能大幅降低因資料搬移而虛耗掉的能量,可說是兼具增加運算能力及降低功耗的未來人工智慧潛力技術。 Computing in memory (CIM) technology is regarded as one of the effective technologies to solve the memory wall (memory wall). It uses computing in memory to reduce the number of data transfers, which can greatly increase the computing speed compared to traditional architectures. hundreds or even thousands of times. Today's large-scale artificial intelligence (AI) networks (such as Deep Neural Networks (DNN)) consume a large part of the energy in data transfer, but the technology of in-memory computing can also greatly Reducing the energy wasted due to data transfer can be said to be a potential technology for future artificial intelligence that can increase computing power and reduce power consumption.
記憶體內運算的潛力使得許多廠商及研究單位均投入並發表許多新穎的技術,大多都是將運算單元變更為類比型態,並判斷開啟數量的類比累加值作為資料與權重進行乘積累加運算(Multiply Accumulate,MAC)的結果,其中靜態隨機存取記憶體 (SRAM)大多利用將位元線(BL)充電後之放電時間來判斷乘積累加運算的值。舉例來說,如果開啟的胞元(cell)的數量越多,則放電速度越快;開啟的胞元的數量越少,放電速度則較慢。因此,在固定時間下量測位元線剩餘的電量後則可反推目前的乘積累加運算的值。 The potential of in-memory computing has led many manufacturers and research institutes to invest in and publish many novel technologies, most of which are to change the computing unit to an analog type, and judge the analog accumulation value of the number of openings as data and weight for multiplication and accumulation operation (Multiply Accumulate, MAC) results, where static random access memory (SRAM) mostly uses the discharge time after charging the bit line (BL) to judge the value of the multiply-accumulate operation. For example, if the number of turned-on cells is larger, the discharge speed is faster; the number of turned-on cells is smaller, and the discharge speed is slower. Therefore, after measuring the remaining power of the bit line at a fixed time, the value of the current multiply-accumulate operation can be reversed.
然而,因為位元線本身可儲存的電荷(charge)量並不多,當同時開啟的胞元數量太多時,則會因漏電速度太快,而在固定時間內不易判斷的問題,因此通常靜態隨機存取記憶體的記憶體內運算是無法同時開啟太多數量的資料通道(data channel)輸入資料來執行C記憶體內運算。如此一來,雖然靜態隨機存取記憶體操作速度極快,但平行度卻難以提升,且如果要改動記憶體胞元,可能會造成記憶體的良率下降等問題。 However, because the amount of charge that can be stored on the bit line itself is not much, when the number of cells turned on at the same time is too large, it will be difficult to judge in a fixed time due to the fast leakage speed. It is impossible to simultaneously open too many data channels (data channels) to input data in the memory operation of the SRAM to perform the operation in the C memory. In this way, although the operation speed of the SRAM is extremely fast, it is difficult to improve the parallelism, and if the memory cells are to be changed, the yield rate of the memory may decrease and other problems.
另一種新穎技術則是利用電阻式(resistive)記憶體(,例如電阻式記憶體(Resistive random-access memory,RRAM))進行記憶體內運算的乘積累加運算,利用流過不同的開啟數量等效阻值的電流作為乘積累加運算的值,此方式可使同時可開啟的資料通道的數量增加。然而,因胞元並聯後等效電阻將急速降低的因素(R/N ratio),當等效電阻降低到一定程度時,走線上的寄生阻值將會變為主導值,使得若要開啟足夠的數量,則胞元的阻值必須夠高,通常需達數十萬歐姆(ten k)等級,此對電阻式記憶體、磁阻式隨機存取記憶體(Magnetoresistive Random Access Memory,MRAM)等電阻式記憶體而言並不容易達到。因此,目 前在電阻式記憶體中進行記憶體內運算的技術仍處於數十資料通道的運算等級。 Another novel technology is to use resistive memory (such as resistive random-access memory (RRAM)) to carry out the multiply-accumulate operation of the operation in the memory, and use the equivalent resistance of different open numbers to The value of the current is used as the value of the multiplication and accumulation operation. This method can increase the number of data channels that can be opened at the same time. However, due to the fact that the equivalent resistance will decrease rapidly after the cells are connected in parallel (R/N ratio), when the equivalent resistance decreases to a certain level, the parasitic resistance on the trace will become the dominant value, so that if you want to turn on enough The number of cells, the resistance value of the cell must be high enough, usually up to hundreds of thousands of ohms (ten k) level, this is the case for resistive memory, magnetoresistive random access memory (Magnetoresistive Random Access Memory, MRAM), etc. Resistive memory is not easy to achieve. Therefore, the purpose The previous technology of in-memory computing in resistive memory is still at the computing level of dozens of data channels.
本發明提供一種記憶體內的可配置運算單元,可以在不改動記憶體陣列的情況下,達到乘積累加運算的功能。 The invention provides a configurable computing unit in the memory, which can achieve the function of multiplication and accumulation without changing the memory array.
本發明的記憶體內的可配置運算單元,包括第一輸入電晶體、第一權重電晶體、第一電阻器、第二輸入電晶體、第二權重電晶體、以及第二電阻器。第一輸入電晶體具有第一端、耦接第一輸入位元線的控制端、以及第二端。第一權重電晶體具有耦接第一輸入電晶體的第二端的第一端、接收第一權重位元的控制端、以及耦接第一讀出位元線的第二端。第一電阻器耦接於第一輸入電晶體的第一端與共同訊號線之間。第二輸入電晶體具有第一端、耦接第二輸入位元線的控制端、以及第二端。第二權重電晶體具有耦接第二輸入電晶體的第二端的第一端、接收第一權重位元的控制端、以及耦接第一讀出位元線的第二端。第二電阻器耦接於第二輸入電晶體的第一端與共同訊號線之間。第二電阻器的電阻值不同於第一電阻器的電阻值。 The configurable operation unit in the memory of the present invention includes a first input transistor, a first weight transistor, a first resistor, a second input transistor, a second weight transistor, and a second resistor. The first input transistor has a first terminal, a control terminal coupled to the first input bit line, and a second terminal. The first weight transistor has a first terminal coupled to the second terminal of the first input transistor, a control terminal receiving the first weight bit, and a second terminal coupled to the first readout bit line. The first resistor is coupled between the first terminal of the first input transistor and the common signal line. The second input transistor has a first terminal, a control terminal coupled to the second input bit line, and a second terminal. The second weight transistor has a first terminal coupled to the second terminal of the second input transistor, a control terminal receiving the first weight bit, and a second terminal coupled to the first readout bit line. The second resistor is coupled between the first terminal of the second input transistor and the common signal line. The resistance value of the second resistor is different from the resistance value of the first resistor.
本發明的記憶體內的可配置運算單元,包括:第一權重電晶體、至少一第一輸入電晶體、以及至少一第二輸入電晶體。第一權重電晶體具有耦接第一讀出位元線的第一端、接收第一權重位元的控制端、以及第二端。至少一第一輸入電晶體具有耦接 第一權重電晶體的第二端的第一端、耦接第一輸入位元線的控制端、以及耦接共同訊號線的第二端。至少一第二輸入電晶體具有耦接第一權重電晶體的第二端的一第一端、耦接一第二輸入位元線的一控制端、以及耦接共同訊號線的一第二端。至少一第一輸入電晶體的數量不同於至少一第二輸入電晶體的數量。 The configurable computing unit in the memory of the present invention includes: a first weight transistor, at least one first input transistor, and at least one second input transistor. The first weight transistor has a first terminal coupled to the first readout bit line, a control terminal receiving the first weight bit, and a second terminal. At least one first input transistor has coupling The first end of the second end of the first weight transistor, the control end coupled to the first input bit line, and the second end coupled to the common signal line. At least one second input transistor has a first terminal coupled to the second terminal of the first weight transistor, a control terminal coupled to a second input bit line, and a second terminal coupled to the common signal line. The quantity of the at least one first input transistor is different from the quantity of the at least one second input transistor.
基於上述,本發明實施例的可配置運算單元,透過串接權重電晶體、輸入電晶體及電阻器且設定不同的電阻器的電阻值,來達到乘積累加運算的功能。藉此,由於可配置運算單元是額外加入的功能區塊,因此可以在不改動記憶體陣列的情況下,實現資料位元與權重位元的乘積累加運算(MAC)。或者,透過串接權重電晶體與不同數量的輸入電晶體,來達到乘積累加運算的功能。 Based on the above, the configurable computing unit of the embodiment of the present invention realizes the function of multiplying and accumulating computing by connecting weight transistors, input transistors and resistors in series and setting the resistance values of different resistors. In this way, since the configurable operation unit is an additional functional block, the multiply-accumulate operation (MAC) of the data bit and the weight bit can be realized without changing the memory array. Alternatively, the function of multiply-accumulate operation can be achieved by connecting weight transistors in series with different numbers of input transistors.
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。 In order to make the above-mentioned features and advantages of the present invention more comprehensible, the following specific embodiments are described in detail together with the accompanying drawings.
10:記憶體子陣列 10: Memory subarray
100、200、300、400、500、600、700、800:可配置運算單元 100, 200, 300, 400, 500, 600, 700, 800: configurable computing unit
GBL<0>:全域位元線 GBL<0>: global bit line
GBLB<0>:全域反相位元線 GBLB<0>: Global Inverted Phase Element Line
HWL:管理字元線 HWL: Manage Character Lines
INBL_0~INBL_3:輸入位元線 INBL_0~INBL_3: input bit lines
LBL:本地位元線 LBL: local bit line
LBLB:本地反相位元線 LBLB: Local Inverted Phase Line
M0-M33、M0a-M0n、M1a-M1n、M2a-M2n、M3a-M3n、M4a-M4n、M5a-M5n、M6a-M6n、M7a-M7n、M8a-M8n、M9a-M9n、M20a-M20n、M21a-M21n、M22a-M22n、M23a-M23n、M24a-M24n、 M25a-M25n、T1~T6:電晶體 M0-M33, M0a-M0n, M1a-M1n, M2a-M2n, M3a-M3n, M4a-M4n, M5a-M5n, M6a-M6n, M7a-M7n, M8a-M8n, M9a-M9n, M20a-M20n, M21a- M21n, M22a-M22n, M23a-M23n, M24a-M24n, M25a-M25n, T1~T6: Transistor
R_RBL<0>:第一讀出位元線 R_RBL<0>: the first read bit line
R_RBL<1>:第二讀出位元線 R_RBL<1>: Second read bit line
R01、R02、R11~R14、R21、R22、R01a-R01n、R02a-R02n、R11a-R11n、R12a-R12n:電阻器 R01, R02, R11~R14, R21, R22, R01a-R01n, R02a-R02n, R11a-R11n, R12a-R12n: resistors
Rx:外接電阻器 Rx: external resistor
Vdd:高壓電源線 Vdd: high voltage power line
VSS:低壓電源線 VSS: low voltage power line
W0:第一權重位元 W0: the first weight bit
W1:第二權重位元 W1: the second weight bit
Wn:第n權重位元 Wn: the nth weight bit
WBC_1~WBC_n:權重記憶體胞元 WBC_1~WBC_n: weight memory cell
WL:字元線 WL: character line
圖1為依據本發明第一實施例的可配置運算單元耦接權重記憶胞元的電路示意圖。 FIG. 1 is a schematic circuit diagram of a configurable computing unit coupled to a weight memory cell according to a first embodiment of the present invention.
圖2為依據本發明第二實施例的可配置運算單元的電路示意圖。 FIG. 2 is a schematic circuit diagram of a configurable arithmetic unit according to a second embodiment of the present invention.
圖3為依據本發明第三實施例的可配置運算單元的電路示意 圖。 Fig. 3 is a schematic circuit diagram of a configurable arithmetic unit according to a third embodiment of the present invention picture.
圖4為依據本發明第四實施例的可配置運算單元的電路示意圖。 FIG. 4 is a schematic circuit diagram of a configurable arithmetic unit according to a fourth embodiment of the present invention.
圖5為依據本發明第五實施例的可配置運算單元耦接權重記憶胞元的電路示意圖。 FIG. 5 is a schematic circuit diagram of a configurable computing unit coupled to a weight memory cell according to a fifth embodiment of the present invention.
圖6為依據本發明第六實施例的可配置運算單元的電路示意圖。 FIG. 6 is a schematic circuit diagram of a configurable arithmetic unit according to a sixth embodiment of the present invention.
圖7為依據本發明第七實施例的可配置運算單元的電路示意圖。 FIG. 7 is a schematic circuit diagram of a configurable arithmetic unit according to a seventh embodiment of the present invention.
圖8為依據本發明第八實施例的可配置運算單元的電路示意圖。 FIG. 8 is a schematic circuit diagram of a configurable computing unit according to an eighth embodiment of the present invention.
本發明的概念是利用在傳統記憶體中加入記憶體內運算所需的功能區塊,使傳統記憶體由數位資料轉為可供CIM運算用之類比資料,並採用不同阻抗值的電阻器來達到不同運算用的運算總和電流,降低製程的漂移,也可增加運算平行度,使得本發明的技術能同時具有本身記憶體的快速操作,記憶體內運算的高平行度運算能力,極適合用於邊緣運算之推論使用。 The concept of the present invention is to use the functional blocks required for internal operations in the traditional memory to convert the traditional memory from digital data to analog data for CIM operations, and use resistors of different impedance values to achieve The calculation sum current for different calculations reduces the drift of the process and increases the parallelism of calculations, so that the technology of the present invention can simultaneously have the fast operation of its own memory, and the high parallelism computing capability of the internal memory operation, which is very suitable for edge Inferential use of operations.
換言之,本發明的概念是揭露一種用於人工智慧(artificial intelligence,AI)記憶體內運算(computing in memory)的架構,其架構可以由傳統記憶體的感測放大器(SA)輸出或是利用位元線(BL)來引出儲存資料至權重讀取器區塊,並結合提 出的運算胞元,透過輸入電晶體和權重電晶體同時開啟的運算胞元的總合電流作為運算值,達到記憶體內運算 乘積累加運算的運算功能。其中,本發明的概念只需增加運算胞元在記憶體胞元的周邊電路而不需改動記憶體單元的架構,來降低讀取漂移的風險。 In other words, the concept of the present invention is to disclose a framework for computing in memory (artificial intelligence, AI), which can be output by a sense amplifier (SA) of a traditional memory or by using a bit line (BL) to lead out the storage data to the weight reader block, combined with the provided The output operation cell is used as the operation value through the total current of the operation cell with the input transistor and the weight transistor turned on at the same time, so as to achieve the operation function of the internal operation multiplication and accumulation operation in the memory. Among them, the concept of the present invention only needs to increase the peripheral circuit of the operation cell in the memory cell without changing the structure of the memory cell, so as to reduce the risk of read drift.
圖1為依據本發明第一實施例的可配置運算單元耦接權重記憶胞元的電路示意圖。請參照圖1,在本實施例中,記憶體子陣列10及可配置運算單元100是配置於記憶體(未繪示)內,並且可配置運算單元100至少包括電晶體M0-M5、電阻器R01(對應第一電阻器)及電阻器R11(對應第二電阻器)。
FIG. 1 is a schematic circuit diagram of a configurable computing unit coupled to a weight memory cell according to a first embodiment of the present invention. Please refer to FIG. 1. In this embodiment, the
電晶體M2(對應第一輸入電晶體)具有第一端、耦接多條輸入位元線(如INBL_0~INBL_3)中的一條輸入位元線(在此以輸入位元線INBL_2為例,對應第一輸入位元線)的控制端、以及第二端。電晶體M3(對應第一權重電晶體)具有耦接電晶體M2的第二端的第一端、接收來自記憶體子陣列10的第一權重位元W0的控制端、以及耦接第一讀出位元線R_RBL<0>的第二端,其中第一讀出位元線R_RBL<0>透過外接電阻器Rx耦接至高壓電源線Vdd。電阻器R01耦接於電晶體M2的第一端與共同訊號線之間,其中共同訊號線依據操作可作為全域反相位元線GBLB<0>或低壓電源線VSS中的一者,此依據電路設計而定。
Transistor M2 (corresponding to the first input transistor) has a first end coupled to one input bit line (such as INBL_0~INBL_3) of a plurality of input bit lines (for example, input bit line INBL_2 here, corresponding to The control end of the first input bit line), and the second end. The transistor M3 (corresponding to the first weight transistor) has a first terminal coupled to the second terminal of the transistor M2, a control terminal receiving the first weight bit W0 from the
電晶體M5(對應第二輸入電晶體)具有第一端、耦接多條輸入位元線(如INBL_0~INBL_3)中的另一條輸入位元線(在此以輸入位元線INBL_3為例,對應第二輸入位元線)的控制端、 以及第二端。電晶體M4(對應第二權重電晶體)具有耦接電晶體M5的第二端的第一端、接收第一權重位元W0的控制端、以及耦接第一讀出位元線R_RBL<0>的第二端。電阻器R11耦接於電晶體M5的第一端與共同訊號線(如GBLB<0>/VSS所示)之間。 Transistor M5 (corresponding to the second input transistor) has a first end coupled to another input bit line (in this case, input bit line INBL_3 is taken as an example) among a plurality of input bit lines (such as INBL_0~INBL_3). corresponding to the control terminal of the second input bit line), and the second end. The transistor M4 (corresponding to the second weight transistor) has a first end coupled to the second end of the transistor M5, a control end receiving the first weight bit W0, and a first readout bit line R_RBL<0> the second end of . The resistor R11 is coupled between the first end of the transistor M5 and the common signal line (shown as GBLB<0>/VSS).
在本實施例中,電阻器R11的電阻值不同於電阻器R01的電阻值,因此流經第一讀出位元線R_RBL<0>的總和電流是反應第一權重位元W0與輸入位元線INBL_2所傳送的位元(亦即邏輯準位)的權重乘積與第一權重位元W0與輸入位元線INBL_3所傳送的位元(亦即邏輯準位)的權重乘積的總和。依據上述,可配置運算單元100是額外加入的功能區塊,因此可以在不改動記憶體陣列的情況下,實現2個資料位元與1個權重位元的乘積累加運算(MAC)。
In this embodiment, the resistance value of the resistor R11 is different from the resistance value of the resistor R01, so the total current flowing through the first read bit line R_RBL<0> reflects the first weight bit W0 and the input bit The sum of the weighted product of the bits (ie, logic levels) transmitted by the line INBL_2 and the weighted product of the first weighted bit W0 and the bits (ie, logic levels) transmitted by the input bit line INBL_3 . According to the above, the
在本發明實施例中,電阻器R11的電阻值可以為電阻器R01的電阻值的2的n次方倍,其中n為大於等於1的正整數。例如,電阻器R11的電阻值可以為電阻器R01的電阻值的2倍,但是本發明實施例不以此為限。 In the embodiment of the present invention, the resistance value of the resistor R11 may be n times of the resistance value of the resistor R01 , where n is a positive integer greater than or equal to 1. For example, the resistance value of the resistor R11 may be twice the resistance value of the resistor R01, but this embodiment of the present invention is not limited thereto.
在本實施例中,電晶體M0及M2基於管理字元線HWL控制記憶體子陣列10是否被寫入,亦即決定全域位元線GBL<0>所傳送的位元是否寫人記憶體子陣列10中的權重記憶體胞元(如WBC_1~WBC_n)。進一步來說,電晶體M0具有耦接全域位元線GBL<0>的第一端、耦接管理字元線HWL的控制端、以及耦接記憶體子陣列10的本地位元線LBL的第二端。電晶體M1具有耦接
作為全域反相位元線GBLB<0>的共同訊號線的第一端、耦接管理字元線HWL的控制端、以及耦接記憶體子陣列10的本地反相位元線LBLB的第二端。
In this embodiment, the transistors M0 and M2 control whether the
在本實施例中,記憶體子陣列10例如包括多個權重記憶體胞元WBC_1~WBC_n,其中權重記憶體胞元例如為靜態隨機存取記憶體(Static Random Access Memory,SRAM),但本發明實施例不此為限。在本實施例中,權重記憶體胞元(以WBC_1為例)例如包括電晶體T1~T6。電晶體T1具有耦接本地位元線LBL的第一端、耦接字元線WL的控制端、以及第二端。電晶體T2具有耦接高壓電源線Vdd的第一端、控制端、以及耦接電晶體T1的第二端的第二端。電晶體T3具有耦接電晶體T1的第二端的第一端、耦接電晶體T2的控制端的控制端、以及耦接接地線的第二端。
In this embodiment, the
電晶體T4具有耦接高壓電源線Vdd的第一端、耦接電晶體T1的第二端的控制端、以及耦接電晶體T2的控制端的第二端。電晶體T5具有耦接電晶體T2的控制端的第一端、耦接電晶體T1的第二端的控制端、以及耦接接地線的第二端。電晶體T6具有耦接電晶體T2的控制端的第一端、耦接字元線WL的控制端、以及耦接本地反相位元線LBLB的第二端。 The transistor T4 has a first terminal coupled to the high voltage power line Vdd, a control terminal coupled to the second terminal of the transistor T1 , and a second terminal coupled to the control terminal of the transistor T2 . The transistor T5 has a first terminal coupled to the control terminal of the transistor T2 , a control terminal coupled to the second terminal of the transistor T1 , and a second terminal coupled to the ground line. The transistor T6 has a first terminal coupled to the control terminal of the transistor T2 , a control terminal coupled to the word line WL, and a second terminal coupled to the local inversion cell line LBLB.
圖2為依據本發明第二實施例的可配置運算單元的電路示意圖。請參照圖1及圖2,其中相同或相似的元件使用相同或相似的標號,可配置運算單元200大致相同於可配置運算單元100,其不同之處在於可配置運算單元200更包括電晶體M6-M9、電阻
器R02(對應第三電阻器)及電阻器R12(對應第四電阻器)。
FIG. 2 is a schematic circuit diagram of a configurable arithmetic unit according to a second embodiment of the present invention. Please refer to FIG. 1 and FIG. 2, wherein the same or similar components use the same or similar labels, the
電晶體M6(對應第三輸入電晶體)具有第一端、耦接多條輸入位元線(如INBL_0~INBL_3)中的再另一條輸入位元線(在此以輸入位元線INBL_0為例,對應第三輸入位元線)的控制端、以及第二端。電晶體M7(對應第三權重電晶體)具有耦接電晶體M6的第二端的第一端、接收第一權重位元W0的控制端、以及耦接第二讀出位元線R_RBL<1>的第二端。電阻器R02耦接於電晶體M6的第一端與共同訊號線(如GBLB<0>/VSS所示)之間。 Transistor M6 (corresponding to the third input transistor) has a first end coupled to another input bit line (input bit line INBL_0 is taken as an example here) among a plurality of input bit lines (such as INBL_0~INBL_3). , corresponding to the control terminal and the second terminal of the third input bit line). The transistor M7 (corresponding to the third weight transistor) has a first end coupled to the second end of the transistor M6, a control end receiving the first weight bit W0, and a second readout bit line R_RBL<1> the second end of . The resistor R02 is coupled between the first end of the transistor M6 and the common signal line (shown as GBLB<0>/VSS).
電晶體M9(對應第四輸入電晶體)具有第一端、耦接多條輸入位元線(如INBL_0~INBL_3)中的更另一條輸入位元線(在此以輸入位元線INBL_1為例,對應第四輸入位元線)的控制端、以及第二端。電晶體M8(對應第四權重電晶體)具有耦接電晶體M9的第二端的第一端、接收第一權重位元W0的控制端、以及耦接第二讀出位元線R_RBL<1>的第二端。電阻器R12耦接於電晶體M9的第一端與共同訊號線(如GBLB<0>/VSS所示)之間。 Transistor M9 (corresponding to the fourth input transistor) has a first end coupled to another input bit line (input bit line INBL_1 is taken as an example here) among a plurality of input bit lines (such as INBL_0~INBL_3). , corresponding to the control terminal and the second terminal of the fourth input bit line). The transistor M8 (corresponding to the fourth weight transistor) has a first end coupled to the second end of the transistor M9, a control end receiving the first weight bit W0, and a second readout bit line R_RBL<1> the second end of . The resistor R12 is coupled between the first end of the transistor M9 and the common signal line (shown as GBLB<0>/VSS).
其中,電阻器R12的電阻值不同於電阻器R02的電阻值,並且可配置運算單元200可實現4個資料位元與1個權重位元的乘積累加運算(MAC)。在發明實施例中,電阻器R11的電阻值為電阻器R01的電阻值的2的n次方倍,電阻器R12的電阻值為電阻器R02的電阻值的2的n次方倍,n為大於等於1的正整數。電阻器R11的電阻值可以相同於電阻器R12的電阻值,並且電阻器R02的電阻值可以相同於電阻器R02的電阻值。
Wherein, the resistance value of the resistor R12 is different from the resistance value of the resistor R02, and the
圖3為依據本發明第三實施例的可配置運算單元的電路示意圖。請參照圖2及圖3,其中相同或相似的元件使用相同或相似的標號,可配置運算單元300大致相同於可配置運算單元200,其不同之處在於可配置運算單元300更包括電晶體M10-M19、電阻器R13(對應第五電阻器)、電阻器R21(對應第六電阻器)、電阻器R14(對應第七電阻器)及電阻器R22(對應第八電阻器)。其中電晶體M10及M11可參照電晶體M0及M1,在此則不再贅述。
FIG. 3 is a schematic circuit diagram of a configurable arithmetic unit according to a third embodiment of the present invention. Please refer to FIG. 2 and FIG. 3, wherein the same or similar components use the same or similar labels, the
電晶體M12(對應第五輸入電晶體)具有第一端、耦接多條輸入位元線(如INBL_0~INBL_3)中的一條輸入位元線(在此以輸入位元線INBL_2為例,對應第一輸入位元線)的控制端、以及第二端。電晶體M13(對應第五權重電晶體)具有耦接電晶體M12的第二端的第一端、接收來自記憶體子陣列10的第二權重位元W1的控制端、以及耦接第一讀出位元線R_RBL<0>的第二端。電阻器R13耦接於第一輸入電晶體M12的第一端與共同訊號線(如GBLB<0>/VSS所示)之間。
Transistor M12 (corresponding to the fifth input transistor) has a first end coupled to one input bit line (such as INBL_0~INBL_3) of a plurality of input bit lines (for example, input bit line INBL_2 here, corresponding to The control end of the first input bit line), and the second end. The transistor M13 (corresponding to the fifth weight transistor) has a first end coupled to the second end of the transistor M12, a control end receiving the second weight bit W1 from the
電晶體M15(對應第六輸入電晶體)具有第一端、耦接多條輸入位元線(如INBL_0~INBL_3)中的另一條輸入位元線(在此以輸入位元線INBL_3為例,對應第二輸入位元線)的控制端、以及第二端。電晶體M14(對應第六權重電晶體)具有耦接電晶體M15的第二端的第一端、接收第二權重位元W1的控制端、以及耦接第一讀出位元線R_RBL<0>的第二端。電阻器R21耦接於 第六輸入電晶體M15的第一端與共同訊號線(如GBLB<0>/VSS所示)之間。其中,電阻器R21的電阻值不同於電阻器R13的電阻值,但電阻器R13的電阻值可以相同於電阻器R11的電阻值。 The transistor M15 (corresponding to the sixth input transistor) has a first end coupled to another input bit line (for example, the input bit line INBL_3 is used here as an example) among the plurality of input bit lines (such as INBL_0~INBL_3). Corresponding to the control terminal of the second input bit line) and the second terminal. The transistor M14 (corresponding to the sixth weight transistor) has a first end coupled to the second end of the transistor M15, a control end receiving the second weight bit W1, and a first readout bit line R_RBL<0> the second end of . Resistor R21 is coupled to the Between the first end of the sixth input transistor M15 and the common signal line (shown as GBLB<0>/VSS). Wherein, the resistance value of the resistor R21 is different from the resistance value of the resistor R13, but the resistance value of the resistor R13 may be the same as that of the resistor R11.
電晶體M16(對應第七輸入電晶體)具有第一端、耦接多條輸入位元線(如INBL_0~INBL_3)中的再另一條輸入位元線(在此以輸入位元線INBL_0為例,對應第三輸入位元線)的控制端、以及第二端。電晶體M17(對應第七權重電晶體)具有耦接電晶體M16的第二端的第一端、接收第二權重位元W1的控制端、以及耦接第二讀出位元線R_RBL<1>的第二端。電阻器R14耦接於電晶體M16的第一端與共同訊號線(如GBLB<0>/VSS所示)之間。 Transistor M16 (corresponding to the seventh input transistor) has a first end coupled to another input bit line (input bit line INBL_0 is taken as an example here) among a plurality of input bit lines (such as INBL_0~INBL_3). , corresponding to the control terminal and the second terminal of the third input bit line). The transistor M17 (corresponding to the seventh weight transistor) has a first end coupled to the second end of the transistor M16, a control end receiving the second weight bit W1, and a second readout bit line R_RBL<1> the second end of . The resistor R14 is coupled between the first end of the transistor M16 and the common signal line (shown as GBLB<0>/VSS).
電晶體M19(對應第八輸入電晶體)具有第一端、耦接多條輸入位元線(如INBL_0~INBL_3)中的更另一條輸入位元線(在此以輸入位元線INBL_1為例,對應第四輸入位元線)的控制端、以及第二端。電晶體M18(對應第八權重電晶體)具有耦接電晶體M19的第二端的第一端、接收第二權重位元W1的控制端、以及耦接第二讀出位元線R_RBL<1>的第二端。電阻器R22耦接於電晶體M19的第一端與共同訊號線(如GBLB<0>/VSS所示)之間。其中,電阻器R22的電阻值不同於電阻器R14的電阻值,但電阻器R14的電阻值可以相同於電阻器R12的電阻值。 Transistor M19 (corresponding to the eighth input transistor) has a first end coupled to another input bit line (input bit line INBL_1 is taken as an example here) among a plurality of input bit lines (such as INBL_0~INBL_3) , corresponding to the control terminal and the second terminal of the fourth input bit line). The transistor M18 (corresponding to the eighth weight transistor) has a first end coupled to the second end of the transistor M19, a control end receiving the second weight bit W1, and a second readout bit line R_RBL<1> the second end of . The resistor R22 is coupled between the first terminal of the transistor M19 and the common signal line (shown as GBLB<0>/VSS). Wherein, the resistance value of the resistor R22 is different from that of the resistor R14, but the resistance value of the resistor R14 may be the same as that of the resistor R12.
依據上述,可配置運算單元200可實現4個資料位元與2個權重位元的乘積累加運算(MAC),亦即第一讀出位元線
R_RBL<0>及第二讀出位元線R_RBL<1>的每一者是兩次乘積累加運算的累加。
According to the above, the
在本發明實施例中,電阻器R12的電阻值不同於電阻器R02的電阻值,並且在發明實施例中,電阻器R11的電阻值為電阻器R01的電阻值的2的n次方倍,電阻器R12的電阻值為電阻器R02的電阻值的2的n次方倍,n為大於等於1的正整數。電阻器R11的電阻值可以相同於電阻器R12的電阻值,並且電阻器R02的電阻值可以相同於電阻器R02的電阻值。 In the embodiment of the present invention, the resistance value of the resistor R12 is different from the resistance value of the resistor R02, and in the embodiment of the invention, the resistance value of the resistor R11 is n times the resistance value of the resistor R01, The resistance value of the resistor R12 is n times the resistance value of the resistor R02 to the power of 2, and n is a positive integer greater than or equal to 1. The resistance value of the resistor R11 may be the same as that of the resistor R12, and the resistance value of the resistor R02 may be the same as that of the resistor R02.
在本發明實施例中,電阻器R21的電阻值為電阻器R13的電阻值的2的n次方倍,且電阻器R22的電阻值為電阻器R14的電阻值的2的n次方倍。並且,電阻器R13的電阻值為電阻器R01的電阻值的2的n次方倍,電阻器R21的電阻值為電阻器R11的電阻值的2的n次方倍,電阻器R14的電阻值為電阻器R02的電阻值的2的n次方倍,且電阻器R22的電阻值為電阻器R12的電阻值的2的n次方倍。 In the embodiment of the present invention, the resistance value of the resistor R21 is n times the resistance value of the resistor R13, and the resistance value of the resistor R22 is n times the resistance value of the resistor R14. And, the resistance value of the resistor R13 is n times of the resistance value of the resistor R01, the resistance value of the resistor R21 is the n times of the resistance value of the resistor R11, and the resistance value of the resistor R14 is The resistance value of the resistor R02 is the nth power of 2, and the resistance value of the resistor R22 is the nth power of 2 the resistance value of the resistor R12.
在本發明實施例中,電阻器R11的電阻值與第一電阻器R01的電阻值的比值可以不同於電阻器R21的電阻值與電阻器R13的電阻值的比值,並且電阻器R12的電阻值與電阻器R02的電阻值的比值可以不同於電阻器R22的電阻值與電阻器R14的電阻值的比值。 In the embodiment of the present invention, the ratio of the resistance value of the resistor R11 to the resistance value of the first resistor R01 may be different from the ratio of the resistance value of the resistor R21 to the resistance value of the resistor R13, and the resistance value of the resistor R12 The ratio to the resistance value of resistor R02 may be different from the ratio of the resistance value of resistor R22 to the resistance value of resistor R14.
圖4為依據本發明第四實施例的可配置運算單元的電路示意圖。請參照圖2及圖4,在本實施例中,可配置運算單元400
至少包括電晶體M0a-M0n、M1a-M1n、M2a-M2n、M3a-M3n、M4a-M4n、M5a-M5n、M6a-M6n、M7a-M7n、M8a-M8n、M9a-M9n、電阻器R01a-R01n、R02a-R02n、R11a-R11n、R12a-R12n。可配置運算單元400可視為多個可配置運算單元200的組合,亦即電晶體M0a-M0n、M1a-M1n、M2a-M2n、M3a-M3n、M4a-M4n、M5a-M5n、M6a-M6n、M7a-M7n、M8a-M8n、M9a-M9n、電阻器R01a-R01n、R02a-R02n、R11a-R11n、R12a-R12n的耦接關係可參照圖2所示電晶體M0~M9、電阻器R01、02、R11、12的的耦接關係,在此則不再贅述。
FIG. 4 is a schematic circuit diagram of a configurable arithmetic unit according to a fourth embodiment of the present invention. Please refer to FIG. 2 and FIG. 4, in this embodiment, the
在本實施例中,可配置運算單元400可實現4個資料位元與n個權重位元(亦即第一權重位元W0至第n權重位元Wn)的乘積累加運算(MAC),亦即第一讀出位元線R_RBL<0>及第二讀出位元線R_RBL<1>的每一者是n次乘積累加運算的累加。並且,每一行可以是不同的權重組合,例如電阻器R11a的電阻值與可以不同於電阻器R11b的電阻值及/或電阻器R01a的電阻值與可以不同於電阻器R01b的電阻值。
In this embodiment, the
圖5為依據本發明第五實施例的可配置運算單元耦接權重記憶胞元的電路示意圖。請參照圖1及圖5,其中相同或相似的元件使用相同或相似的標號。在本實施例中記憶體內的可配置運算單元500包括電晶體M0、M1、M20、兩個M21、以及M22,電晶體M0、M1的耦接關係可參照圖1所示,在此則不再贅述。
FIG. 5 is a schematic circuit diagram of a configurable computing unit coupled to a weight memory cell according to a fifth embodiment of the present invention. Please refer to FIG. 1 and FIG. 5 , wherein the same or similar components use the same or similar symbols. In this embodiment, the configurable
電晶體M20(對應第一權重電晶體)具有耦接第一讀出 位元線R_RBL<0>的第一端、接收第一權重位元W0的控制端、以及第二端。電晶體M22(對應第一輸入電晶體)具有耦接電晶體M20的第二端的第一端、耦接多條輸入位元線(如INBL_0~INBL_3)中的一條輸入位元線(在此以輸入位元線INBL_2為例,對應第一輸入位元線)的控制端、以及耦接共同訊號線(如GBLB<0>/VSS所示)的第二端。每個電晶體M21(對應第二輸入電晶體)具有耦接電晶體M20的第二端的第一端、耦接多條輸入位元線(如INBL_0~INBL_3)中的另一條輸入位元線(在此以輸入位元線INBL_3為例,對應第二輸入位元線)的控制端、以及耦接共同訊號線(如GBLB<0>/VSS所示)的第二端。 Transistor M20 (corresponding to the first weight transistor) has a coupling to the first readout A first end of the bit line R_RBL<0>, a control end receiving the first weight bit W0, and a second end. The transistor M22 (corresponding to the first input transistor) has a first end coupled to the second end of the transistor M20, and coupled to one input bit line (herein referred to as The input bit line INBL_2 is taken as an example, corresponding to the control end of the first input bit line) and the second end coupled to the common signal line (shown as GBLB<0>/VSS). Each transistor M21 (corresponding to the second input transistor) has a first end coupled to the second end of the transistor M20, and coupled to another input bit line (such as INBL_0~INBL_3) among the plurality of input bit lines (such as INBL_0~INBL_3). Taking the input bit line INBL_3 as an example here, it corresponds to the control end of the second input bit line) and the second end coupled to the common signal line (shown as GBLB<0>/VSS).
在本實施例中,電晶體M22的數量不同於電晶體M21的數量,因此流經第一讀出位元線R_RBL<0>的總和電流是反應第一權重位元W0與輸入位元線INBL_2所傳送的位元(亦即邏輯準位)的權重乘積與第一權重位元W0與輸入位元線INBL_3所傳送的位元(亦即邏輯準位)的權重乘積的總和。 In this embodiment, the number of transistors M22 is different from the number of transistors M21, so the total current flowing through the first read bit line R_RBL<0> reflects the first weight bit W0 and the input bit line INBL_2 The sum of the weighted product of the transmitted bits (ie, logic levels) and the weighted product of the first weighted bit W0 and the transmitted bits (ie, logic levels) of the input bit line INBL_3 .
在本實施例中,電晶體M22的數量是以1個為例,電晶體M21的數量是以2個為例,但在其他實施例中,電晶體M22的數量可以是2個或其他數量,電晶體M21的數量可以是4個或其他數量。並且,電晶體M21的數量可以是電晶體M22的數量的2的n次方倍。 In this embodiment, the quantity of the transistor M22 is 1, and the quantity of the transistor M21 is 2, but in other embodiments, the quantity of the transistor M22 can be 2 or other numbers, The number of transistors M21 can be 4 or other numbers. In addition, the number of transistors M21 may be 2 to the nth power of the number of transistors M22.
圖6為依據本發明第六實施例的可配置運算單元的電路示意圖。請參照圖5及圖6,其中相同或相似的元件使用相同或相
似的標號,可配置運算單元600大致相同於可配置運算單元500,其不同之處在於可配置運算單元600更包括電晶體M23、兩個M24、以及M25。
FIG. 6 is a schematic circuit diagram of a configurable arithmetic unit according to a sixth embodiment of the present invention. Please refer to Figure 5 and Figure 6, where the same or similar components use the same or similar
With the same reference numerals, the
電晶體M23(對應第二權重電晶體)具有耦接第二讀出位元線R_RBL<1>的第一端、接收第一權重位元W0的控制端、以及第二端。電晶體M25(對應第三輸入電晶體)具有耦接電晶體M23的第二端的第一端、耦接多條輸入位元線(如INBL_0~INBL_3)中的再另一條輸入位元線(在此以輸入位元線INBL_0為例,對應第三輸入位元線)的控制端、以及耦接共同訊號線(如GBLB<0>/VSS所示)的第二端。電晶體M24(對應第四輸入電晶體)具有耦接電晶體M23的第二端的第一端、耦接多條輸入位元線(如INBL_0~INBL_3)中的更另一條輸入位元線(在此以輸入位元線INBL_1為例,對應第四輸入位元線)的控制端、以及耦接共同訊號線(如GBLB<0>/VSS所示)的第二端。 The transistor M23 (corresponding to the second weight transistor) has a first terminal coupled to the second readout bit line R_RBL<1>, a control terminal receiving the first weight bit W0, and a second terminal. The transistor M25 (corresponding to the third input transistor) has a first end coupled to the second end of the transistor M23, and coupled to another input bit line (such as INBL_0~INBL_3) among the plurality of input bit lines (INBL_0~INBL_3). Taking the input bit line INBL_0 as an example, it corresponds to the control end of the third input bit line) and the second end coupled to the common signal line (shown as GBLB<0>/VSS). The transistor M24 (corresponding to the fourth input transistor) has a first end coupled to the second end of the transistor M23, and coupled to another input bit line (such as INBL_0~INBL_3) among the plurality of input bit lines (in Taking the input bit line INBL_1 as an example, it corresponds to the control end of the fourth input bit line) and the second end coupled to the common signal line (shown as GBLB<0>/VSS).
在本實施例中,電晶體M25的數量不同於電晶體M24的數量。並且,電晶體M25的數量是以1個為例,電晶體M24的數量是以2個為例,但在其他實施例中,電晶體M25的數量可以是2個或其他數量,電晶體M24的數量可以是4個或其他數量。在本發明實施例中,電晶體M24的數量可以是電晶體M25的數量的2的n次方倍。 In this embodiment, the number of transistors M25 is different from the number of transistors M24. And, the quantity of the transistor M25 is 1 as an example, and the quantity of the transistor M24 is 2 as an example, but in other embodiments, the quantity of the transistor M25 can be 2 or other numbers, and the quantity of the transistor M24 Quantity can be 4 or other quantity. In the embodiment of the present invention, the number of transistors M24 may be n times the number of transistors M25.
圖7為依據本發明第七實施例的可配置運算單元的電路示意圖。請參照圖6及圖7,其中相同或相似的元件使用相同或相
似的標號,可配置運算單元700大致相同於可配置運算單元600,其不同之處在於可配置運算單元700更包括電晶體M26、M27、M28、四個M29、兩個M30、M31、四個M32、兩個M33。
FIG. 7 is a schematic circuit diagram of a configurable arithmetic unit according to a seventh embodiment of the present invention. Please refer to Figure 6 and Figure 7, where the same or similar components use the same or similar
The
電晶體M28(對應第三權重電晶體)具有耦接第一讀出位元線R_RBL<0>的第一端、接收第二權重位元W1的控制端、以及第二端。每個電晶體M30(對應第五輸入電晶體)具有耦接電晶體M28的第二端的第一端、耦接多條輸入位元線(如INBL_0~INBL_3)中的一條輸入位元線(在此以輸入位元線INBL_2為例,對應第一輸入位元線)的控制端、以及耦接共同訊號線(如GBLB<0>/VSS所示)的第二端。每個電晶體M29(對應第六輸入電晶體)具有耦接電晶體M28的第二端的第一端、耦接多條輸入位元線(如INBL_0~INBL_3)中的另一條輸入位元線(在此以輸入位元線INBL_3為例,對應第二輸入位元線)的控制端、以及耦接共同訊號線(如GBLB<0>/VSS所示)的第二端。 The transistor M28 (corresponding to the third weight transistor) has a first terminal coupled to the first read bit line R_RBL<0>, a control terminal receiving the second weight bit W1, and a second terminal. Each transistor M30 (corresponding to the fifth input transistor) has a first end coupled to the second end of the transistor M28, and coupled to one input bit line (such as INBL_0~INBL_3) of a plurality of input bit lines (in Taking the input bit line INBL_2 as an example, it corresponds to the control end of the first input bit line) and the second end coupled to the common signal line (as shown by GBLB<0>/VSS). Each transistor M29 (corresponding to the sixth input transistor) has a first end coupled to the second end of the transistor M28 and coupled to another input bit line (such as INBL_0~INBL_3) among the plurality of input bit lines (such as INBL_0~INBL_3). Taking the input bit line INBL_3 as an example here, it corresponds to the control end of the second input bit line) and the second end coupled to the common signal line (shown as GBLB<0>/VSS).
電晶體M31(對應第四權重電晶體)具有耦接第二讀出位元線R_RBL<1>的第一端、接收第二權重位元W1的控制端、以及第二端。每一電晶體M33(對應第七輸入電晶體)具有耦接電晶體M31的第二端的第一端、耦接多條輸入位元線(如INBL_0~INBL_3)中的再另一條輸入位元線(在此以輸入位元線INBL_0為例,對應第三輸入位元線)的控制端、以及耦接共同訊號線(如GBLB<0>/VSS所示)的第二端。電晶體M32(對應第八輸入電晶體)具有耦接電晶體M31的第二端的第一端、耦接多 條輸入位元線(如INBL_0~INBL_3)中的更另一條輸入位元線(在此以輸入位元線INBL_1為例,對應第四輸入位元線)的控制端、以及耦接共同訊號線(如GBLB<0>/VSS所示)的第二端。 The transistor M31 (corresponding to the fourth weight transistor) has a first terminal coupled to the second read bit line R_RBL<1>, a control terminal receiving the second weight bit W1, and a second terminal. Each transistor M33 (corresponding to the seventh input transistor) has a first terminal coupled to the second terminal of the transistor M31, coupled to yet another input bit line among the plurality of input bit lines (such as INBL_0~INBL_3) (Here, take the input bit line INBL_0 as an example, which corresponds to the third input bit line) and the second end coupled to the common signal line (shown as GBLB<0>/VSS). The transistor M32 (corresponding to the eighth input transistor) has a first end coupled to the second end of the transistor M31, coupled to multiple The control terminal of another input bit line (in this example, input bit line INBL_1 corresponding to the fourth input bit line) among the two input bit lines (such as INBL_0~INBL_3) and the common signal line coupled (shown as GBLB<0>/VSS) on the second terminal.
在本實施例中,電晶體M30的數量不同於電晶體M29的數量。並且,電晶體M30的數量是以2個為例,電晶體M29的數量是以4個為例,但在其他實施例中,電晶體M30的數量可以是4個或其他數量,電晶體M29的數量可以是8個或其他數量。在本發明實施例中,電晶體M29的數量可以是電晶體M30的數量的2的n次方倍。 In this embodiment, the number of transistors M30 is different from the number of transistors M29. And, the quantity of the transistor M30 is 2 as an example, and the quantity of the transistor M29 is 4 as an example, but in other embodiments, the quantity of the transistor M30 can be 4 or other numbers, and the quantity of the transistor M29 Quantity can be 8 or other quantity. In the embodiment of the present invention, the number of transistors M29 may be n times the number of transistors M30.
在本實施例中,電晶體M33的數量不同於電晶體M32的數量。並且,電晶體M33的數量是以2個為例,電晶體M32的數量是以4個為例,但在其他實施例中,電晶體M33的數量可以是4個或其他數量,電晶體M32的數量可以是8個或其他數量。在本發明實施例中,電晶體M32的數量可以是電晶體M33的數量的2的n次方倍。 In this embodiment, the number of transistors M33 is different from the number of transistors M32. Moreover, the quantity of the transistor M33 is 2 as an example, and the quantity of the transistor M32 is 4 as an example, but in other embodiments, the quantity of the transistor M33 can be 4 or other numbers, and the quantity of the transistor M32 Quantity can be 8 or other quantity. In the embodiment of the present invention, the number of transistors M32 may be n times the number of transistors M33.
在本發明實施例中,電晶體M30的數量可以是電晶體M22的數量的2的n次方倍,電晶體M29的數量可以是電晶體M21的數量的2的n次方倍,電晶體M33的數量可以是電晶體M25的數量的2的n次方倍,且電晶體M32的數量可以是電晶體M24的數量的2的n次方倍。 In the embodiment of the present invention, the quantity of the transistor M30 may be the nth power times of 2 the quantity of the transistor M22, the quantity of the transistor M29 may be the nth power times of the quantity of the transistor M21, and the transistor M33 The number of transistors M25 may be 2 to the nth power, and the number of transistors M32 may be 2 to the nth power of the transistors M24.
在本發明實施例中,電晶體M21的數量與電晶體M22的數量的比值可以不同於電晶體M29的數量與電晶體M30的數量的 比值,並且電晶體M24的數量與電晶體M25的數量的比值可以不同於電晶體M32的數量與電晶體M33的數量。 In the embodiment of the present invention, the ratio of the number of transistors M21 to the number of transistors M22 may be different from the ratio of the number of transistors M29 to the number of transistors M30 The ratio, and the ratio of the number of transistors M24 to the number of transistors M25 may be different from the number of transistors M32 to the number of transistors M33.
圖8為依據本發明第八實施例的可配置運算單元的電路示意圖。請參照圖6及圖8,其中相同或相似的元件使用相同或相似的標號,在本實施例中,可配置運算單元800至少包括電晶體M0a-M0n、M1a-M1n、M20a-M20n、M21a-M21n、M22a-M22n、M23a-M23n、M24a-M24n、M25a-M25n。可配置運算單元800可視為多個可配置運算單元600的組合,亦即電晶體M0a-M0n、M1a-M1n、M20a-M20n、M21a-M21n、M22a-M22n、M23a-M23n、M24a-M24n、M25a-M25n的耦接關係可參照圖2所示電晶體M0、M1、M20、M21、M22、M23、M24、M25的的耦接關係,在此則不再贅述。
FIG. 8 is a schematic circuit diagram of a configurable computing unit according to an eighth embodiment of the present invention. Please refer to FIG. 6 and FIG. 8, wherein the same or similar components use the same or similar labels. In this embodiment, the
在本實施例中,可配置運算單元800可實現4個資料位元與n個權重位元的乘積累加運算(MAC),亦即第一讀出位元線R_RBL<0>及第二讀出位元線R_RBL<1>的每一者是n次乘積累加運算的累加。並且,每一行可以是不同的權重組合,例如電晶體M21a的數量與可以不同於電晶體M21b的數量及/或電晶體M22a的數量與可以不同於電晶體M22b的數量。
In this embodiment, the
綜上所述,本發明實施例的可配置運算單元,透過串接權重電晶體、輸入電晶體及電阻器且設定不同的電阻器的電阻值,來達到乘積累加運算的功能。藉此,由於可配置運算單元是額外加入的功能區塊,因此可以在不改動記憶體陣列的情況下, 實現資料位元與權重位元的乘積累加運算(MAC)。或者,透過串接權重電晶體與不同數量的輸入電晶體,來達到乘積累加運算的功能。 To sum up, the configurable computing unit of the embodiment of the present invention realizes the function of multiplying and accumulating by connecting the weight transistor, the input transistor, and the resistor in series and setting the resistance values of different resistors. In this way, since the configurable arithmetic unit is an additional functional block, it can be used without changing the memory array, Realize the multiply-accumulate operation (MAC) of data bits and weight bits. Alternatively, the function of multiply-accumulate operation can be achieved by connecting weight transistors in series with different numbers of input transistors.
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。 Although the present invention has been disclosed above with the embodiments, it is not intended to limit the present invention. Anyone with ordinary knowledge in the technical field may make some changes and modifications without departing from the spirit and scope of the present invention. The scope of protection of the present invention should be defined by the scope of the appended patent application.
10:記憶體子陣列 100:可配置運算單元 GBL<0>:全域位元線 GBLB<0>:全域反相位元線 HWL:管理字元線 INBL_0~INBL_3:輸入位元線 LBL:本地位元線 LBLB:本地反相位元線 M0-M5、T1~T6:電晶體 R_RBL<0>:第一讀出位元線 R01、R11:電阻器 Rx:外接電阻器 Vdd:高壓電源線 VSS:低壓電源線 W0:第一權重位元 WBC_1~WBC_n:權重記憶體胞元 WL:字元線 10: memory subarray 100: Configurable arithmetic unit GBL<0>: global bit line GBLB<0>: global inverse phase element line HWL: Manage Character Lines INBL_0~INBL_3: input bit lines LBL: local bit line LBLB: Local Inverted Bound Line M0-M5, T1~T6: Transistor R_RBL<0>: the first read bit line R01, R11: resistors Rx: external resistor Vdd: High voltage power line VSS: Low Voltage Power Line W0: the first weight bit WBC_1~WBC_n: weight memory cells WL: word line
Claims (16)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202111478483.2A CN115543257B (en) | 2021-06-29 | 2021-12-06 | Configurable arithmetic units in memory |
| US17/679,090 US20220413801A1 (en) | 2021-06-29 | 2022-02-24 | Configurable computing unit within memory |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202163215992P | 2021-06-29 | 2021-06-29 | |
| US63/215,992 | 2021-06-29 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202301336A TW202301336A (en) | 2023-01-01 |
| TWI795967B true TWI795967B (en) | 2023-03-11 |
Family
ID=86658131
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW110140162A TWI795967B (en) | 2021-06-29 | 2021-10-28 | Configurable computing unit within memory |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI795967B (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12406742B2 (en) | 2023-05-05 | 2025-09-02 | Macronix International Co., Ltd. | Memory device for performing in-memory computation and operating method thereof |
| TWI863252B (en) * | 2023-05-05 | 2024-11-21 | 旺宏電子股份有限公司 | Memory device for executing in-memory computation and operating method thereof |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190385049A1 (en) * | 2018-06-19 | 2019-12-19 | Qualcomm Incorporated | Artificial neural networks with precision weight for artificial intelligence |
| TW202034156A (en) * | 2019-03-01 | 2020-09-16 | 南韓商三星電子股份有限公司 | Weight cell and memory device |
| US20200372330A1 (en) * | 2019-05-22 | 2020-11-26 | Ememory Technology Inc. | Control circuit for multiply accumulate circuit of neural network system |
| US10877752B2 (en) * | 2018-09-28 | 2020-12-29 | Intel Corporation | Techniques for current-sensing circuit design for compute-in-memory |
| US10909449B2 (en) * | 2017-04-14 | 2021-02-02 | Samsung Electronics Co., Ltd. | Monolithic multi-bit weight cell for neuromorphic computing |
-
2021
- 2021-10-28 TW TW110140162A patent/TWI795967B/en active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10909449B2 (en) * | 2017-04-14 | 2021-02-02 | Samsung Electronics Co., Ltd. | Monolithic multi-bit weight cell for neuromorphic computing |
| US20190385049A1 (en) * | 2018-06-19 | 2019-12-19 | Qualcomm Incorporated | Artificial neural networks with precision weight for artificial intelligence |
| US10877752B2 (en) * | 2018-09-28 | 2020-12-29 | Intel Corporation | Techniques for current-sensing circuit design for compute-in-memory |
| TW202034156A (en) * | 2019-03-01 | 2020-09-16 | 南韓商三星電子股份有限公司 | Weight cell and memory device |
| US20200372330A1 (en) * | 2019-05-22 | 2020-11-26 | Ememory Technology Inc. | Control circuit for multiply accumulate circuit of neural network system |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202301336A (en) | 2023-01-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112581996B (en) | In-memory Computing Array Structure in Time Domain Based on Magnetic Random Access Memory | |
| CN109766309B (en) | Spin-memory-computing integrated chip | |
| CN113467751B (en) | Analog domain memory internal computing array structure based on magnetic random access memory | |
| US11151439B2 (en) | Computing in-memory system and method based on skyrmion racetrack memory | |
| CN113688984B (en) | Memory binarization neural network calculation circuit based on magnetic random access memory | |
| Su et al. | 31.2 CIM-spin: A 0.5-to-1.2 V scalable annealing processor using digital compute-in-memory spin operators and register-based spins for combinatorial optimization problems | |
| TW202135076A (en) | Memory device, computing device and computing method | |
| CN114186676A (en) | An in-memory spiking neural network based on current integration | |
| TWI795967B (en) | Configurable computing unit within memory | |
| CN113393879B (en) | Nonvolatile memory and SRAM mixed storage integral data fast loading structure | |
| US12511102B2 (en) | Memory device and method for computing-in-memory (CIM) | |
| CN115810374A (en) | Memory circuit and memory computing circuit with BCAM addressing and logic operation functions | |
| CN112558919A (en) | Memory computing bit unit and memory computing device | |
| CN114974337A (en) | A time-domain in-memory computing circuit based on spin magnetic random access memory | |
| CN116126779A (en) | 9T memory operation circuit, multiply-accumulate operation circuit, memory operation circuit and chip | |
| CN112509620A (en) | Data reading circuit based on balance pre-charging and group decoding | |
| CN117608519A (en) | Signed multiplication and multiply-accumulate operation circuit based on 10T-SRAM | |
| CN114360595A (en) | Subtraction calculation circuit structure based on row and column bi-direction in 8T SRAM memory | |
| CN117894350A (en) | A Boolean logic in-memory operation circuit based on 2T-2C ferroelectric memory cell | |
| CN112233712A (en) | A 6T SRAM storage device, storage system and storage method | |
| CN118034644B (en) | A high-density and high-reliability in-memory computing circuit based on eDRAM | |
| CN114627937A (en) | Memory computing circuit and method based on nonvolatile memory device | |
| CN119669147B (en) | Multi-bit data in-memory computing array structure, SRAM and electronic devices | |
| CN115543257B (en) | Configurable arithmetic units in memory | |
| CN114895869A (en) | Multi-bit memory computing device with symbols |