[go: up one dir, main page]

ES2989963T3 - Celda de bits de cálculo en memoria - Google Patents

Celda de bits de cálculo en memoria Download PDF

Info

Publication number
ES2989963T3
ES2989963T3 ES20746466T ES20746466T ES2989963T3 ES 2989963 T3 ES2989963 T3 ES 2989963T3 ES 20746466 T ES20746466 T ES 20746466T ES 20746466 T ES20746466 T ES 20746466T ES 2989963 T3 ES2989963 T3 ES 2989963T3
Authority
ES
Spain
Prior art keywords
signal line
bit cell
coupled
transistor
cim
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES20746466T
Other languages
English (en)
Inventor
Zhongze Wang
Xia Li
Ye Lu
Yandong Gao
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2989963T3 publication Critical patent/ES2989963T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/06Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
    • G11C7/065Differential amplifiers of latching type
    • 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
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06GANALOGUE COMPUTERS
    • G06G7/00Devices in which the computing operation is performed by varying electric or magnetic quantities
    • G06G7/12Arrangements for performing computing operations, e.g. operational amplifiers
    • G06G7/16Arrangements for performing computing operations, e.g. operational amplifiers for multiplication or division
    • G06G7/163Arrangements for performing computing operations, e.g. operational amplifiers for multiplication or division using a variable impedance controlled by one of the input signals, variable amplification or transfer function
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • 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/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4074Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control 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/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4094Bit-line management or control 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/16Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/14Word line organisation; Word line lay-out
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Neurology (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Static Random-Access Memory (AREA)
  • Semiconductor Memories (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Abstract

Un Compute In Memory (CIM) de compartición de carga puede comprender una celda de bit XNOR con un capacitor interno entre el nodo de salida XNOR y un voltaje del sistema. Alternativamente, un CIM de compartición de carga puede comprender una celda de bit XNOR con un capacitor interno entre el nodo de salida XNOR y una línea de bit de lectura. Alternativamente, un CIM de compartición de carga puede comprender una celda de bit XNOR con un capacitor interno entre XNOR y la línea de bit de lectura con una línea de bit de escritura separada y una barra de línea de bit de escritura. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Celda de bits de cálculo en memoria
Referencia cruzada a las solicitudes relacionadas
La presente solicitud de patente reivindica el beneficio de la solicitud provisional núm. 62/870,650 titulado "COMPUTE-IN-MEMORY BIT CELL" presentado el 3 de julio de 2019, y a la solicitud no provisional núm.
16/706,429 titulada "COMPUTE-IN-M<e>M<o>RY BIT CELL" presentada el 6 de diciembre de 2019, ambos asignados al cesionario de la presente.
Campo de la descripción
Esta descripción se refiere generalmente a las celdas de memoria, y más específicamente, pero sin exclusividad, a las celdas de memoria de cálculo de compartir de carga (CIM).
Antecedentes
A medida que los sistemas de computación se vuelven más complejos, los sistemas de computación procesan mayores cantidades de datos durante su funcionamiento. Esto conduce a desafíos que implican la recuperación y el almacenamiento de datos en dispositivos de almacenamiento. Por ejemplo, los sistemas de computación usan múltiples capas de nodos computacionales, donde las capas más profundas realizan cálculos en base a los resultados de los cálculos realizados por las capas superiores. Estos cálculos a veces pueden depender del cálculo de productos punto y diferencias absolutas de vectores, que típicamente se calculan con operaciones de multiplicación y acumulación (MAC) realizadas sobre los parámetros, los datos de entrada y los pesos. Debido a que estas operaciones del sistema de computación complejo pueden incluir muchos de tales elementos de datos, estos elementos de datos se almacenan típicamente en una memoria separada de los elementos de procesamiento que realizan las operaciones MAC.
El cálculo de las operaciones dentro de un procesador es típicamente de órdenes de magnitud más rápido que la transferencia de datos entre el procesador y los recursos de memoria usados para almacenar los datos. Colocar todos los datos más cerca del procesador en cachés es prohibitivamente costoso para la gran mayoría de los sistemas prácticos debido a la necesidad de grandes capacidades de cachés de cercana proximidad. Por lo tanto, la transferencia de datos cuando los datos se almacenan en una memoria separada de los elementos de procesamiento se convierte en un importante cuello de botella para los cálculos del sistema de computación. A medida que los conjuntos de datos aumentan de tamaño, el tiempo y la energía/energía que un sistema informático utiliza para mover los datos entre elementos de memoria y procesamiento ubicados por separado pueden terminar siendo múltiplos del tiempo y la energía utilizados para realizar realmente los cálculos. Por lo tanto, existe la necesidad de sistemas de computación que reduzcan o eviten transferir datos para su uso en una operación de computación.
En consecuencia, existe la necesidad de sistemas, aparatos y procedimientos que superen las deficiencias de los enfoques convencionales, incluidos los procedimientos, sistemas y aparatos proporcionados en la presente descripción.
Se debe prestar atención a US 2019/042199 A1 describir circuitos y técnicas de cálculo en memoria. En un ejemplo, un dispositivo de memoria incluye una matriz de celdas de memoria, la matriz incluye múltiples submatrices. Cada una de las submatrices recibe una tensión diferente. El dispositivo de memoria incluye además capacitores acoplados con líneas de acceso conductoras de cada uno de los múltiples submatrices y circuitos acoplados con los capacitores, para compartir carga entre los capacitores en respuesta a una señal. En un ejemplo, el dispositivo de computación, tal como un acelerador de aprendizaje automático, incluye una primera matriz de memoria y una segunda matriz de memoria. El dispositivo de computación también incluye un circuito de procesador analógico acoplado con el primer y segundo matrices de memoria para recibir la primera tensión de entrada analógica del primer arreglo de memoria y la segunda tensión de entrada analógica del segundo arreglo de memoria y realizar una o más operaciones sobre la primera y segunda tensiones de entrada analógicas, y emitir una tensión de salida analógica.
Se llama la atención además a US 2019/088309 A1 describir la memoria de acceso aleatorio estática de múltiples niveles (MLC) (SRAM de MLC) configuradas para realizar operaciones de multiplicación. En un aspecto, una celda SRAM MLC incluye celdas de bits SRAM, en el que los valores de datos almacenados en las celdas de bits SRAM corresponden a un valor de múltiples bits almacenado en la celda SRAM MLC que sirve como primer operando en la operación de multiplicación. El tensión aplicado a la línea de bits de lectura se aplica a cada celda de bits de SRAM, en el que la tensión es una representación analógica de un valor de múltiples bits que sirve como segundo operando en la operación de multiplicación. Para cada celda de bits de SRAM, si se almacena un valor de datos binarios particular, una corriente que corresponde a la tensión de la línea de bits de lectura se añade a una línea de suma de corriente. Una magnitud de corriente en la línea de suma de corriente es una representación analógica de un producto de múltiples bits del primer operando multiplicado por el segundo operando.
Se llama la atención adicional a US 2014/219039 A1 describir un circuito de controlador de asistencia de escritura que asiste a un circuito de memoria (por ejemplo, un circuito de memoria volátil) en las operaciones de escritura para mantener la tensión en el núcleo de memoria suficientemente alta para las operaciones de escritura correctas, incluso cuando la tensión de suministro se reduce. El circuito del controlador de asistencia de escritura puede configurarse para proporcionar una tensión de suministro de memoria VddM a un núcleo de celda de bits durante un modo de funcionamiento de espera. En un modo de escritura de funcionamiento, el circuito del controlador de asistencia de escritura puede proporcionar una tensión de suministro de memoria VddMlower al núcleo de la celda de bits así como también a al menos una de la línea de bits de escritura local (lwbl) y la barra de línea de bits de escritura local (lwblb). Adicionalmente, el circuito del controlador de asistencia de escritura también puede proporcionar una tensión de suministro periférico VddP a una línea de palabra de escritura local (lwwl), donde VddP^VddM>VddMlower.
Sumario
La presente invención se expone en las reivindicaciones independientes, respectivamente. Las realizaciones preferentes de la invención se describen en las reivindicaciones dependientes. Los siguientes aspectos de este resumen son solo para propósitos ilustrativos.
Lo siguiente presenta un resumen simplificado relacionado con uno o más aspectos y/o ejemplos asociados con el aparato y los procedimientos descritos en la presente descripción. Como tal, el siguiente resumen no debe considerarse una visión extensa relacionada con todos los aspectos y/o ejemplos contemplados, ni debe considerarse que el siguiente resumen identifica elementos clave o críticos relacionados con todos los aspectos y/o ejemplos contemplados o para delinear el alcance asociado con cualquier aspecto y/o ejemplo particular. En consecuencia, el siguiente resumen tiene el único propósito de presentar ciertos conceptos relacionados con uno o más aspectos y/o ejemplos relacionados con el aparato y los procedimientos descritos en la presente descripción de forma simplificada para preceder a la descripción detallada que se presenta a continuación.
En un aspecto, un circuito de celda de memoria comprende: una celda de memoria de bit acoplada a una tensión de sistema y a una tierra; una primera línea de señal acoplada a la celda de memoria; una segunda línea de señal acoplada a la celda de memoria; una tercera línea de señal acoplada a la celda de memoria; una cuarta línea de señal acoplada a la celda de memoria; un transistor de lectura acoplado a una primera línea de señal de lectura, una salida de la celda de memoria, y una primera línea de bit de lectura; y un capacitor acoplado a la salida de la celda de memoria y a la tensión de sistema.
En otro aspecto, un circuito de celda de bits comprende: una celda de bit acoplada a una tensión de sistema y a una tierra; una primera línea de señal acoplada a la celda de bit; una segunda línea de señal acoplada a la celda de bit; una tercera línea de señal acoplada a la celda de bit; una cuarta línea de señal acoplada a la celda de bit; un transistor de lectura acoplado a una primera línea de señal de lectura, una salida de la celda de bit, y la tierra; y un capacitor acoplado a la salida de la celda de bit y a la línea de bit de lectura.
En aún otro aspecto, un circuito de celda de memoria comprende: una celda de memoria acoplada a una tensión de sistema y a una tierra; una primera línea de señal acoplada a la celda de memoria; una segunda línea de señal acoplada a la celda de memoria; una tercera línea de señal acoplada a la celda de memoria; una cuarta línea de señal acoplada a la celda de memoria; un transistor de lectura acoplado a una primera línea de señal de lectura, una salida de la celda de memoria, y una barra de línea de bits de escritura; una línea de bits de escritura acoplada a la tercera línea de señal y a la cuarta línea de señal; y un capacitor acoplado a la salida de la celda de memoria y a la línea de bits de lectura.
En aún otro aspecto, un procedimiento para hacer funcionar un circuito de celda de bit comprende: restablecer el circuito de celda de bit a un estado inicial; aplicar una primera señal de tensión a una primera línea de señal; aplicar una segunda señal de tensión a una segunda línea de señal; acoplar una primera línea de lectura de bit a una salida del circuito de celda de bit; y muestrear un nivel de tensión de la primera línea de lectura de bit.
Otras características y ventajas asociadas con el aparato y los procedimientos descritos en la presente descripción serán evidentes para los expertos en la técnica en base a los dibujos acompañantes y la descripción detallada. Breve descripción de los dibujos
Una apreciación más completa de aspectos de la descripción y muchos de los beneficios que la misma proporciona se obtendrán fácilmente a medida que se entiende mejor por referencia a la siguiente descripción detallada cuando se considera en relación con los dibujos adjuntos que se presentan únicamente para ilustrar y no para limitar la descripción, y en los cuales:
La Figura 1 ilustra una matriz de celdas de trama de CIM ilustrativa de acuerdo con algunos ejemplos de la descripción;
La Figura 2 ilustra tipos de memoria CIM de acuerdo con algunos ejemplos de la descripción;
La Figura 3 ilustra un tipo de memoria CIM SRAM ilustrativo de acuerdo con algunos ejemplos de la descripción;
La Figura 4 ilustra una celda de bits CIM XNOR con un capacitor interno entre la celda de bits y una tensión de sistema de acuerdo con la invención;
La Figura 5 ilustra una celda de bits CIM XNOR con un capacitor interno entre la celda de bits y una línea de bits de lectura de acuerdo con la invención;
La Figura 6 ilustra una celda de bits CIM XNOR con un capacitor interno entre la celda de bits y una línea de bits de lectura y una línea de bits de escritura separada de acuerdo con la invención;
La Figura 7 ilustra una matriz de celdas de bits CIM de carga compartida ilustrativo con un capacitor interno entre la celda de bits y una tensión de sistema de acuerdo con algunos ejemplos de la descripción;
La Figura 8 ilustra una matriz de celdas de bits CIM de carga compartida ilustrativo con un capacitor interno entre la celda de bits y una línea de bits de lectura de acuerdo con algunos ejemplos de la descripción;
La Figura 9 ilustra un procedimiento parcial para operar un circuito de celda de trazo de acuerdo con la invención;
La Figura 10 ilustra un dispositivo móvil ilustrativo de acuerdo con algunos ejemplos de la descripción; y
La Figura 11 ilustra varios dispositivos electrónicos que pueden integrarse con cualquiera de los dispositivos integrados, dispositivos semiconductores, circuitos integrados, troqueles, bobinas de interposición, empaques o empaque sobre empaque (PoP) anteriores de acuerdo con algunos ejemplos de la descripción.
De acuerdo con la práctica común, las características representadas en los dibujos pueden no estar a escala. Por consiguiente, las dimensiones de las características representadas pueden expandirse o reducirse arbitrariamente para mayor claridad. De acuerdo con la práctica común, algunos de los dibujos se simplifican para mayor claridad. Por lo tanto, los dibujos pueden no representar todos los componentes de un aparato o procedimiento en particular. Además, los mismos números de referencia denotan características similares en toda la memoria descriptiva y las figuras.
Descripción detallada
Los procedimientos, aparatos y sistemas ilustrativos descritos en la presente descripción mitigan las deficiencias de los procedimientos, aparatos y sistemas convencionales, así como también otras necesidades no identificadas anteriormente. Por ejemplo, un Computo en Memoria (CIM) de carga compartida (también conocido como Computo en Memoria o Proceso en Memoria en CIM) puede comprender un complemento de una celda de bits CIM de OR exclusivo (XNOR) con un capacitor interno entre el nodo de salida XNOR y una tensión de sistema. En otro ejemplo, un CIM de carga compartida (también conocido como basado en la capacitancia de interruptor o, más generalmente, basado en carga) puede comprender una celda de bits XNOR con un capacitor interno entre el nodo de salida XNOR y una línea de bits de lectura. En tales ejemplos, un circuito CIM puede eliminar la necesidad de un puerto de escritura dedicado para la celda de bits XNOR, usar la puerta de transmisión para una celda de bits CIM XNOR para generar una tensión definido en un capacitor interno que evita un nodo flotante, y es una celda más pequeña que las celdas de bits XNOR convencionales que usan solo 4 pines verticales de línea de señal y 2 pines horizontales (línea de bits de lectura (RBL) y línea de palabra de lectura (RWL)). En aún otro ejemplo, un CIM de carga compartida puede comprender una celda de bits CIM XNOR con un capacitor interno entre XNOR y la línea de bits de lectura con una línea de escritura separada y una barra de línea de escritura. En este ejemplo, un circuito CIM puede eliminar el puerto de escritura SRAM BL y BLB y no usar SRAM de 6T, usar una línea de bits de escritura separada (WBL) y una barra de línea de bits de escritura (WBLB - el complemento de la línea de bits de escritura) y líneas de palabras de escritura (WWL) para generar una tensión definido en un capacitor interno que evita un nodo flotante, y es una celda más pequeña que las celdas de bits CIM XNOR convencionales que usan solo 5 pines de línea de señal y 1 (WBL) pin horizontal, 2 (RBL & WBL) pines verticales.
Los circuitos CIM ilustrativos descritos en la presente descripción reducen tanto la energía para el movimiento de datos como el ancho de banda de memoria efectivo para los datos consumidos en los sistemas de computación. Los circuitos CIM ilustrativos pueden realizar operaciones tales como el producto punto y la diferencia absoluta de vectores almacenados localmente dentro de una matriz de celdas de memoria (por ejemplo, celdas de bits) sin tener que enviar datos a un procesador host. Los circuitos CIM ilustrativos pueden realizar operaciones MAC dentro de un circuito CIM para permitir una mayor producción para operaciones de producto punto o matrices de peso mientras aún proporcionan un mayor rendimiento y menor energía en comparación con mover continuamente datos desde la memoria para entradas en cálculos por un procesador anfitrión. Los circuitos CIM ilustrativos pueden incluir un procesador de memoria local para realizar el procesamiento para devolver un resultado de cálculo en lugar de simplemente devolver datos sin procesar o sin procesar. En algunos ejemplos, un procesador en el circuito CIM calcula un valor de MAC basado en una carga o corriente de celdas de bits seleccionadas de una columna de una matriz de memoria, la matriz de memoria también incluido en el circuito CIM. Se debe tener en cuenta que la abreviatura "MAC" puede referirse a multiplicar acumular, multiplicar/acumular, o multiplicador acumulador, en general refiriéndose a una operación que incluye la multiplicación de dos valores, y la acumulación de una secuencia de multiplicaciones.
De conformidad con algunos ejemplos, el uso de un circuito CIM reduce la cantidad de datos que se transfieren típicamente entre la memoria del sistema y los recursos de cálculo. La reducción del movimiento de datos acelera la ejecución de algoritmos que pueden estar limitados por el ancho de banda de la memoria si no es por el uso de un circuito CIM. La reducción en el movimiento de datos también reduce el consumo de energía total asociado con el movimiento de datos dentro del dispositivo de computación. En algunos ejemplos, los elementos de procesamiento de un circuito CIM pueden calcular un valor de MAC mediante el uso de la suma de corriente para una o más columnas de celdas de bits de una matriz incluida en el circuito CIM. Para estos ejemplos, la suma de corriente puede incluir lo siguiente: 1) múltiples puertas de paso de celdas de bits (PG) que tiran simultáneamente de una línea de bits precargada de una columna que tiene celdas de bits de acceso; y 2) interpretar la tensión final de la línea de bits como un valor de salida analógico.
Existen muchas aplicaciones útiles para las matrices de celdas de bit de CIM que incluyen, pero no se limitan a, la inteligencia artificial (IA) de ordenadora que usa aprendizaje automático, tales como técnicas de aprendizaje profundo. Con el aprendizaje profundo, un sistema de computación organizado como una red neuronal calcula una probabilidad estadística de una coincidencia de datos de entrada con datos computados anteriormente. Una red neuronal se refiere a una pluralidad de nodos de procesamiento interconectados que permiten el análisis de datos para comparar una entrada con datos "entrenados". Los datos entrenados se refieren al análisis computacional de las propiedades de los datos conocidos para desarrollar modelos que se usan para comparar los datos de entrada. Un ejemplo de una aplicación de la IA y el entrenamiento de datos se encuentra en el reconocimiento de objetos, donde un sistema analiza las propiedades de muchas (por ejemplo, miles o más) imágenes para determinar patrones que pueden usarse para realizar un análisis estadístico para identificar un objeto de entrada, como la cara de una persona. Tales redes neuronales pueden calcular "pesos" para realizar cálculos sobre nuevos datos (una "palabra" de datos de entrada) con múltiples capas de nodos computacionales que se basan en las operaciones de MAC realizadas sobre los datos de entrada y los pesos. Por ejemplo, las matrices de celdas de trama de CIM pueden usarse como aceleradores de hardware para redes neuronales (por ejemplo, unidad de procesamiento neuronal (NPU)).
Debe notarse que los términos "conectado", "acoplado" o cualquier variante de estos, significan cualquier conexión o acoplamiento, ya sea directo o indirecto, entre elementos, y puede abarcar la presencia de un elemento intermedio entre dos elementos que están "conectados" o "acoplados" entre sí mediante el elemento intermedio. También debe entenderse que "acoplado" o "conectado" como se usa en la presente descripción significa acoplado eléctricamente o conectado eléctricamente a menos que se exprese de cualquier otra manera
Se debe tener en cuenta que los términos "tensión del sistema" y "tierra" se refieren a estados de tensión de un circuito. En un circuito acoplado a un suministro de energía de 5 voltios, por ejemplo, la tensión del sistema (3,5 voltios a 5 voltios) indica un estado lógico "alto" mientras que la tierra (0 voltios a 1,5 voltios) indica un estado lógico "bajo". Con respecto a la tensión del sistema, debe entenderse que la tensión del sistema como se usa en la presente descripción se refiere a la tensión de funcionamiento de la celda de memoria o matriz de memoria (a veces denominada tensión nominal a la que un dispositivo o sistema fue diseñado para funcionar). Por ejemplo, una celda de memoria de bit puede residir en un sistema con un procesador en el que la celda de memoria de bit tiene una tensión de sistema (tensión de funcionamiento) de 1,5 voltios mientras que el procesador tiene una tensión de sistema (tensión de funcionamiento) de 3,3 voltios. En este ejemplo, se entiende bien en la técnica que las señales del procesador se reducen a una tensión cuando se aplican a la celda de memoria de una tensión del sistema de 3,3 voltios a una tensión del sistema de 1,5 voltios. Por lo tanto, la tensión del sistema como se usa en la presente descripción se aplica a la tensión del sistema o de funcionamiento de la matriz de memoria o celda de bits a menos que se indique de cualquier otra manera.
La Figura 1 ilustra una matriz de celdas de trama CIM ilustrativa. Como se muestra en la Figura 1, una matriz de celdas de bits de CIM 100 puede incluir una pluralidad de celdas de bits W11-Wnm dispuestas en una matriz, una primera entrada de activación X1, una segunda entrada de activación X2, una entrada de activación n Xn, una primera salida Y1, una segunda salida Y2, y una m-ésima salida Ym. La primera entrada de activación X1 se acopla a una primera línea de señal (línea de palabra - WL1), la segunda entrada de activación X2 se acopla a una segunda línea de señal (línea de palabra - WL2), la n-ésima entrada de activación Xn se acopla a una n-ésima línea de señal (línea de palabra - WLn). La primera salida Y1 se acopla a una primera línea de bits (BL1) y un convertidor analógico a digital (ADC), la segunda salida Y2 se acopla a una segunda línea de bits (BL2) y un ADC, y una m-ésima salida Ym se acopla a una m-ésima línea de bits (BLm) y un ADC.
Cada una de las celdas de bits W1 1-Wnm almacena un valor correspondiente a un peso. Una señal de activación (Activación(Xn))se acciona por un pulso de tensión en las respectivas líneas de palabra(WLn)y la multiplicación ocurre en cada celda de bits (W11-Wnm) y los resultados se envían a las líneas de bits(BLm).Cada línea de bits (BL1, BL2, BLm) suma la salida de cada celda de bits (la salida de cada celda de bits añade tensión a la línea de bits respectiva) y pasa el resultado al ADC respectivo y el ADC convierte cada resultado de BL a un valor digital de
acuerdo cony i<= 2 w ' i ¿>Jj x iLa multiplicación se produce como resultado de una operación de matriz-vectores. Por ejemplo, los datos pueden almacenarse en la matriz de celdas 100 en un formato principal de columna de manera que el bit más significativo (MSB) sea la primera línea de señal más alta (WL1) y el bit menos significativo (LSB) sea la línea de señal más baja en la n-ésima (WLn) mientras que la columna más a la derecha es la columna más significativa y la columna más a la izquierda es la columna menos significativa. En las redes neuronales artificiales, por ejemplo, los elementos de la matriz W11-Wnm corresponden a pesos, o sinapsis, entre neuronas. Cada celda de bit W11-Wnm puede almacenar un valor (uno o cero) correspondiente a una palabra de datos para una línea de señal particular (WL1-Wln). Al activar una combinación particular de líneas de señal, puede realizarse una operación de multiplicación de matriz de vectores. Cada celda de bit activada W11-Wnm que almacena un "uno" lógico contribuirá con algún nivel de tensión (por ejemplo, si la tensión de la celda de bit es de 1 voltio, la celda de bit puede contribuir con menos de 1 voltio, tal como 10 o 20 milivoltios) a la línea de bits respectiva de la celda de bit activada (BL1-BLm). Cada celda de bit activada W11-Wnm que almacena un "cero" lógico no contribuirá con ningún potencial de tensión a la línea de bits respectiva de la celda de bits activada (BL1-BLm). El ADC para cada línea de bits (BL1-BLm) convertirá el nivel de tensión analógico en la línea de bits a un valor digital como una salida de la operación de multiplicación de matriz de vectores.
La Figura 2 ilustra tipos de memoria CIM ilustrativos. Como se muestra en la Figura 2, muchos tipos diferentes de memoria son candidatos para una matriz de celdas de trama CIM. La Figura 2 ilustra los beneficios y desventajas de cuatro tipos principales de celdas de bits: Memoria flash, memoria de cambio de fase (PCM), memoria de acceso aleatoria resistiva (RRAM), y memoria de acceso aleatoria estática de carga compartida (CS-SRAM). Como se muestra, se indica el mecanismo de almacenamiento para cada tipo de memoria: carga almacenada en una puerta flotante (Flash), una fase de cambio de GST (GeSbTe - germanio-antimonio-telurio) (PCM), interruptor de resistencia de un TMO (óxido de metal de transición - RRAM), y un latch CMOS. Como se indica en la fila "Acumulación", los primeros tres tipos de memoria se muestran como acumulación de corriente y el cuarto se muestra como acumulación de carga. Sin embargo, debe entenderse que una CS-SRAM puede configurarse como un acumulador de carga o corriente (ver la Figura 3, por ejemplo). Como se indica en la fila "Limitación del proceso", la CS-SRAM no tiene limitaciones de proceso en el tamaño del nodo y una muy alta eficiencia de energía del MAC junto con buenos parámetros en otras categorías. Además, como se indica en la Figura 3, la CS-SRAM configurada como un acumulador de carga escalará bien en términos de la cantidad de nodos además de la falta de limitaciones de proceso sobre el tamaño de cada nodo. Por lo tanto, sin limitaciones de proceso sobre el tamaño de un nodo así como la eficiencia energética de MAC, y soporte de múltiples bits sin la necesidad de un diseño de múltiples niveles, la CS-SRAM ofrece el mejor rendimiento de los diferentes tipos de memoria ilustrados.
La Figura 3 ilustra un tipo de memoria CIM de SRAM ilustrativo. Como se indica en la Figura 2, el tipo de memoria CS-SRAM ofrece beneficios sobre otros tipos de memoria posibles para su uso en matrices CIM. Como se muestra en la Figura 3, una SRAM puede configurarse como una matriz de celdas de destino CIM con acumulación de corriente en la línea de destino o acumulación de carga en la línea de destino. Para la configuración de acumulación actual, las celdas de bits con un "uno" lógico contribuyen con corriente a las respectivas líneas de bits y esta corriente se lee como la salida de esa línea de bits de la matriz. Como se indica en la hilera de Sensibilidad a la variación de proceso, tensión y temperatura (PVT), la configuración de acumulación de corriente es más sensible a las variaciones de PVT que pueden causar retrasos en el temporizado de la señal en diferentes condiciones. Para la configuración de acumulación actual, estas fuentes de variación incluyen PVT, Error de Tensión Umbral (VtMM), Desviación de ADC y Ruido. A diferencia de eso, la configuración de acumulación de carga está sujeta solo a la incompatibilidad de capacitancia entre las celdas de bits, el compensación del ADC y las fuentes de variación de ruido. Como se indica en la Fila de eficiencia energética y linealidad, la configuración de acumulación de carga muestra un mejor rendimiento que la configuración de acumulación de corriente actual. Además, el número de nodos o el tamaño de la matriz escala bien para la configuración de acumulación de carga pero no para la configuración de acumulación de corriente como se indica en la fila de escalabilidad del nodo de proceso. Además, la configuración de acumulación actual tiene desafíos adicionales como mantener la corriente acumulada pequeña y problemas de temporización críticos mientras que la configuración de acumulación de carga puede tener desafíos solo con la retención de datos. Por lo tanto, como puede verse en la Figura 3, una SRAM configurada para usar la acumulación de carga proporciona un mejor rendimiento a través de las diversas categorías (es decir, una CS-SRAM) lo que hace que una CS-SRAM sea un buen candidato para una matriz de celda de bits CIM.
La Figura 4 ilustra una celda de bits XNOR con un capacitor interno entre la celda de bits y una tensión de sistema de acuerdo con la invención. Como se muestra en la Figura 4, un circuito de celda de bits 200 incluye una celda de bit 202 acoplada a una tensión de sistema 204 (un "uno" lógico de 3,5 voltios a 5 voltios, por ejemplo) y un tierra 206 (un "cero" lógico de 0 voltios a 1,5 voltios, por ejemplo). El circuito de la celda de bits 200 también incluye una primera línea de señal 208 (línea de palabras de carga previa 1P, PCWL1P) acoplada a la celda de bits 202, una segunda línea de señal 210 (línea de palabras de carga previa 2P, PCWL2P) acoplada a la celda de bits 202, una tercera línea de señal 212 (línea de palabras de carga previa 1N, PCWL1N) acoplada a la celda de bits 202, una cuarta línea de señal 214 (línea de palabras de carga previa 2N, PCWL2N) acoplada a la celda de bits 202, un transistor de lectura 216 acoplado a una primera línea de palabras de lectura 218, una salida 220 de la celda de bits 202, una primera línea de bits de lectura 222, y un capacitor 224 acoplado a la salida de la celda de bits 220 y la tensión del sistema 204.
Como se muestra en la Figura 4, la celda de bits 202 incluye un primer transistor 226 acoplado a la primera línea de señal 208, un segundo transistor 228 acoplado a la segunda línea de señal 210, un tercer transistor 230 acoplado a la tercera línea de señal 212, y un cuarto transistor 232 acoplado a la cuarta línea de señal 214. Estos cuatro transistores se configuran para funcionar como puertas de paso de transmisión para la celda de bits 202. Como se entiende bien en la técnica, una puerta de paso de transmisión es una puerta analógica similar a un relé que puede conducir en ambas direcciones o bloquearse por una señal de control. Como se muestra en la Figura 4, el primer transistor 226 y el segundo transistor 228 pasan un "1" fuerte pero un "0" pobre, y el tercer transistor 230 y el cuarto transistor 232 pasan un "0" fuerte pero un "1" pobre. Como se muestra en la Figura 4, el primer transistor 226 es un transistor de tipo P, el segundo transistor 228 es un transistor de tipo P, el tercer transistor 230 es un transistor de tipo N, y un cuarto transistor 232 es un transistor de tipo N.
Como se muestra en la Figura 4, la celda de memoria 202 incluye un quinto transistor 240 (tipo P), un sexto transistor 242 (tipo P), un séptimo transistor 244 (tipo N) y un octavo transistor 246 (tipo N). El circuito de celda de trama 200 se configura como un dispositivo lógico XNOR con una tabla de verdad 234 con un primer nodo interno (N1) 236 y un segundo nodo interno (N2) 238. La celda de bits 202 puede ser una celda de memoria SRAM. Alternativamente, los transistores 240-246 pueden ilustrarse como dos inversores de doble inversión (Ver la Figura 6, por ejemplo). Este lazo simple crea un circuito biestable con un estado estable (un "1" lógico o un "0" lógico) que no cambia con el tiempo como se conoce bien en la técnica.
Para leer el contenido de la celda de bits 202, los transistores 226-232 deben encenderse/habilitarse y cuando los transistores 226-232 reciben tensión en sus puertas de sus respectivas líneas de señal (es decir, primera línea de señal 208, segunda línea de señal 210, tercera línea de señal 212, y cuarta línea de señal 214), los transistores 226 232 se vuelven conductores y por lo tanto el valor almacenado se transmite a la línea de bits de lectura 222. Si la celda de bits 202 almacena un "1" lógico, la salida de la celda de bits 220 contribuirá con un nivel de tensión a la línea de bits de lectura 222. Si la celda de bits 202 almacena un "0" lógico, la salida de la celda de bits 220 no contribuirá con un nivel de tensión a la línea de bits de lectura 222. Cuando múltiples celdas de bits 202 se configuran en una matriz (ver la Figura 7, por ejemplo), la línea de bits de lectura 222 acumulará una contribución de tensión de cada celda de bits 202 que almacenó un "1" lógico y leyó ese nivel de tensión acumulado como una salida de la matriz.
La Figura 5 ilustra una celda de bits XNOR con un capacitor interno entre la celda de bits y una línea de bits de lectura de acuerdo con la invención. Como se muestra en la Figura 5, un circuito de celda de bits 300 incluye elementos similares como el circuito de celda de bits 200 con la excepción de que el capacitor 324 se acopla entre la salida de la celda de bits 320 y la primera línea de bits de lectura 322 y el transistor de lectura 316 se acopla a la celda de bits 302, la primera línea de palabra de lectura 318. En esta configuración dentro de una matriz de celdas de bits CIM, la primera línea de palabras de lectura 318 en la columna seleccionada se enciende para descargar cualquier tensión restante en el capacitor interno 324, la puerta de transmisión del canal P a la izquierda 326 o a la derecha 328 se enciende en dependencia de los datos 1 o 0 y el estado de datos deseado se escribe en la celda de bits 302. En algunos ejemplos, se puede usar una asistencia de escritura para minimizar el tamaño de la celda. Esto puede incluir un sobreimpulso de la primera línea de lectura 318, una tensión del sistema más bajo 304, sobreimpulso de la PCWL de nch 1 o 2. Además, el capacitor 324 puede usarse para la asistencia de escritura mediante la primera línea de lectura 322 con una pulso de primera línea de lectura 322 para ayudar a la operación de escritura.
La Figura 6 ilustra una celda de bits CIM XNOR con un capacitor interno entre la celda de bits y una línea de bits de lectura y una línea de bits de escritura separada de acuerdo con la invención. Como se muestra en la Figura 6, un circuito de celda de bits 400 incluye una celda de bit 402 acoplada a una tensión de sistema 404 y a una tierra 406. El circuito de celda de bits 400 también incluye una primera línea de señal 408 acoplada a la celda de bits 402, una segunda línea de señal 410 acoplada a la celda de bits 402, una primera línea de señal de escritura 412 acoplada a la celda de bits 402, una cuarta línea de señal de escritura 414 acoplada a la celda de bits 402, un transistor de lectura 416 acoplado a una primera línea de señal de lectura 418, una salida 420 de la celda de bits 402, una primera línea de bit de lectura 422, y un capacitor 424 acoplado a la salida de la celda de bits 420 y la primera línea de bit de lectura 422. El circuito de celda de bits 400 también puede incluir una línea de bits de escritura 470 y una barra de línea de bits de escritura 472. Como se muestra en la Figura 6, la celda de bits 402 incluye un primer inversor 446 acoplado a un segundo inversor 448, un primer transistor 426 acoplado a una primera línea de señal 408, un segundo transistor 428 acoplado a la segunda línea de señal 410, un tercer transistor 430 acoplado a la tercera línea de señal 412, y un cuarto transistor 432 acoplado a la cuarta línea de señal 414. Como se muestra en la Figura 6, el primer transistor 426 es un transistor de tipo P, el segundo transistor 428 es un transistor de tipo P, el tercer transistor 430 es un transistor de tipo N, y un cuarto transistor 432 es un transistor de tipo N.
La Figura 7 ilustra una matriz de celdas de bits CIM de carga compartida ilustrativo con un capacitor interno entre la celda de bits y una tensión de sistema de acuerdo con algunos ejemplos de la descripción. Como se muestra en la Figura 7, un circuito de celda de bits 500 puede incluir una primera celda de bits 502 (por ejemplo, la celda de bits 202), una segunda celda de bits 504 (por ejemplo, la celda de bits 202), y una tercera celda de bits 506 (por ejemplo, la celda de bits 202) dispuestas en una matriz. Las salidas de cada celda de bit 502-506 pueden leerse en la primera línea de bits de lectura 508, luego sumarse y convertirse en una señal digital por un primer ADC 510. Como se muestra, una acumulación de conteo de población puede incluir el compartimiento de carga a través de la primera línea de lectura 508 y la primera lectura del ADC 510 del primer nivel de tensión de la línea de lectura 508. Además, ambos puertas de transmisión de cada celda de bits pueden apagarse para reducir la fuga en un modo de espera.
En esta configuración dentro de una matriz de celdas de bits CIM, las hileras de celdas de bits CIM pueden leerse simultáneamente y escribirse de una hilera a la vez (en lugar de una hilera a la vez en la SRAM típica). Por ejemplo, una fila se define por PCWL1P a PCWL1N, y una segunda fila se define por PCWL2P a PCWL2N, etc.
La Figura 8 ilustra una matriz de celdas de bits CIM de carga compartida ilustrativo con un capacitor interno entre la celda de bits y una línea de bits de lectura de acuerdo con algunos ejemplos de la descripción. Como se muestra en la Figura 8, un circuito de celda de bits 600 puede incluir una primera celda de bits 602 (por ejemplo, la celda de bits 302), una segunda celda de bits 604 (por ejemplo, la celda de bits 302), y una tercera celda de bits 606 (por ejemplo, la celda de bits 302) dispuestas en una matriz. Las salidas de cada celda de bits 602-606 pueden leerse en la primera línea de bits de lectura 608, luego sumarse y convertirse en una señal digital mediante un primer ADC 610. Además, un interruptor de reinicio 612 acoplado a la tierra 614 puede incluirse para reiniciar el circuito de la celda de memoria 600. Como se muestra, otra forma de implementar una operación de MAC puede incluir restablecer la primera línea de lectura 608 y cada nodo de celda a tierra mientras las compuertas de transmisión permanecen apagadas. La entrada de activación impulsa PCWL N/P respectivamente en una operación XNOR y la salida de la celda de bits se convierte ya sea en la tensión del sistema o en tierra como resultado mientras que la tensión de la primera línea de bits de lectura 608 se leerá mediante el primer ADC 610.
Como se muestra en la Figura 8, un diagrama de temporización 670 ilustra un ciclo CIM 672 del circuito de celda de bits 600. En una fase de restablecimiento inicial 674, el interruptor de restablecimiento 612 se activa para restablecer la línea de bits de lectura 682 a un estado inicial (por ejemplo, tierra) con la línea de palabras de lectura 680 que pasa a un alto lógico (es decir, activar o encender) y la línea de bits de lectura 682 que pasa a un bajo lógico (es decir, acoplarse a tierra) como se muestra. Esto se sigue de una fase de operación mAc 676. Como se muestra en el diagrama de tiempo de ejemplo 670, una primera línea de señal 686 (es decir, PCWL1P) se enciende para pasar a un estado lógico bajo y una segunda línea de señal 684 (es decir, PCWL1N) se enciende para pasar a un estado lógico alto. Después de que la primera línea de señal 686 y la segunda línea de señal 684 se encienden, la salida 688 de la celda de bits 602 se acopla a la línea de bit de lectura 682 (que se muestra como un "1" lógico) para aumentar el nivel de tensión en la línea de bit de lectura 682. El primer ADC 610 puede muestrearse entonces para leer el valor de la operación MAC. Las señales de tensión aplicadas a las líneas de señal, tales como la primera línea de señal 686 y la segunda línea de señal 684 en este ejemplo, pueden configurarse para corresponder a un estado de entrada de esa línea de señal para generar una salida de celda de bits de acuerdo con la operación MAC deseada. Ver, por ejemplo, la tabla de verdad de la Figura 4 donde la combinación de señales de tensión de un "1" o "0" lógico da como resultado una salida XNOR de la celda de bits.
Con respecto a muestreo de una tensión en el ADC, esto se refiere a una lectura de tensión instantánea o valor de señal en el ADC. Un ADC convierte una señal analógica de tiempo continuo y amplitud continua en una señal digital de tiempo discreto y amplitud discreta. La conversión implica la cuantización de la entrada, por lo que introduce necesariamente una pequeña cantidad de error o ruido. Además, en lugar de realizar continuamente la conversión, un ADC realiza la conversión periódicamente, muestreando la entrada, limitando el ancho de banda permitido de la señal de entrada. El rendimiento de un ADC se caracteriza principalmente por su ancho de banda y relación señal a ruido (SNR). El ancho de banda de un ADC se caracteriza principalmente por su velocidad de muestreo. La SNR de un ADC se ve influenciada por muchos factores, que incluyen la resolución, linealidad y precisión (qué tan bien coinciden los niveles de cuantización con la verdadera señal analógica), el sobremuestreo y la fluctuación. Los ADC se eligen para que coincidan con el ancho de banda y la SNR requerida de la señal a digitalizar. Si un ADC opera a una velocidad de muestreo mayor que el doble del ancho de banda de la señal, entonces de conformidad con el teorema de muestreo de Nyquist-Shannon, es posible una reconstrucción perfecta. La presencia de error de cuantización limita la SNR de incluso un ADC ideal. Sin embargo, si la SNR del ADC supera la de la señal de entrada, sus efectos pueden descuidarse, lo que da como resultado una representación digital esencialmente perfecta de la señal de entrada analógica.
La señal analógica es continua en el tiempo y es necesario convertirla a un flujo de valores digitales. Por lo tanto, se requiere definir la velocidad a la cual se muestrean nuevos valores digitales de la señal analógica. La tasa de nuevos valores se denomina velocidad de muestreo o frecuencia de muestreo del convertidor. Una señal limitada que varía continuamente puede muestrearse (en otras palabras, los valores de señal instantáneos en intervalos de tiempo T, los valores de tiempo de muestreo, se miden y potencialmente se almacenan) y luego la señal original puede reproducirse a partir de los valores de tiempo discreto mediante una fórmula de interpolación. La precisión en este procedimiento se dicta por el efecto combinado de muestreo y cuantificación. En el límite de alta resolución del cuantificador ADC, el teorema de muestreo de Shannon-Nyquist implica que una reproducción fiel de la señal original solo es posible si la velocidad de muestreo es mayor que el doble de la frecuencia más alta de la señal. Para una resolución de cuantización finita, las tasas de muestreo más bajas que el doble de la frecuencia más alta conducen normalmente a la representación digital óptima. Dado que un ADC práctico no puede realizar una conversión instantánea, el valor de entrada debe mantenerse necesariamente constante durante el tiempo que el convertidor realiza una conversión (llamado tiempo de conversión). Un circuito de entrada llamado muestra y retención realiza esta tarea-en la mayoría de los casos al usar un capacitor para almacenar la tensión analógico en la entrada, y al usar un interruptor o puerta electrónica para desconectar el capacitor de la entrada. Muchos circuitos integrados de ADC incluyen el subsistema de muestreo y retención internamente.
La Figura 9 ilustra un procedimiento parcial para operar un circuito de celda de retención de acuerdo con la invención. Como se muestra en la Figura 9, el procedimiento parcial 900 comienza en el bloque 902 con el restablecimiento del circuito de la celda de bits a un estado inicial. El procedimiento parcial 900 continúa en el bloque 904 aplicando una primera señal de tensión a una primera línea de señal. El procedimiento parcial 900 continúa en el bloque 906 aplicando una segunda señal de tensión a una segunda línea de señal. El procedimiento parcial 900 continúa en el bloque 908 con el acoplamiento de una primera línea de lectura a una salida del circuito de la celda de bits. El procedimiento parcial 900 concluye en el bloque 910 con el muestreo de un nivel de tensión de la primera línea de lectura.
La Figura 10 ilustra un dispositivo móvil ilustrativo de acuerdo con algunos ejemplos de la descripción. Con referencia ahora a la Figura 10, se representa un diagrama de bloques de un dispositivo móvil que se configura de conformidad con aspectos ilustrativos y se designa generalmente 1000. En algunos aspectos, el dispositivo móvil 1000 puede configurarse como un dispositivo de comunicación inalámbrico. Como se muestra, el dispositivo móvil 1000 incluye un procesador 1001, que puede configurarse para implementar los procedimientos descritos en la presente descripción en algunos aspectos. El procesador 1001 se muestra para comprender la tubería de instrucciones 1012, la unidad de procesamiento de búfer (BPU) 1008, la cola de instrucciones de ramificación (BIQ) 1011, y el regulador 1010 como es bien conocido en la técnica. Otros detalles bien conocidos (por ejemplo, contadores, entradas, campos de confianza, suma ponderada, comparador, etc.) de estos bloques se han omitido de esta vista del procesador 1001 en aras de la claridad.
El procesador 1001 puede estar acoplado comunicativamente a la memoria 1032 a través de un enlace, que puede ser un enlace de chip a chip o de chip a chip. El dispositivo móvil 1000 también incluye una pantalla 1028 y un controlador de pantalla 1026, con el controlador de pantalla 1026 acoplado al procesador 1001 y a la pantalla 1028. En algunos aspectos, la Figura 10 puede incluir un codificador/decodificador (CODEC) 1034 (por ejemplo, un CODEC de audio y/o voz) acoplado al procesador 1001; un altavoz 1036 y un micrófono 1038 acoplados al CODEC 1034; y un controlador inalámbrico 1040 (que puede incluir un módem) acoplado a la antena inalámbrica 1042 y al procesador 1001.
En un aspecto particular, donde uno o más de los bloques mencionados anteriormente están presentes, el procesador 1001, el controlador de visualización 1026, la memoria 1032, el CODEC 1034, y el controlador inalámbrico 1040 pueden incluirse en un dispositivo de sistema en paquete o sistema en chip 1022. El dispositivo de entrada 1030 (por ejemplo, teclado físico o virtual), el suministro de energía 1044 (por ejemplo, batería), la pantalla 1028, el dispositivo de entrada 1030, el altavoz 1036, el micrófono 1038, la antena inalámbrica 1042, y el suministro de energía 1044 pueden ser externos al dispositivo de sistema en chip 1022 y pueden acoplarse a un componente del dispositivo de sistema en chip 1022, tal como una interfaz o un controlador.
Debe tenerse en cuenta que aunque la Figura 10 representa un dispositivo móvil, el procesador 1001 y la memoria 1032 también pueden integrarse en una caja de conexión, un reproductor de música, un reproductor de vídeo, una unidad de entretenimiento, un dispositivo de navegación, un asistente digital personal (PDA), una unidad de datos de localización fija, una ordenadora, un portátil, una tableta, un dispositivo de comunicación, un teléfono móvil, u otros dispositivos similares.
La Figura 11 ilustra varios dispositivos electrónicos que pueden integrarse con cualquiera de los dispositivos integrados, dispositivos semiconductores, circuitos integrados, troqueles, bobinas de interposición, empaques o empaque sobre empaque (PoP) anteriores de acuerdo con algunos ejemplos de la descripción. Por ejemplo, un dispositivo 1102 de teléfono móvil, un dispositivo 1104 de ordenador portátil y un dispositivo 1106 de terminal de ubicación fija pueden incluir un dispositivo integrado 1100 como se describió en la presente memoria. El dispositivo integrado 1100 puede ser, por ejemplo, cualquiera de los circuitos integrados, troqueles, dispositivos integrados, paquetes de dispositivos integrados, dispositivos de circuitos integrados, paquetes de dispositivos, paquetes de circuitos integrados (IC), dispositivos de paquetes sobre paquetes descritos en la presente descripción. Los dispositivos 1102, 1104, 1106 ilustrados en la Figura 11 son meramente ilustrativos. Otros dispositivos electrónicos también pueden presentar el dispositivo integrado 1100 que incluye, pero no se limita a, un grupo de dispositivos (por ejemplo, dispositivos electrónicos) que incluyen dispositivos móviles, unidades de sistemas de comunicación personal (PCS) de mano, unidades de datos portátiles tales como asistentes digitales personales, dispositivos habilitados para el sistema de posicionamiento global (GPS), dispositivos de navegación, decodificadores, reproductores de música, reproductores de vídeo, unidades de entretenimiento, unidades de datos de ubicación fija tales como equipos de lectura de medidores, dispositivos de comunicación, teléfonos inteligentes, tabletas, ordenadores, dispositivos ponibles, servidores, enrutadores, dispositivos electrónicos implementados en vehículos automotores (por ejemplo, vehículos autónomos), o cualquier otro dispositivo que almacene o recupere datos o instrucciones de ordenador, o cualquiera de sus combinaciones.
Se apreciará que diversos aspectos descritos en la presente descripción pueden describirse como equivalentes funcionales a las estructuras, materiales y/o dispositivos descritos y/o reconocidos por los expertos en la técnica. Además, debe tenerse en cuenta que los procedimientos, sistemas y aparatos descritos en la descripción o en las reivindicaciones pueden implementarse por un dispositivo que comprende medios para realizar las acciones respectivas de este procedimiento. Por ejemplo, en un aspecto, un aparato puede comprender un medio semiconductor (véase, por ejemplo, 624 en la Figura 6), un medio para encapsular, o un medio de encapsulación (véase, por ejemplo, 620 en la Figura 6), dispuesto alrededor del medio semiconductor, en el que se expone una superficie trasera del medio semiconductor. Tal aparato puede incluir además un medio para conducir (por ejemplo, capa conductora 626) acoplado al medio semiconductor, el medio para conducir que comprende una pluralidad de protuberancias de pilares conductores, en el que una densidad de protuberancias de pilares conductores es mayor que el 5 %. Los medios para encapsular, o medios encapsulantes, pueden disponerse además entre la pluralidad de protuberancias conductoras mediante el uso de un proceso MUF. Se apreciará que los aspectos mencionados anteriormente se proporcionan solamente como ejemplos y los diversos aspectos reivindicados no se limitan a las referencias específicas y/o ilustraciones citadas como ejemplos.
Uno o más de los componentes, procesos, características y/o funciones ilustradas en las Figuras 1-11 pueden reorganizarse y/o combinarse en un único componente, proceso, característica o función o incorporarse en varios componentes, procesos o funciones. También pueden añadirse elementos, componentes, procesos y/o funciones adicionales sin apartarse de la descripción. También se debe señalar que las Figuras 1-11 y su descripción correspondiente en la presente descripción no se limitan a troqueles y/o IC. En algunas implementaciones, las Figuras 1-11 y su descripción correspondiente pueden usarse para fabricar, crear, proporcionar y/o producir dispositivos integrados. En algunas implementaciones, un dispositivo puede incluir un chip, un dispositivo integrado, un empaque de chip, un circuito integrado (IC), un empaque de dispositivo, un empaque de circuito integrado (IC), un oblea, un dispositivo semiconductor, un dispositivo de empaque sobre empaque (PoP), y/o un intercalador.
La palabra "ilustrativo" se usa en la presente memoria para significar "que sirve como un ejemplo, caso, o ilustración." Cualquier detalle descrito en la presente descripción como "ejemplar" no debe interpretarse como ventajoso sobre otros ejemplos. Igualmente, el término "ejemplos" no significa que todos los ejemplos incluyan la característica, ventaja o modo de funcionamiento descritos. Además, una característica y/o estructura particular se puede combinar con una o más de otras características y/o estructuras. Además, al menos una parte del aparato descrito en la presente memoria puede configurarse para realizar al menos una parte de un procedimiento descrito en la presente memoria.
La terminología que se usa en la presente descripción tiene el propósito de describir ejemplos particulares y no pretende ser limitante de los ejemplos de la descripción. Como se usa en la presente memoria, las formas singulares "un", "una", y "el/la" pretenden incluir las formas plurales también, a menos que el contexto claramente indique lo contrario. Se entenderá además que los términos "comprende," "que comprende," "incluye," y/o "que incluye," cuando se usan en la presente descripción, especifican la presencia de elementos, números enteros, acciones, operaciones, elementos, y/o componentes declarados, pero no excluyen la presencia o adición de uno o más de otros elementos, números enteros, acciones, operaciones, elementos, componentes, y/o grupos de los mismos.
Cualquier referencia en la presente memoria a un elemento que utilice una designación como "primero," "segundo," etc., no limita la cantidad y/o el orden de esos elementos. Más bien, estas designaciones se utilizan como un procedimiento conveniente para distinguir entre dos o más elementos y/o instancias de un elemento. También, a menos que se indique lo contrario, un conjunto de elementos puede comprender uno o más elementos.
Los expertos en la técnica apreciarán que la información y las señales pueden representarse mediante el uso de cualquier variedad de tecnologías y técnicas diferentes. Por ejemplo, los datos, las instrucciones, los comandos, la información, las señales, los bits, los símbolos y los chips que pueden referenciarse a lo largo de la descripción anterior pueden representarse por tensiones, corrientes, ondas electromagnéticas, campos o partículas magnéticas, campos o partículas ópticas o cualquiera de sus combinaciones.
Los procedimientos, secuencias y/o algoritmos descritos en relación con los ejemplos descritos en la presente descripción pueden incorporarse directamente en hardware, en un módulo de software ejecutado por un procesador, o en una combinación de los dos. Un módulo de software puede residir en memoria RAM, memoria flash, memoria ROM, memoria EPROM, memoria EEPROM, registros, disco duro, un disco extraíble, un CD-ROM, o cualquier otra forma de medio de almacenamiento conocido en la técnica que incluye tipos de memoria o medios de almacenamiento no transitorios. Un medio de almacenamiento ilustrativo se acopla al procesador de manera que el procesador pueda leer la información desde y escribir la información en, el medio de almacenamiento. Como alternativa, el medio de almacenamiento puede integrarse al procesador.
Aunque algunos aspectos se han descrito en relación con un dispositivo, no hace falta decir que estos aspectos constituyen también una descripción del procedimiento correspondiente, y por lo tanto un bloque o un componente de un dispositivo debe entenderse también como una acción del procedimiento correspondiente o como una característica de una acción del procedimiento. De manera análoga a lo mismo, los aspectos descritos en relación con o como una acción de procedimiento constituyen además una descripción de un bloque o detalle o característica correspondiente de un dispositivo correspondiente. Alguna o todas las acciones del procedimiento pueden realizarse por un aparato de hardware (o mediante el uso de un aparato de hardware), tal como, por ejemplo, un microprocesador, una ordenadora programable o un circuito electrónico. En algunos ejemplos, tal aparato puede realizar algunas o una pluralidad de las acciones del procedimiento más importantes.
En la descripción detallada anterior puede verse que diferentes características se agrupan juntas en ejemplos. Esta manera de descripción no debe entenderse como una intención de que los ejemplos reivindicados tengan más elementos de los que se mencionan explícitamente en la reivindicación respectiva. Más bien, la descripción puede incluir menos de todas las características de un ejemplo individual descrito. Por lo tanto, las reivindicaciones siguientes deben considerarse incorporadas en la descripción, en el que cada reivindicación por sí misma puede permanecer como un ejemplo separado. Aunque cada reivindicación por sí misma puede considerarse un ejemplo separado, debe tenerse en cuenta que, aunque una reivindicación dependiente puede referirse en las reivindicaciones a una combinación específica con una o una pluralidad de reivindicaciones, otros ejemplos también pueden abarcar o incluir una combinación de dicha reivindicación dependiente con el objeto de cualquier otra reivindicación dependiente o una combinación de cualquier característica con otras reivindicaciones dependientes e independientes. Tales combinaciones se proponen en la presente descripción, a menos que se exprese explícitamente que no se pretende una combinación específica. Además, también se pretende que las características de una reivindicación puedan incluirse en cualquier otra reivindicación independiente, incluso si dicha reivindicación no depende directamente de la reivindicación independiente.
Además, en algunos ejemplos, una acción individual puede subdividirse en una pluralidad de subacciones o contener una pluralidad de subacciones. Tales subacciones pueden contenerse en la descripción de la acción individual y ser parte de la descripción de la acción individual.
Mientras que la descripción anterior muestra ejemplos ilustrativos de la descripción, se debe tener en cuenta que se podrían realizar en la presente descripción diversos cambios y modificaciones sin apartarse del alcance de la descripción tal como se define por las reivindicaciones adjuntas. Las funciones y/o acciones de las reivindicaciones del procedimiento de acuerdo con los ejemplos de la descripción descrita en la presente descripción no necesitan realizarse en ningún orden en particular. Adicionalmente, los elementos bien conocidos no se describirán en detalle o se pueden omitir para no obscurecer los detalles relevantes de los aspectos y ejemplos descritos en la presente descripción. Además, aunque los elementos de la divulgación pueden describirse o reivindicarse en singular, se contempla el plural a menos que se indique explícitamente la limitación al singular.

Claims (15)

  1. REIVINDICACIONES
    i.Un circuito de celda de bits para el cálculo en memoria, CIM, XNOR (200) que comprende:
    una celda de bits de memoria de acceso aleatorio estática, SRAM (202) acoplada a una tensión del sistema (204) y a una tierra (206);
    una primera línea de señal (208) acoplada a la celda de bits de SRAM;
    una segunda línea de señal (210) acoplada a la celda de bits de SRAM;
    una tercera línea de señal (212) acoplada a la celda de bits de SRAM;
    una cuarta línea de señal (214) acoplada a la celda de bits de SRAM;
    un transistor de lectura (216) acoplado a una primera línea de señal de lectura, una salida (220) de la celda de bits de SRAM, y una primera línea de bit de lectura;
    un capacitor (224) acoplado a la salida de la celda de bits de SRAM y a la tensión del sistema;
    en el que la celda de bits de SRAM comprende un primer transistor (226) acoplado a la primera línea de señal (208), un segundo transistor (228) acoplado a la segunda línea de señal (210), un tercer transistor (230) acoplado a la tercera línea de señal (212) y un cuarto transistor (232) acoplado a la cuarta línea de señal (214);
    en el que la celda de bits de SRAM comprende cuatro transistores configurados como un primer inversor y un segundo inversor para realizar una función latch en un bit de datos; y
    en el que el primer transistor es un transistor de tipo P, el segundo transistor es un transistor de tipo P, el tercer transistor es un transistor de tipo N, y un cuarto transistor es un transistor de tipo N.
  2. 2. El circuito de celda de bits CIM XNOR de la reivindicación 1, en el que el circuito de celda de bits CIM XNOR se configura para realizar una operación XNOR en la primera línea de señal, la segunda línea de señal, la tercera línea de señal, y la cuarta línea de señal.
  3. 3. El circuito de celda de bits CIM XNOR de la reivindicación 1, en el que el circuito de celda de bits CIM XNOR es una SRAM de carga compartida en una matriz CIM de una red neuronal.
  4. 4. El circuito de celda de bits CIM XNOR de la reivindicación 1, en el que el capacitor proporciona una trayectoria a tierra para evitar que la salida flote.
  5. 5. El circuito de celda de bits CIM XNOR de la reivindicación 1, en el que el circuito de celda de bits CIM XNOR se incorpora a un dispositivo seleccionado del grupo que consiste en un reproductor de música, un reproductor de vídeo, una unidad de entretenimiento, un dispositivo de navegación, un dispositivo de comunicaciones, un dispositivo móvil, un teléfono móvil, un teléfono inteligente, un asistente digital personal, un terminal de localización fija, una tableta, un ordenador, un dispositivo ponible, un ordenador portátil, un servidor, y un dispositivo en un vehículo automotriz.
  6. 6. Un circuito de celda de bits CIM XNOR (300) que comprende:
    una celda de bits de SRAM (302) acoplada a una tensión del sistema y a una tierra;
    una primera línea de señal acoplada a la celda de bits de SRAM;
    una segunda línea de señal acoplada a la celda de bits de SRAM;
    una tercera línea de señal acoplada a la celda de bits de SRAM;
    una cuarta línea de señal acoplada a la celda de bits de SRAM;
    un transistor de lectura (316) acoplado a una primera línea de señal de lectura, a una salida (320) de la celda de bits de SRAM, y a la tierra;
    un capacitor (324) acoplado a la salida de la celda de bits de SRAM y a la línea de bits de lectura (322);
    en el que la celda de bits de SRAM comprende un primer transistor acoplado a la primera línea de señal, un segundo transistor acoplado a la segunda línea de señal, un tercer transistor acoplado a la tercera línea de señal, y un cuarto transistor acoplado a la cuarta línea de señal;
    en el que la celda de bits de SRAM comprende cuatro transistores configurados como un primer inversor y un segundo inversor para realizar una función latch en un bit de datos; y
    en el que el primer transistor es un transistor de tipo P, el segundo transistor es un transistor de tipo P, el tercer transistor es un transistor de tipo N, y un cuarto transistor es un transistor de tipo N.
  7. 7. Un circuito de celda de bits Z CIM XNOR (400) que comprende:
    una celda de bits de SRAM acoplada a una tensión del sistema (404) y a una tierra (406);
    una primera línea de señal (408) acoplada a la celda de bits de SRAM;
    una segunda línea de señal (410) acoplada a la celda de bits de SRAM;
    una tercera línea de señal (412) acoplada a la celda de bits de SRAM;
    una cuarta línea de señal (414) acoplada a la celda de bits de SRAM;
    un transistor de lectura (416) acoplado a una primera línea de señal de lectura, a una salida (420) de la celda de bits de SRAM, y a una barra de línea de bits de escritura (470);
    una línea de bits de escritura (470) acoplada a la tercera línea de señal y a la cuarta línea de señal; un capacitor (424) acoplado a la salida de la celda de bits de SRAM (420) y a la línea de bits de lectura; en el que la celda de bits de SRAM comprende un primer transistor (426) acoplado a la primera línea de señal (408), un segundo transistor (428) acoplado a la segunda línea de señal (410), un tercer transistor (430) acoplado a la tercera línea de señal (412), y un cuarto transistor (432) acoplado a la cuarta línea de señal (414);
    en el que la celda de bits de SRAM comprende cuatro transistores configurados como un primer inversor (446) y un segundo inversor (448) para realizar una función latch en un bit de datos; y
    en el que el primer transistor es un transistor de tipo P, el segundo transistor es un transistor de tipo P, el tercer transistor es un transistor de tipo N, y un cuarto transistor es un transistor de tipo N.
  8. 8. El circuito de celda de bits CIM XNOR de las reivindicaciones 6 o 7, en el que el transistor de lectura es un transistor de tipo N.
  9. 9. El circuito de celda de bits CIM XNOR de las reivindicaciones 6 o 7, en el que el circuito de celda de bits CIM XNOR se configura para realizar una operación XNOR en la primera línea de señal, la segunda línea de señal, la tercera línea de señal, y la cuarta línea de señal.
  10. 10. El circuito de celda de bits CIM XNOR de las reivindicaciones 6 o 7, en el que el circuito de celda de bits CIM XNOR es una SRAM de carga compartida en una matriz CIM de una red neuronal.
  11. 11. El circuito de celda de bits CIM XNOR de las reivindicaciones 6 o 7, en el que el capacitor proporciona una trayectoria a tierra para evitar que la salida flote.
  12. 12. El circuito de celda de bits CIM XNOR de las reivindicaciones 6 o 7, en el que el circuito de celda de bits CIM XNOR se incorpora en un dispositivo seleccionado del grupo que consiste en un reproductor de música, un reproductor de vídeo, una unidad de entretenimiento, un dispositivo de navegación, un dispositivo de comunicaciones, un dispositivo móvil, un teléfono móvil, un teléfono inteligente, un asistente digital personal, un terminal de localización fija, una tableta, un ordenador, un dispositivo ponible, un ordenador portátil, un servidor, y un dispositivo en un vehículo automotriz.
  13. 13. Un procedimiento (900) para operar el circuito de celda de bits CIM XNOR de cualquiera de las reivindicaciones 1, 6 o 7, comprendiendo el procedimiento:
    reiniciar (902) el circuito de la celda de bits CIM XNOR a un estado inicial;
    aplicar (904) una primera señal de tensión a la primera línea de señal;
    aplicar (906) una segunda señal de tensión a la segunda línea de señal;
    acoplar (908) la primera línea de bits de lectura a la salida del circuito de la celda de bits de CIM SRAM XNOR; y
    muestrear (910) de un nivel de tensión de la primera línea de lectura.
  14. 14. El procedimiento de la reivindicación 13, en el que el restablecimiento del circuito de bit CIM XNOR al estado inicial comprende acoplar la primera línea de bit de lectura a una tierra y acoplar la primera línea de señal de lectura a la tensión del sistema.
  15. 15. El procedimiento de la reivindicación 14, en el que la primera señal de tensión y la segunda señal de tensión corresponden a un estado de entrada deseado para una operación de multiplicación y acumulación, MAC.
ES20746466T 2019-07-03 2020-06-01 Celda de bits de cálculo en memoria Active ES2989963T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962870650P 2019-07-03 2019-07-03
US16/706,429 US10964356B2 (en) 2019-07-03 2019-12-06 Compute-in-memory bit cell
PCT/US2020/035590 WO2021002990A1 (en) 2019-07-03 2020-06-01 Compute-in-memory bit cell

Publications (1)

Publication Number Publication Date
ES2989963T3 true ES2989963T3 (es) 2024-11-28

Family

ID=74065794

Family Applications (1)

Application Number Title Priority Date Filing Date
ES20746466T Active ES2989963T3 (es) 2019-07-03 2020-06-01 Celda de bits de cálculo en memoria

Country Status (10)

Country Link
US (1) US10964356B2 (es)
EP (1) EP3994692B9 (es)
JP (1) JP7539419B2 (es)
KR (1) KR102868623B1 (es)
CN (1) CN114270440A (es)
AU (1) AU2020300975B2 (es)
BR (1) BR112021026230A2 (es)
ES (1) ES2989963T3 (es)
TW (1) TWI759756B (es)
WO (1) WO2021002990A1 (es)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10276581B1 (en) * 2017-10-31 2019-04-30 Taiwan Semiconductor Manufacturing Co., Ltd. Integrated circuit chip and manufacturing method thereof
US11238923B2 (en) 2019-10-18 2022-02-01 Taiwan Semiconductor Manufacturing Company, Ltd. Memory device
US11500613B2 (en) * 2020-02-06 2022-11-15 National Tsing Hua University Memory unit with multiply-accumulate assist scheme for multi-bit convolutional neural network based computing-in-memory applications and computing method thereof
US11714570B2 (en) * 2020-02-26 2023-08-01 Taiwan Semiconductor Manufacturing Company, Ltd. Computing-in-memory device and method
US11551759B2 (en) * 2020-04-30 2023-01-10 Qualcomm Incorporated Voltage offset for compute-in-memory architecture
US11024358B1 (en) * 2020-05-27 2021-06-01 Qualcomm Incorporated Differential compute-in-memory bitcell
US11221827B1 (en) * 2020-08-28 2022-01-11 Macronix International Co., Ltd. In-memory computation device
EP3968208A1 (en) * 2020-09-09 2022-03-16 Imec VZW Analog in-memory computing based inference accelerator
US12333357B2 (en) * 2020-09-25 2025-06-17 Apple Inc. Memory bit cell for in-memory computation
US11626156B2 (en) * 2020-12-02 2023-04-11 Qualcomm Incorporated Compute-in-memory (CIM) bit cell circuits each disposed in an orientation of a cim bit cell circuit layout including a read word line (RWL) circuit in a cim bit cell array circuit
US11513893B2 (en) 2020-12-21 2022-11-29 Intel Corporation Concurrent compute and ECC for in-memory matrix vector operations
US11631455B2 (en) * 2021-01-19 2023-04-18 Qualcomm Incorporated Compute-in-memory bitcell with capacitively-coupled write operation
US11538509B2 (en) * 2021-03-17 2022-12-27 Qualcomm Incorporated Compute-in-memory with ternary activation
KR102854640B1 (ko) * 2021-04-14 2025-09-02 에스케이하이닉스 주식회사 Mac 연산 동작을 수행하는 반도체 장치
CN113326656B (zh) * 2021-05-26 2022-11-01 东南大学 一种数字集成电路众工艺角延时预测方法
US20230025068A1 (en) * 2021-07-21 2023-01-26 Qualcomm Incorporated Hybrid machine learning architecture with neural processing unit and compute-in-memory processing elements
CN114298297B (zh) * 2021-11-04 2025-07-25 清华大学 存内计算装置、芯片及电子设备
KR102737193B1 (ko) * 2022-02-11 2024-12-02 고려대학교 산학협력단 양자화 신경망을 위한 정밀도 변환 가능 메모리 내부 연산 방법 및 장치
US20230289143A1 (en) * 2022-03-13 2023-09-14 Winbond Electronics Corp. Memory device and computing method
KR102662742B1 (ko) * 2022-08-05 2024-05-03 주식회사 아티크론 Msb 스킵 기법 기반 저전력 cim 및 이의 mac 연산 방법
KR102813514B1 (ko) 2022-08-22 2025-05-26 연세대학교 산학협력단 멀티비트 연산을 수행하는 로컬 컴퓨팅 셀 및 이를 구비하는 cim
TW202437234A (zh) * 2022-11-25 2024-09-16 南韓商Lx半導體科技有限公司 控制電荷共享操作的源極驅動器
KR102837738B1 (ko) * 2023-10-24 2025-07-23 울산과학기술원 컴퓨팅 인 메모리 장치를 포함하고 시간 영역 연산을 활용하는 스파이킹 뉴럴 네트워크 연산 가속기
TWI860951B (zh) * 2024-03-05 2024-11-01 國立成功大學 可應用於推論與學習的記憶體內運算裝置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6512684B2 (en) * 2001-06-11 2003-01-28 International Business Machines Corporation Content addressable memory having cascaded sub-entry architecture
DE10219649C1 (de) * 2002-05-02 2003-11-27 Infineon Technologies Ag Differentielle Strombewerterschaltung und Leseverstärkerschaltung zum Bewerten eines Speicherzustands einer SRAM-Halbleiterspeicherzelle
JP4753534B2 (ja) * 2003-12-26 2011-08-24 ルネサスエレクトロニクス株式会社 半導体記憶装置
US7400523B2 (en) 2006-06-01 2008-07-15 Texas Instruments Incorporated 8T SRAM cell with higher voltage on the read WL
US7671422B2 (en) 2007-05-04 2010-03-02 Taiwan Semiconductor Manufacturing Company, Ltd. Pseudo 6T SRAM cell
US20100006912A1 (en) * 2008-07-14 2010-01-14 Honeywell International Inc. Planar Metal-Insulator-Metal Circuit Element and Method for Planar Integration of Same
US8587992B2 (en) 2011-06-24 2013-11-19 Taiwan Semiconductor Manufacturing Company, Ltd. Data-aware SRAM systems and methods forming same
US9711196B2 (en) * 2012-09-10 2017-07-18 Texas Instruments Incorporated Configuration bit sequencing control of nonvolatile domain and array wakeup and backup
CN103971731B (zh) 2013-01-25 2017-11-21 台湾积体电路制造股份有限公司 Sram以及用于操作sram单元的方法
US9030893B2 (en) 2013-02-06 2015-05-12 Qualcomm Incorporated Write driver for write assistance in memory device
US8953365B2 (en) * 2013-06-07 2015-02-10 International Business Machines Corporation Capacitor backup for SRAM
US9396795B1 (en) * 2014-12-30 2016-07-19 The Regents Of The University Of Michigan Storage device supporting logical operations, methods and storage medium
US9697877B2 (en) * 2015-02-05 2017-07-04 The Board Of Trustees Of The University Of Illinois Compute memory
US10860318B2 (en) * 2016-12-06 2020-12-08 Gsi Technology, Inc. Computational memory cell and processing array device using memory cells
US10699778B2 (en) 2017-04-28 2020-06-30 Arizona Board Of Regents On Behalf Of Arizona State University Static random access memory (SRAM) cell and related SRAM array for deep neural network and machine learning applications
US10410714B2 (en) 2017-09-20 2019-09-10 Qualcomm Incorporated Multi-level cell (MLC) static random access memory (SRAM) (MLC SRAM) cells configured to perform multiplication operations
US11170292B2 (en) 2017-09-21 2021-11-09 The Trustees Of Columbia University In The City Of New York Static random-access memory for deep neural networks
JP7587823B2 (ja) 2018-06-18 2024-11-21 ザ、トラスティーズ オブ プリンストン ユニバーシティ 構成可能なイン・メモリ・コンピューティング・エンジン、プラットフォーム、ビット・セル、及びそのためのレイアウト
US11138499B2 (en) * 2018-09-28 2021-10-05 Intel Corporation Applications of back-end-of-line (BEOL) capacitors in compute-in-memory (CIM) circuits
US10825509B2 (en) * 2018-09-28 2020-11-03 Intel Corporation Full-rail digital read compute-in-memory circuit
US10642922B2 (en) 2018-09-28 2020-05-05 Intel Corporation Binary, ternary and bit serial compute-in-memory circuits
US11061646B2 (en) 2018-09-28 2021-07-13 Intel Corporation Compute in memory circuits with multi-Vdd arrays and/or analog multipliers

Also Published As

Publication number Publication date
TW202119408A (zh) 2021-05-16
EP3994692B9 (en) 2024-11-27
JP2022539328A (ja) 2022-09-08
CN114270440A (zh) 2022-04-01
AU2020300975B2 (en) 2025-08-21
JP7539419B2 (ja) 2024-08-23
EP3994692C0 (en) 2024-09-11
EP3994692A1 (en) 2022-05-11
AU2020300975A1 (en) 2022-01-20
EP3994692B1 (en) 2024-09-11
US20210005230A1 (en) 2021-01-07
US10964356B2 (en) 2021-03-30
BR112021026230A2 (pt) 2022-02-15
KR102868623B1 (ko) 2025-10-02
WO2021002990A1 (en) 2021-01-07
TWI759756B (zh) 2022-04-01
KR20220027082A (ko) 2022-03-07

Similar Documents

Publication Publication Date Title
ES2989963T3 (es) Celda de bits de cálculo en memoria
Yu et al. Compute-in-memory chips for deep learning: Recent trends and prospects
KR102867244B1 (ko) 멀티-vdd 어레이들 및/또는 아날로그 승산기들을 갖는 메모리내 계산 회로들
Kang et al. A multi-functional in-memory inference processor using a standard 6T SRAM array
Yin et al. Vesti: Energy-efficient in-memory computing accelerator for deep neural networks
Marinella et al. Multiscale co-design analysis of energy, latency, area, and accuracy of a ReRAM analog neural training accelerator
US10877752B2 (en) Techniques for current-sensing circuit design for compute-in-memory
CN115039177B (zh) 低功耗存储器内计算位单元
Xu et al. STT-MRAM design technology co-optimization for hardware neural networks
TWI858535B (zh) 記憶體系統及記憶體陣列的操作方法
Luo et al. A variation robust inference engine based on STT-MRAM with parallel read-out
US12164882B2 (en) In-memory computation circuit and method
CN114400031A (zh) 一种补码映射的rram存算一体芯片及电子设备
Fu et al. DS-CIM: A 40nm asynchronous dual-spike driven, MRAM compute-in-memory macro for spiking neural network
Jacob et al. A nonvolatile compute-in-memory macro using voltage-controlled MRAM and in situ magnetic-to-digital converter
Cai et al. Commodity bit-cell sponsored MRAM interaction design for binary neural network
Yu et al. Memristor-based approximate query architecture for in-memory hyperdimensional computing
Bian et al. Computing in-memory with cascaded spintronic devices for AI edge
Zhang et al. Efficient memory integration: MRAM-SRAM hybrid accelerator for sparse on-device learning
Zhang et al. On-device continual learning with STT-assisted-SOT MRAM-based in-memory computing
Dong et al. Topkima-Former: Low-Energy, Low-Latency Inference for Transformers Using Top-TEXPRESERVE0 In-Memory ADC
Suhail et al. Spintronic Stochastic Dataflow Computing
Yang Stochastic Compute-In-Memory Hardware Accelerator for Intelligent Edge Devices
Sehgal et al. Energy Efficient On-Chip Learning using Quantized Triple-Level SOT-MRAM based Synapse
Jang et al. Big-computing and Little-storing STT-MRAM PIM architecture with Charge Domain based MAC operation