La electrónica digital es un campo de la electrónica que implica el estudio de las señales digitales y la ingeniería de los dispositivos que las utilizan o producen. Esto contrasta con la electrónica analógica , que trabaja principalmente con señales analógicas . A pesar del nombre, los diseños de electrónica digital incluyen importantes consideraciones de diseño analógico.
Los circuitos electrónicos digitales suelen estar formados por grandes conjuntos de puertas lógicas , a menudo empaquetadas en circuitos integrados . Los dispositivos complejos pueden tener representaciones electrónicas simples de funciones lógicas booleanas . [1]
El sistema de numeración binario fue refinado por Gottfried Wilhelm Leibniz (publicado en 1705) y también estableció que al usar el sistema binario, los principios de la aritmética y la lógica se podían unir. La lógica digital tal como la conocemos fue la creación de George Boole a mediados del siglo XIX. En una carta de 1886, Charles Sanders Peirce describió cómo se podían llevar a cabo operaciones lógicas mediante circuitos de conmutación eléctricos. [2] Con el tiempo, los tubos de vacío reemplazaron a los relés para las operaciones lógicas. La modificación de Lee De Forest de la válvula Fleming en 1907 se podía usar como una puerta AND . Ludwig Wittgenstein introdujo una versión de la tabla de verdad de 16 filas como proposición 5.101 del Tractatus Logico-Philosophicus (1921). Walther Bothe , inventor del circuito de coincidencia , compartió el Premio Nobel de Física de 1954, por crear la primera puerta AND electrónica moderna en 1924.
Las computadoras analógicas mecánicas comenzaron a aparecer en el siglo I y luego se utilizaron en la era medieval para cálculos astronómicos. En la Segunda Guerra Mundial , las computadoras analógicas mecánicas se utilizaron para aplicaciones militares especializadas, como el cálculo de la puntería de los torpedos. Durante esta época se desarrollaron las primeras computadoras digitales electrónicas, y el término digital fue propuesto por George Stibitz en 1942. Originalmente, tenían el tamaño de una habitación grande y consumían tanta energía como varios cientos de PC modernos . [3]
Claude Shannon , al demostrar que las aplicaciones eléctricas del álgebra de Boole podían construir cualquier relación numérica lógica, sentó finalmente las bases de la computación digital y los circuitos digitales en su tesis de maestría de 1937, que se considera posiblemente la tesis de maestría más importante jamás escrita y ganó el Premio Alfred Noble en 1939. [ 4] [5]
El Z3 fue un ordenador electromecánico diseñado por Konrad Zuse . Terminado en 1941, fue el primer ordenador digital programable y totalmente automático del mundo. [6] Su funcionamiento se vio facilitado por la invención del tubo de vacío en 1904 por John Ambrose Fleming .
Al mismo tiempo que el cálculo digital sustituyó al analógico, los elementos de circuitos puramente electrónicos pronto reemplazaron a sus equivalentes mecánicos y electromecánicos. John Bardeen y Walter Brattain inventaron el transistor de contacto puntual en Bell Labs en 1947, seguidos por William Shockley, que inventó el transistor de unión bipolar en Bell Labs en 1948. [7] [8]
En la Universidad de Manchester , un equipo dirigido por Tom Kilburn diseñó y construyó una máquina que utilizaba los transistores recién desarrollados en lugar de tubos de vacío. [9] Su " computadora transistorizada ", la primera del mundo, estaba operativa en 1953 , y una segunda versión se completó allí en abril de 1955. A partir de 1955, los transistores reemplazaron a los tubos de vacío en los diseños de computadoras, dando lugar a la "segunda generación" de computadoras. En comparación con los tubos de vacío, los transistores eran más pequeños, más confiables, tenían una vida útil indefinida y requerían menos energía que los tubos de vacío, por lo que emitían menos calor y permitían concentraciones mucho más densas de circuitos, hasta decenas de miles en un espacio relativamente compacto.
En 1955, Carl Frosch y Lincoln Derick descubrieron los efectos de pasivación de la superficie del dióxido de silicio. [10] En 1957, Frosch y Derick, utilizando enmascaramiento y predeposición, pudieron fabricar transistores de efecto de campo de dióxido de silicio; los primeros transistores planares, en los que el drenaje y la fuente estaban adyacentes en la misma superficie. [11] En Bell Labs, la importancia de la técnica de Frosch y Derick y los transistores se comprendió de inmediato. Los resultados de su trabajo circularon por Bell Labs en forma de memorandos BTL antes de ser publicados en 1957. En Shockley Semiconductor , Shockley había hecho circular la preimpresión de su artículo en diciembre de 1956 a todo su personal superior, incluido Jean Hoerni , [12] [13] [14] [15] quien más tarde inventaría el proceso planar en 1959 mientras estaba en Fairchild Semiconductor . [16] [17] En Bell Labs, JR Ligenza y WG Spitzer estudiaron el mecanismo de los óxidos cultivados térmicamente, fabricaron una pila Si/ SiO2 de alta calidad y publicaron sus resultados en 1960. [18] [19] [20] Después de esta investigación en Bell Labs, Mohamed Atalla y Dawon Kahng propusieron un transistor MOS de silicio en 1959 [21] y demostraron con éxito un dispositivo MOS funcional con su equipo de Bell Labs en 1960. [22] [ 23] El equipo incluía a EE LaBate y EI Povilonis, quienes fabricaron el dispositivo; MO Thurston, LA D'Asaro y JR Ligenza, quienes desarrollaron los procesos de difusión, y HK Gummel y R. Lindner, quienes caracterizaron el dispositivo. [24] [25]
Mientras trabajaba en Texas Instruments en julio de 1958, Jack Kilby registró sus ideas iniciales sobre el circuito integrado (CI) y luego demostró con éxito el primer circuito integrado funcional el 12 de septiembre de 1958. [26] El chip de Kilby estaba hecho de germanio . Al año siguiente, Robert Noyce de Fairchild Semiconductor inventó el circuito integrado de silicio . La base para el CI de silicio de Noyce fue el proceso planar de Hoerni .
Las ventajas del MOSFET incluyen alta escalabilidad , [27] asequibilidad, [28] bajo consumo de energía y alta densidad de transistores . [29] Su rápida velocidad de conmutación electrónica de encendido y apagado también lo hace ideal para generar trenes de pulsos , [30] la base de señales digitales electrónicas , [31] [32] en contraste con los BJT que, más lentamente, generan señales analógicas que se asemejan a ondas sinusoidales . [30] Junto con la integración a gran escala (LSI) de MOS, estos factores hacen del MOSFET un dispositivo de conmutación importante para circuitos digitales . [33] El MOSFET revolucionó la industria electrónica , [34] [35] y es el dispositivo semiconductor más común . [36] [37]
En los primeros días de los circuitos integrados , cada chip estaba limitado a solo unos pocos transistores, y el bajo grado de integración significaba que el proceso de diseño era relativamente simple. Los rendimientos de fabricación también eran bastante bajos para los estándares actuales. La amplia adopción del transistor MOSFET a principios de la década de 1970 condujo a los primeros chips de integración a gran escala (LSI) con más de 10,000 transistores en un solo chip. [38] Después de la amplia adopción de CMOS , un tipo de lógica MOSFET, en la década de 1980, millones y luego miles de millones de MOSFET podían colocarse en un chip a medida que avanzaba la tecnología, [39] y los buenos diseños requerían una planificación minuciosa, lo que dio lugar a nuevos métodos de diseño . El recuento de transistores de los dispositivos y la producción total aumentaron a alturas sin precedentes. Se ha estimado que la cantidad total de transistores producidos hasta 2018 fue1,3 × 10 22 (13 sextillones ). [40]
La revolución inalámbrica (la introducción y proliferación de redes inalámbricas ) comenzó en la década de 1990 y fue posible gracias a la amplia adopción de amplificadores de potencia de RF basados en MOSFET ( MOSFET de potencia y LDMOS ) y circuitos de RF ( CMOS de RF ). [41] [42] [43] Las redes inalámbricas permitieron la transmisión digital pública sin necesidad de cables, lo que condujo a la televisión digital , la radio digital y satelital , el GPS , Internet inalámbrico y los teléfonos móviles durante las décadas de 1990 y 2000.
Una ventaja de los circuitos digitales en comparación con los circuitos analógicos es que las señales representadas digitalmente se pueden transmitir sin degradación causada por ruido . [44] Por ejemplo, una señal de audio continua transmitida como una secuencia de 1 y 0, se puede reconstruir sin errores, siempre que el ruido captado en la transmisión no sea suficiente para evitar la identificación de los 1 y 0.
En un sistema digital, se puede obtener una representación más precisa de una señal utilizando más dígitos binarios para representarla. Si bien esto requiere más circuitos digitales para procesar las señales, cada dígito es manejado por el mismo tipo de hardware, lo que da como resultado un sistema fácilmente escalable . En un sistema analógico, una resolución adicional requiere mejoras fundamentales en la linealidad y las características de ruido de cada paso de la cadena de señales .
Con los sistemas digitales controlados por ordenador, se pueden añadir nuevas funciones mediante la revisión del software y no se necesitan cambios en el hardware. A menudo, esto se puede hacer fuera de la fábrica actualizando el software del producto. De esta manera, los errores de diseño del producto se pueden corregir incluso después de que el producto esté en manos del cliente.
El almacenamiento de información puede ser más sencillo en sistemas digitales que en analógicos. La inmunidad al ruido de los sistemas digitales permite almacenar y recuperar datos sin degradación. En un sistema analógico, el ruido del envejecimiento y el desgaste degrada la información almacenada. En un sistema digital, siempre que el ruido total se encuentre por debajo de un cierto nivel, la información puede recuperarse perfectamente. Incluso cuando hay más ruido, el uso de redundancia permite recuperar los datos originales siempre que no se produzcan demasiados errores.
En algunos casos, los circuitos digitales utilizan más energía que los circuitos analógicos para realizar las mismas tareas, por lo que producen más calor, lo que aumenta la complejidad de los circuitos, como la inclusión de disipadores de calor. En sistemas portátiles o alimentados por batería, esto puede limitar el uso de sistemas digitales. Por ejemplo, los teléfonos celulares alimentados por batería a menudo utilizan un front-end analógico de baja potencia para amplificar y sintonizar las señales de radio de la estación base. Sin embargo, una estación base tiene energía de la red y puede utilizar radios de software que consumen mucha energía, pero que son muy flexibles . Dichas estaciones base se pueden reprogramar fácilmente para procesar las señales utilizadas en los nuevos estándares celulares.
Muchos sistemas digitales útiles deben traducir señales analógicas continuas a señales digitales discretas. Esto provoca errores de cuantificación . El error de cuantificación se puede reducir si el sistema almacena suficientes datos digitales para representar la señal con el grado de fidelidad deseado . El teorema de muestreo de Nyquist-Shannon proporciona una importante guía sobre la cantidad de datos digitales necesarios para representar con precisión una señal analógica determinada.
Si se pierde o se interpreta incorrectamente un solo fragmento de datos digitales, en algunos sistemas puede producirse un pequeño error, mientras que en otros sistemas el significado de grandes bloques de datos relacionados puede cambiar por completo. Por ejemplo, un error de un solo bit en datos de audio almacenados directamente como modulación de código de pulso lineal provoca, en el peor de los casos, un solo clic audible. Pero cuando se utiliza la compresión de audio para ahorrar espacio de almacenamiento y tiempo de transmisión, un solo error de bit puede provocar una alteración mucho mayor.
Debido al efecto acantilado , puede resultar difícil para los usuarios determinar si un sistema en particular está al borde de fallar o si puede tolerar mucho más ruido antes de fallar. La fragilidad digital se puede reducir diseñando un sistema digital para que sea robusto . Por ejemplo, se puede insertar un bit de paridad u otro método de gestión de errores en la ruta de la señal. Estos esquemas ayudan al sistema a detectar errores y luego a corregirlos o solicitar la retransmisión de los datos.
Un circuito digital se construye típicamente a partir de pequeños circuitos electrónicos llamados puertas lógicas que se pueden usar para crear lógica combinacional . Cada puerta lógica está diseñada para realizar una función de lógica booleana cuando actúa sobre señales lógicas. Una puerta lógica generalmente se crea a partir de uno o más interruptores controlados eléctricamente, generalmente transistores , pero las válvulas termoiónicas han sido utilizadas históricamente. La salida de una puerta lógica puede, a su vez, controlar o alimentar más puertas lógicas.
Otra forma de circuito digital se construye a partir de tablas de búsqueda (muchas de ellas se venden como " dispositivos lógicos programables ", aunque existen otros tipos de PLD). Las tablas de búsqueda pueden realizar las mismas funciones que las máquinas basadas en puertas lógicas, pero se pueden reprogramar fácilmente sin cambiar el cableado. Esto significa que un diseñador a menudo puede reparar errores de diseño sin cambiar la disposición de los cables. Por lo tanto, en productos de pequeño volumen, los dispositivos lógicos programables suelen ser la solución preferida. Por lo general, los diseñan ingenieros que utilizan software de automatización de diseño electrónico .
Los circuitos integrados consisten en múltiples transistores en un chip de silicio y son la forma más económica de fabricar una gran cantidad de puertas lógicas interconectadas. Los circuitos integrados suelen estar interconectados en una placa de circuito impreso , que es una placa que contiene componentes eléctricos y los conecta entre sí mediante pistas de cobre.
Los ingenieros utilizan muchos métodos para minimizar la redundancia lógica con el fin de reducir la complejidad del circuito. La complejidad reducida reduce la cantidad de componentes y los errores potenciales y, por lo tanto, generalmente reduce el costo. La redundancia lógica se puede eliminar mediante varias técnicas conocidas, como los diagramas de decisión binaria , el álgebra de Boole , los mapas de Karnaugh , el algoritmo de Quine-McCluskey y el método informático heurístico . Estas operaciones se realizan normalmente dentro de un sistema de diseño asistido por computadora .
Los sistemas embebidos con microcontroladores y controladores lógicos programables se utilizan a menudo para implementar lógica digital en sistemas complejos que no requieren un rendimiento óptimo. Estos sistemas suelen ser programados por ingenieros de software o electricistas, utilizando lógica de escalera .
La relación de entrada-salida de un circuito digital se puede representar como una tabla de verdad . Un circuito de alto nivel equivalente utiliza puertas lógicas , cada una representada por una forma diferente (estandarizada por IEEE / ANSI 91–1984). [45] Una representación de bajo nivel utiliza un circuito equivalente de interruptores electrónicos (normalmente transistores ).
La mayoría de los sistemas digitales se dividen en sistemas combinacionales y secuenciales . La salida de un sistema combinacional depende únicamente de las entradas actuales. Sin embargo, un sistema secuencial tiene algunas de sus salidas realimentadas como entradas, por lo que su salida puede depender de entradas pasadas además de las entradas actuales, para producir una secuencia de operaciones. Las representaciones simplificadas de su comportamiento, llamadas máquinas de estados, facilitan el diseño y la prueba.
Los sistemas secuenciales se dividen en dos subcategorías más. Los sistemas secuenciales "sincrónicos" cambian de estado de una sola vez cuando una señal de reloj cambia de estado. Los sistemas secuenciales "asincrónicos" propagan los cambios siempre que cambian las entradas. Los sistemas secuenciales sincrónicos se realizan utilizando flip flops que almacenan los voltajes de entrada como un bit solo cuando cambia el reloj.
La forma habitual de implementar una máquina de estados secuencial sincrónica es dividirla en una pieza de lógica combinacional y un conjunto de flip flops llamados registro de estado . El registro de estado representa el estado como un número binario. La lógica combinacional produce la representación binaria para el siguiente estado. En cada ciclo de reloj, el registro de estado captura la retroalimentación generada a partir del estado anterior de la lógica combinacional y la devuelve como una entrada inmutable a la parte combinacional de la máquina de estados. La velocidad del reloj está limitada por el cálculo lógico que consume más tiempo en la lógica combinacional.
La mayor parte de la lógica digital es sincrónica porque es más fácil crear y verificar un diseño sincrónico. Sin embargo, la lógica asincrónica tiene la ventaja de que su velocidad no está limitada por un reloj arbitrario; en cambio, funciona a la velocidad máxima de sus puertas lógicas. [a]
Sin embargo, la mayoría de los sistemas necesitan aceptar señales externas no sincronizadas en sus circuitos lógicos sincrónicos. Esta interfaz es inherentemente asincrónica y debe analizarse como tal. Algunos ejemplos de circuitos asincrónicos ampliamente utilizados incluyen flip-flops sincronizadores, supresores de rebote de conmutadores y árbitros .
Los componentes lógicos asincrónicos pueden ser difíciles de diseñar porque se deben considerar todos los estados posibles en todos los tiempos posibles. El método habitual es construir una tabla del tiempo mínimo y máximo que puede existir cada uno de esos estados y luego ajustar el circuito para minimizar el número de esos estados. El diseñador debe obligar al circuito a esperar periódicamente a que todas sus partes entren en un estado compatible (esto se llama "autoresincronización"). Sin un diseño cuidadoso, es fácil producir accidentalmente una lógica asincrónica que sea inestable; es decir, la electrónica real tendrá resultados impredecibles debido a los retrasos acumulativos causados por pequeñas variaciones en los valores de los componentes electrónicos.
Muchos sistemas digitales son máquinas de flujo de datos . Por lo general, se diseñan utilizando lógica de transferencia de registros sincrónicos y se escriben con lenguajes de descripción de hardware como VHDL o Verilog .
En la lógica de transferencia de registros, los números binarios se almacenan en grupos de flip flops llamados registros . Una máquina de estados secuencial controla cuándo cada registro acepta nuevos datos de su entrada. Las salidas de cada registro son un conjunto de cables llamado bus que lleva ese número a otros cálculos. Un cálculo es simplemente una pieza de lógica combinacional. Cada cálculo también tiene un bus de salida, y estos pueden estar conectados a las entradas de varios registros. A veces, un registro tendrá un multiplexor en su entrada para poder almacenar un número de cualquiera de varios buses. [b]
Los sistemas asincrónicos de transferencia de registros (como las computadoras) tienen una solución general. En la década de 1980, algunos investigadores descubrieron que casi todas las máquinas de transferencia de registros sincrónicas podían convertirse en diseños asincrónicos mediante el uso de la lógica de sincronización del tipo "primero en entrar, primero en salir". En este esquema, la máquina digital se caracteriza como un conjunto de flujos de datos. En cada paso del flujo, un circuito de sincronización determina cuándo son válidas las salidas de ese paso e indica a la siguiente etapa cuándo utilizar estas salidas. [ cita requerida ]
La máquina lógica de transferencia de registros de uso más general es una computadora . Esta es básicamente un ábaco binario automático . La unidad de control de una computadora generalmente está diseñada como un microprograma ejecutado por un microsecuenciador . Un microprograma es muy parecido a un rollo de pianola. Cada entrada de tabla del microprograma ordena el estado de cada bit que controla la computadora. Luego, el secuenciador cuenta, y el conteo se dirige a la memoria o máquina lógica combinacional que contiene el microprograma. Los bits del microprograma controlan la unidad lógica aritmética , la memoria y otras partes de la computadora, incluido el propio microsecuenciador. De esta manera, la compleja tarea de diseñar los controles de una computadora se reduce a la tarea más simple de programar una colección de máquinas lógicas mucho más simples.
Casi todos los ordenadores son sincrónicos, pero también se han construido ordenadores asincrónicos . Un ejemplo es el núcleo ASPIDA DLX . [47] Otro fue ofrecido por ARM Holdings . [48] Sin embargo, no tienen ninguna ventaja en cuanto a velocidad porque los diseños de ordenadores modernos ya funcionan a la velocidad de su componente más lento, normalmente la memoria. Utilizan algo menos de energía porque no se necesita una red de distribución de reloj. Una ventaja inesperada es que los ordenadores asincrónicos no producen ruido de radio espectralmente puro. Se utilizan en algunos controladores de estaciones base de telefonía móvil sensibles a la radio. Pueden ser más seguros en aplicaciones criptográficas porque sus emisiones eléctricas y de radio pueden ser más difíciles de decodificar. [48]
La arquitectura informática es una actividad de ingeniería especializada que intenta organizar los registros, la lógica de cálculo, los buses y otras partes de la computadora de la mejor manera posible para un propósito específico. Los arquitectos informáticos han trabajado mucho para reducir el costo y aumentar la velocidad de las computadoras, además de aumentar su inmunidad a los errores de programación. Un objetivo cada vez más común de los arquitectos informáticos es reducir la energía utilizada en los sistemas informáticos alimentados por baterías, como los teléfonos inteligentes .
Los circuitos digitales están hechos de componentes analógicos. El diseño debe garantizar que la naturaleza analógica de los componentes no domine el comportamiento digital deseado. Los sistemas digitales deben gestionar el ruido y los márgenes de temporización, las inductancias parásitas y las capacitancias.
Los malos diseños tienen problemas intermitentes, como fallas , pulsos extremadamente rápidos que pueden activar cierta lógica pero no otra, pulsos pequeños que no alcanzan voltajes de umbral válidos .
Además, cuando los sistemas digitales sincronizados interactúan con sistemas analógicos o sistemas que son controlados por un reloj diferente, el sistema digital puede estar sujeto a metaestabilidad cuando un cambio en la entrada viola el tiempo de configuración de un pestillo de entrada digital.
Dado que los circuitos digitales están hechos de componentes analógicos, los circuitos digitales calculan más lentamente que los circuitos analógicos de baja precisión que utilizan una cantidad similar de espacio y energía. Sin embargo, el circuito digital calculará con mayor repetibilidad debido a su alta inmunidad al ruido.
Gran parte del esfuerzo de diseñar grandes máquinas lógicas se ha automatizado mediante la aplicación de la automatización del diseño electrónico (EDA).
Las descripciones de lógica simples al estilo de tablas de verdad suelen optimizarse con EDA, que produce automáticamente sistemas reducidos de puertas lógicas o tablas de búsqueda más pequeñas que aún producen los resultados deseados. El ejemplo más común de este tipo de software es el minimizador de lógica heurística Espresso . La optimización de sistemas lógicos grandes se puede realizar utilizando el algoritmo de Quine-McCluskey o diagramas de decisión binarios . Existen experimentos prometedores con algoritmos genéticos y optimizaciones de recocido .
Para automatizar procesos de ingeniería costosos, algunos EDA pueden tomar tablas de estados que describen máquinas de estados y producir automáticamente una tabla de verdad o una tabla de funciones para la lógica combinacional de una máquina de estados. La tabla de estados es un fragmento de texto que enumera cada estado, junto con las condiciones que controlan las transiciones entre ellos y sus señales de salida asociadas.
A menudo, los sistemas lógicos reales se diseñan como una serie de subproyectos, que se combinan mediante un flujo de herramientas . El flujo de herramientas suele controlarse con la ayuda de un lenguaje de programación , un lenguaje informático simplificado que puede invocar las herramientas de diseño de software en el orden correcto. Los flujos de herramientas para grandes sistemas lógicos, como los microprocesadores, pueden tener miles de comandos y combinar el trabajo de cientos de ingenieros. Escribir y depurar flujos de herramientas es una especialidad de ingeniería establecida en las empresas que producen diseños digitales. El flujo de herramientas suele terminar en un archivo informático detallado o en un conjunto de archivos que describen cómo construir físicamente la lógica. A menudo, consta de instrucciones sobre cómo dibujar los transistores y los cables en un circuito integrado o en una placa de circuito impreso .
Algunas partes de los flujos de herramientas se depuran verificando las salidas de la lógica simulada con las entradas esperadas. Las herramientas de prueba toman archivos de computadora con conjuntos de entradas y salidas y resaltan las discrepancias entre el comportamiento simulado y el comportamiento esperado. Una vez que se cree que los datos de entrada son correctos, el diseño en sí debe verificarse para comprobar su corrección. Algunos flujos de herramientas verifican los diseños primero produciendo un diseño y luego escaneándolo para producir datos de entrada compatibles para el flujo de herramientas. Si los datos escaneados coinciden con los datos de entrada, entonces es probable que el flujo de herramientas no haya introducido errores.
Los datos de verificación funcional se denominan habitualmente vectores de prueba . Los vectores de prueba funcional se pueden conservar y utilizar en la fábrica para comprobar si la lógica recién construida funciona correctamente. Sin embargo, los patrones de prueba funcional no descubren todos los fallos de fabricación. Las pruebas de producción suelen diseñarse mediante herramientas de software de generación automática de patrones de prueba . Estas generan vectores de prueba examinando la estructura de la lógica y generando sistemáticamente pruebas dirigidas a posibles fallos concretos. De esta forma, la cobertura de fallos puede acercarse al 100 %, siempre que el diseño se pueda comprobar de forma adecuada (véase la siguiente sección).
Una vez que existe un diseño, se verifica y se puede probar, a menudo es necesario procesarlo para que también sea fabricable. Los circuitos integrados modernos tienen características más pequeñas que la longitud de onda de la luz utilizada para exponer la fotorresistencia. El software diseñado para la fabricación agrega patrones de interferencia a las máscaras de exposición para eliminar los circuitos abiertos y mejorar el contraste de las máscaras.
Existen varias razones para probar un circuito lógico. Cuando se desarrolla el circuito por primera vez, es necesario verificar que el circuito diseñado cumple con las especificaciones funcionales y de tiempo requeridas. Cuando se fabrican múltiples copias de un circuito correctamente diseñado, es esencial probar cada copia para asegurarse de que el proceso de fabricación no haya introducido fallas. [49]
Una gran máquina lógica (por ejemplo, con más de cien variables lógicas) puede tener una cantidad astronómica de estados posibles. Obviamente, probar en fábrica cada estado de una máquina de este tipo es inviable, ya que, incluso si probar cada estado sólo llevara un microsegundo, ¡hay más estados posibles que microsegundos desde que comenzó el universo!
Las máquinas lógicas grandes casi siempre están diseñadas como conjuntos de máquinas lógicas más pequeñas. Para ahorrar tiempo, las submáquinas más pequeñas están aisladas mediante un diseño de circuitos de prueba instalados permanentemente y se prueban de forma independiente. Un esquema de prueba común proporciona un modo de prueba que obliga a alguna parte de la máquina lógica a entrar en un ciclo de prueba . El ciclo de prueba generalmente ejercita partes grandes e independientes de la máquina.
El escaneo de límites es un esquema de prueba común que utiliza comunicación en serie con equipos de prueba externos a través de uno o más registros de desplazamiento conocidos como cadenas de escaneo . Los escaneos en serie tienen solo uno o dos cables para transportar los datos y minimizan el tamaño físico y el gasto de la lógica de prueba que se usa con poca frecuencia. Una vez que todos los bits de datos de prueba están en su lugar, el diseño se reconfigura para que esté en modo normal y se aplican uno o más pulsos de reloj para probar fallas (por ejemplo, atascado en bajo o atascado en alto) y capturar el resultado de la prueba en flip-flops o pestillos en el registro de desplazamiento de escaneo. Finalmente, el resultado de la prueba se desplaza al límite del bloque y se compara con el resultado bueno previsto de la máquina .
En un entorno de prueba de placa, las pruebas en serie a paralelo se han formalizado como el estándar JTAG .
Dado que un sistema digital puede utilizar muchas puertas lógicas, el costo total de construir una computadora se correlaciona fuertemente con el costo de una puerta lógica. En la década de 1930, los primeros sistemas lógicos digitales se construyeron a partir de relés telefónicos porque eran económicos y relativamente confiables.
Los primeros circuitos integrados se construyeron para ahorrar peso y permitir que la computadora de guía del Apolo controlara un sistema de guía inercial para una nave espacial. Las primeras puertas lógicas de circuitos integrados costaban casi 50 dólares, lo que en 2023 equivaldría a 515 dólares. Las puertas producidas en serie en circuitos integrados se convirtieron en el método menos costoso para construir lógica digital.
Con el auge de los circuitos integrados , reducir la cantidad absoluta de chips utilizados representó otra forma de ahorrar costos. El objetivo de un diseñador no es solo hacer el circuito más simple, sino mantener baja la cantidad de componentes. A veces, esto da como resultado diseños más complicados con respecto a la lógica digital subyacente, pero, sin embargo, reduce la cantidad de componentes, el tamaño de la placa e incluso el consumo de energía.
Otro motivo importante para reducir la cantidad de componentes en las placas de circuitos impresos es reducir la tasa de defectos de fabricación debido a conexiones soldadas defectuosas y aumentar la confiabilidad. Las tasas de defectos y fallas tienden a aumentar junto con la cantidad total de pines de los componentes.
La falla de una sola compuerta lógica puede provocar que falle una máquina digital. Cuando se requiere confiabilidad adicional, se puede proporcionar lógica redundante. La redundancia agrega costos y consumo de energía en un sistema no redundante.
La fiabilidad de una compuerta lógica se puede describir por su tiempo medio entre fallos (MTBF). Las máquinas digitales empezaron a ser útiles cuando el MTBF de un interruptor superaba los pocos cientos de horas. Aun así, muchas de estas máquinas tenían procedimientos de reparación complejos y bien ensayados, y no funcionaban durante horas porque se quemaba un tubo o se quedaba una polilla atrapada en un relé. Las compuertas lógicas de circuitos integrados transistorizados modernos tienen MTBF superiores a 82 mil millones de horas (8,2 × 10 10 h ). [50] Este nivel de confiabilidad es necesario porque los circuitos integrados tienen muchas puertas lógicas.
El abanico de salida describe cuántas entradas lógicas se pueden controlar con una única salida lógica sin exceder los valores nominales de corriente eléctrica de las salidas de la compuerta. [51] El abanico de salida práctico mínimo es de aproximadamente cinco. [ cita requerida ] Las puertas lógicas electrónicas modernas que utilizan transistores CMOS para interruptores tienen abanicos de salida más altos.
La velocidad de conmutación describe cuánto tiempo tarda una salida lógica en cambiar de verdadero a falso o viceversa. Una lógica más rápida puede realizar más operaciones en menos tiempo. La lógica digital electrónica moderna cambia rutinariamente a5 GHz , y algunos sistemas de laboratorio conmutan a más de1 THz . [ cita requerida ] .
El diseño digital comenzó con una lógica de relés que es lenta. Ocasionalmente se producía una falla mecánica. Los abanicos de salida eran típicamente de alrededor de 10, limitados por la resistencia de las bobinas y el arco eléctrico en los contactos debido a los altos voltajes.
Más tarde, se utilizaron tubos de vacío . Eran muy rápidos, pero generaban calor y no eran fiables porque los filamentos se quemaban. Los abanicos de salida eran normalmente de 5 a 7, limitados por el calentamiento de la corriente de los tubos. En la década de 1950, se desarrollaron tubos informáticos especiales con filamentos que omitían elementos volátiles como el silicio. Estos funcionaban durante cientos de miles de horas.
La primera familia de lógica de semiconductores fue la lógica de resistencias y transistores . Esta era mil veces más confiable que las válvulas, funcionaba a menor temperatura y consumía menos energía, pero tenía un abanico de salida muy bajo de 3. La lógica de diodos y transistores mejoró el abanico de salida hasta aproximadamente 7 y redujo la potencia. Algunos diseños de DTL usaban dos fuentes de alimentación con capas alternas de transistores NPN y PNP para aumentar el abanico de salida.
La lógica transistor-transistor (TTL) fue una gran mejora con respecto a estas. En los primeros dispositivos, la distribución en abanico mejoró a 10 y las variaciones posteriores lograron con fiabilidad 20. La TTL también era rápida y algunas variaciones conseguían tiempos de conmutación de tan solo 20 ns. La TTL todavía se utiliza en algunos diseños.
La lógica acoplada a emisor es muy rápida pero consume mucha energía. Se utilizó ampliamente en computadoras de alto rendimiento, como la Illiac IV , compuesta por muchos componentes de escala media.
Los circuitos integrados digitales más comunes que se construyen hoy en día utilizan lógica CMOS , que es rápida, ofrece una alta densidad de circuitos y un bajo consumo por compuerta. Esto se utiliza incluso en ordenadores grandes y rápidos, como el IBM System z .
En 2009, los investigadores descubrieron que los memristores pueden implementar un almacenamiento de estado booleano y proporcionar una familia lógica completa con cantidades muy pequeñas de espacio y energía, utilizando procesos semiconductores CMOS familiares. [52]
El descubrimiento de la superconductividad ha permitido el desarrollo de la tecnología de circuitos cuánticos de flujo único rápido (RSFQ), que utiliza uniones Josephson en lugar de transistores. Más recientemente, se están realizando intentos para construir sistemas de computación puramente ópticos capaces de procesar información digital utilizando elementos ópticos no lineales .
Podemos construir diagramas lógicos (que a su vez conducen a circuitos digitales) para cualquier expresión booleana...
señales digitales son pulsos de ancho fijo, que ocupan solo uno de dos niveles de amplitud.
El MOSFET de silicio ha revolucionado la industria electrónica y, como resultado, afecta nuestra vida diaria en casi todas las formas imaginables.
-óxido-semiconductor (MOSFET) es el dispositivo activo más utilizado en la integración a gran escala de circuitos integrados digitales (VLSI). Durante la década de 1970, estos componentes revolucionaron el procesamiento de señales electrónicas, los sistemas de control y las computadoras.