Electrónica digital
La electrónica digital es un campo de la electrónica que involucra el estudio de señales digitales y la ingeniería de dispositivos que las usan o las producen. Esto contrasta con la electrónica analógica y las señales analógicas.
Los circuitos electrónicos digitales suelen estar hechos de grandes ensamblajes de puertas lógicas, a menudo empaquetados en circuitos integrados. Los dispositivos complejos pueden tener representaciones electrónicas simples de funciones lógicas booleanas.
Historia
El sistema numérico 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 podían unirse. La lógica digital tal como la conocemos fue idea de George Boole a mediados del siglo XIX. En una carta de 1886, Charles Sanders Peirce describió cómo los circuitos de conmutación eléctrica podían llevar a cabo operaciones lógicas. Eventualmente, los tubos de vacío reemplazaron a los relés para operaciones lógicas. La modificación de Lee De Forest de la válvula Fleming en 1907 podría usarse como una puerta AND. Ludwig Wittgenstein introdujo una versión de la tabla de verdad de 16 filas como la proposición 5.101 de 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 primer siglo y luego se usaron 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 calcular la puntería de torpedos. Durante este tiempo se desarrollaron las primeras computadoras digitales electrónicas, con el término digital 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 modernas.
El Z3 era un ordenador electromecánico diseñado por Konrad Zuse. Terminada en 1941, fue la primera computadora digital completamente automática y programable del mundo. Su funcionamiento fue facilitado por la invención del tubo de vacío en 1904 por John Ambrose Fleming.
Al mismo tiempo que el cálculo digital reemplazó 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, seguido por William Shockley que inventó el transistor de unión bipolar en Bell Labs en 1948.
En la Universidad de Manchester, un equipo bajo la dirección de Tom Kilburn diseñó y construyó una máquina utilizando transistores recientemente desarrollados en lugar de tubos de vacío. Su 'computadora transistorizada', y la primera en el mundo, estuvo 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 tanto, emitían menos calor y permitían concentraciones de circuitos mucho más densas, hasta decenas de miles en un espacio relativamente compacto.
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. 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 del IC de silicio de Noyce fue el proceso planar, desarrollado a principios de 1959 por Jean Hoerni, quien a su vez se basó en el método de pasivación de la superficie de silicio de Mohamed Atalla desarrollado en 1957. Esta nueva técnica, el circuito integrado, permitió la fabricación rápida y económica de circuitos complejos al tener un conjunto de circuitos electrónicos en una pequeña placa ("chip") de material semiconductor, normalmente silicio.
El transistor de efecto de campo de semiconductor de óxido de metal (MOSFET), también conocido como transistor MOS, fue inventado por Mohamed Atalla y Dawon Kahng en Bell Labs en 1959. Las ventajas del MOSFET incluyen alta escalabilidad, asequibilidad, bajo consumo de energía y alta densidad de transistores. Su rápida velocidad de conmutación electrónica de encendido y apagado también lo hace ideal para generar trenes de pulsos, la base de las señales digitales electrónicas, en contraste con los BJT que, más lentamente, generan señales analógicas que se asemejan a las ondas sinusoidales. Junto con la integración a gran escala (LSI) de MOS, estos factores hacen que el MOSFET sea un importante dispositivo de conmutación para circuitos digitales. El MOSFET revolucionó la industria electrónica y es el dispositivo semiconductor más común.
En los primeros días de los circuitos integrados, cada chip estaba limitado a 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 fueron bastante bajos según 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. Tras la amplia adopción de CMOS, un tipo de lógica MOSFET, en la década de 1980, se podían colocar millones y luego miles de millones de MOSFET en un chip a medida que avanzaba la tecnología, y los buenos diseños requerían una planificación minuciosa, lo que dio lugar a nuevos métodos de diseño. La cantidad de dispositivos de transistores y la producción total se elevó a niveles sin precedentes. Se ha estimado que la cantidad total de transistores producidos hasta 2018 es 1,3×1022 (13 sextillones).
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 (RF CMOS). Las redes inalámbricas permitieron la transmisión digital pública sin necesidad de cables, lo que llevó a la televisión digital, GPS, radio satelital, Internet inalámbrico y teléfonos móviles durante las décadas de 1990 y 2000.
Propiedades
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 la degradación causada por el ruido. Por ejemplo, una señal de audio continua transmitida como una secuencia de 1 y 0 puede reconstruirse 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 usando 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, la resolución adicional requiere mejoras fundamentales en la linealidad y las características de ruido de cada paso de la cadena de señal.
Con los sistemas digitales controlados por computadora, se pueden agregar nuevas funciones a través de la revisión del software y no se necesitan cambios de 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 fácil en los sistemas digitales que en los analógicos. La inmunidad al ruido de los sistemas digitales permite que los datos se almacenen y recuperen sin degradación. En un sistema analógico, el ruido del envejecimiento y el desgaste degradan la información almacenada. En un sistema digital, siempre que el ruido total esté por debajo de cierto nivel, la información se puede recuperar perfectamente. Incluso cuando hay un ruido más significativo, el uso de la redundancia permite la recuperación de 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ías, esto puede limitar el uso de sistemas digitales. Por ejemplo, los teléfonos celulares que funcionan con baterías a menudo usan un extremo frontal 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 usar radios de software muy flexibles pero que consumen mucha energía. Estas estaciones base se pueden reprogramar fácilmente para procesar las señales utilizadas en los nuevos estándares celulares.
Muchos sistemas digitales útiles deben traducirse de 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 guía importante sobre la cantidad de datos digitales que se necesitan para representar con precisión una señal analógica determinada.
En algunos sistemas, si se pierde o se malinterpreta una sola pieza de datos digitales, el significado de grandes bloques de datos relacionados puede cambiar por completo. Por ejemplo, un error de un solo bit en los datos de audio almacenados directamente como modulación de código de pulso lineal provoca, en el peor de los casos, un solo clic. Sin embargo, muchas personas usan la compresión de audio para ahorrar espacio de almacenamiento y tiempo de descarga, aunque un error de un solo bit puede causar una gran interrupción.
Debido al efecto acantilado, puede ser difícil para los usuarios saber si un sistema en particular está al borde de la falla o si puede tolerar mucho más ruido antes de fallar. La fragilidad digital se puede reducir diseñando un sistema digital 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 corregir los errores o solicitar la retransmisión de los datos.
Construcción
Por lo general, un circuito digital se construye a partir de pequeños circuitos electrónicos llamados puertas lógicas que se pueden usar para crear una 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 tenido un uso histórico. 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 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 constan de varios transistores en un chip de silicio y son la forma menos costosa de crear una gran cantidad de puertas lógicas interconectadas. Los circuitos integrados generalmente están interconectados en una placa de circuito impreso, que es una placa que contiene componentes eléctricos y los conecta con trazas de cobre.
Diseño
Los ingenieros utilizan muchos métodos para minimizar la redundancia lógica a fin de reducir la complejidad del circuito. La complejidad reducida reduce el número de componentes y los posibles errores y, por lo tanto, normalmente reduce el costo. La redundancia lógica se puede eliminar mediante varias técnicas bien conocidas, como los diagramas de decisión binarios, el álgebra booleana, los mapas de Karnaugh, el algoritmo de Quine-McCluskey y el método informático heurístico. Estas operaciones se realizan típicamente dentro de un sistema de diseño asistido por computadora.
Los sistemas integrados con microcontroladores y controladores lógicos programables se utilizan a menudo para implementar lógica digital para sistemas complejos que no requieren un rendimiento óptimo. Estos sistemas suelen ser programados por ingenieros de software o por electricistas, utilizando lógica de escalera.
Representación
Las representaciones son cruciales para el diseño de circuitos digitales de un ingeniero. Para elegir representaciones, los ingenieros consideran diferentes tipos de sistemas digitales.
La forma clásica de representar un circuito digital es con un conjunto equivalente de puertas lógicas. Cada símbolo lógico está representado por una forma diferente. El conjunto real de formas se introdujo en 1984 bajo el estándar IEEE/ANSI 91-1984 y ahora es de uso común por parte de los fabricantes de circuitos integrados. Otra forma es construir un sistema equivalente de interruptores electrónicos (generalmente transistores). Esto se puede representar como una tabla de verdad.
La mayoría de los sistemas digitales se dividen en sistemas combinacionales y secuenciales. Un sistema combinacional siempre presenta la misma salida cuando se le dan las mismas entradas. Un sistema secuencial es un sistema combinacional con algunas de las salidas retroalimentadas como entradas. Esto hace que la máquina digital realice una secuencia de operaciones. El sistema secuencial más simple es probablemente un flip flop, un mecanismo que representa un dígito binario o 'bit'. Los sistemas secuenciales a menudo se diseñan como máquinas de estado. De esta forma, los ingenieros pueden diseñar el comportamiento bruto de un sistema e incluso probarlo en una simulación, sin considerar todos los detalles de las funciones lógicas.
Los sistemas secuenciales se dividen en otras dos subcategorías. "Sincrónico" Los sistemas secuenciales cambian de estado todos a la vez cuando una señal de reloj cambia de estado. "Asíncrono" Los sistemas secuenciales propagan cambios cada vez que cambian las entradas. Los sistemas secuenciales síncronos están hechos de circuitos asíncronos bien caracterizados, como flip-flops, que cambian solo cuando cambia el reloj y que tienen márgenes de tiempo cuidadosamente diseñados.
Para la simulación lógica, las representaciones de circuitos digitales tienen formatos de archivo digitales que pueden ser procesados por programas de computadora.
Sistemas síncronos
La forma habitual de implementar una máquina de estado secuencial síncrona es dividirla en una pieza de lógica combinacional y un conjunto de flip flops llamado 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 retroalimenta como una entrada invariable a la parte combinacional de la máquina de estado. La velocidad del reloj está limitada por el cálculo lógico que consume más tiempo en la lógica combinacional.
Sistemas asíncronos
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 asíncrona 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. Construir un sistema asíncrono usando partes más rápidas hace que el circuito sea más rápido.
Sin embargo, la mayoría de los sistemas necesitan aceptar señales no sincronizadas externas en sus circuitos lógicos síncronos. Esta interfaz es inherentemente asíncrona y debe analizarse como tal. Los ejemplos de circuitos asíncronos ampliamente utilizados incluyen flip-flops sincronizadores, interruptores antirrebote y árbitros.
Los componentes lógicos asíncronos 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 tales estados. El diseñador debe obligar al circuito a esperar periódicamente a que todas sus partes entren en un estado compatible (esto se denomina "auto-resincronización"). Sin un diseño cuidadoso, es fácil producir accidentalmente una lógica asíncrona que sea inestable, es decir, la electrónica real tendrá resultados impredecibles debido a los retrasos acumulados causados por pequeñas variaciones en los valores de los componentes electrónicos.
Sistemas de transferencia de registros
Muchos sistemas digitales son máquinas de flujo de datos. Por lo general, se diseñan utilizando lógica de transferencia de registro síncrona 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 biestables llamados registros. Una máquina de estado 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 conectarse a las entradas de varios registros. A veces, un registro tendrá un multiplexor en su entrada para que pueda almacenar un número de cualquiera de varios buses.
Los sistemas de transferencia de registros asincrónicos (como las computadoras) tienen una solución general. En la década de 1980, algunos investigadores descubrieron que casi todas las máquinas síncronas de transferencia de registros podían convertirse en diseños asíncronos mediante el uso de la lógica de sincronización de 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 las salidas de ese paso son válidas e indica a la siguiente etapa cuándo usar estas salidas.
Diseño por ordenador
La máquina lógica de transferencia de registro de propósito más general es una computadora. Esto es básicamente un ábaco binario automático. La unidad de control de una computadora generalmente se diseña como un microprograma ejecutado por un microsecuenciador. Un microprograma es muy parecido a un rollo de pianola. Cada entrada de la tabla del microprograma controla el estado de cada bit que controla la computadora. El secuenciador luego 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 forma, la compleja tarea de diseñar los controles de una computadora se reduce a una tarea más simple de programar una colección de máquinas lógicas mucho más simples.
Casi todas las computadoras son síncronas. Sin embargo, también se han construido computadoras asíncronas. Un ejemplo es el núcleo ASPIDA DLX. Otro fue ofrecido por ARM Holdings. Sin embargo, no tienen ninguna ventaja de velocidad porque los diseños de computadoras modernas ya se ejecutan a la velocidad de su componente más lento, generalmente la memoria. Usan algo menos de energía porque no se necesita una red de distribución de reloj. Una ventaja inesperada es que las computadoras asíncronas no producen ruido de radio espectralmente puro. Se utilizan en algunos controladores de estaciones base de teléfonos móviles 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.
Arquitectura informática
La arquitectura de computadoras es una actividad de ingeniería especializada que trata de ordenar 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 que funcionan con baterías, como los teléfonos inteligentes.
Problemas de diseño en circuitos digitales
Los circuitos digitales están hechos de componentes analógicos. El diseño debe asegurar que la naturaleza analógica de los componentes no domine el comportamiento digital deseado. Los sistemas digitales deben gestionar márgenes de ruido y temporización, inductancias y capacitancias parásitas.
Los diseños defectuosos tienen problemas intermitentes, como fallas, pulsos increíblemente rápidos que pueden activar alguna lógica pero no otras, pulsos cortos que no alcanzan voltajes de umbral válidos.
Además, cuando los sistemas digitales cronometrados interactúan con sistemas analógicos o sistemas que funcionan con 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 bloqueo 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á de manera más repetible debido a su alta inmunidad al ruido.
Herramientas de diseño automatizadas
Gran parte del esfuerzo de diseñar grandes máquinas lógicas se ha automatizado mediante la aplicación de automatización de diseño electrónico (EDA).
Las descripciones de la lógica de estilo de tabla de verdad simple a menudo se optimizan 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 grandes sistemas lógicos se puede realizar utilizando el algoritmo de Quine-McCluskey o diagramas de decisión binarios. Hay experimentos prometedores con algoritmos genéticos y optimizaciones de recocido.
Para automatizar procesos de ingeniería costosos, algunos EDA pueden tomar tablas de estado que describen máquinas de estado y producir automáticamente una tabla de verdad o una tabla de función para la lógica combinacional de una máquina de estado. 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 generalmente se controla con la ayuda de un lenguaje de secuencias de comandos, 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 empresas que producen diseños digitales. El flujo de la herramienta generalmente termina en un archivo de computadora detallado o en un conjunto de archivos que describen cómo construir físicamente la lógica. A menudo consiste en instrucciones sobre cómo dibujar los transistores y los cables en un circuito integrado o en una placa de circuito impreso.
Partes de los flujos de herramientas se depuran al verificar las salidas de la lógica simulada contra 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, aún se debe verificar que el diseño en sí sea correcto. Algunos flujos de herramientas verifican diseños produciendo primero un diseño y luego escaneando el diseño para producir datos de entrada compatibles para el flujo de herramientas. Si los datos escaneados coinciden con los datos de entrada, es probable que el flujo de la herramienta no haya introducido errores.
Los datos de verificación funcional suelen denominarse vectores de prueba. Los vectores de prueba funcional pueden conservarse y usarse en la fábrica para probar si la lógica recién construida funciona correctamente. Sin embargo, los patrones de prueba funcionales no descubren todas las fallas de fabricación. Las pruebas de producción a menudo se diseñan mediante herramientas de software de generación automática de patrones de prueba. Estos generan vectores de prueba mediante el examen de la estructura de la lógica y la generación sistemática de pruebas dirigidas a fallas potenciales particulares. De esta manera, la cobertura de fallas puede acercarse al 100%, siempre que el diseño se pueda probar correctamente (consulte la siguiente sección).
Una vez que existe un diseño, y se verifica y se puede probar, a menudo también se debe procesar para que se pueda fabricar. Los circuitos integrados modernos tienen características más pequeñas que la longitud de onda de la luz utilizada para exponer la fotoprotección. El software diseñado para la capacidad de fabricación agrega patrones de interferencia a las máscaras de exposición para eliminar los circuitos abiertos y mejorar las máscaras. contraste.
Diseño para testabilidad
Hay varias razones para probar un circuito lógico. Cuando el circuito se desarrolla por primera vez, es necesario verificar que el circuito de diseño cumpla con las especificaciones funcionales y de temporización requeridas. Cuando se fabrican varias copias de un circuito diseñado correctamente, es fundamental probar cada copia para asegurarse de que el proceso de fabricación no haya introducido ningún defecto.
Una gran máquina lógica (digamos, 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 tal máquina es inviable, porque incluso si probar cada estado solo tomara un microsegundo, ¡hay más estados posibles que microsegundos desde que comenzó el universo!
Las máquinas lógicas grandes casi siempre se diseñan como ensamblajes de máquinas lógicas más pequeñas. Para ahorrar tiempo, las máquinas secundarias más pequeñas se aíslan mediante circuitos de diseño para 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 suele ejercitar grandes partes 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 costo 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 estar 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 capture el resultado de la prueba en flip-flops o pestillos en los registros de desplazamiento de exploración. Finalmente, el resultado de la prueba se desplaza hacia el límite del bloque y se compara con el resultado previsto de buena máquina.
En un entorno de prueba de placa, la prueba de serie a paralelo se ha formalizado como el estándar JTAG.
Compensaciones
Coste
Dado que un sistema digital puede usar 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 Apollo controlara un sistema de guía inercial para una nave espacial. Las primeras compuertas lógicas de circuitos integrados costaron cerca de US$50, lo que en 2021 equivaldría a $458. Las puertas producidas en masa 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 la cuenta regresiva del componente. 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.
Confiabilidad
Otro motivo importante para reducir el número de componentes en las placas de circuito impreso es reducir la tasa de defectos de fabricación debido a conexiones soldadas fallidas y aumentar la confiabilidad. Las tasas de defectos y fallas tienden a aumentar junto con el número total de pines de los componentes.
La falla de una sola puerta lógica puede hacer que una máquina digital falle. 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 confiabilidad de una puerta lógica se puede describir por su tiempo medio entre fallas (MTBF). Las máquinas digitales se volvieron útiles por primera vez cuando el MTBF de un interruptor aumentó por encima de unos 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 un tubo se quemó o una polilla se atascó en un relé. Las puertas lógicas de circuitos integrados transistorizados modernos tienen MTBF superiores a 82 mil millones de horas (8.2×1010 h). Este nivel de confiabilidad es necesario porque los circuitos integrados tienen muchas puertas lógicas.
Fan-out
Fan-out describe cuántas entradas lógicas pueden ser controladas por una sola salida lógica sin exceder los valores nominales de corriente eléctrica de las salidas de puerta. El fan-out mínimo práctico es de unos cinco. Las compuertas lógicas electrónicas modernas que utilizan transistores CMOS para interruptores tienen mayores fan-outs.
Velocidad
La velocidad de conmutación describe cuánto 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 habitualmente a 5 GHz, y algunos sistemas de laboratorio cambian a más de 1 THz..
Familias lógicas
El diseño digital comenzó con la lógica de retransmisión, que es relativamente económica y fiable, pero lenta. Ocasionalmente ocurriría una falla mecánica. Los fan-outs eran típicamente alrededor de 10, limitados por la resistencia de las bobinas y los arcos en los contactos de 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 fan-outs eran típicamente de 5 a 7, limitados por el calentamiento de los tubos' Actual. En la década de 1950, se desarrollaron tubos de computadora especiales con filamentos que omitían elementos volátiles como el silicio. Estos funcionaron durante cientos de miles de horas.
La primera familia lógica de semiconductores fue la lógica de resistencia-transistor. Esto era mil veces más confiable que los tubos, funcionaba más frío y usaba menos energía, pero tenía una distribución muy baja de 3. La lógica de diodo-transistor mejoró la distribución hasta aproximadamente 7 y redujo la potencia. Algunos diseños de DTL utilizaron dos fuentes de alimentación con capas alternas de transistores NPN y PNP para aumentar la distribución.
La lógica transistor-transistor (TTL) fue una gran mejora con respecto a estos. En los primeros dispositivos, el fan-out mejoró a 10, y las variaciones posteriores lograron 20 de manera confiable. TTL también fue rápido, con algunas variaciones logrando tiempos de conmutación tan bajos como 20 ns. TTL todavía se usa en algunos diseños.
La lógica acoplada del emisor es muy rápida pero consume mucha energía. Fue ampliamente utilizado para computadoras de alto rendimiento, como la Illiac IV, formada por muchos componentes de escala media.
Con diferencia, los circuitos integrados digitales más comunes construidos en la actualidad utilizan lógica CMOS, que es rápida, ofrece alta densidad de circuito y baja potencia por puerta. Esto se usa incluso en computadoras grandes y rápidas, como IBM System z.
Acontecimientos recientes
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 de semiconductores CMOS familiares.
El descubrimiento de la superconductividad ha permitido el desarrollo de la tecnología de circuitos rápidos cuánticos de flujo único (RSFQ), que utiliza uniones Josephson en lugar de transistores. Más recientemente, se están realizando intentos para construir sistemas informáticos puramente ópticos capaces de procesar información digital utilizando elementos ópticos no lineales.
Contenido relacionado
CASA (fabricante de aviones)
Semáforo
Warren Sturgis McCulloch