banner

Noticias

Dec 21, 2023

Una FPGA

Scientific Reports volumen 12, Número de artículo: 13912 (2022) Citar este artículo

1748 Accesos

2 citas

2 Altmetric

Detalles de métricas

Los sistemas electrónicos se están volviendo cada vez más omnipresentes a medida que nuestro mundo se digitaliza. Simultáneamente, incluso los componentes básicos están experimentando una ola de mejoras con nuevos transistores, memristores, referencias de tensión/corriente, convertidores de datos, etc., que son diseñados cada año por cientos de grupos de I+D en todo el mundo. Hasta la fecha, el caballo de batalla para probar todos estos diseños ha sido un conjunto de instrumentos de laboratorio que incluyen osciloscopios y generadores de señales, por mencionar los más populares. Sin embargo, a medida que los componentes se vuelven más complejos y el número de pines se dispara, la necesidad de herramientas de prueba más paralelas y versátiles también se vuelve más apremiante. En este trabajo, describimos y comparamos un sistema FPGA desarrollado que aborda esta necesidad. Este sistema de prueba de uso general cuenta con una unidad medidora de fuente de 64 canales y bancos \(2\times \) de 32 pines digitales para E/S digital. Demostramos que este sistema de sobremesa puede obtener \({170}\,\hbox {pA}\) ruido de fondo actual, \({40}\,\hbox {ns}\) suministro de pulsos a \(\pm { 13,5}\,\hbox {V}\) y \({12}\,\hbox {mA}\) unidad/canal de corriente máxima. Luego mostramos el uso del instrumento para realizar una selección de tres tareas de medición características: (a) caracterización de corriente-voltaje de un diodo y un transistor, (b) lectura completamente paralela de una matriz de barras transversales de memristor y (c) una integral no -Prueba de linealidad en un DAC. Este trabajo presenta un laboratorio de electrónica a escala reducida empaquetado en un solo instrumento que proporciona un cambio hacia una instrumentación más asequible, fiable, compacta y multifuncional para las tecnologías electrónicas emergentes.

Descripción general del instrumento. (a) Imagen de los PCB del sistema completamente ensamblados, incluida la placa base, la placa secundaria de interfaz del dispositivo bajo prueba, la placa de desarrollo de FPGA y la placa de fuente de alimentación. (b) Diagrama de bloques de alto nivel de la arquitectura del sistema que ilustra el paralelismo y la modularidad del sistema. Las conexiones analógicas se muestran en negro, las conexiones en serie se muestran en verde, las conexiones en paralelo se muestran en azul y las conexiones de alimentación se muestran en rojo.

El progreso de las tecnologías electrónicas se ha basado en una base sólida de herramientas de instrumentación que van desde componentes individuales, como amplificadores de instrumentación1 y convertidores de datos de gama alta2, hasta instrumentos de placa de circuito impreso (PCB) de tamaño pequeño para mediciones de parámetros generalizados3,4, instrumentos de sobremesa como osciloscopios y generadores de señales. Estos instrumentos han definido los límites de lo que se puede medir y probar, y juegan un papel importante en la determinación de la productividad de los laboratorios de todo el mundo. De hecho, es particularmente esto último lo que ha llevado al desarrollo de instrumentación especializada, como amplificadores lock-in5 y analizadores de espectro6.

Con el tiempo, tanto la variedad como la complejidad de los circuitos que se desarrollan y requieren pruebas aumentan. Como ejemplo, consideremos la historia de la instrumentación para la comunidad emergente de dispositivos de memoria (incluidos los memristores)7. Estos dispositivos actúan como resistencias sintonizables eléctricamente y, por lo tanto, requieren instrumentación analógica para su caracterización, siendo las pruebas típicas barridos de corriente-voltaje, programación de impulsos de pasos incrementales8. Además, los dispositivos memristivos de memoria resistiva de acceso aleatorio (RRAM) se utilizan con mucha frecuencia como matrices de barras cruzadas para realizar productos de puntos9. Esta necesidad ha llevado al desarrollo de instrumentación liviana que enfatiza el paralelismo y la velocidad de adquisición de datos sobre la precisión bruta10,11,12. Esto, a su vez, ha implicado un esfuerzo significativo en el diseño del circuito para mitigar los efectos relacionados con las rutas furtivas13, que se demostró que conducen a socavar de manera catastrófica la precisión de la lectura a través de una variedad de mecanismos de imperfección14,15. No obstante, estos instrumentos de nivel de matriz pronto fueron reemplazados por una complejidad cada vez mayor en las matrices de barras cruzadas de RRAM con la popularización del llamado enfoque '1T1R'16, en el que cada dispositivo RRAM está emparejado con un 'transistor selector', por lo que ahora requiere un nuevo conjunto de terminales de control para las puertas de los transistores (como se muestra más adelante en la Fig. 10). Paralelamente, los avances en la tecnología RRAM han dado lugar a celdas de memristores capaces de gradaciones cada vez más finas de sus estados resistivos17, lo que ha aumentado los requisitos de precisión de la instrumentación.

La historia ejemplar de la instrumentación RRAM ilustra la tendencia hacia una mayor complejidad de "dispositivo bajo prueba" y "circuito bajo prueba", con muchos otros ejemplos fáciles de extraer, desde amplificadores de precisión con 20 pines18 hasta conmutadores multicanal y convertidores de datos2, microcontroladores19, etc. En respuesta a esta tendencia, se han dedicado varios diseños a los sistemas de prueba para dispositivos electrónicos generales o dispositivos específicos como RRAM. Wust, D. et al.20 desarrollaron un entorno de creación de prototipos de memristor basado en una matriz de puertas programables en campo (FPGA), pero con una resolución teórica máxima de \({740}\,\hbox {pA}\), este sistema no puede ofrecer resultados más detallados. tareas de caracterizacion. Berdan, R. et al.10 implementaron un sistema de prueba avanzado basado en microcontroladores para dispositivos memristor, pero el paralelismo es limitado. Wang, Y. et al.21 presentaron un sistema de conducción de alta velocidad para dispositivos de memoria de cambio de fase, con el ancho de pulso más estrecho de 500 ns. Sin embargo, este trabajo solo tiene un lado del conductor. Otros trabajos, como Merced-Grafals, E. et al.22, aplicaron analizadores de dispositivos disponibles en el mercado, que tienen un número de canales y un paralelismo limitados. Como continuación de nuestro trabajo anterior en el campo de la instrumentación RRAM, hemos desarrollado un nuevo instrumento con el propósito de ser altamente paralelo, competitivamente preciso para instrumentos de sobremesa más pesados, fácilmente transportable y lo suficientemente flexible para probar circuitos con hasta un máximo de 128 pines con una variedad de fuentes analógicas y digitales y capacidades de medición.

En este documento, presentamos las contribuciones científicas resultantes del desarrollo de este nuevo instrumento, a saber: (i) el diseño y la implementación de una unidad de medidor de fuente (SMU) analógica totalmente paralela de 64 canales de propósito general con circuitos especializados introducidos para permitir (a) la polarización del modo actual y (b) la capacidad de impulsos de alta velocidad (abordados en la sección "Implementación del sistema") y (ii) la evaluación comparativa del rendimiento de la SMU en términos de precisión, ruido de fondo y características de impulsos (sección " Resultados experimentales"). Además, ilustramos cómo se puede usar el instrumento de manera flexible mediante la presentación de tres ejemplos prácticos: caracterización de un transistor, interconexión de una matriz de barras cruzadas RRAM y prueba de la no linealidad diferencial (DNL) de un convertidor de datos (en la sección "Ejemplos de aplicación") y conclusión el documento (sección "Discusión y conclusiones)" discutiendo las oportunidades que se presentan.

El sistema que hemos desarrollado se muestra en la Fig. 1b. Comprende una matriz SMU totalmente paralela de 64 canales y bancos \(2\times \) de 32 pines digitales. El instrumento también cuenta con una fuente de corriente compartida. Todo el sistema está coordinado por una placa de desarrollo FPGA EFM-03 con chip Xilinx XC7A200T-2FBG676I y está controlado por una PC. El control informático de la herramienta consiste en una biblioteca Rust de bajo nivel que expone una interfaz de programación de aplicaciones (API) de Python. Al aprovechar la API de Python, se ha creado una interfaz gráfica de usuario basada en Qt que se centra en las pruebas a nivel de barras cruzadas (consulte la Declaración de disponibilidad de datos para obtener enlaces a los repositorios).

El sistema ha sido diseñado para proporcionar pruebas paralelas de alto rendimiento con altos niveles de precisión. El instrumento ensamblado se muestra en la Fig. 1a, con la placa secundaria de interfaz estándar (para conectar a paquetes PLCC68). También se pueden ver la placa secundaria de la fuente de alimentación y la placa de desarrollo FPGA.

El subsistema principal de la placa es el canal SMU. Consta de: (a) un amplificador de transimpedancia de ganancia programable (TIA), (b) un generador de impulsos independiente utilizado para impulsos de alta velocidad y (c) un interruptor que permite que el canal acceda a la fuente de corriente, como se muestra en Figura 2a. Los terminales del convertidor de datos se conectan como se muestra en la Fig. 2a para proporcionar polarización con convertidores de digital a analógico (DAC). Esto permite que el canal actúe como una fuente sintonizable o lea voltajes con convertidores diferenciales de analógico a digital (ADC) en nodos seleccionados para la medición.

(a) es un esquema de la arquitectura del canal. Los cables significativos están etiquetados en azul. Los interruptores analógicos están etiquetados en rojo. (b) es un esquema de la estructura del grupo de canales.

La estructura TIA está diseñada para actuar como una fuente o un medidor para el nodo de entrada/salida (E/S). En el modo de fuente de voltaje, la ruta de retroalimentación TIA está conectada como un cortocircuito con S2 y S5, lo que permite que el TIA actúe como un búfer de ganancia unitaria para la salida DAC+. El tiempo requerido para esta operación está determinado por la velocidad de respuesta de la referencia DAC+, en \({0.4}\,\hbox {V}/{}\,\upmu \hbox {s}\). Para medir la corriente, el TIA se establece en la ganancia adecuada con S3-5, lo que provoca una caída de voltaje en la ruta de retroalimentación proporcional a la corriente requerida para llevar el nodo al mismo voltaje que DAC+. Con el interruptor S9 abierto, este voltaje se aplica a la entrada del ADC, independientemente del voltaje establecido de la referencia DAC+. Toma alrededor de \({900}\,\upmu \hbox {s}\) para que el TIA se asiente en su rango más sensible y \({320}\,\upmu \hbox {s}\) para tomar un 32 promedio de muestra, por alrededor de \({1.2}\,\hbox {ms}\) retraso total. Para medir el voltaje, el interruptor S9 se puede cerrar, haciendo referencia al ADC contra tierra en lugar de la salida TIA. Esto puede tomar \({10}\,\upmu \hbox {s}\) o \({320}\,\upmu \hbox {s}\), dependiendo de si se usa el promedio.

El amplificador seleccionado para este diseño se eligió por su baja corriente de reposo y corriente de polarización de entrada, pero esto tiene el costo de la respuesta de frecuencia, con un producto de ancho de banda de ganancia de solo \({2.5}\,\hbox {MHz}\) . Si bien esto limita la velocidad a la que se puede establecer el TIA, el tiempo requerido para una lectura actual es solo un poco más largo que el trabajo previo23. A pesar de esto, la capacidad de leer una línea completa de una matriz a la vez reduce el tiempo necesario para leer una matriz de 32 por 32 en un factor de 20 a 80, según el estado de los dispositivos de la matriz. Los interruptores analógicos se eligieron para un equilibrio de baja resistencia e inyección de carga, con \({9.5}\,{\Omega }\) y \({4}\,\hbox {pC}\) respectivamente.

El controlador de pulsos de alta velocidad se implementa con un par MOSFET complementario que puede conducir la línea de salida al voltaje de cualquiera de los dos canales DAC. Esta conectividad permite una amplitud de pulso variable y permite alta velocidad al mantener la ruta entre el proveedor de carga y la línea de E/S muy simple y de baja impedancia. Los pulsos bifásicos se pueden construir a través de dispositivos de 2 terminales haciendo que dos canales oscilen entre \(V_+>0\) y 0 y \(V_-<0\) y 0 respectivamente.

El interruptor S1 conecta la línea de E/S a la fuente de corriente compartida para permitir la polarización de corriente. La polarización de corriente también se puede lograr a través del TIA mediante el uso de aproximaciones sucesivas, si se requiere una operación en paralelo, pero el control de corriente preciso requiere un circuito dedicado que es demasiado grande para incluirlo en el canal. Como resultado de compartir, se podría diseñar una fuente de corriente dedicada más compleja para generar o absorber corrientes sub-nA, lo que permite la polarización actual de los dispositivos resistivos de escala \(\hbox {G}\Omega \). El circuito de fuente de corriente también contiene una referencia de voltaje de precisión, que se puede conectar a cualquier canal para calibrar el ADC. En un nivel superior, los canales SMU individuales se agrupan en grupos de ocho (Fig. 2b). Esto permite que cada clúster comparta un ADC de 8 canales y 18 bits y un DAC de 16 canales y 16 bits. Para reducir aún más la cantidad de pines de control por grupo, las señales de control del controlador de alta velocidad se unifican en un solo par a través de una serie de interruptores analógicos. El interruptor analógico IC utilizado en este diseño tiene un registro FIFO serial integrado, lo que permite que los interruptores de todos los canales en un grupo se controlen en una sola conexión en cadena serial. Las líneas seriales del conmutador, ADC y DAC de cada grupo se agrupan en un bus que se extiende por el centro de la placa, denominado troncal serial. El grupo está dispuesto físicamente de modo que todas las señales de control estén en un lado, con las líneas de medición en el otro y los rieles de suministro perpendiculares en una capa diferente. Cada grupo también comparte las mismas señales de control para los controladores de alta velocidad. Los canales en grupos separados pueden producir pulsos asíncronos, pero los canales en el mismo grupo no pueden.

El siguiente subsistema son los bancos de pines digitales. El primer banco de 32 canales (el banco 'selector') es un conjunto de solo salida que está diseñado para controlar puertas de transistores. Esto fue desarrollado para abordar las necesidades de los transistores selectores en arreglos RRAM24. Como resultado, los voltajes HI y LO pueden configurarse arbitrariamente, pero son comunes para todo el banco. Además, tanto la fuerza de conducción como la velocidad son relativamente bajas. El segundo banco (el 'banco de lógica arbitraria') es un sistema de E/S completamente digital más convencional, que está referenciado exclusivamente a GND. Está destinado a impulsar pines digitales en chips de prueba o leer de ellos.

La figura 3 ilustra el diagrama conceptual de la interfaz digital, que cierra la brecha entre el software de nivel de PC y el circuito analógico de la placa PCB. La estructura básica de la interfaz digital contiene un núcleo IP USB 3.0, un búfer primero en entrar, primero en salir (FIFO), memoria de bloque, una capa de transmisión y una capa de control. El conjunto de instrucciones ha sido diseñado para traducir un conjunto relativamente pequeño de operaciones de alto nivel al "lenguaje del tablero". Estos son: seleccionar canales, emitir pulsos, leer de los canales, así como configurar la corriente (para la fuente de corriente compartida) y algunos comandos más especializados. En hardware, esto se traduce en la configuración de impulsores de alta velocidad, DAC, ADC, interruptores y pines digitales. Todas las funciones avanzadas se pueden realizar a través de una combinación del conjunto básico de comandos. La capa de transmisión realiza la traducción de instrucciones a nivel de PC a nivel de PCB y la capa de control ejecuta este último.

Como ejemplo, una operación básica de escritura necesita comandos para configurar el controlador de pulsos de alta velocidad y los conmutadores de canal SMU (ver Fig. 2a). La información como la amplitud del pulso de voltaje, el ancho del pulso y los dispositivos de destino se procesarán y convertirán en la PC. Luego, la FPGA recibirá los comandos a través de USB3.0, configurará el canal de destino y luego activará el pulso. La información fluye en la dirección opuesta en una operación de lectura básica. Se envían comandos para DAC y ADC para configurar el voltaje de polarización y comenzar la lectura del voltaje en los canales seleccionados. Los resultados de la medición se almacenan temporalmente en la memoria del chip de la FPGA a la espera de que la PC esté lista para procesarlos. Para igualar las velocidades de transmisión y procesamiento del lado de la PC y del FPGA, un FIFO amortigua el enlace descendente de PC a FPGA y una memoria de bloque amortigua el enlace ascendente. El FIFO actualmente puede adaptarse a un solo paquete de instrucciones, pero eventualmente se actualizará a más de 32 instrucciones.

Jerarquía de interfaz digital. La velocidad del bus de datos interno es de 3,2 Gbps.

Todas las direcciones IP dentro de la FPGA están vinculadas a través de una interfaz extensible avanzada (AXI). AXI es una interfaz universal de alto rendimiento y alta velocidad, normalmente utilizada en sistemas de microcontroladores25. La propiedad basada en ráfagas de AXI y el reloj del sistema FPGA de 100 MHz permite velocidades de transmisión de datos internos de hasta 3,2 Gbps. El USB3.0 IP26 de terceros que usamos también generó un reloj de 100 MHz para el chip controlador USB CYUSB301427, lo que brinda la misma velocidad de datos máxima de 3.2 Gbps para la comunicación a través de USB.

La evaluación comparativa del instrumento implicó realizar una serie de experimentos para determinar el ruido de fondo de las operaciones de lectura de voltaje y corriente, la precisión de lectura de las resistencias de prueba, las características de pulso obtenidas al usar las funciones de escritura del sistema y algunos datos básicos sobre el funcionalidad de los terminales digitales.

Para evaluar el ruido de fondo de 32 lecturas de voltaje promedio de muestra, conectamos a tierra un canal (Fig. 4) y recopilamos lecturas de voltaje de 10k como se muestra en la Fig. 5a. Las lecturas de voltaje abarcaron principalmente tres códigos ADC consecutivos. Usando un modelo de ruido gaussiano, estimamos la desviación estándar (sd) de \({66}\,{\upmu \hbox {V}}\), aunque esto puede no ser exacto debido a que la varianza es de una escala similar al error de cuantificación .

(a) esquema funcional del canal extraído de la Fig. 2a. (b) esquema de alto nivel que indica la configuración de carga utilizada en la prueba.

Para evaluar el ruido de fondo de 32 lecturas de corriente promedio de muestra, configuramos un canal como TIA con una referencia de \({-0.5}\,\hbox {V}\), sometiendo así la carga de prueba a ese voltaje. Luego, conectamos diferentes resistencias entre el nodo de entrada y tierra para producir una corriente de polarización que obliga al canal a seleccionar automáticamente un rango específico (Fig. 4), y luego recolectamos 10k lecturas en cada rango, como se muestra en la Fig. 5. La incertidumbre en las lecturas del instrumento se obtuvo así. Para el rango \({820}\,{\Omega }\), conectamos una resistencia \({2.2}\,\hbox {k}\Omega \). Al igual que con las lecturas de voltaje, en este rango los resultados abarcaron principalmente solo tres códigos ADC consecutivos (Fig. 5b). Esto nos sugiere que el ruido en este rango está dominado por el ruido ADC y el error de cuantificación. Usando un modelo de ruido gaussiano, estimamos sd de \({48}\,\hbox {nA}\). La prueba se repitió con una resistencia \({16.4}\,\hbox {k}\Omega \), apuntando al rango de ganancia TIA \({110}\,\hbox {k}\Omega \) (Fig. 5c) . La distribución fue aproximadamente gaussiana, con un sd de \({1.6}\,\hbox {nA}\), o aproximadamente 5 LSB. Para probar el rango TIA \({15}\,\hbox {M}\Omega \), dejamos el circuito abierto de entrada TIA y obtuvimos sd de \(\sigma ={57}\,\hbox {pA}\) , o aproximadamente 22 LSB. La distribución de errores en este rango no mostró la distribución gaussiana obtenida en las pruebas de otros rangos. La experimentación mostró que la cola extendida de la distribución era el resultado de la interferencia de la red: durante cada prueba, los cables utilizados para conectar las resistencias para las pruebas anteriores se dejaron en su lugar; eliminarlos (reduciendo así la longitud de la línea de entrada flotante) dio como resultado una incertidumbre reducida. Las líneas de entrada del canal actúan como una antena, recolectando la energía emitida por el cableado de red cercano. Todos los resultados presentados aquí para el rango de corriente más bajo representan los cables de prueba retirados para minimizar los efectos de la antena. Esto probablemente podría eliminarse operando el instrumento dentro de una cámara anecoica, agregando capacitancia de carga u otras buenas técnicas de medición aplicadas independientemente del instrumento.

Histogramas que muestran las características de ruido de los distintos modos de medición. Todos los histogramas tienen un contenedor por código ADC con anchos de \({78.1}\,\upmu \hbox {V}\), \({47.6}\,\hbox {nA}\), \({355}\, \hbox {pA}\), y \({2.60}\,\hbox {pA}\) respectivamente. (a) Histograma de 10k puntos de una prueba de error de voltaje de lectura (V=GND), superpuesto con estimación de distribución gaussiana. Obtenemos \(\sigma ={66}\,{\mu \hbox {V}}\). (b–d) Histogramas de 10k puntos de pruebas de lectura actuales, superpuestos con estimaciones de distribución gaussiana. (b) \({820}\,{\Omega }\) El rango TIA produce \(\sigma ={48}\,\hbox {nA}\). (c) el \({110}\,{\hbox {k}\Omega }\) rango TIA produce \(\sigma ={1.6}\,\hbox {nA}\). (d) el rango de \({15}\,\hbox {M}\Omega \) TIA produce \(\sigma ={57}\,\hbox {pA}\).

Calculamos el error de lectura de corriente proporcional del 'peor caso razonable' en el rango operativo diseñado del instrumento asumiendo un error de medición de \(3\sigma \) (Fig. 6). Se pueden realizar mediciones de corriente de más de \({16}\,\hbox {nA}\) con un 1 % de precisión, a una frecuencia de muestreo de \({833}\,\hbox {Hz}\). Las mediciones por encima de \({3.4}\,\hbox {nA}\) y \({1.7}\,\hbox {nA}\) se pueden realizar con una precisión del 5 y el 10 %, respectivamente. El cálculo sugiere que, a un voltaje de polarización de \({0.5}\,\hbox {V}\), podemos leer la resistencia de los dispositivos hasta \({100}\,\hbox {M}\Omega \) antes la precisión comienza a degradarse. En general, la resolución del instrumento y el rendimiento de ruido es una combinación de los rendimientos básicos de los componentes clave seleccionados para su ensamblaje y el promedio adicional realizado en el FPGA. Con un promedio adicional, puede ser posible aumentar la resistencia máxima hasta \(\approx {1}\,\hbox {G}\Omega \), pero los rendimientos decrecientes impondrán límites prácticos. El efecto de cambiar las resistencias de rango es claramente visible en la figura como discontinuidades escalonadas en la magnitud del error.

Gráfico que muestra el error absoluto pronosticado basado en el error de ruido actual \(3\sigma \).

El osciloscopio captura una variedad de pulsos producidos con el generador de pulsos de alta velocidad. (a) Pulsos +VE que comienzan en \({0}\,\hbox {V}\). (b) pulsos −VE que comienzan en \({-0.5}\,\hbox {V}\). (c) +VE pulsos simétricos alrededor de \({0}\,\hbox {V}\). (d) Pulsos continuos que comienzan en \({3}\,\hbox {V}\).

Aquí, probamos la calidad de los pulsos de corta duración producidos por los controladores de alta velocidad, así como la falta de coincidencia de retardo entre los canales. Ordenamos un rango de pulsos con valores altos y bajos variables, en incrementos de \({10}\,\hbox {ns}\) entre el ancho mínimo de pulso (\({40}\,\hbox {ns}\) ) y \({160}\,\hbox {ns}\), y midió la salida del circuito controlador. Aunque el instrumento es capaz de producir pulsos con estados altos y bajos en cualquier lugar dentro del rango de los DAC en \(\pm {13.5}\,\hbox {V}\), solo pudimos probar pulsos entre \(\pm {5}\,\hbox {V}\) debido a los límites de las sondas de alta velocidad que estaban disponibles. Se encontró que las tasas de repetición por encima de \({1}\,\hbox {MHz}\) causaron un calentamiento significativo en los circuitos del controlador durante pruebas prolongadas, pero los trenes de pulsos más cortos con una tasa de repetición de hasta \({12.5}\,\ hbox {MHz}\) debería ser posible. Los tiempos de subida y caída fueron todos comparables, de 2 a 4 ns (Fig. 7). Observamos una discrepancia máxima de \({1.5}\,\hbox {ns}\) entre canales. Esto es lo suficientemente pequeño para permitir operaciones de escritura diferencial (por ejemplo, los pulsos bifásicos descritos en la sección "Descripción general del subsistema").

El instrumento tiene dos bancos de canales digitales (Tabla 1): un banco de 'selector' de 32 salidas digitales con dirección serial y un banco de 'lógica de nivel arbitrario' de 32 pines IO.

El banco 'selector' admite voltajes HI y LO en cualquier lugar dentro del rango completo de \(\pm {13.5}\,\hbox {V}\) con una resolución mínima garantizada de \({600}\,\mu \hbox {V }\). Los tiempos de subida están determinados por un \(~{100}\,\hbox {ns}\) tiempo de cierre del interruptor más el RC definido por la resistencia de encendido del interruptor (\({9.5}\,{\Omega }\) ). Los tiempos de caída están determinados por el RC de un circuito desplegable con \(R_{PD} = {8.2}\,\hbox {k}\Omega \). El circuito está configurado de tal manera que el usuario puede configurar el voltaje HI nominal para que sea más bajo que LO, intercambiando así las funciones del interruptor y la resistencia desplegable/subida. Esto se puede utilizar, por ejemplo, cuando se requiere un tiempo de caída muy rápido. La longitud mínima de pulso en cualquier pin es de aprox. \({1.3}\,\upmu\hbox{s}\). Esto está limitado por el tiempo requerido para escribir en los registros seriales que controlan los estados del selector.

El banco de "lógica de nivel arbitrario" es una matriz más convencional de circuitos integrados de cambio de nivel bidireccional, con un nivel HI seleccionable de entre 1,8 y 5,5 V, con una resolución de \({120}\,\upmu \hbox {V}\) . Este banco se opera en paralelo directamente desde los pines FPGA IO y, como resultado, puede operar a una frecuencia mucho más alta que el banco selector. Los cambiadores de nivel tienen un tiempo típico de subida y bajada de entre \({1.3}\,\hbox {ns}\) y \({4}\,\hbox {ns}\), dependiendo del nivel de voltaje establecido. El retraso de propagación típico también depende del nivel de voltaje seleccionado y normalmente está por debajo de \({8}\,\hbox {ns}\), excepto en niveles de voltaje muy bajos, donde el retraso en la configuración de salida puede ser tan alto como \ ({20}\,\hbox {ns}\).

Para ilustrar la naturaleza general y versátil del instrumento desarrollado, hemos realizado un conjunto de tres tareas de ejemplo, como se muestra a continuación. Primero, se ejecutó una rutina de caracterización de componentes clásicos en una resistencia, un diodo y un transistor. En segundo lugar, se realizó un conjunto de operaciones de lectura en una matriz de barras transversales. En tercer lugar, se midieron las características de E/S y DNL de un DAC IC. Este conjunto de tareas cubre una amplia gama de comunidades que van desde el desarrollo de dispositivos y tecnologías emergentes hasta el diseño de circuitos y pruebas de componentes más tradicionales. Todas las pruebas de un solo componente se realizaron utilizando una placa hija con enchufe ZIF, como se muestra en la Fig. 11a.

Primero, conectamos una resistencia \({10}\,\hbox {M}\Omega \) entre dos canales SMU y demostramos la capacidad de barrido IV. Un canal se configuró para generar un voltaje arbitrario y el otro se configuró para medir la corriente. Se realizó un barrido IV entre \(\pm {2}\,\hbox {V}\), con pasos de \({4}\,\hbox {mV}\). Los resultados se muestran en la Fig. 8a. Luego se realizó la misma prueba con un diodo de pequeña señal 1N4148 (Fig. 8b). Observamos que todos los resultados están por encima del ruido de fondo, incluso en el rango de polarización inversa. En la prueba de diodo, los puntos de datos de \({0.75}\,\hbox {V}\) en adelante se han omitido de esta figura, ya que la corriente de polarización directa que aumenta rápidamente satura el TIA y el voltaje a través del diodo ya no es revisado.

A continuación, probamos un nFET 2N7000, que requería el control simultáneo de tres canales SMU. Primero, establecemos su voltaje de fuente de drenaje \(V_{DS}\) a \({1}\,\hbox {V}\) y barrimos el voltaje de fuente de puerta \(V_{GS}\) entre 0- 4V que da como resultado la Fig. 8c. Por debajo de aprox. 1V alcanzamos el piso de ruido mientras que por encima de aprox. 2.4 V llegamos a un cumplimiento suave como con el diodo de antemano. En segundo lugar, realizamos un conjunto de barridos de \(V_{DS}\) entre 0 y 4 V en diferentes niveles de \(V_{GS}\) como se muestra en la Fig. 8d.

IV características de una pequeña selección de componentes. (a) Barrido IV de una resistencia \({10}\,\hbox {M}\Omega \). (b) Barrido IV de un diodo 1N4148, desde \({-2}\,\hbox {V}\) a \({0.75}\,\hbox {V}\). c) Terminal de puerta y d) Barridos de terminal de drenaje de un 2N7000 nFET.

El instrumento es capaz de controlar matrices de barras transversales y realizar operaciones de lectura y escritura en paralelo. Las configuraciones generales de lectura y escritura utilizadas en la comunidad RRAM forman un conjunto ilustrativo e instructivo de tareas para mostrar lo que implica con frecuencia el cálculo a nivel de matriz. La Fig. 10 muestra algunos ejemplos de lectura y escritura en una matriz de barras transversales sin selector (ab), así como la interfaz de una matriz que presenta dispositivos selectores basados ​​en transistores (cd) para lectura o escritura. En todos los casos, la matriz se puede dividir conceptualmente en la 'línea de palabras activa' donde se aplica el sesgo, la 'línea de bits activa', desde la cual podemos elegir medir, y las líneas de palabras y bits inactivas que deben manejarse adecuadamente para evitar el engaño. problemas de ruta. En el caso de la matriz basada en selector, también necesitamos controlar los terminales del selector.

En general, las líneas de palabras y de bits requieren un control analógico (tanto para la tensión/corriente aplicada como para la lectura), mientras que los terminales selectores se pueden utilizar en cualquiera de los dos modos. Los canales SMU se pueden asignar a cualquier línea que requiera control analógico y habilita todas las opciones operativas que se muestran en la Fig. 10, así como otras (por ejemplo, cuando escribimos elevando la línea de palabra activa a \(+V_{WRITE}/2\), configurando el línea de bits activa a \(-V_{WRITE}/2\) y manteniendo todas las líneas inactivas conectadas a tierra). Para escribir, se pueden utilizar los generadores de pulsos de alta velocidad o el TIA. Se pueden lograr formas de onda arbitrarias y pulsos más lentos variando el terminal DAC+ de cada canal en funcionamiento. Con 64 canales SMU, el sistema puede manejar hasta una matriz de barras transversales sin selector de \(32\times 32\), o una matriz de 21x21 con selectores de transistores bajo control analógico. Si los selectores pueden controlarse satisfactoriamente utilizando los terminales selectores digitales especializados, se admite una matriz \(32\times 32\) con selectores de transistores.

Operaciones de lectura de matriz para una matriz de resistencias \(32\times 32\). (a) muestra la matriz como se diseñó, con resistencias que van desde \({1}\,\hbox {k}\Omega \) a \({15}\,\hbox {M}\Omega \). La barra de colores está escalada de \({1}\,\hbox {k}\Omega \) a \({20}\,\hbox {M}\Omega \) Figure. (b) muestra la matriz como se lee en columnas. (e) muestra el error proporcional de b. (c) muestra la matriz como se lee en filas. (f) muestra el error proporcional de (c).

Para este trabajo, elegimos demostrar una lectura en una matriz física de barra transversal sin selector \(32\times 32\) de resistencias SMD (Fig. 9d). El comportamiento de una matriz RRAM se puede aproximar como una resistencia para un solo voltaje de lectura y esta matriz proporciona impedancias conocidas a partir de las cuales se puede calcular el error de lectura. El esquema utilizado se ve en la Fig. 10a: la línea de palabras activa está polarizada con el voltaje de lectura de CC y las líneas de bits activas se establecen en terrenos virtuales a través de la configuración de medición. Para la lectura en línea paralela, todas las líneas de bits están activas simultáneamente. Se toman lecturas múltiples y luego se promedian para mejorar la precisión (32 en nuestra implementación). Naturalmente, las resistencias de línea y los pequeños errores en los voltajes de salida del DAC que hacen referencia a los SMU TIA de lectura, etc., se combinarán para introducir algunos errores a través de rutas furtivas. Intentamos evaluar el alcance de estas imperfecciones en nuestras mediciones posteriores.

Operaciones básicas de lectura (a) y escritura (b) para arreglos de barras transversales sin selector. (c) y (d) muestran las mismas operaciones para arreglos habilitados para selector. Los dispositivos rojo, azul y negro corresponden a dispositivos seleccionados, semiseleccionados y no seleccionados. Las rutas de corriente previstas se muestran en verde, las rutas furtivas se muestran en amarillo.

La matriz usó resistencias del 1 % de \({1}\,\hbox {k}\Omega \) a \({10}\,\hbox {M}\Omega \) y resistencias del 5 % de \({15} \,\hbox{M}\Omega\); su diseño nominal se muestra en la Fig. 9a. Para probar la precisión de la lectura, simplemente realizamos una lectura en línea paralela en cada fila y luego calculamos el error fraccionario \(|(R_{\text {meas}}-R_{\text {real}})/R_{\text {real}}|\). Debido a que la matriz es cuadrada, podríamos usar la misma matriz física para realizar dos pruebas separadas: una en la matriz 'tal cual' y otra con la matriz rotada por \(90^o\). Esto nos permite ilustrar el conocido problema de que el valor leído en cualquier punto de la matriz depende de los estados de sus vecinos14.

En la operación de lectura que usamos, encontramos que la falta de coincidencia de referencia TIA de línea de bit a línea de bit degradaba la precisión al intentar medir resistencias de valor alto con resistencias de valor bajo en la misma línea de bits. Incluso las pequeñas diferencias de voltaje entre las líneas de bits pueden causar que fluyan corrientes de fuga no triviales entre ellas si ambas líneas tienen una conexión de baja resistencia a una línea de palabra inactiva. La discrepancia de voltaje de canal a canal suele ser solo \({500}\upmu \hbox {V}\), pero si la relación entre el dispositivo más pequeño en una línea de bits y el dispositivo que se lee es comparable a la relación entre la lectura voltaje y el voltaje de desajuste entonces la precisión se verá afectada. Nuestra prueba usó un voltaje de lectura de \({5}\,\hbox {V}\), lo que da una relación de 10000. En una configuración donde los dispositivos en una línea de bits son en gran parte del mismo valor (Fig. 9b) el el rendimiento es excelente, con 802 de 1024 resistencias medidas con menos del 5% de error (Fig. 9e). Leyendo desde la otra dirección (Fig. 9c), la relación entre los dispositivos más grandes y los más pequeños en la mayoría de las líneas de bits es 15000. En esta configuración, solo 171 de 1024 resistencias se midieron con menos del 5 % de error y 758 se midieron con menos del 100 %. error (Fig. 9f). El instrumento se calibró manualmente para este experimento, pero no se tuvo en cuenta la desviación del ADC (típ. \(\pm {160}\,\upmu \hbox {V}\)). Como tal, el voltaje de compensación de canal a canal puede ser más alto de lo esperado. La calibración automatizada mitigará este problema. Dado que la resolución de una operación de lectura de voltaje es mayor que la resolución del DAC, debería ser posible medir el desplazamiento de canal a canal y usar la deconvolución para obtener valores más precisos, pero esto está más allá del alcance de este documento.

Resultados de una prueba automatizada de un DAC AD558J (a) en el rango \({2.56}\,\hbox {V}\). (b) muestra la salida del código 0 al código 255. (c) muestra la no linealidad diferencial normalizada.

Para nuestra prueba final, cambiamos la placa secundaria utilizada para la prueba anterior con una versión especializada que lleva un zócalo ZIF de 48 pines (consulte la Fig. 11a) y la usamos para probar un AD558J DAC2. Medimos las características de transferencia de entrada/salida (código digital a salida analógica) y la no linealidad diferencial (DNL). El IC se montó en el zócalo ZIF (Fig. 11a) y la placa se configuró con puentes para conectar los pines 1-8 a las salidas digitales y el pin 11 a una fuente de alimentación integrada.

Los pines 9, 10, 12, 13 y 16 se conectaron a canales analógicos y los pines 14 y 15 se cortocircuitaron al pin 16 con cables puente. Los canales analógicos en los pines 9, 10, 12 y 13 se conectaron a tierra y los pines de suministro se configuraron en \({10}\,\hbox {V}\). Esta configuración establece el IC como un DAC \(0-{2.56}\,\hbox {V}\) con pestillos de entrada transparentes. Luego, las entradas digitales pasaron por todos los códigos de entrada y el voltaje se midió en el pin 16 en cada paso (Fig. 11b). Observamos un DNL máximo de 0,5 LSB (Fig. 11c), que coincide con el DNL especificado en la hoja de datos. La placa secundaria utilizada aquí se configuró con puentes, pero una versión diseñada alrededor de conmutadores de matriz analógicos podría permitir un mayor grado de automatización.

En este documento, hemos presentado un instrumento de propósito general que puede adaptarse a las necesidades de prueba de una gran variedad de componentes electrónicos, con una cantidad apropiadamente grande de canales de medidor de fuente semiindependientes. Esta nueva herramienta aborda una importante demanda de pruebas de circuitos cada vez más complejos y minimiza las ocasiones en las que es necesario diseñar un sistema completo basado en PCB para cumplir con los requisitos del dispositivo bajo prueba. Observamos que los factores habilitadores importantes para construir dicha instrumentación incluyen: (a) la disponibilidad de FPGA con un gran número de pines (lo que permite un alto paralelismo), (b) PCB multicapa cada vez más accesibles, (c) la mejora de componentes discretos como amplificadores y fuentes de alimentación.

Es importante destacar que el instrumento presentado logra especificaciones competitivas para varios instrumentos de sobremesa establecidos mientras permanece en un formato de escritorio más pequeño. La Tabla 2 resume las métricas clave de desempeño logradas y las compara con otros instrumentos establecidos en el área. Nuestros resultados demuestran cómo el paralelismo y la portabilidad se pueden cambiar por la precisión, pero no necesariamente por la velocidad. Si bien la baja tasa de muestreo de este sistema lo limita a la caracterización de CC, la estructura paralela permite leer 1024 matrices de dispositivos en \({50}\,\hbox {ms}\), lo que facilita las pruebas de alto rendimiento que se requieren. por las tecnologías emergentes. A pesar de sacrificar cierta precisión, todavía estamos en el punto en el que el instrumento puede medir sus propias corrientes de fuga, así como establecer y medir todos los niveles mínimos de ruido necesarios (consulte la Fig. 5). Además, como lo demuestran las aplicaciones de ejemplo, la precisión lograda es más que suficiente para satisfacer las necesidades de una gran variedad de tecnologías electrónicas. Por lo tanto, prevemos que esta nueva herramienta ayudará significativamente al desarrollo y al uso de tecnologías emergentes de dispositivos de electrones en nuevas aplicaciones donde el paralelismo de lectura/escritura y la velocidad del nivel de datos pueden ser de suma importancia. Finalmente, reconocemos que la portabilidad del instrumento propuesto puede ser ventajoso para una experiencia de laboratorio en el hogar, particularmente a la luz de la pandemia mundial en curso en el momento de escribir este artículo.

En conclusión, prevemos que en el futuro, la instrumentación portátil y versátil que pueda manejar circuitos cada vez más complejos y sin precisión crítica se volverá más común, acelerando y democratizando la investigación en dispositivos electrónicos, componentes, chips, etc. mucho como Raspberry Pi y Arduino. sistemas han hecho para la investigación de software embebido. Esperamos que este nuevo instrumento desempeñe un papel importante para permitir esta visión, así como también sirva como un ejemplo concreto de tales sistemas que se pueden desarrollar y qué capacidades pueden lograr.

Los conjuntos de datos generados y analizados durante este estudio se incluyen en los archivos de información complementaria. La interfaz de software basada en Python está disponible en el repositorio de arc2control, https://github.com/arc-instruments/arc2control.

Corporación Burr-Brown. Hoja de datos INA111 (1998).

Dispositivos analógicos. Hoja de datos AD558 (2017).

Chang, W., See, K. y Hu, B. Caracterización del componente en condiciones de polarización de CC utilizando un enfoque de acoplamiento inductivo. Trans. IEEE. instrumento medida 59, 2109–2114 (2010).

Artículo Google Académico

Upadhye, M. & Sathe, AP Un sistema integrado basado en PC para la medición de varios parámetros para dispositivos de dos terminales utilizados en la industria. Trans. IEEE. instrumento medida 41, 706–709 (1992).

Artículo Google Académico

Sistema de investigación de Stanford. Hoja de datos SRA856A (2015).

Tektronix. Hoja de datos de Tektronix MDO34 (2022).

Strukov, DB et al. El memristor perdido encontrado. Naturaleza 453, 80–83 (2008).

Artículo ADS CAS Google Académico

Stathopoulos, S. et al. Una metodología de caracterización eléctrica para la evaluación comparativa de tecnologías de dispositivos memristivos. ciencia Rep. 9, 1–10 (2019).

Artículo ANUNCIOS Google Académico

Serbio, A. et al. Inferencia bayesiana a nivel de hardware. En Sistemas de procesamiento de información neuronal (2017).

Berdán, R. et al. Un sistema basado en un controlador \(\mu \) para interconectar matrices de barras cruzadas RRAM sin selector. Trans. IEEE. Dispositivos electrónicos62 (2015).

Xing, J. et al. Un instrumento basado en FPGA para la caracterización de RRAM en masa con resolución de pulsos ns. Trans. IEEE. Sistema de circuitos I: Documentos regulares 818–826 (2016).

Nugent, A. Knowm Memristor Discovery manual (2019).

Linn, E. et al. Interruptores resistivos complementarios para memorias pasivas nanocrossbar. Nat. Mate. 9, 403–406 (2010).

Artículo ADS CAS Google Académico

Serbio, A. et al. Determinación práctica de estados resistivos de elementos individuales en matrices RRAM sin selector. Trans. IEEE. Sistema de circuitos Yo: Reg. Documentos 63, 827–835 (2016).

Artículo MathSciNet Google Académico

Chen, A. Un modelo integral de matriz de barras transversales con soluciones para resistencia de línea y características de dispositivos no lineales. Trans. IEEE. eléctrico Dispositivos 60, 1318–1326 (2013).

Artículo ANUNCIOS Google Académico

Sivan, M. et al. Todas las celdas RAM resistivas WSe2 1T1R para la futura integración de memoria integrada 3D monolítica. Nat. común 10, 5201 (2019).

Artículo ANUNCIOS Google Académico

Stathopoulos, S. et al. Operación de memoria multibit de memristores bicapa de óxido metálico. Informes científicos 17532 (2017).

Instrumentos Texas. Hoja de datos OPA3S328 (2020).

Semiconductores NXP. Hoja de datos LPC1769 (2020).

Wust, D. et al. Creación de prototipos de memristores en un sistema digital con un entorno de prueba basado en fpga. En 2017, 27º Simposio Internacional sobre Modelado, Optimización y Simulación de Potencia y Temporización (PATMOS), 1–7 (2017).

Wang, Y. et al. Sistema de prueba de alta velocidad de pulso de corriente para dispositivos de memoria de cambio de fase. J. física. Conf. Ser. 1237, 042064 (2019).

Artículo CAS Google Académico

Merced-Grafals, E. et al. Programación multinivel repetible, precisa y de alta velocidad de arreglos memristor 1t1r para aplicaciones informáticas analógicas de bajo consumo. Nanotecnología 27, 365202 (2016).

Artículo Google Académico

Instrumentos de arco. Manual de usuario de la plataforma de caracterización Memristor (2017).

Jouppi, NP Implicaciones de diseño de estructuras de punto de cruce RRAM basadas en memristor. En 2011 Diseño, Automatización y Prueba en Europa, 1–6 (IEEE, 2011).

ARM Ltd. Especificación de protocolo AMBA AXI y ACE (2021).

CESYS. AXI-FX3-Interfaz v1.2 (2017).

Ciprés. Controlador USB EZ-USB FX3 SuperSpeed ​​(2018).

DIGILENTE. Analog Discovery 2\(^{\rm TM}\) Manual de referencia (2015).

Keithley. Datos técnicos del sistema de caracterización de semiconductores, Keithley 4200-SCS. (2009).

Descargar referencias

Este trabajo fue apoyado en parte por el Programa del Consejo de Investigación de Ingeniería y Ciencias Físicas (EPSRC) bajo la subvención EP / R024642 ​​/ 1 de Tecnologías Reconfigurables de Óxido Funcional (FORTE), en parte por un sistema híbrido de circuito cerrado neuronal de cerebro-silicio conectado SYNAPtically (SYNCH ) bajo la subvención H2020-FETPROACT-2018-01, y en parte por la Cátedra RAEng en Tecnologías Emergentes bajo la subvención CiET1819/2/93.

Centro para las Fronteras de la Electrónica, Instituto Zepler, Universidad de Southampton, Southampton, Reino Unido

Patrick Foster, Jinqi Huang y Spyros Stathopoulos

Escuela de Ingeniería, Universidad de Edimburgo, Edimburgo, Reino Unido

Alex serbio y themis prodromakis

Departamento de Ingeniería Eléctrica y Electrónica, Imperial College London, Londres, Reino Unido

Christos Papavassiliou

Instrumentos ArC, Southampton, Reino Unido

Alex Serb, Christos Papavassiliou y Themis Prodromakis

También puede buscar este autor en PubMed Google Scholar

También puede buscar este autor en PubMed Google Scholar

También puede buscar este autor en PubMed Google Scholar

También puede buscar este autor en PubMed Google Scholar

También puede buscar este autor en PubMed Google Scholar

También puede buscar este autor en PubMed Google Scholar

PF diseñó el hardware con la asistencia de CP y realizó experimentos, JH diseñó la configuración de FPGA, SS diseñó el software utilizado para operar el instrumento. AS y TP dirigieron el proyecto y supervisaron la obra. PF, JH y AS redactaron y revisaron el manuscrito. Todos los autores leyeron y aprobaron el manuscrito.

Correspondencia a Patrick Foster.

ArC Instruments es propiedad de AS, CP y TP. PF, JH y SS declaran no tener intereses contrapuestos.

Springer Nature se mantiene neutral con respecto a los reclamos jurisdiccionales en mapas publicados y afiliaciones institucionales.

Acceso abierto Este artículo tiene una licencia internacional Creative Commons Attribution 4.0, que permite el uso, el intercambio, la adaptación, la distribución y la reproducción en cualquier medio o formato, siempre que se otorgue el crédito correspondiente al autor o autores originales y a la fuente. proporcionar un enlace a la licencia Creative Commons e indicar si se realizaron cambios. Las imágenes u otro material de terceros en este artículo están incluidos en la licencia Creative Commons del artículo, a menos que se indique lo contrario en una línea de crédito al material. Si el material no está incluido en la licencia Creative Commons del artículo y su uso previsto no está permitido por la regulación legal o excede el uso permitido, deberá obtener el permiso directamente del titular de los derechos de autor. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by/4.0/.

Reimpresiones y permisos

Foster, P., Huang, J., Serb, A. et al. Un sistema basado en FPGA para pruebas generalizadas de dispositivos de electrones. Informe científico 12, 13912 (2022). https://doi.org/10.1038/s41598-022-18100-3

Descargar cita

Recibido: 31 enero 2022

Aceptado: 05 agosto 2022

Publicado: 17 agosto 2022

DOI: https://doi.org/10.1038/s41598-022-18100-3

Cualquier persona con la que compartas el siguiente enlace podrá leer este contenido:

Lo sentimos, un enlace para compartir no está disponible actualmente para este artículo.

Proporcionado por la iniciativa de intercambio de contenido Springer Nature SharedIt

Al enviar un comentario, acepta cumplir con nuestros Términos y Pautas de la comunidad. Si encuentra algo abusivo o que no cumple con nuestros términos o pautas, márquelo como inapropiado.

COMPARTIR