TW202044541A - 半導體裝置 - Google Patents

半導體裝置 Download PDF

Info

Publication number
TW202044541A
TW202044541A TW109103124A TW109103124A TW202044541A TW 202044541 A TW202044541 A TW 202044541A TW 109103124 A TW109103124 A TW 109103124A TW 109103124 A TW109103124 A TW 109103124A TW 202044541 A TW202044541 A TW 202044541A
Authority
TW
Taiwan
Prior art keywords
data
product
operation memory
memory unit
sum operation
Prior art date
Application number
TW109103124A
Other languages
English (en)
Inventor
藪內誠
Original Assignee
日商瑞薩電子股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 日商瑞薩電子股份有限公司 filed Critical 日商瑞薩電子股份有限公司
Publication of TW202044541A publication Critical patent/TW202044541A/zh

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/544Methods 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 for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/412Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger using field-effect transistors only
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/418Address circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/419Read-write [R-W] circuits
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/52Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames
    • H01L23/522Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames including external interconnections consisting of a multilayer structure of conductive and insulating layers inseparably formed on the semiconductor body
    • H01L23/528Geometry or layout of the interconnection structure
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B10/00Static random access memory [SRAM] devices
    • H10B10/12Static random access memory [SRAM] devices comprising a MOSFET load element

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Geometry (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Power Engineering (AREA)
  • Neurology (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)
  • Metal-Oxide And Bipolar Metal-Oxide Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

提供了可以在改進學習和推論的準確性的同時降低功耗的半導體裝置。半導體裝置連接到資料線PBL、NBL,並且包括乘積運算記憶體單元1,乘積運算記憶體單元1用於存儲三進制值的資料並且在所存儲的資料和輸入資料INP與資料線PBL、NBL中的資料之間執行積和運算。

Description

半導體裝置
[相關申請案之交互參照] 於2019年2月7日提交的日本專利申請號2019-020844的包括說明書、附圖和摘要的公開內容整體經由引用併入本文。
本公開係關半導體裝置。例如,本發明係關需要執行諸如AI(人工智慧)的大量積和運算的半導體裝置。
近年來,隨著經由深度學習的機器學習的發展,AI已在各個地方得到應用。然而,該方法需要大量的積和運算,使得積和運算處理例如經由GPU(圖形處理單元)等來被加速。除了積和運算處理之外,與資料傳輸處理伴隨地發生大量的資料傳輸處理。為了執行這些處理,產生了功耗變得非常大的問題。
若該問題能夠被解決,則AI可以在感測器側系統中被用作IoT(物聯網)等的邊緣,並且AI可以更多樣地被使用。
作為用於減少與積和運算相關聯地生成的資料傳輸處理的技術,存在“A Mixed-Signal Binarized Convolutional-Neural-Network Accelerator Integrating Dense Weight Storage and Multiplication for Reduced Data Movement”、VLSI circuit 2018、2018年6月18日(非專利文獻1)中描述的技術。
在非專利文獻1中,為了減少資料傳輸處理,將乘積運算中的乘數存儲在靜態易失性記憶體(以下被稱為“SRAM”)的記憶體單元中。另外,在非專利文獻1中,乘積運算中的乘數和被乘數均由二進位值“0”和“1”表示,並且二進位值被定義為“-1”和“1”以便實施低功耗。因此,負異或(XNOR)的結果乘以“-1”和“1”。此外,在非專利文獻1中,經由將多個記憶體單元連接到資料線,相應記憶體單元中的乘積運算的和被觀察作為資料線的電壓。結果,在積和運算的乘積運算部分中減少了與乘數有關的資料傳輸處理的次數,並且經由從多個記憶體單元的資料線的一次讀取實施了求和運算的部分。
然而,當考慮諸如浮點數的多位積和運算時,例如若多位元是二進位的,則存在由於過度壓縮而使機器學習和推論的精度劣化的問題。另外,出現了學習等所需的時間變得巨大的問題。
根據本說明書的描述和附圖,其他目的和新穎特徵將變得顯而易見。根據一個實施例的半導體裝置如下。
即,半導體裝置包括記憶體單元,記憶體單元連接至資料線,存儲三進制值的資料,並且執行所存儲的資料、輸入至記憶體單元的輸入資料和資料線上的資料的積和運算。三進制值例如是+1、0和-1。根據一個實施例,可以提供能夠在改進學習和推論的精度的同時降低功耗的半導體裝置。
在下文中,將在下面參考附圖來描述本發明的每個實施例。注意,本公開僅是實例,並且本領域技術人員可以容易地想到保持本發明的要旨的同時適當的改變自然地被包括在本發明的範圍內。另外,儘管為了清楚描述起見,與實際實施例相比,附圖可能示意性地表示每個部分的寬度、厚度、形狀等,但是附圖僅是實例並且不限制本發明的解釋。
在本說明書和附圖中,將相同的附圖標記賦予與上面參考上述附圖描述的元件相同的元件,並且可以適當地省略其詳細描述。 (第一實施例) >具有積和運算功能的記憶體單元的配置>
圖1是示出根據第一實施例的具有積和運算功能的記憶體單元(以下被稱為乘積運算記憶體單元)的配置的圖。圖1圖示了連接到資料線(第一資料線和第二資料線)PBL、NBL的兩個乘積運算記憶體單元。由於乘積運算記憶體單元1具有彼此相同的配置,在圖1中僅示出一個乘積運算記憶體單元1。乘積運算記憶體單元1包括用於存儲三進制值的兩個記憶體單元(第一記憶體單元和第二記憶體單元)2和3。除了記憶體單元2和3之外,乘積運算記憶體單元1亦包括三個開關(第一開關至第三開關)4至6和恆定電流源7。
記憶體單元2和3是SRAM的記憶體單元並且連接到稍後在圖2中描述的成對互補資料線和字線,並且使用成對互補資料線和字線將邏輯值寫入記憶體單元2和3。開關4和5對應於記憶體單元2和3,並且當例如在對應記憶體單元中存儲邏輯值“1”時,開關4和5轉嚮導通狀態。開關4連接在節點n1和資料線PBL之間,並且開關5連接在節點n1和資料線NBL之間。開關6連接在節點n1與恆定電流源7之間,並且恆定電流源7連接至接地電壓Vs。開關6對應於提供給輸入佈線INP_L的輸入資料INP,並且當輸入資料INP例如是邏輯值“1”時,開關6轉嚮導通狀態。
當記憶體單元2和3均存儲邏輯值“0”時,乘積運算記憶體單元1被視為存儲邏輯值“0”。當記憶體單元2存儲邏輯值“1”並且記憶體單元3存儲邏輯值“0”時,乘積運算記憶體單元1被視為存儲邏輯值“+1”。此外,當記憶體單元2存儲邏輯值“0”並且記憶體單元3存儲邏輯值“1”時,乘積運算記憶體單元1被視為存儲邏輯值“-1”。
結果,當邏輯值“0”存儲在乘積運算記憶體單元1中時,開關4和5轉向關斷狀態,並且即使輸入資料INP為邏輯值“1”,亦沒有電流從資料線PBL、NBL流向恆定電流源7。
另一方面,當邏輯值“+1”存儲在乘積運算記憶體單元1中時,開關4轉嚮導通狀態,而開關5轉向關斷狀態。此時,若輸入資料INP為邏輯值“1”,則電流從資料線PBL經由處於導通狀態的開關4和6流向恆定電流源7,並且資料線PBL的電壓減小。此時,資料線NBL的電壓不降低。另一方面,這時,若輸入資料INP為邏輯值“0”,則處於導通狀態的開關6轉向關斷狀態,使得沒有電流從資料線PBL、NBL流向恆定電流源7,並且資料線PBL和NBL的電壓不降低。
當邏輯值“-1”存儲在乘積運算記憶體單元1中時,開關5轉嚮導通狀態並且開關4轉向關斷狀態。此時,若輸入資料INP為邏輯值“1”,則電流從資料線NBL經由處於導通狀態的開關5和6流向恆定電流源7,資料線NBL的電壓減小,並且資料線PBL的電壓不降低。另一方面,此時,若輸入資料INP為邏輯值“0”,則處於導通狀態的開關6轉向關斷狀態,使得沒有電流從資料線PBL、NBL流向恆定電流源7並且資料線PBL和NBL的電壓不降低。
可以認為記憶體單元2用於將邏輯值“+1”存儲在乘積運算記憶體單元1中,並且記憶體單元3用於將邏輯值“-1”存儲在乘積運算記憶體單元1中。
結果,在乘積運算記憶體單元1中存儲的三進制值與輸入資料INP的值之間執行乘積運算。換言之,根據輸入資料的邏輯值和乘積運算記憶體單元的邏輯值來形成六個狀態0×0、0×(+1)、0×(-1)、1×0、1×(+1)和1×(-1)。在此種情況下,在輸入資料的邏輯值與乘積運算記憶體單元1中存儲的邏輯值之間執行乘積運算,並且當乘積運算的結果為邏輯值“1”時,電流在資料線PBL和恆定電流源7之間流動,並且資料線PBL的電壓降低。另一方面,當乘積運算的結果是邏輯值“-1”時,電流在資料線NBL和恆定電流源7之間流動,並且資料線NBL的電壓降低。
在圖1中,頁面下側處所示的乘積運算記憶體單元1以類似的方式操作,以在乘積運算記憶體單元1中存儲的三進制邏輯值與輸入資料INP的邏輯值之間執行乘積運算,並且根據乘積運算的結果從資料線PBL、NBL汲取電流。
在資料線PBL、NBL中的每一個中,根據頁面上側所示的乘積運算記憶體單元1的乘積運算結果的電流以及根據頁面下側所示的乘積運算記憶體單元1的乘積運算結果的電流被疊加,並且在資料線PBL、NBL中的每一個中確定電流和電壓。即,執行求和運算,使得經由資料線PBL、NBL來對兩個乘積運算記憶體單元1中獲得的乘積進行求和。作為求和運算的結果的積和運算的結果經由資料線PBL、NBL來輸出。
圖2是示出與第一實施例有關的乘積運算記憶體單元的配置的示意圖。圖2僅示出了圖1所示的兩個乘積運算記憶體單元1中的一個乘積運算記憶體單元。將經由舉例說明記憶體單元2來描述記憶體單元的配置。記憶體單元2是由六個電晶體組成的所謂的SRAM的記憶體單元。即,記憶體單元2包括多個P溝道場效應電晶體(稱為P型FET)和多個N溝道場效應電晶體(稱為N型FET)。在圖2和稍後描述的附圖中,經由利用圓圈標記閘極電極來將P型FET與N型FET區分。當不區分溝道類型時,在下文中將場效應電晶體稱為FET。
記憶體單元2包括由P型FET P1和N型FET N1組成的第一反相器電路IV1和由P型FET P2和N型FET N2組成的第二反相器電路IV2。第一反相器電路IV1和第二反相器電路IV2連接在電源電壓Vd和接地電壓Vs之間。第一反相器電路IV1的輸入連接至第二反相器電路IV2的輸出,並且第二反相器電路IV2的輸入連接至第一反相器電路IV1的輸出。即,第一反相器電路IV1和第二反相器電路IV2交叉連接以便構成鎖存電路。傳輸N型FET N3和N4連接在第二反相器電路IV2和第一反相器電路IV1的輸入與成對互補資料線BB和BT之間。傳輸N型FET N3和N4的閘極電極連接到字線PWL。
當將資料寫入記憶體單元2時,使用成對互補資料線BB、BT和字線PWL。即,當將資料寫入記憶體單元2時,將根據待寫入的資料的邏輯值的互補電壓(高電平和低電平)提供給互補資料線BB和BT,並且將高電平提供給字線PWL。結果,成對互補資料線BB和BT中的互補電壓經由傳輸N型FET N3和N4提供給由第一反相器電路IV1和第二反相器電路IV2形成的鎖存電路,並且邏輯值“0”或“1”被寫入記憶體單元2。記憶體單元2保持中的邏輯值從節點n2輸出。
記憶體單元3具有與記憶體單元2的配置相同的配置,但是傳輸N型FET N3的閘極電極和傳輸N型FET N4的閘極電極連接到與如上所述的字線PWL不同的字線NWL。因此,經由在與字線PWL的定時不同的定時將字線NWL設置為高電平,可以將與記憶體單元2的邏輯值不同的邏輯值寫入記憶體單元3。在第一實施例中,在乘積運算記憶體單元1中用於存儲邏輯值“+1”的記憶體單元2由字線PWL控制,並且在乘積運算記憶體單元1中用於存儲邏輯值“-1”的記憶體單元3由字線NWL控制。
圖1中描述的開關4包括N型FET N5,開關5包括N型FET N6,且開關6包括N型FET N7。即,N型FET N5的源極-汲極路徑連接在節點n1和資料線PBL之間,並且其閘極電極連接到記憶體單元2的節點n2。N型FET N6的源極-汲極路徑連接在節點n1和資料線NBL之間,並且其閘極電極連接到記憶體單元3的節點n2。此外,N型FET N7的源極-汲極路徑連接在節點n1和電壓線CVSS之間,並且其閘極電極被提供有輸入資料INP。儘管沒有特別限制,恆定電流源7(未示出)連接到電壓線CVSS。當然,可以將接地電壓Vs提供給電壓線CVSS。
在第一實施例中,負載10和11分別連接在資料線PBL、NBL和電源電壓Vd之間。經由負載10和11向資料線PBL、NBL提供電流。
>將邏輯值寫入乘積運算記憶體單元以及乘積運算>當將邏輯值“+1”寫入乘積運算記憶體單元1時,在將高電平提供給互補資料線BT並且將低電平提供給互補資料線BB的條件下,字線PWL被設置為高電平。結果,記憶體單元2被選擇,記憶體單元2中的傳輸N型FET N3和N4轉嚮導通狀態,並且低電平被提供給第二反相器電路IV2的輸入。結果,記憶體單元2中的鎖存電路將節點n2被設置為高電平的狀態鎖存。隨後,字線NWL被設置為高電平,同時將高電平提供給互補資料線BB,並且將低電平提供給互補資料線BT。結果,記憶體單元3被選擇,記憶體單元3中的傳輸N型FET N3和N4轉嚮導通狀態,並且高電平被提供給第二反相器電路IV2的輸入。結果,記憶體單元3中的鎖存電路將節點n2被設置為低電平狀態的狀態鎖存。
結果,N型FET N5轉嚮導通狀態,並且N型FET N6轉向關斷狀態。在此種狀態下,例如若輸入資料INP處於高電平,則N型FET N7轉嚮導通狀態,並且N型FET N5和N7形成用於使得電流從資料線PBL流向電壓線CVSS的電流路徑。
儘管已描述了將邏輯值“+1”寫入乘積運算記憶體單元1的情況,但是寫入邏輯值“-1”的情況和寫入邏輯值“0”的情況亦相似。當將邏輯值“-1”寫入乘積運算記憶體單元1中時,若輸入資料INP為高電平,則由N型FET N6和N7形成連接資料線NBL和電壓線CVSS的電流路徑。另一方面,當將邏輯值“0”寫入乘積運算記憶體單元1時,即使輸入資料INP為高電平,亦不會形成連接資料線PBL、NBL和電壓線CVSS的電流路徑。
>求和操作>圖2所示的大量乘積運算記憶體單元1連接到資料線PBL、NBL。結果,與在相應乘積運算記憶體單元中形成的電流路徑的數目總和相對應的電流流過資料線PBL、NBL。即,與邏輯值“+1”側的乘積之和相對應的電流流入資料線PBL,並且與邏輯值“-1”側的乘積之和相對應的電流流入資料線NBL。結果,在邏輯值“+1”側的積和運算的結果被輸出到資料線PBL,並且在邏輯值“-1”側的積和運算的結果被輸出到資料線NBL。因此,可以經由對資料線PBL中的電流與資料線NBL中的電流之差進行模/數轉換(A/D轉換)來獲得期望的積和運算結果。當然,流過資料線PBL和NBL中的每一個的電流可以被A/D轉換以獲得所獲得的數位信號的差。
在第一實施例中,積和運算中使用的“+1”、“0”和“-1”的三進制邏輯值被存儲在乘積運算記憶體單元1中。因此,可以防止在學習或推論中所使用的資料被過度壓縮,並且可以改進學習或推論的準確性。另外,可以經由改變輸入資料INP而不改變乘積運算記憶體單元1中存儲的邏輯值來執行大量積和運算。因此,可以減少資料傳輸處理的次數。另外,由於求和運算經由由乘積運算記憶體單元1從資料線PBL、NBL中的每一個汲取電流來實施,因此可以在一個運算中執行多個求和運算。結果,可以進一步減少資料傳輸處理的次數,並且可以減少功耗。
(第二實施例)圖3是示出與第二實施例有關的半導體裝置的佈局的平面圖。圖3示出了參考圖2描述的乘積運算記憶體單元1的佈局。在第二實施例中,乘積運算記憶體單元1使用所謂的平面FET形成。在圖3中,一個乘積運算記憶體單元1佈置在由細虛線包圍的單元區域CAR中。在第二實施例中,記憶體單元2和記憶體單元3關於由穿過單元區域CAR的中心的雙點鏈線表示的假想直線CNT對稱地佈置。
在圖3中,由實線包圍的區域指示形成FET的閘極電極的佈線,並且由虛線包圍的區域指示形成FET的源極區域或汲極區域的半導體區域。由點劃線包圍的區域指示由第一層M1的金屬佈線層(導電層)形成的金屬佈線。此外,由實線包圍並利用叉標記的區域指示接觸件區域。接觸件區域電連接例如與接觸件區域重疊的兩個層。在圖3中,參考圖2描述的P型FET和N型FET的符號附接到閘極電極部分。附接有符號的閘極電極部分構成組成該符號的FET的閘極電極。
構成乘積運算記憶體單元的P型FET P1、P2和N型FET N1至N7的閘極電極被佈置以便與假想直線CNT平行。互補資料線BB側上構成P型FET P1和N型FET N1的閘極電極被延伸以構成組成開關的N型FET N5或N6的閘極電極。即,構成記憶體單元2和3的P型FET P1和N型FET N1的閘極電極與構成開關的N型FET N5或N6的閘極電極一體形成。此外,構成開關6的兩個N型FET N7並聯佈置,以便保持記憶體單元2和3之間的對稱性。
在圖3所示的佈局中,將資料線PBL、NBL連接到半導體區域的接觸件區域佈置在單元區域CAR的邊界處。同樣,連接互補資料線BB和半導體區域的接觸件區域亦佈置在單元區域CAR的邊界處。因此,儘管未示出,與圖3中所示的乘積運算記憶體單元1相鄰的乘積運算記憶體單元1被佈置為使得圖3中所示的乘積運算記憶體單元1關於由雙點鏈線所示的虛擬Y軸直線Y1和Y2鏡像倒置。結果,資料線PBL、NBL和互補資料線BB可以在相鄰的乘積運算記憶體單元1之間共用。
在第一實施例中,在圖3中所示的區域上堆疊了另外四個金屬佈線層M2至M5。將參考附圖來描述這四個金屬佈線層。
圖4A至圖4D是示出與第二實施例有關的半導體裝置的佈局的圖。圖4A示出了由在圖3所示的第一層M1的金屬佈線層的上層中形成的第二層M2的金屬佈線層進行的佈線,並且圖4B示出了由在第二層M2的金屬佈線層的上層中形成的第三層M3的金屬佈線層進行的佈線。圖4C示出了在第三層M3的金屬佈線層的上層中形成的第四層M4的金屬佈線層的佈線,並且圖4D示出了在第四層M4的金屬佈線層的上層中形成的第五層M5的金屬佈線層的佈線。
在圖4A至圖4D中,由實線包圍並利用叉標記的區域指示通孔區域。在通孔區域中,開口被設置在下層側的金屬佈線與上層側的金屬佈線之間的絕緣層中,並且下層側的金屬佈線和上層側的金屬佈線經由開口彼此電連接。即,在圖4A中,由粗點劃線示出的第一層的金屬佈線和由細點劃線示出的第二層的金屬佈線經由通孔區域連接,並且在圖4B中,由細點劃線示出的第二層的金屬佈線和由粗點劃線示出的第三層的金屬佈線經由通孔區域連接。此外,在圖4C中,由粗雙點劃線示出的第三層的金屬佈線和由細雙點劃線示出的第四層的金屬佈線經由通孔區域連接,並且在圖4D中,由細雙點劃線示出的第四層的金屬佈線和由粗雙點劃線示出的第五層的金屬佈線經由通孔區域連接。
在第二實施例中,由圖4A所示的第二層M2的金屬佈線層形成的金屬佈線構成互補資料線BB和BT。另外,字線NWL和PWL由圖4B所示的第三層M3的金屬佈線層形成的金屬佈線形成。
在第二實施例中,用於實施積和操作的功能的佈線(即,圖2中所示的資料線PBL、NBL和電壓線CVSS)由彼此不同的兩個金屬佈線層形成。即,由圖4A所示的第二層M2的金屬佈線層形成的金屬佈線和由圖4C所示的第四層M4的金屬佈線層形成的金屬佈線用作資料線PBL、NBL和電壓線CVSS,並且在相同方向上延伸。結果,用於實施積和運算的功能的佈線具有其中兩個金屬佈線並聯連接的配置,並且可以減小佈線電阻。 >求和運算>如上該,積和運算的結果被轉換為電流。因此,若佈線電阻大,則電流值根據形成電流路徑的乘積運算記憶體單元的位置而變化,使得期望如第二實施例減小佈線電阻。
如圖4D所示,經由第五層的金屬佈線層M5形成提供接地電壓Vs的金屬佈線。如圖4D所示,提供接地電壓Vs的金屬佈線被佈置,以便部分地覆蓋資料線PBL、NBL和電壓線CVSS。結果,提供接地電壓Vs的金屬佈線用作用於資料線PBL、NBL和電壓線CVSS的雜訊遮罩。
根據第二實施例,乘積運算記憶體單元1可以形成在較小的面積中。另外,可以針對線電阻等的變化來改進積和運算功能的電阻。
(第三實施例)在第三實施例中,乘積運算記憶體單元1由稱為FinFET的三維FET構成。圖5A和圖5B是示出與第三實施例有關的半導體裝置的佈局的平面圖。圖5A和圖5B示出其中圖2所示的乘積運算記憶體單元1由鰭式FET構成的佈局。這裡,在圖5A中,由實線包圍的區域指示閘極電極,由虛線包圍的區域指示鰭部,並且由細雙點鏈線包圍的區域指示由第一層M1的金屬佈線層形成的金屬佈線。
在圖5A中,由細點劃線包圍的區域指示用於連接閘極電極和另一區域的閘極局部互連(LIC)區域,並且由粗點劃線包圍的區域指示用於連接鰭部和另一區域的鰭部(Fin)LIC區域。此外,由實線包圍並利用叉標記的區域指示接觸件區域。在製造FinFET的過程中,鰭部和金屬線之間的連接經由LIC區域而不是經由接觸件區域連接。
在第三實施例中,類似於第二實施例,記憶體單元2和3關於虛擬直線CNT對稱地佈置,並且相鄰的乘積運算記憶體單元關於虛擬Y軸直線Y1和Y2鏡像倒置。在第三實施例中,構成開關的N型FET N5、N6與構成開關的N型FET N7分離。即,在附圖中,N型FET N7設置在N型FET N5、N6之上,並且N型FET N5、N6的共用源極區域和N型FET N7的汲極區域經由LIC區域連接。
在第二實施例的乘積運算記憶體單元中,使用第一層M1的金屬佈線層至第五層M5的金屬佈線層來執行佈線,但是在第三實施例中,經由由第一層和第二層的金屬佈線層形成的金屬佈線來執行連接。圖5B示出了由第二層的金屬佈線層形成的金屬佈線。在圖5B中,由粗雙點鏈線包圍的區域指示由第二層金屬佈線層M2形成的金屬佈線。在第三實施例中,字線PWL、NWL、用於提供輸入資料INP的輸入佈線INP_L以及用於提供接地電壓Vs的佈線由第二層的金屬佈線層形成。當然,類似於第二實施例,資料線NBL、PBL和電壓線CVSS可以連接到由上層的金屬佈線層形成的金屬佈線,以減小佈線電阻。
根據第三實施例,具有乘積運算記憶體單元的半導體裝置可以經由FinFET來實施。
(第四實施例)在第四實施例中,資料線集合PBL、NBL由連接到相同輸入佈線INP_L的多個乘積運算記憶體單元1共用。即,多個乘積運算記憶體單元1連接到資料線集合PBL、NBL和一個輸入佈線INP_L,經由選擇信號從多個乘積運算記憶體單元1中選擇乘積運算記憶體單元,並且資料線PBL、NBL和輸入佈線INP_L由所選擇的乘積運算記憶體單元使用。
圖6是示出與第四實施例有關的半導體裝置的配置的示意圖。半導體裝置100包括連接到資料線PBL、NBL的多個乘積運算記憶體單元。在圖6中,圖示了連接到資料線PBL、NBL的兩個乘積運算記憶體單元1_0和1_1。由於乘積運算記憶體單元1_0和1_1的配置相同,因此圖6僅示出了乘積運算記憶體單元1_0的詳細配置。
乘積運算記憶體單元1_0類似於圖2所示的乘積運算記憶體單元1。不同之處在於,為了選擇而添加了N型FET N8和N9,並且將列位址YA0作為選擇信號提供給N型FET N8和N9。N型FET N8的源極-汲極路徑連接在N型FET N5和資料線PBL之間,並且N型FET N9的源極-汲極路徑連接在N型FET N6和資料線NBL之間。列位址YA0被共同提供給選擇N型FET N8的閘極電極和選擇N型電晶體N9的閘極電極。因此,當經由將列位址YA0設置為高電平來選擇乘積運算記憶體單元1_0時,N型FET N5、N6連接到資料線PBL、NBL,並且執行乘積運算。在積運算記憶體單元1_0中存儲的邏輯值與輸入資料INP的邏輯值之間執行乘積運算,並且在乘積運算的結果與資料線PBL、NBL中的邏輯值之間執行求和運算。此時,列位址YA1被設置為低電平,使得列位址乘積運算記憶體單元1_1不被選擇。
當經由列位址YA1選擇列位址乘積運算記憶體單元1_1時,在乘積運算記憶體單元1_1中存儲的邏輯值與輸入資料INP的邏輯值之間執行乘積運算,並且在乘積運算的結果與資料線PBL、NBL中的邏輯值之間執行求和運算。
在第四實施例中,乘積運算記憶體單元1_0和1_1連接到不同的互補資料線BB0、BT0、BB1和BT1。因此,即使字線NWL和PWL被乘積運算記憶體單元1_0和1_1共用,乘積運算記憶體單元1_0和1_1亦可以利用不同的三進制邏輯值來被寫入。當然,互補資料線可以在乘積運算記憶體單元1_0和1_1之間共用,並且字線可以不同。在第四實施例中,用於向乘積運算記憶體單元1_0和1_1提供輸入資料INP的輸入佈線INP_L被共用,但是當然可以使用不同的輸入佈線。
在圖6中,經由將列位址YA0、YA1提供給乘積運算記憶體單元1_0、1_1,可以擴展由乘積運算記憶體單元1形成的位址空間。因此,例如,用於執行積和運算的多個資料被預先存儲在乘積運算記憶體單元1_0和1_1中,並且可以經由列位址來選擇用於執行積和運算的資料。
>修改實例>在修改實例中,列位址YA0和YA1同時設置為高電平。這使得能夠在乘積運算記憶體單元1_0中的乘積運算結果、乘積運算記憶體單元1_1中的乘積運算結果以及資料線PBL、NBL中的資料之中執行求和運算。假設經由將乘積運算記憶體單元1_0和1_1進行組合來配置一個組合乘積運算記憶體單元,則一個組合乘積運算記憶體單元可以存儲超過三進制值的五個值,諸如“+2”、“+ 1”、“-1”、“-1”和“+2”,代替三進制值“+1”、“-0”和“-1”,並且可以在五個值的邏輯值和輸入資料INP之間執行乘積運算。儘管已示出了兩個乘積運算記憶體單元的組合,更多的乘積運算記憶體單元組合可以被用於在乘積運算記憶體單元中存儲更多的多值資料。
圖7A和圖7B是示出與第四實施例有關的半導體裝置的佈局的平面圖。圖7A和圖7B示出了當圖6中所示的乘積運算記憶體單元1_0經由FinFET以與圖5相同的方式形成時的佈局。這裡,圖7A類似於圖5A,並且區別在於添加了用於提供列位址YA的佈線和用於選擇的N型FET N8和N9。在圖7B中,類似於圖5B,由第二層M2的金屬佈線層形成的金屬佈線被示出為由粗雙點鏈線包圍的區域。
圖8A至圖8D是示出與第四實施例有關的半導體裝置的截面的截面圖。即,圖8A示出了圖7A和圖7B中的A-A′截面,圖8B示出了圖7A和圖7B中的B-B′截面,圖8C示出了圖7A和圖7B中的C-C′截面,以及圖8D示出了圖7A和圖7B中的D-D′截面。如圖8A至圖8C所示,由第二層M2的金屬佈線層形成的金屬佈線被佈置以便與由第一層M1的金屬佈線層形成的金屬佈線重疊並電連接。結果,金屬佈線的電阻減小。
第二層和更高層的金屬佈線層可以以與圖4B至圖4D所示相同的方式抑制由於小型化導致的金屬佈線的電阻率增加。同樣在此種情況下,例如如圖4C所示,資料線NBL、PBL和電壓線CVSS由金屬佈線層的第三層或更高層形成。在圖8A至圖8D中,省略了中間層之間(例如,金屬佈線層M1和M2之間)的絕緣膜。
根據第四實施例,可以經由擴展由乘積運算記憶體單元構成的記憶體的位址空間來增加記憶體容量。乘積運算記憶體單元中存儲的資料可以進一步多值化,並且可以改進學習和推論的準確性。此外,用戶可以經由操作列位址來選擇大的記憶體容量或改進準確性,並且可以增加自由度。
(第五實施例)乘積運算記憶體單元存儲要乘以輸入資料INP的資料。在第五實施例中,提供了能夠有效地對資料進行多值乘積的乘積運算記憶體單元。
第四實施例中描述的乘積運算記憶體單元允許增加記憶體容量並且靈活地對資料進行多值改變。然而,當僅執行多級化時,構成乘積運算記憶體單元的FET的數目增加。例如,在第四實施例中,當將“+7”至“-7”的15值資料存儲在一個組合乘積運算記憶體單元中時,如圖6所示,需要六個FET來構成記憶體單元2和3中的每一個。為了實施選擇和積和功能,亦需要構成開關的FET和用於選擇的FET。因此,需要用於記憶體單元的12個FET以及用於選擇和積和功能的FET來構成一個乘積運算記憶體單元。為了存儲15值的資料,七個乘積運算記憶體單元構成一個組合乘積運算記憶體單元。因此,一個組合乘積運算記憶體單元需要數目為(2個記憶體單元(12個FET)+用於選擇和積和功能的FET)×7的FET。
圖9是示出與第五實施例有關的乘積運算記憶體單元的配置的電路圖。乘積運算記憶體單元20包括四個記憶體單元21_0至21_3以及十二個N型FET N10_1至N10_3、N11_1至N11_3、N12_1至N12_3以及N13_1至N13_3。記憶體單元21_0至21_3具有例如與圖2所示的記憶體單元2相同的配置。因此,記憶體單元21_0至21_3中的每一個皆由六個FET構成。
N型FET(第二開關)N10_1至N10_3的閘極電極連接至記憶體單元21_0的一個輸出,並且N型FET(第二開關)N11_1至N11_3的閘極電極連接至記憶體單元21_0的另一輸出。記憶體單元21_1的一個輸出對應於連接在圖2所示的N型FET N1和P型FET P1之間的節點,並且另一輸出對應於圖2中所示的節點n2。
N型FET N10_1的源極-汲極路徑和N型FET N11_1的源極-汲極路徑串聯連接在資料線PBL和NBL之間。N型FET(第一開關)N12_1的源極-汲極路徑和N型FET N13_1的源極-汲極路徑串聯連接在電壓線CVSS與連接N型FET N10_1和N11_1的節點之間。將輸入資料INP提供給N型FET(第三開關)N13_1的閘極電極,並且N型FET N12_1的閘極電極連接至記憶體單元21_1的節點n2(參見圖2)。N型FET N10-2、N11-2、N12-2、N13-2和記憶體單元21-2亦以與上述的N型FET N10-1、N11-1、N12-1、N13-1和記憶體單元21-1相同的方式連接。N型FET N10_3、N11_3、N12_3、N13_3和記憶體單元21_3亦以與上述的N型FET N10_1、N11_1、N12_1、N13_1和記憶體單元21_1相同的方式連接。
記憶體單元(第二記憶體單元)21_0存儲指示乘積運算記憶體單元20中存儲的多值資料的正負號的符號位元。記憶體單元(第一記憶體單元)21_1至21_3存儲指示待存儲的多值資料的絕對值的位元。在第五實施例中,多值資料由被加權到“1”、“2”和“4”的位表示,並且表示權重“1”的位元存儲在記憶體單元21_1中,表示權重“2”的位元存儲在記憶體單元21_2中,以及表示權重“4”的位元存儲在記憶體單元21_3中。
N型FET N10_1至N10_3、N11_1至N11_3、N12_1至N12_3以及N13_1至N13_3被設置以便能夠流過與存儲在對應記憶體單元中的權重相對應的電流。例如,當與記憶體單元21_1相對應的N型FET N10_1、N11_1、N12_1和N13_1的尺寸被設置為參考尺寸時,與記憶體單元21_2相對應的N型FET N10_2、N11_2、N12_2和N13_2的尺寸被設置為參考尺寸的兩倍。與記憶體單元21_3相對應的N型FET N10_3、N11_3、N12_3和N13_3的尺寸被設置為參考尺寸的四倍。
例如,當輸入資料INP是高電平邏輯值“1”,從記憶體單元21_2和21_3輸出低電平邏輯值“0”,並且從記憶體單元21_1輸出高電平邏輯值“1”時,N型FET N12_1和N13_1轉嚮導通,並且表示“1”的參考電流流過這些N型FET。此時,經由記憶體單元21_0中存儲的符號位元,N型FET N10_1至N10_3或N11_1至N11_3轉嚮導通狀態。結果,參考電流從資料線PBL或NBL流到電壓線CVSS。
類似地,例如,當輸入資料INP是高電平邏輯值“1”,從記憶體單元21_2和21_3輸出高電平邏輯值“1”,並且從記憶體單元21_1輸出低電平邏輯值“0”時,N型FET N12_2、N13_2、N12_3和N13_3轉嚮導通狀態。此時,經由符號位元,N型FET N10_1至N10_3或N11_1至N11_3轉嚮導通狀態。結果,六倍於參考電流的電流從資料線PBL或NBL流到電壓線CVSS。
以此種方式,執行輸入資料INP和乘積運算記憶體單元20中存儲的資料之間的乘積運算,並且與乘積運算的執行結果相對應的電流從資料線PBL或NBL流向電壓線CVSS,並且可以執行求和計算。
圖9所示的乘積運算記憶體單元20包括4個記憶體單元和12個N型FET。由於每個記憶體單元包括六個FET,因此乘積運算記憶體單元20所需的FET的數目為4×6+12=36。即使僅計算構成記憶體單元的FET的數目,第四實施例中所需的FET的數目亦為2×7×6=84。即使僅考慮構成記憶體單元的FET的數目,亦可以將14個記憶體單元減少到4個。
儘管在圖9中被省略,如參考圖2該,記憶體單元21_0至21_3連接到字線和互補資料線。經由字線和互補資料線從記憶體單元21_0至21_3中選擇記憶體單元,並且將符號位元或絕對值位元寫入所選擇的記憶體單元。在圖9的實例中,絕對值位元的數目是3位元,而符號位元的數目是1位元。因此,將3位解碼來表示“0”至“7”,並且可以經由由符號位元分配正負符號來表示“+7”至“0”至“-7”的15個值。
根據第五實施例,由於更多值的資料可以存儲在由少量FET構成的乘積運算記憶體單元中,可以減小乘積運算記憶體單元的面積。 (第六實施例)
圖10是示出根據第六實施例的乘積運算記憶體單元的配置的電路圖。在第六實施例中,提供了用於經由電壓實施求和運算的乘積運算記憶體單元。在圖10中,附圖標記30表示乘積運算記憶體單元。乘積運算記憶體單元30包括兩個記憶體單元2和3、與記憶體單元2和3相對應的NAND電路31和32、基於使能信號EN控制的開關34至37、以及與記憶體單元2和3相對應的電容元件38和39。
如圖10所示,記憶體單元2用於將邏輯值“+1”存儲在乘積運算記憶體單元30中,並且記憶體單元3用於將邏輯值“-1”存儲在乘積運算記憶體單元30中。記憶體單元2的輸出和輸入資料INP被提供給NAND電路31,並且NAND電路31執行NAND運算並輸出其結果。類似地,記憶體單元3的輸出和輸入資料INP被提供給NAND電路32,並且NAND電路32執行NAND運算並輸出其結果。
NAND電路31的輸出經由開關35被提供給電容元件38的一個電極,並且NAND電路32的輸出經由開關37被提供給電容元件39的一個電極。電容元件38和39的其他電極被提供有接地電壓Vs。電容元件38的一個電極經由開關34連接至資料線PBL,並且電容元件39的一個電極經由開關36連接至資料線NBL。
開關35和37經由使能信號EN被控制為導通狀態或關斷狀態。邏輯反相的使能信號/EN被提供給開關34和36。在圖10中,反相器電路33將使能信號EN邏輯反相並輸出經反相的使能信號/EN。反相器電路33可以在乘積運算記憶體單元30中提供,或者反相器電路33可以在多個乘積運算記憶體單元電路30中共同提供。
在圖10所示的乘積運算記憶體單元30中,當使能信號EN為低電平的邏輯值“0”時,在NAND電路31和32中執行的NAND的結果被存儲在對應的電容元件38和39中。當使能信號EN為高電平的邏輯值“1”時,執行所存儲的結果與資料線PBL、NBL中的資料的求和運算。在下文中,將給出具體描述。
當使能信號EN處於低電平時,開關35和37被提供有處於高電平的使能信號/EN,使得開關35和37轉嚮導通狀態。結果,NAND電路31和32的輸出電連接到電容元件38和39的電極中的一個。這時,開關34和36經由處於低電平的使能信號EN處於關斷狀態,並且電容元件38和39的電極中的一個與資料線PBL、NBL電隔離。結果,根據在對應記憶體單元2中存儲的邏輯值與輸入資料INP的邏輯值之間的NAND的結果,電容元件38被充電。類似地,根據在對應記憶體單元3中存儲的邏輯值與輸入資料INP的邏輯值之間的NAND的結果,電容元件39被充電。
接下來,當使能信號EN變為高電平時,開關35和37轉向關斷狀態,並且開關34和36轉嚮導通狀態,以便將資料線PBL、NBL電連接至電容元件38和39的電極中的一個。當電容元件38連接到資料線PBL時,電荷分散在資料線PBL的寄生電容和電容元件38之間,並且資料線PBL的電壓被確定。類似地,資料線NBL的電壓由在電容元件39和資料線NBL的寄生電容之間執行的電荷分散確定。
接下來,將描述乘積運算記憶體單元30中的乘積運算的結果為“0”、“+ 1”和“-1”的情況。
當輸入資料INP為“0”或兩個記憶體單元2和3中存儲的資料為“0”時,乘積運算的結果變為“0”。此時,由於NAND電路31和32的輸出處於諸如電源電壓Vd的高電平,電源電壓Vd經由開關35和37向電容元件38和39充電。例如,經由在半導體裝置中發出積和指令,使能信號EN從低電平變為高電平。結果,電容元件38和39連接到資料線PBL、NBL。
另一方面,當乘積運算的結果為“+1”時,與記憶體單元2相對應的電容元件38被放電至諸如接地電壓Vs的低電平。當乘積運算的結果為“-1”時,與記憶體單元3相對應的電容元件39被放電至低電平。回應於使能信號EN變為高電平,電容元件38和39分別連接到資料線PBL和NB。
多個乘積運算記憶體單元連接到資料線PBL、NBL。因此,充電到與資料線PBL、NBL連接的電源電壓Vd的電容元件的數目與放電到接地電壓Vs的電容元件的數目之差成為積和結果。具體地,資料線PBL和NBL的電壓之間的差是積和結果。
在第六實施例中,由於使用電容元件來執行求和運算,可以減小FET的電流等的變化的影響。 (第七實施例)
圖11是示出根據第七實施例的半導體裝置的配置的圖。半導體裝置的實例包括運行大量積和運算的微處理器。儘管微型電腦包括多個電路塊,但是圖11僅示出了進行解釋所需的電路塊。在圖11中,附圖標記40表示在半導體裝置中形成的具有積和運算功能的記憶體巨集(以下稱為記憶體巨集)。
記憶體宏40包括:記憶體陣列41,其中第一實施例至第六實施例中描述的乘積運算記憶體單元以矩陣佈置;A/D轉換器42;用於鎖存和驅動輸入資料的INP鎖存器(輸入資料保持電路)和驅動器48;以及用於控制A/D轉換器42和INP鎖存器和驅動器48的MAC控制器43。記憶體宏40包括行解碼器和字驅動器44、資料寫入/感測單元45、輸入/輸出鎖存單元46和讀取/寫入控制單元47。讀取/寫入控制單元47主要控制行解碼器和字驅動器44、資料寫入/感測單元45和輸入/輸出鎖存電路單元46,並且亦執行對記憶體宏40的整體控制。
記憶體陣列41包括多個記憶體單元陣列41_0至41_n。A/D轉換器42包括多個A/D轉換電路42_0至42_n。類似地,資料寫入/感測單元45亦由多個資料寫入/感測單元電路45_0至45_n配置,並且輸入/輸出鎖存電路部分46亦由多個輸入/輸出鎖存單元電路46_0至46_n配置。
記憶體單元列41_0至41_n、A/D轉換電路42_0至42_n、資料寫入/感測單元電路45_0至45_n以及輸入/輸出鎖存單元電路46_0至46_n一一對應。例如,記憶體單元列41_0、A/D轉換電路42_0、資料寫入/感測單元電路45_0和輸入/輸出鎖存單元電路46_0一一對應。
記憶體單元列41_0包括例如互補資料線(第二資料線)BB、BT、資料線(第一資料線)PBL、NBL以及連接到互補資料線BB、BT和資料線PBL、NBL的多個乘積運算記憶體單元1。互補資料線BB、BT和資料線PBL、NBL在圖11中由附圖標記49_H指示的方向上延伸。與記憶體單元列41_0相對應的A/D轉換電路42_0將對應記憶體單元列41_0中提供的資料線PBL、NBL之間的電流量的差轉換為數位信號,並輸出積和運算的結果作為MQ輸出資料MQ [0]。
待存儲在對應記憶體單元列41_0中佈置的乘積運算記憶體單元1中的輸入資料作為輸入資料D[0]提供給輸入/輸出鎖存單元電路46_0。輸入/輸出鎖存單元電路46_0將所提供的輸入資料D[0]鎖存,將經鎖存的輸入資料D[0]經由對應資料寫入/感測單元電路45_0提供給對應記憶體單元列41_0中提供的互補資料線BB、BT,並且將輸入資料D[0]寫入乘積運算記憶體單元1。儘管沒有特別限制,但是輸入/輸出鎖存電路46_0使用記憶體單元列41_0中提供的互補資料線BB、BT、經由資料寫入/感測單元電路45_0將乘積運算記憶體單元1中寫入的資料鎖存,並且將經鎖存的資料作為輸出資料Q [0]輸出。
儘管作為實例已描述了記憶體單元列41_0、A/D轉換電路42_0、資料寫入/感測單元電路45_0和與之對應的輸入/輸出鎖存單元電路46_0,但是其餘記憶體單元列41_1至41_n、A/D轉換電路42_1至42_n、資料寫入/感測單元電路45_1至45_n以及與之對應的輸入/輸出鎖存單元電路46_1至46_n亦類似。
在圖11中,BWM[0]至BWM[n]是用於以輸入/輸出鎖存單元電路為單位遮罩輸入資料的寫入的位元寫入使能信號。例如,當將輸入資料D[0]至D[n]及時並行地提供給輸入/輸出鎖存電路單元46時,位元寫入使能信號BWM [0]被禁用。結果,輸入/輸出鎖存單元電路46_0操作以便不寫入正在提供的輸入資料D [0]。
在圖11中,MEM[0]至MEM [n]是用於以A/D轉換電路為單位遮罩積和運算的積和運算遮罩信號。例如,經由禁用積和運算遮罩信號MEM[0],積和運算被設置為在記憶體單元列41_0中不執行。
在記憶體陣列41中,佈置如圖2所示的多個字線NWL和PWL。例如,多個字線在圖11中的附圖標記49_V的方向上延伸,並且沿方向49_H所指示的方向佈置。行解碼器和字驅動器44連接到多個字線,並且當將輸入資料D[0]至D[n]寫入到多個乘積運算記憶體單元中時以及當讀取輸入資料時,從多個字線中選擇字線,並向所選擇的字線提供高電平。行解碼器和字驅動器44選擇連接到乘積運算記憶體的兩個字線NWL和PWL(圖2)作為一個集合。連接到所選擇的字線的乘積運算記憶體被寫入和讀取輸入資料。
記憶體單元陣列41被提供有用於提供輸入資料INP(圖2)的多個輸入佈線。輸入佈線在圖11中沿方向49_V延伸並沿方向49_H佈置。INP鎖存器和驅動器48連接到多個輸入佈線。待相乘的輸入資料ID[0]至ID[m]被提供給INP鎖存器和驅動器48。INP鎖存器和驅動器48將提供給它的輸入資料ID[0]至ID[m]鎖存,並將經鎖存的輸入資料ID[0]至ID[m]提供給輸入佈線作為輸入資料INP。結果,與輸入資料ID[0]至ID[m]相對應的輸入資料INP被提供給記憶體單元列41_0至41_n中的每一個中佈置的多個乘積運算記憶體單元。在每個乘積運算記憶體單元中,執行所存儲的資料和輸入資料INP之間的乘積運算,針對每個記憶體單元列執行乘積運算結果的求和運算,並且將結果作為MQ輸出資料MQ[0] 至MQ [n]輸出。
根據第七實施例,由於針對每個記憶體單元行提供了A/D轉換電路,可以同時執行多個積和運算並且可以提高積和運算的速度。 (第八實施例)
在第八實施例中,提供了其中輸入資料INP是多值的半導體裝置。例如,在第五實施例中,已描述了其中乘積運算記憶體單元中存儲的數(資料)是多值的配置。相反,在第八實施例中,將描述其中乘積運算記憶體單元中存儲的數的被乘數是多值的配置。
圖12A和圖12B是用於解釋根據第八實施例的半導體裝置的圖。在這裡,圖12A是示出根據第七實施例的半導體裝置50的配置的框圖,並且圖12B是用於解釋圖12A所示的半導體裝置50的操作的特性圖。
由於圖12A類似於圖11,主要解釋不同之處。與圖11相反,INP鎖存器和驅動器48在圖12中已改變。即,圖11中所示的INP鎖存器和驅動器48被改變為INP鎖存電路48_1、D/A轉換電路48_2和INP驅動器電路48_3。
提供給半導體裝置50的輸入資料ID[0]至ID[m]是多值數位信號。INP鎖存電路48_1將輸入資料ID[0]至ID[m]鎖存,並且將經鎖存的輸入資料提供給D/A轉換電路48_2。D/A轉換電路48_2將所提供的輸入資料ID[0]至ID[m]中的每一個轉換為對應模擬值,並且將類比值輸出至INP驅動器電路48_3。INP驅動器電路48_3將與所提供的輸入資料ID[0]至ID[m]相對應的類比值作為輸入資料INP(圖2)提供給記憶體單元陣列41中佈置的輸入佈線。
經由輸入佈線提供有類比值的輸入資料INP的乘積運算記憶體單元在所存儲的資料和所提供的類比值的輸入資料INP之間執行乘積運算。參考圖2所示的乘積運算記憶體單元1,當所存儲的資料是邏輯值“+1”或“-1”時,根據所提供的類比值的電流經由N型FET N5或N6從資料線PBL或NBL流向電壓線CVSS。在乘積運算記憶體單元1中,執行電流類型的乘積運算,並且在資料線PBL或NBL中執行電流類型的求和運算。
圖12B是示出提供給乘積運算記憶體單元的輸入資料與從資料線PBL、NBL流向乘積運算記憶體單元的電流之間的關係的圖。例如,如圖2所示,輸入資料被提供給N型FET N7的閘極電極,並且與流過N型FET N7的汲極電流相對應的電流從資料線PBL流向電壓線CVSS。由於流過FET N7的汲極電流是非線性的,如圖12B所示,汲極電流相對於電壓是非線性的。
在第八實施例中,調整提供給輸入佈線的類比值,使得從資料線PBL、NBL流向乘積運算記憶體單元的電流相對於由輸入資料ID[0] 至ID[m]表示的電壓值呈線性。例如,可以經由調整D/A轉換電路48_2的轉換特性或者經由調整INP驅動器電路48_3中的從D/A轉換電路48_2輸出的類比值來執行該調整。這樣,乘積運算中的被乘數亦可以是多值的。
根據第八實施例,由於乘積運算中的被乘數亦可以是多值的,可以進一步改進學習和推論的準確度。 (第九實施例)
在第九實施例中,將描述在第八實施例中描述的記憶體單元列的實例以及與記憶體單元列相對應的A/D轉換電路。
圖13和圖14A至圖14D是示出根據第九實施例的半導體裝置的配置的圖。圖13示出了一個記憶體單元列及其相關部分。具體地,在圖13中圖示了圖8A中所示的記憶體單元列41_0及其相關部分。
記憶體單元列41_0包括資料線PBL、NBL、連接到資料線PBL、NBL中的每一個的多個乘積運算記憶體單元Tbc以及兩個類型的參考單元R1和R0.5。在圖13的實例中,作為參考單元R1,128個參考單元R1(0)至R1(127)以及一個參考單元R0.5被設置在記憶體單元列41_0中。在圖13中,AL[0]至AL[147]表示提供給被佈置成與記憶體單元列41_0交叉的輸入佈線的輸入資料。
作為乘積運算記憶體單元Tbc,使用圖14A所示的乘積運算記憶體單元。圖14A所示的乘積運算記憶體單元的配置與圖6所示的相同,因此省略了對它們的解釋。
在記憶體單元列41_0中,四個乘積運算記憶體單元連接到相同的輸入佈線。在圖14A中附圖標記YA示出了用於從連接到同一輸入佈線的四個乘積運算記憶體單元Tbc中選擇一個乘積運算記憶體單元Tbc的列位址。為了從四個乘積運算記憶體單元Tbc中選擇一個乘積運算記憶體單元,列位址YA由四個位YA [0:3]組成。在由列位址YA選擇的乘積運算記憶體單元中,經由輸入佈線提供的輸入資料AL[0]至AL[147]成為待經由所選擇的乘積運算記憶體單元中存儲的資料執行乘積運算的輸入資料INP。
圖14B示出了參考單元R1的配置。與乘積運算記憶體單元Tbc類似,參考單元R1包括N型FET N14至N17,其中源極-汲極路徑串聯連接在資料線PBL和NBL之間,並且N型FET N18連接在電壓線CVSS和連接N型FET N15和N16的節點之間。參考單元R1具有與乘積運算記憶體單元Tbc的結構相似的結構。不同之處在於,代替列位址YA,電源電壓Vd被提供給N型FET N14和N17的閘極電極,提供選擇信號RN、RP代替記憶體單元2和3的輸出,並提供控制信號CD代替輸入資料INP。參考單元R1具有與乘積運算記憶體單元Tbc的結構相似的結構,使得相對於資料線PBL、NBL,參考單元R1具有等於乘積運算記憶體單元Tbc的驅動力(=1)的驅動力。
圖14C示出了參考單元R0.5的配置。參考單元R0.5具有類似於參考單元R1的配置。不同之處在於,在參考單元R0.5中,在連接N型FET N15和N16的節點與電壓線CVSS之間連接的N型FET增加到N18_1至N18_3。結果,參考單元R0.5相對於資料線PBL、NBL的驅動力是參考單元R1、即乘積運算記憶體單元Tbc的驅動力的一半(=0.5)。
返回圖13,將給出描述。在圖13中,附圖標記60表示控制邏輯單元,附圖標記61表示比較器電路,附圖標記62表示施密特觸發型NAND電路,並且附圖標記N19表示N型FET。資料線PBL、NBL連接到比較器電路61和施密特觸發型NAND電路62。乘積運算記憶體單元Tbc中的電壓線CVSS以及參考單元R1和R0.5中的電壓線CVSS經由N型FET N19連接到接地電壓Vs。
來自比較器電路61的比較結果OUT和來自施密特觸發型NAND電路62的控制信號PS被提供給控制邏輯單元60。控制邏輯單元60輸出列位址YA[0:3]、用於控制比較器電路61的控制信號、用於控制N型FET N19的積和操作使能信號MACEBF、選擇信號RN、RP以及控制信號CD。如稍後將描述,由控制邏輯單元60和比較器電路61提供A/D轉換功能。即,可以認為控制邏輯單元60和比較器電路61構成了A/D轉換電路。由該A/D轉換電路獲得的結果成為積和運算的結果,並作為MQ輸出資料MQ[0]輸出。
如圖2等所示,乘積運算記憶體單元Tbc存儲三進制值的資料。即,乘積運算記憶體單元Tbc存儲“+1”、“0”或“-1”中的任何邏輯值。作為輸入資料INP,提供了二進位資料。即,將“0”或“1”提供給乘積運算記憶體單元Tbc作為輸入資料INP。
在第九實施例中,如等式(1)所示,經由將“+1”側的積和值與“-1”側的積和值分離來計算積和運算。此處,MQ表示作為積和運算的結果的MQ輸出資料,INP(i)表示第i個輸入資料INP的邏輯值,Tbc(i,YA)表示第i個乘積運算記憶體單元中存儲的邏輯值並且其列位址為YA。此外,Tbcp(i)表示存儲邏輯值“+1”的第i個乘積運算記憶體單元,並且Tbcn(i)表示存儲邏輯值“-1”的第i個乘積運算記憶體單元。 [等式1]
Figure 02_image001
在此,Tbcp(i)由等式(2)表示,並且Tbcn由等式(3)表示。 [等式2]
Figure 02_image003
[等式3]
Figure 02_image005
>A/D轉換>接下來,將使用一個實例來描述A/D轉換的操作。在第九實施例中,以八個步驟執行A/D轉換。圖15A和圖15B是用於解釋根據第九實施例的A/D轉換的時序圖。在圖15A和圖15B中,橫軸表示時間。另外,第一至第八表示上述八個步驟。
經由積和運算,假設“+1”側的積和值為“46”,而“-1”側的積和值為“17”。資料線PBL中的電流指示積和值“46”並且資料線NBL中的電流指示積和值“17”。在此種情況下,積和值的差為“29”。從控制邏輯單元60輸出與差相對應的MQ輸出資料MQ [0]。
在圖15A中,在第一步驟1st中,比較器電路61對資料線PBL、NBL的電流進行比較。由於“46”>“17”,控制邏輯單元60輸出指示符號“+”的邏輯值“0”作為MQ輸出資料。由於資料線PBL的電流較大,控制邏輯單元60將選擇信號RP設置為高電平並且將選擇信號RN設置為低電平。此外,控制邏輯單元60將參考單元R0.5連接至資料線PBL並且將指定數目的參考單元連接到資料線NBL。此處指定的數目為“64”,其是128個參考單元R1數目的一半。
在第二步驟2nd中,控制邏輯單元60經由控制信號CD,將參考單元R0.5中連接到資料線PBL的N型FET N18_1至N18_3轉嚮導通狀態。另外,控制邏輯單元60回應於控制信號CD而將連接到資料線NBL的64個參考單元R1的N型FET N18轉嚮導通狀態。資料線PBL中的值是46+0.5=46.5,並且資料線NBL中的值是17+64=81。比較器電路61將“46.5”與“81”進行比較。作為比較的結果,由於資料線NBL的值變大,控制邏輯單元60輸出邏輯值“0”作為MQ輸出資料MQ[0]。
在第三步驟3rd中,控制邏輯單元60將作為“64”的一半的“32”指定為指定數目,並且經由控制信號CD將N型FET N18和N18_1至N18_3轉嚮導通狀態。因此,資料線PBL的值如前該是“46.5”,但是資料線NBL的值是17+32=49。由於比較器電路61的比較確定資料線NBL的值大,控制邏輯單元60將邏輯值“0”作為MQ輸出資料MQ[0]輸出。
同樣在第四步驟4th中,類似於第三步驟3rd,控制邏輯單元60指定參考單元R1的數目並輸出控制信號CD。然而,在第四步驟4th中,將一半的數目“16”指定為參考單元R1的數目。因此,比較器電路61將資料線PBL中的值“46.5”與資料線NBL中的值17+16=33進行比較。在第四步驟4th中,由於資料線PBL的值大於資料線NBL的值,控制邏輯單元60輸出邏輯值“1”作為MQ輸出資料MQ[0]。
在第五步驟5th中,控制邏輯單元60將“24”指定為參考單元R1的數目。結果,資料線NBL的值變為17+24=41,並且比較器電路61的比較確定資料線PBL的值大於資料線NBL的值,使得控制邏輯電路60輸出邏輯值“1”作為MQ輸出資料MQ[0]。
此後,從第六步驟6th到第八步驟8th,在將指定參考單元R1的數目改變為“28”、“30”和“29”的同時,對資料線PBL和資料線NBL進行比較。經由比較,當資料線PBL的值大於資料線NBL的值時,控制邏輯單元60輸出邏輯值“1”作為MQ輸出資料MQ[0],並且當資料線NBL的值大於資料線PBL的值時,控制邏輯單元60輸出邏輯值“0”作為MQ輸出資料MQ[0]。
積和運算的結果轉換為串列8位元。第一位是符號位元,在符號位元之後,序列位元從最高有效位到最低有效位輸出。
接下來,參考圖15B,將描述符號位元為“-”的實例性情況。在此,將描述其中“+1”側的積和值為“17”並且“-1”側的積和值為“46”的情況,即,資料線PBL中的值為“17”且資料線NBL中的值為“46”的情況。由於“17”>“46”,控制邏輯單元60在第一步驟1st中輸出表示符號“-”的邏輯值“1”作為MQ輸出資料MQ[0]。由於資料線NBL中的值較大,選擇信號RP被設置為低電平並且選擇信號RN被設置為高電平。此外,參考單元R0.5連接到資料線NBL,並且指定數目的參考單元R1連接到資料線PBL。
控制邏輯單元60在第二步驟2nd之後執行與圖15A中類似的操作,但是由於符號是“-”,控制邏輯單元60輸出反相邏輯值作為MQ輸出資料MQ[0]。即,當資料線PBL的值大於資料線NBL的值時,控制邏輯單元60輸出邏輯值“0”作為MQ輸出資料MQ[0],並且當資料線NBL的值大於資料線PBL的值時,輸出邏輯值“1”作為MQ輸出資料MQ[0]。結果,如圖15B所示,串列轉換的數位信號被輸出作為MQ輸出資料MQ[0]。
如上該,在第九實施例中,經由使用二進位分割方法來搜索資料線PBL、NBL之間的差並且將結果轉換為串列數位信號並輸出。
在第九實施例中,當圖15A和圖15B所示的MQ輸出資料MQ[0]的資料長度變為使用者期望的資料長度時,可以終止處理。這樣可以減少浪費的A/D轉換所需的功率和時間。
在第九實施例中,為了進一步降低功耗,提供了施密特觸發型NAND電路62。施密特觸發型NAND電路62具有如圖14D所示的配置。即,施密特觸發型NAND電路62由P型FET P3至P5和N型FET N18至N23組成。
施密特觸發型NAND電路62用作用於偵測“+1”側的“AND”為“0”並且“-1”側的“AND”為“0”的情況的電路。在機器學習和推論中,由於積和運算,在許多狀態下,積和值在“+1”側和“-1”側均為“0”。在根據第九實施例的配置中,當積和值為“0”時,不存在用於朝向接地電壓Vs汲取資料線PBL、NBL的電荷的路徑。因此,資料線PBL、NBL的電壓保持在電源電壓Vd處。經由使用具有的邏輯閾值朝向電源電壓Vd增加的施密特觸發型NAND電路62,可以偵測資料線PBL和NBL均處於電源電壓Vd的電平處。經由控制信號PS將偵測結果通知給控制邏輯單元60。施密特觸發型NAND電路62由積和操作使能信號MACEBF與N型FET N19一起控制。即,當N型FET N19轉嚮導通狀態時,施密特觸發型NAND電路62被控制為能夠工作。
當控制信號PS通知資料線PBL和NBL均處於電源電壓Vd的電平處時,控制邏輯單元60在不執行上述A/D轉換操作的情況下輸出邏輯值“0”作為MQ輸出資料MQ[0]。因此,可以進一步降低功耗。
在第九實施例中,例如,基本同時地將148個輸入資料AL[0]至AL[147]提供給輸入佈線。在記憶體單元列41_0中,基本上同時執行148個乘積運算,並且亦基本上同時執行148個乘積運算的結果的求和運算。
根據第九實施例,由於用戶可以自由地改變MQ輸出資料MQ[0]的資料長度,可以增加與功耗和效能之間的權衡有關的調整自由度。此外,當AND變為“0”時,在不執行A/D轉換操作的情況下,邏輯值“0”被輸出作為MQ輸出資料,使得可以減少功耗。
(第十實施例)圖16A和圖16B以及圖17A和圖17B是示出根據第十實施例的半導體裝置的配置的圖。圖15A類似於圖13,並且因此主要解釋不同之處。在圖16A中,P型FET P6和P7的源極-汲極路徑連接在資料線PBL、NBL和電源電壓Vd之間,並且構成用於將資料線PBL、NBL偏置的偏置電路。在圖16A中,圖13中示出的比較器電路61被示出為緩衝器電路61。
如圖16A和圖16B所示,對於記憶體單元,148行×4列=592個乘積運算記憶體單元Tbc、128個參考單元R1和1個參考單元R0.5連接到資料線PBL、NBL。
圖17A和圖17B是用於解釋第十實施例的圖。圖17A示出了比較器的配置。比較器包括N型FET對、負載和電流源。N型FET對形成差分FET,並且比較器將差分FET的閘極電極處的電勢差放大並輸出。在第十實施例中,構成乘積運算記憶體單元Tbc、參考單元R1、R0.5中的開關的FET用作比較器的差分FET。為了作為實例解釋乘積運算記憶體單元Tbc,如圖17A中的虛線所示,構成開關的N型FET N6、N7和N9用作差分FET對中的一個FET,並且構成開關的N型FET N5、N7和N8用作差分FET對中的另一個FET。連接到資料線PBL、NBL的P型FET P6、P7可以被認為是用於向差分FET提供電流的電流供應單元,並且N型FET N19可以被認為是用於差分FET的切換電路。在第十實施例中,將包括P型FET P6、P7和N型FET N19的電路稱為源極開關S-SW。
儘管構成乘積運算記憶體單元的FET中的一些用作構成比較器的FET的實例,但是同樣適用於參考單元R1、R0.5。在參考單元R1中,N型FET N16至N18用作一個差分FET,並且N型FET N14、N15和N18用作另一差分FET。在參考單元R0.5中,N型FET N16、N17和N18_1至N18_3用作一個差分FET,並且N型FET N14、N15和N18_1至N18_3用作另一差分FET。
結果,當“+1”側或“-1”側的積和值較小時,比較器可以將資料線PBL、NBL之間的電勢差放大並且可以擴大操作餘量。另外,如圖17B所示,經由以分散式方式佈置源極開關S-SW,可以減少由於資料線PBL、NBL和電壓線CVSS的資料偏置引起的故障。
如圖16A所示,參考單元R0.5由控制信號CD0.5控制,並且參考單元R1由七個控制信號CD [0:6]控制。這裡,一個參考單元R1連接到控制信號CD[0],兩個參考單元R1連接到控制信號CD[1],並且四個參考單元R1連接到控制信號CD[2]。另外,8個參考單元R1連接到控制信號CD[3],16個參考單元R1連接到控制信號CD[4],32個參考單元R1連接到控制信號CD[5],並且64個參考單元R1連接到控制信號CD[6]。即,控制信號CD[0:6]被加權。
在圖17B中,由乘積運算記憶體單元Tbc構成的Tbc陣列和由參考單元R1構成的R1陣列亦可以被認為是分散式的並且排列的。如上該,經由分散式佈置,同樣在Tbc陣列和R1陣列中,可以減少由於資料偏置引起的故障。
根據第十實施例,當“+1”側和“-1”側的積和值較小時,可以將資料線PBL、NBL的電勢差放大,並且可以擴大操作餘量。另外,可以經由分配源極開關S-SW、Tbc陣列和R1陣列來減少故障。 (第十一實施例)
在第九實施例中,示出了用戶可以任意改變MQ輸出資料MQ[0]的資料長度的實例。換言之,已描述了其中使用者任意壓縮MQ輸出資料MQ[0]的資料長度的實例作為第九實施例。在第十一實施例中,提供了其中用戶可以選擇其他資料壓縮的配置。
圖18A至圖18D是用於解釋根據第十一實施例的A/D轉換的圖。
類似於第九實施例中的解釋,假定A/D轉換電路轉換為8位元。如圖18A所示,當最大解析度的資料長度是8位元時,積和運算結果的值與由MQ輸出資料MQ[0]表示的輸出值一一對應。
另一方面,如在第九實施例中該,當A/D轉換操作中途(例如,在第六週期(對應於圖15A和圖15B的第六步驟6th))停止時,由6位輸出值表示的值的範圍為從“-31”到“+31”。此時的狀態在圖18B中示出。在圖18B中,虛線指示最大解析度的情況,並且當在第六週期停止時,如實線所示,狀態變為由最大解析度表示的真實值被壓縮到1/4。換言之,A/D轉換電路的特性由輸出相對於真實值壓縮到1/4的狀態的功能來表示。
然而,在一些應用中,直到預定值,功能可能被期望作為A/D轉換,使得等於真實值的值被輸出。例如,當指定六個週期時,如圖18C所示,可能期望其中“-31”至“+31”的範圍變得等於真實值並且在該範圍之外變得恆定的功能。
圖18D經由例示其中輸出值為“+38”的情況,示出圖18B的情況和圖18C的情況。在圖18D中,條件1指示指定多達第七位以指示真實值的情況,並且條件2指示指定如圖18B所示的壓縮的情況。條件1具有的真實值多達第七位,而條件2具有第七位的真實值的1/2的值。由於這些變化取決於應用,因此必須能夠選擇其中之一。
圖19是示出根據第十一實施例的半導體裝置的配置的示意圖。圖19示出與資料線PBL、NBL集合有關的部分的電路。圖20A和圖20B是根據第十一實施例的半導體裝置的時序圖。在這裡,圖20A示出了將資料長度指定為8位元的情況,並且圖20B示出了將資料長度設置為7位元並且指定如圖18C所示的轉換的情況。
資料線PBL、NBL對連接到由P型FET P30至P32形成的預充電電路。資料線PBL、NBL經由傳輸開關對連接到差分感測放大器。傳輸開關對由差分感測放大器啟動信號MACSAFB控制的N型FET N30、N34和P型FET P36、P37組成。差分感測放大器由N型FET N31至N33和P型FET P33至P33組成,並且當由差分放大器啟動信號MACSAEB將P型FET P33和N型FET N33轉嚮導通狀態時,差分感測放大器將經由傳輸開關對提供的資料線PBL、NBL之間的電勢差放大並鎖存。將由第十實施例中描述的比較器放大的電勢差提供給資料線PBL、NBL。
將差分感測放大器的輸出提供給由NAND電路ND30、ND31、反相器電路IV30至IV32、P型FET 38至P41以及N型FET N35至N38組成的切換選擇器。根據提供給NAND電路ND30、ND31的控制信號BLSEL是處於高電平亦是低電平,NAND電路ND30或ND31的輸出變為低電平。例如,當NAND電路ND30的輸出變為低電平時,選擇經放大的資料線PBL中的電壓,並經由反相器電路IV33輸出MQ輸出資料MQ[0]。另一方面,當NAND電路ND31的輸出為低電平時,選擇經放大的資料線NBL的電壓,並經由反相器電路IV33將所選擇的電壓輸出作為MQ輸出資料MQ[0]。這是因為,如在第九實施例中該,根據符號是“+”亦是“-”而發生反相。
切換選擇器的輸出由包括NOR電路NR30、P型FET P42、P43和N型FET N39、N40的鎖存電路鎖存。MQ輸出資料MQ[0]的邏輯值由鎖存電路保持,並且將鎖存電路的輸出提供給鎖存電路FF31至FF34作為控制信號MQC。
積和運算遮罩信號MEM被鎖存電路FF30反相並鎖存,以成為經反相的遮罩信號ME。NAND電路ND32經由經反相的遮罩信號ME和差分感測放大器控制信號MACSAE形成差分放大器啟動信號MACSAEB。此外,NAND電路ND33基於經反相的遮罩信號ME以及積和運算模式使能信號MACE而形成積和運算使能信號MACEBF。預充電電路由具有與積和運算使能信號MACEBF的相位相同相位的控制信號控制。
鎖存電路FF32至FF34生成控制信號CD以用於確定待轉嚮導通狀態的參考單元R1的數目。儘管控制信號CD為7位元,但是圖19僅示出了生成作為3位元控制信號CD的CD[4]至CD[6]的鎖存電路。
在圖20A中,首先,將重定信號RST設置為高電平以便設置初始化狀態。結果,積和運算遮罩信號MEM被鎖存電路FF30反相並鎖存。另外,鎖存電路FF31至FF34被復位。接下來,差分感測放大器控制信號MACSAE變為高電平。基於此,資料線PBL和NBL之間的電勢差被差分感測放大器鎖存。此時,由於鎖存電路FF31被重定,控制信號BLSEL變為高電平。
因此,當此時由差分感測放大器鎖存的狀態如下時:“+1”側的積和值>“-1”側的積和值(資料線PBL的電壓>資料線NBL的電壓),邏輯值“0”作為MQ資料輸出。
此後,當確立控制信號CNT1時,作為鎖存電路FF31的輸出的控制信號BLSEL變為低電平,並且由反相器電路IV34、IV35生成高電平選擇信號PR和低電平選擇信號PN。由於MQ輸出資料從資料線NBL側輸出,當“+1”側的積和值<“-1”側的積和值時,輸出邏輯值“0”。由此,控制信號CNT[7]被確立,並且控制信號CD[6]成為高電平。經由控制信號CD[6]為高電平,64個參考單元R1成為導通狀態。在下一定時,控制信號CNT[6]被確立,並且控制信號CD[5]變為高電平。結果,32個參考單元R1處於導通狀態。如上該,經由確立控制信號CNT[7]至CNT[4],可以在調整轉嚮導通狀態的參考單元R1的數目的同時獲得與積和值相對應的邏輯值。
接下來,將參考圖20B來描述將資料長度減小到7位元的情況。 如圖18C所示的轉換可以經由從期望的控制信號CNT[n]確立而不確立控制信號CNT[7]來實施。
更具體地,在初始化完成之後輸出符號位元時,控制信號CNT[6]與控制信號CNTI一起被確立。控制信號CNT[6]亦連接到鎖存電路FF32的使能E,以用於輸出控制信號CD[6],但是經由僅在第一次將控制信號C1ST設置為邏輯值“1”,防止針對控制信號CNT[6]的鎖存電路FF32操作。因此,控制信號CD[6]保持低電平。結果,解析度從“-63”變為“+63”並且以與圖18C所示相同的方式,以多達7位元的資料長度輸出等於真實值的值。如上該,使用者可以改變所輸出的MQ輸出資料MQ[0]的資料長度,並且資料長度是可變的。
在第九實施例中描述的控制信號PS連接到鎖存電路FF30的重定端子。因此,當圖14D所示的施密特觸發型NAND電路62輸出控制信號PS時,從鎖存電路FF30輸出的反相遮罩信號ME變為低電平。結果,積和操作使能信號MACEBF轉向低電平,並且不執行積和運算。當反相遮罩信號ME被設置為低電平時,針對MQ輸出資料的鎖存電路被重定,鎖存電路包括P型FET P43和NOR電路NR30。即,P型FET P43轉嚮導通狀態,從針對MQ輸出資料的鎖存電路向反相器電路IV33提供高電平,並且將MQ輸出資料固定為低電平的電平邏輯值“0”。
根據第十一實施例,由於用戶可以自由地改變輸出資料的長度,提高了調整功率和效能之間的權衡的自由度。另外,由施密特觸發型NAND電路62偵測連接到成對資料線的乘積運算記憶體單元中的積和運算的結果是否為邏輯值“0”,並且當其為“0”時,控制信號PS將MQ輸出資料設置為預定邏輯值,並且不執行A/D轉換操作,使得可以降低功耗。
(第十二實施例)圖21是示出根據第十二實施例的參考單元的配置的電路圖。如參考圖14A至圖14D所描述,參考單元R1具有與乘積運算記憶體單元相似的配置。因此,參考單元R1的特性亦根據乘積運算記憶體單元Tbc的特性的變化而變化。因此,對於參考單元R1,幾乎不需要考慮特性的變化。
另一方面,參考單元R0.5被設置為使得經由串聯連接FET而流動的電流被限制,並且乘積運算記憶體單元的電流的一半流動。因此,若串聯連接的FET的特性由於製造上的變化而變化,則存在流過參考單元R0.5電流不對應於乘積運算記憶體單元電流的一半的擔心。在第十二實施例中,圖14C中所示的N型FET N18_1至N18_8被改變為如圖21所示的N型FET N50_1至N50_4、N51_1至N51_3和N52_1至N52_2。此處,將控制信號CD提供給N型FET N52_1和N52_2的閘極電極。另一方面,N型FET N50_1至N50_4的閘極電極連接至用於電流調整的修整端子TRM0,並且N型FET N51_1至N51_3的閘極電極連接至用於電流調整的修整端子TRM1。
修整端子TRM0或/和TRM1連接到例如N型FET N52_1和N52_2的閘極電極,使得流過參考單元R0.5的電流是流過乘積運算記憶體單元Tbc的電流的一半。修整端子TRM0、TRM1可以被認為是修改參考單元R0.5的特性的端子。
根據第十二實施例,可以減少製造偏差的影響。
圖22示出了根據第一實施例至第十二實施例的半導體裝置的外部端子。儘管與第一實施例至第十二實施例有關的半導體裝置具有大量的外部端子,但是在圖22中代表性地僅示出了與第一實施例至第十二實施例中描述的信號有關的外部端子。圖22示出了外部端子名稱、其數目、輸入/輸出區別和功能。
在圖22中,MACE端子被提供有指示積和操作模式是否啟用的積和操作模式使能信號MACE,RST端子被提供有重定信號RST,並且YA端子被提供有列位址YA。D端子被提供有待寫入乘積運算記憶體單元的輸入資料D,並且MEM端子被提供有用於遮罩積和運算的積和運算遮罩信號MEM。從Q端子輸出乘積運算記憶體單元中存儲的資料,並且從MQ端子輸出作為積和運算的結果的積和運算輸出資料(MQ輸出資料)。
當然,圖22所示的外部端子僅是一個實例,並且不限於該實例。
儘管已基於實施例具體描述了本發明人做出的發明,但是本發明不限於上述實施例,並且當然在不脫離其主旨的情況下可以進行各種修改。
1:乘積運算記憶體單元 2:記憶體單元 3:記憶體單元 4:開關 5:開關 6:開關 7:恆定電流源 10:負載 11:負載 1_0:乘積運算記憶體單元 1_1:乘積運算記憶體單元 20:乘積運算記憶體單元 21_0:記憶體單元 21_1:記憶體單元 21_2:記憶體單元 21_3:記憶體單元 30:乘積運算記憶體單元 31:NAND電路 32:NAND電路 33:反相器電路 34:開關 35:開關 36:開關 37:開關 38:電容元件 39:電容元件 40:記憶體巨集 41:記憶體陣列 42:A/D轉換器 43:MAC控制器 44:行解碼器和字驅動器 45:資料寫入/感測單元 46:輸入/輸出鎖存單元 47:讀取/寫入控制單元 48:INP鎖存器和驅動器 50:半導體裝置 60:控制邏輯單元 61:比較器電路 62:施密特觸發型NAND電路 100:半導體裝置
圖1是示出與第一實施例有關的具有積和運算功能的記憶體單元的配置的圖。
圖2是示出與第一實施例有關的乘積運算記憶體單元的配置的示意圖。
圖3是示出與第二實施例有關的半導體裝置的佈局的平面圖。
圖4A至圖4D是示出與第二實施例有關的半導體裝置的佈局的圖。
圖5A和圖5B是示出與第三實施例有關的半導體裝置的佈局的平面圖。
圖6是示出與第四實施例有關的半導體裝置的配置的示意圖。
圖7A和圖7B是示出與第四實施例有關的半導體裝置的佈局的平面圖。
圖8A至圖8D是示出與第四實施例有關的半導體裝置的截面的截面圖。
圖9是示出與第五實施例有關的乘積運算記憶體單元的配置的示意圖。
圖10是示出根據第六實施例的乘積運算記憶體單元的配置的示意圖;
圖11是示出根據第七實施例的半導體裝置的配置的圖。
圖12A和圖12B是用於解釋根據第八實施例的半導體裝置的圖。
圖13是示出根據第九實施例的半導體裝置的配置的圖。
圖14A至圖14D是示出根據第九實施例的半導體裝置的配置的圖。
圖15A和圖15B是用於解釋根據第九實施例的A/D轉換的時序圖。
圖16A和圖16B是示出根據第十實施例的半導體裝置的配置的圖;
圖17A和圖17B是用於解釋第十實施例的圖。
圖18A至圖18D是用於解釋根據第十一實施例的A/D轉換的圖。
圖19是示出根據第十一實施例的半導體裝置的配置的示意圖。
圖20A和圖20B是根據第十一實施例的半導體裝置的時序圖。
圖21是示出根據本發明的第十二實施例的參考單元的配置的電路圖。
圖22是示出根據第一實施例至第十二實施例的半導體裝置中包括的外部端子的圖。
1:乘積運算記憶體單元
2:記憶體單元
3:記憶體單元
4:開關
5:開關
6:開關
7:恆定電流源

Claims (20)

  1. 一種半導體裝置,包括: 第一乘積運算記憶體單元,連接到包括第一資料線和第二資料線的成對資料線,並且存儲第一邏輯值; 第二乘積運算記憶體單元,連接到該成對資料線,並且存儲第二邏輯值; 第一輸入線,連接到該第一乘積運算記憶體單元,並且向該第一乘積運算記憶體單元提供第一輸入資料; 第二輸入線,連接到該第二乘積運算記憶體單元,並且向該第二乘積運算記憶體單元提供第二輸入資料; 其中該第一邏輯值和該第二邏輯值中的每一個均為三進制值, 其中該第一乘積運算記憶體單元執行該第一邏輯值和該第一輸入資料的第一乘積運算,並且將該第一乘積運算的結果輸出到該成對資料線; 其中該第二乘積運算記憶體單元執行該第二邏輯值和該第二輸入資料的第二乘積運算,並且將該第二乘積運算的結果輸出到該成對資料線。
  2. 如請求項1所述之半導體裝置,其中該第一乘積運算和該第二乘積運算的結果被疊加到該成對資料線。
  3. 如請求項1所述之半導體裝置,進一步包括: 第一開關,連接到該第一資料線,並且由該第一邏輯值控制; 第二開關,連接到該第二資料線,並且由該第二邏輯值控制;以及 第三開關,由該輸入值控制,並且連接到電壓線; 其中該第一資料線經由與該第一邏輯值相對應的該第一開關和該第三開關連接至該電壓線,並且 其中該第二資料線經由與該第二邏輯值相對應的該第二開關和該第三開關連接到該電壓線。
  4. 如請求項3所述之半導體裝置, 其中該第一資料線和該第二資料線形成在第一金屬佈線層中,並且 其中該電壓線形成在與該第一金屬佈線層不同的第二金屬佈線層中。
  5. 如請求項4所述之半導體裝置, 其中該第一金屬佈線層和該第二金屬佈線層彼此相鄰,並且 其中該第一資料線、該第二資料線和該電壓線沿相同方向延伸。
  6. 一種半導體裝置,包括: 多個積和運算記憶體單元,各自存儲三進制值的資料;以及 資料線,連接到該多個積和運算記憶體單元, 其中該多個積和運算記憶體單元中的每個積和運算記憶體單元執行輸入到該積和運算記憶體單元的輸入資料與該積和運算記憶體單元中存儲的存儲資料的積和運算, 其中該多個積和運算記憶體單元的該積和運算的結果被輸出到該資料線。
  7. 如請求項6所述之半導體裝置,其中該多個積和運算記憶體單元中的每個積和運算記憶體單元包括: 第一記憶體單元,存儲絕對值資料;以及 第二記憶體單元,存儲符號資料。
  8. 如請求項7所述之半導體裝置, 其中該資料線包括第一資料線和第二資料線, 其中該多個積和運算記憶體單元中的每個積和運算記憶體單元包括: 多個第一開關,由多個該第一記憶體單元中存儲的該絕對值資料控制; 多個第二開關,由該第二記憶體單元中存儲的該符號資料控制;以及 多個第三開關,由該輸入資料控制, 其中該第一資料線經由與該絕對值資料和該輸入資料相對應的該第一開關和該第三開關連接至電壓線, 其中該第二資料線經由與該符號資料和該輸入資料相對應的該第二開關和該第三開關連接至該電壓線, 其中該絕對值資料是加權資料, 其中該多個第一開關、該多個第二開關和該多個第三開關中的每一個的尺寸與對應的絕對值資料的權重相對應。
  9. 如請求項6所述之半導體裝置, 其中該積和運算記憶體單元輸出指示該積和運算的結果的電壓。
  10. 一種半導體裝置,包括: 多個積和運算記憶體單元,各自存儲三進制值的資料;以及 多個第一資料線,各自連接到該多個積和運算記憶體單元; 其中該多個積和運算記憶體單元中的每個積和運算記憶體單元對該積和運算記憶體單元中存儲的存儲資料與輸入到該積和運算記憶體單元的輸入資料執行積和運算。
  11. 如請求項10所述之半導體裝置,進一步包括: 多個類比/數位轉換電路,連接至該多個第一資料線中的每個第一資料線,並且將所連接的第一資料線的類比信號轉換為數位信號; 輸入資料保持電路,保持多個輸入資料; 其中該輸入資料保持電路中保持的資料作為該輸入資料被提供給該積和運算記憶體單元,並且 其中該積和運算的結果經由該第一資料線被提供給該類比/數位轉換電路。
  12. 如請求項11所述之半導體裝置,進一步包括多個第二資料線, 其中資料經由該多個第二資料線被寫入到該多個積和運算記憶體單元。
  13. 如請求項11所述之半導體裝置,進一步包括: 數位/類比轉換電路,連接到該輸入資料保持電路,並且將該輸入資料轉換為類比信號,並且 其中來自該數位/類比轉換電路的該類比信號被輸入到該積和運算記憶體單元。
  14. 如請求項10所述之半導體裝置, 其中該多個第一資料線中的每個第一資料線包括成對資料線, 其中該半導體裝置進一步包括: 參考單元,連接到該成對資料線,並且向該成對資料線中的一個資料線提供參考;以及 比較器,連接到該成對資料線, 其中該成對資料線之間的電勢差由該比較器放大,並且基於經放大的電勢差的資料被串行輸出。
  15. 如請求項14所述之半導體裝置,其中該參考單元包括: 第一參考單元,具有與該積和運算記憶體單元的驅動力相同的驅動力;以及 第二參考單元,具有該積和運算記憶體單元的驅動力的一半的驅動力, 其中基於該電勢差的資料被輸出,使得符號位元之後是串列的最高有效位元到最低有效位元。
  16. 如請求項15所述之半導體裝置, 其中該半導體裝置偵測連接到該成對資料線的該多個積和運算記憶體單元的該積和運算的結果是否為“0”,並且當連接到該成對資料線的該多個積和運算記憶體單元的該積和運算為“0”時,該半導體裝置輸出預定的邏輯值作為該積和運算的該結果。
  17. 如請求項15所述之半導體裝置,其中串行輸出的該資料的長度是可變的。
  18. 如請求項14所述之半導體裝置,進一步包括: 單元陣列,其中佈置該多個積和運算記憶體單元; 參考陣列,其中佈置該參考單元;以及 源極開關,包括對該成對資料線進行偏置的偏置電路和開關電路, 其中該單元陣列、該參考陣列和該源極開關是分散式的,並且 其中構成該積和運算記憶體單元的多個電晶體的一部分與構成該參考單元的多個電晶體的一部分被用作構成該比較器的電晶體。
  19. 如請求項14所述之半導體裝置,其中該參考單元包括能夠改變其特性的端子。
  20. 如請求項18所述之半導體裝置,進一步包括: MACE端子,被提供有積和運算模式使能信號,該積和運算模式使能信號指示是否啟用執行該積和運算的積和模式; RST端子,被提供有重定信號; YA端子,被提供有指定該單元陣列的該積和運算記憶體單元的位址; D端子,被提供有寫入到該積和運算記憶體單元的資料;以及 MQ端子,輸出該積和運算的結果。
TW109103124A 2019-02-07 2020-02-03 半導體裝置 TW202044541A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019020844A JP7149198B2 (ja) 2019-02-07 2019-02-07 半導体装置
JP2019-020844 2019-02-07

Publications (1)

Publication Number Publication Date
TW202044541A true TW202044541A (zh) 2020-12-01

Family

ID=69232764

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109103124A TW202044541A (zh) 2019-02-07 2020-02-03 半導體裝置

Country Status (6)

Country Link
US (1) US11526329B2 (zh)
EP (1) EP3696735B1 (zh)
JP (1) JP7149198B2 (zh)
KR (1) KR20200097208A (zh)
CN (1) CN111540397A (zh)
TW (1) TW202044541A (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019131137A1 (ja) * 2017-12-28 2019-07-04 Tdk株式会社 積和演算器、ニューロモーフィックデバイスおよび積和演算器の故障判断方法
JP6819799B2 (ja) 2017-12-28 2021-01-27 Tdk株式会社 積和演算器の使用方法
JP2024065862A (ja) 2022-10-31 2024-05-15 ルネサスエレクトロニクス株式会社 半導体装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7120040B2 (en) 2004-06-01 2006-10-10 Mosaid Technologies Incorporation Ternary CAM cell for reduced matchline capacitance
JP4738112B2 (ja) 2005-09-12 2011-08-03 ルネサスエレクトロニクス株式会社 半導体記憶装置
US7965564B2 (en) 2007-09-18 2011-06-21 Zikbit Ltd. Processor arrays made of standard memory cells
KR20180028020A (ko) 2016-09-07 2018-03-15 르네사스 일렉트로닉스 가부시키가이샤 반도체 장치
JP6832799B2 (ja) 2016-09-07 2021-02-24 ルネサスエレクトロニクス株式会社 半導体装置
JP6789576B2 (ja) * 2018-08-02 2020-11-25 株式会社フローディア 積和演算装置
US11126402B2 (en) * 2019-03-21 2021-09-21 Qualcomm Incorporated Ternary computation memory systems and circuits employing binary bit cell-XNOR circuits particularly suited to deep neural network (DNN) computing
US10777259B1 (en) * 2019-05-17 2020-09-15 Qualcomm Incorporated Static random-access memory (SRAM) for in-memory computing
US11281429B2 (en) * 2019-09-25 2022-03-22 Purdue Research Foundation Ternary in-memory accelerator
US11776608B2 (en) * 2019-11-04 2023-10-03 Qualcomm Incorporated Static random-access memory (SRAM) compute in-memory integration
US11601134B2 (en) * 2020-01-10 2023-03-07 Robert Bosch Gmbh Optimized quantization for reduced resolution neural networks
EP3968208A1 (en) * 2020-09-09 2022-03-16 Imec VZW Analog in-memory computing based inference accelerator

Also Published As

Publication number Publication date
EP3696735B1 (en) 2024-03-06
JP7149198B2 (ja) 2022-10-06
US20200257501A1 (en) 2020-08-13
KR20200097208A (ko) 2020-08-18
JP2020129582A (ja) 2020-08-27
US11526329B2 (en) 2022-12-13
CN111540397A (zh) 2020-08-14
EP3696735A1 (en) 2020-08-19

Similar Documents

Publication Publication Date Title
TW202044541A (zh) 半導體裝置
US7643372B2 (en) Semiconductor integrated circuit
JP4771710B2 (ja) メモリの差動電流モードを検出する方法と装置
JPWO2018189620A1 (ja) ニューラルネットワーク回路
JP4717173B2 (ja) メモリ装置および方法
Rai et al. Perspectives on emerging computation-in-memory paradigms
US20230377623A1 (en) Integrated circuit with asymmetric arrangements of memory arrays
US20090296498A1 (en) Memory access method and semiconductor memory device
JP3611041B2 (ja) 半導体演算回路
US20030006821A1 (en) Fast and wide multiplexing circuits
WO2020137341A1 (ja) 不揮発性論理回路
US20230317151A1 (en) Semiconductor device
US11996147B2 (en) Memory and operating method thereof
JP5238784B2 (ja) ルックアップテーブル回路およびフィールドプログラマブルゲートアレイ
TWI813244B (zh) 記憶體陣列
US6842394B2 (en) Semiconductor device using SCL circuit
US10002964B2 (en) System and method for threshold logic with electrostatically formed nanowire transistors
WO2005024838A1 (ja) 半導体記憶装置
WO2020095347A1 (en) Reconfigurable circuit
JPH04113597A (ja) 半導体記憶装置
JP4044019B2 (ja) Cmos論理回路
JPH03205686A (ja) 半導体記憶回路装置