Circuitos lógicos digitales
Parta de las señales digitales y de puertas básicas como AND, OR y XOR para diseñar circuitos combinacionales, latches, flip-flops, contadores y máquinas de estados. Relacione tablas de verdad, ecuaciones, circuitos y formas de onda, y compruébelos mediante prácticas de RTL. Las ampliaciones opcionales llegan a caminos de datos e interfaces.
Qué aprenderás
- Distinguir los valores lógicos de las tensiones y explicar las tablas de verdad, símbolos y circuitos equivalentes de ocho tipos de puertas.
- Diseñar circuitos combinacionales a partir de una especificación mediante SOP, POS y mapas de Karnaugh, y comprobar todas las entradas.
- Definir las condiciones de entrada y los casos límite de codificadores, decodificadores, MUX, DEMUX, sumadores y comparadores.
- Explicar la diferencia entre latches y flip-flops y diseñar las reglas de actualización de reset, enable y reloj.
- Implementar contadores, desplazamientos y máquinas de estados en RTL, y analizar la temporización, las entradas asíncronas y la eliminación de rebotes.
- Verificar el diseño con un modelo de referencia independiente y completar un detector del patrón 101 con solapamiento.
- Ampliar el diseño a ALU, memorias, FIFO, pipelines e interfaces en las unidades opcionales.
Antes de empezar
Estos ejercicios del navegador usan modelos educativos; no compilan ni ejecutan HDL. Para ejecutar el código por separado, sigue la guía de Digital Design Studio para tu sistema operativo e inicia sesión cuando la operación lo requiera.
Instalación y primer inicio ↗ · Descargas ↗Programa
- Señales digitales y representación de números
- Señales digitales: cuándo una tensión representa 0 o 1Concepto
Distinga los valores lógicos de las tensiones y calcule umbrales de entrada, márgenes de ruido y retardos de propagación.
- Sistemas numéricos y representación de ancho fijoConcepto
Además de convertir bases, calcule rangos, anchos necesarios y errores de truncamiento.
- Puertas básicas y tablas de verdad
- Puertas básicas: AND, OR, NOT y BUFFERConcepto
Relacione símbolos y tablas de verdad y combine varias puertas para expresar condiciones.
- NAND, NOR y símbolos de inversiónConcepto
Identifique el alcance de la negación y relacione símbolos y ecuaciones equivalentes mediante De Morgan.
- XOR y XNOR: igualdad, diferencia y paridadConcepto
Distinga la XOR de dos entradas de la paridad de varias entradas y explique los límites de detección de errores.
- Puertas universales: construya circuitos solo con NANDConcepto
Demuestre por construcción la completitud funcional de NAND y NOR y verifique las señales intermedias de una XOR.
- De las expresiones lógicas al diseño de circuitos
- Álgebra de Boole, transformaciones equivalentes y coste de implementaciónConcepto
Transforme circuitos mediante De Morgan y factorización y distinga equivalencia lógica de temporización.
- De la tabla de verdad a la expresión: mintérminos, maxtérminos, SOP y POSConcepto
Obtenga la misma función a partir de las filas con 1 y con 0 y relacione sus notaciones con el mapa de Karnaugh.
- Mapas de Karnaugh y condiciones de don’t-careConcepto
Simplifique expresiones con la adyacencia de código Gray y explicite las hipótesis sobre entradas no utilizadas.
- Práctica de diseño: de la especificación a una mayoría de tres entradasPráctica
Convierta una especificación verbal en una tabla completa y conecte minimización, implementación y prueba exhaustiva.
- Circuitos de direccionamiento y selección
- Decodificadores, selección one-hot y entradas válidasConcepto
Convierta direcciones binarias en líneas de selección y defina enable, rangos e invariantes.
- Codificadores y prioridad: elija una entre varias peticionesConcepto
Distinga entre la hipótesis one-hot de un codificador simple y las salidas valid y de selección de un codificador con prioridad.
- DEMUX y decodificador: envíe datos por el camino seleccionadoConcepto
Compare dirección y función de MUX, DEMUX y decodificador y verifique one-hot y one-hot-or-zero.
- Señales y puertos: contratos de ancho, dirección y tiempoConcepto
Lea interfaces y separe los criterios de verificación de salidas combinacionales y de estado.
- De la tabla de verdad al MUX y la expansión de ShannonConcepto
Derive la selección mediante ecuaciones y descomponga cualquier función lógica con un MUX.
- Circuitos aritméticos y ancho de bits
- Sumadores y propagación del acarreoConcepto
Derive las ecuaciones del sumador completo y analice función, ancho y retardo del acarreo en cascada.
- Complemento a dos, extensión de signo y desbordamientoConcepto
Distinga la interpretación signed y las condiciones de overflow con ecuaciones y contraejemplos.
- Comparadores y especificación de los límitesConcepto
Distinga comparaciones unsigned y signed de los mismos bits y verifique las condiciones límite.
- Latches, flip-flops y almacenamiento de estado
- El inicio de la memoria: realimentación y latches SR y DConcepto
Comprenda los dos estados estables del acoplamiento cruzado, la entrada prohibida de SR y la transparencia del latch D.
- Flip-flop D: del nivel al flancoConcepto
Compare los instantes de actualización de latches y flip-flops y relacione registro, setup y hold.
- Flip-flops, enable y prioridad de controlConcepto
Defina conservación, carga y reset como estado siguiente y evite crear puertas de reloj involuntarias.
- Transiciones síncronas y función del relojConcepto
Interprete el sistema síncrono como registros que leen el mismo estado anterior.
- Implementación y verificación RTL de un MUX
- Selección combinacional y latencia de una salida registradaConcepto
Analice cómo cambian interfaz y latencia al almacenar la salida de un MUX.
- RTL combinacional y asignaciones completasConcepto
Exprese la misma función con el operador condicional y always_comb y encuentre omisiones que infieren latches.
- Práctica: prueba exhaustiva del MUX y análisis de la salida registradaPráctica
Aplique las mismas entradas a los caminos combinacional y registrado y verifique con la tabla de verdad y los instantes de captura.
- Instantes de muestreo y causalidad en las formas de ondaConcepto
Separe estabilización combinacional, captura de reloj y orden de eventos al leer ondas.
- Verificación del MUX: prueba exhaustiva y propiedadesConcepto
Compruebe por separado la cobertura combinacional y el almacenamiento y reduzca los contraejemplos.
- Comprobación de diseño: equivalencia de selección e instante de observaciónEvaluación
Distinga verificaciones resueltas con tablas de verdad de las que requieren observar el reloj.
- Contadores y diseño de estados discretos
- Número de estados, ancho del contador y códigos no utilizadosConcepto
Calcule bits de almacenamiento desde el rango y defina cómo recuperarse de estados inválidos.
- Estado siguiente del contador y prioridad del resetConcepto
Integre incremento, conservación, reset y retorno modular en una especificación y calcule cada flanco.
- Asignaciones no bloqueantes y actualización simultáneaConcepto
Separe valores anteriores y siguientes para interpretar correctamente contadores y pipelines RTL.
- Práctica: verifique reset, retorno modular e invariantes del contadorPráctica
Compare cada flanco con una referencia y separe los efectos de inicialización, reset y ancho.
- Contadores modulares, saturación y pulsos de finConcepto
Diseñe la política del máximo y el ciclo exacto de la señal de fin de cuenta.
- Depuración del contador y contraejemplos mínimosConcepto
Diseñe pruebas cortas que distingan fallos de reset, enable y retorno en el límite.
- Comprobación de diseño: límites de ancho, prioridad y retornoEvaluación
Resuelva casos límite y controles simultáneos desde una especificación de transición.
- Registros de desplazamiento y flujo de datos
- Índices de vector, orden de bits y signoConcepto
Distinga índices, orden de transmisión serie e interpretación aritmética al leer caminos de datos.
- Entrada serie y límites de tramaConcepto
Defina orden y flancos válidos y calcule la disposición de bits en una conversión serie-paralelo.
- Ecuaciones de estado del registro de desplazamientoConcepto
Exprese el movimiento como transición vectorial y relacione longitud de almacenamiento con latencia.
- Anchos de selección, concatenación y repetición de bitsConcepto
Calcule ancho total y conservación de valor al construir caminos de datos.
- Práctica: verifique el movimiento serie y el orden de bitsPráctica
Use referencias binarias y enteras para verificar dirección, descarte de bits y latencia tras reset.
- Distinga latencia en ciclos y tasa de procesamientoConcepto
Fije el punto de observación de una línea de N etapas y cuantifique latencia y tasa.
- Verificación del desplazamiento y alineación de datos con validConcepto
Detecte fallos ocultos por patrones simétricos y desajustes de un ciclo en valid.
- Comprobación de diseño: latencia, alineación y conservación de entradasEvaluación
Compruebe dirección, número de movimientos válidos y referencia de observación.
- Temporización, entradas reales y diseño integrado
- Setup, hold y presupuesto temporalConcepto
Separe retardos máximos y mínimos y calcule la condición de hold, independiente de la frecuencia.
- Riesgos lógicos y límites de la equivalenciaConcepto
Analice cómo dos circuitos equivalentes en régimen estable pueden producir transitorios distintos por sus retardos.
- Cruces de dominios de reloj y metaestabilidadConcepto
Comprenda el alcance del sincronizador de dos etapas y distinga niveles de un bit, pulsos cortos y transferencias multibit.
- Botones reales: sincronización, antirrebote y un único eventoConcepto
Distinga sincronización y rebote de contactos y diseñe un filtro de muestras consecutivas.
- Máquinas de estados: separe estado, transición y salidaConcepto
Construya una FSM desde su tabla y compare Moore, Mealy, estados ilegales y política de peticiones.
- Plan de verificación, cobertura y referencia independienteConcepto
Distinga pruebas superadas de cumplimiento y planifique límites, cruces de condiciones y contraejemplos mínimos.
- Proyecto integrado: detector del patrón 101 con solapamientoConcepto
Aplique minimización de estados, entrada válida, salida registrada y referencia independiente en un diseño.
- Ampliación opcional · Caminos de datos aritméticos
- ALU e indicadores zero, negative, carry y overflowConcepto
Implemente ADD/SUB con un sumador compartido y derive comparaciones distinguiendo carry de overflow signed.
- Barrel shifter y etapas de MUXConcepto
Implemente desplazamientos variables con etapas de 1,2,4,8 posiciones y controle dirección, signo y cantidades fuera de rango.
- Punto fijo, redondeo y saturaciónConcepto
Defina rangos con W,F e implemente redondeo al par con guard/sticky y saturación posterior.
- Multiplicador unsigned multiciclo por desplazamiento y sumaConcepto
Reparta la acumulación de productos parciales en W ciclos y verifique aceptación, finalización, última suma, ancho e invariantes.
- Ampliación opcional · Memorias y FIFO
- Memoria síncrona y contrato de colisiones entre lectura y escrituraConcepto
Distinga respuesta registrada, read-first, write-first y no-change, y separe valid de inicialización de direcciones.
- Banco de registros de dos lecturas y una escritura con bypassConcepto
Implemente lecturas independientes y escritura síncrona y compruebe bypass por dirección, inicialización y valid.
- Punteros y políticas de frontera de una FIFO de un solo relojConcepto
Implemente los punteros y la ocupación de una FIFO de profundidad 4 y defina cuándo se aceptan push y pop simultáneos al estar vacía o llena.
- Plan de verificación de FIFO y memoria con un scoreboard independienteConcepto
Use una cola de referencia independiente de los punteros y planifique la comprobación de fronteras, reset, valid y lecturas de posiciones sin inicializar.
- Ampliación opcional · Pipelines e interfaces
- Ready/valid y un búfer elástico de una posiciónConcepto
Diseñe la condición de transferencia y la entrada y salida simultáneas para que una ruta de datos que puede detenerse no pierda ni duplique elementos.
- Pipeline de multiplicación y suma y alineación de datosConcepto
Divida el cálculo mediante registros y mantenga alineados los datos, valid y los operandos auxiliares de cada transacción.
- Pipeline con parada y contrapresiónConcepto
Calcule ready por etapa para evitar pérdidas, duplicaciones y recálculos durante las paradas y los desplazamientos simultáneos.
- Interfaz de registros e instante de los efectos de una operaciónConcepto
Especifique direcciones, escrituras por byte y paradas de respuesta para que cada solicitud produzca exactamente una modificación de estado.
- Práctica integradora: transmisor UART y temporización de tramasConcepto
Combine un contador divisor, un registro de desplazamiento y control de flujo para generar tramas 8N1 y verificar los límites entre bits.