Altifigence Academy
Diseño digitalGratis · Fundamentos

Fundamentos de diseño RTL

Expresa circuitos digitales en SystemVerilog. Estudia tipos, anchuras, signo, lógica combinacional y secuencial, módulos, parámetros y generate; verifica límites y fallos con bancos de pruebas independientes. Termina conectando pulsos periódicos y un acumulador, con evidencias de ejecución reproducibles.

SystemVerilogDiseño de módulosBancos de pruebas
Mi aprendizaje

Qué aprenderás

  • Especificar anchura, signo, controlador, instante de validez y valor de reinicio de cada señal.
  • Separar asignaciones combinacionales completas de actualizaciones de estado con reloj.
  • Crear estructuras estáticas con parámetros y generate y probar configuraciones límite.
  • Componer módulos mediante conexiones por nombre y funciones.
  • Escribir estímulos sin carreras y modelos de referencia independientes.
  • Distinguir evidencias de compilación, simulación, síntesis y ejecución en DDS.

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

  1. RTL y contratos de módulos
    • RTL: describir circuitos concurrentesConcepto

      Separa el orden del software de la estructura paralela y especifica estado actual, siguiente estado e instantes de observación.

    • 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.

    • Módulos, puertos e instancias: conexiones como contratosConcepto

      Compón módulos con conexiones por nombre, comprobando controlador único y límites de jerarquía.

    • Comprobación: salida combinacional y almacenadaEvaluación

      Distingue cambio de entrada y observación del registro.

  2. Tipos, anchuras, signo y expresiones
    • logic, wire, X/Z y anchuras explícitasConcepto

      Distingue declaración y almacenamiento; verifica literales, comparaciones, extensiones y desconocidos.

    • Í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.

    • Anchos de selección, concatenación y repetición de bitsConcepto

      Calcule ancho total y conservación de valor al construir caminos de datos.

    • Complemento a dos, extensión de signo y desbordamientoConcepto

      Distinga la interpretación signed y las condiciones de overflow con ecuaciones y contraejemplos.

    • Comprobación: rango y extensión explícitaEvaluación

      Revisa conjuntamente anchuras de entrada y salida.

  3. RTL combinacional completo y verificación
    • RTL combinacional y asignaciones completasConcepto

      Exprese la misma función con el operador condicional y always_comb y encuentre omisiones que infieren latches.

    • 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.

    • 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.

  4. Estado, asignaciones y prioridad del reinicio
    • Flip-flops, enable y prioridad de controlConcepto

      Defina conservación, carga y reset como estado siguiente y evite crear puertas de reloj involuntarias.

    • Asignaciones no bloqueantes y actualización simultáneaConcepto

      Separe valores anteriores y siguientes para interpretar correctamente contadores y pipelines RTL.

    • 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.

    • 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.

    • 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.

  5. Parámetros y generación de estructuras estáticas
    • parameter, localparam, $clog2 y configuraciones límiteConcepto

      Separa entradas dinámicas de configuración estática y diseña anchura y terminación para N=1 y valores que no son potencias de dos.

    • generate: construir circuitos estáticos con buclesConcepto

      Usa genvar y generate-if para crear jerarquía con nombres y revisar la distribución de lanes.

    • function automatic y expresiones reutilizablesConcepto

      Escribe funciones sin tiempo simulado y comprueba retorno, signo e independencia de la referencia.

    • Comprobación: N=1 y anchuraEvaluación

      Separa anchura mínima de número de estados válidos.

  6. Bancos de pruebas y verificación independiente
    • Instantes de muestreo y causalidad en las formas de ondaConcepto

      Separe estabilización combinacional, captura de reloj y orden de eventos al leer ondas.

    • Práctica: un banco de pruebas que informa sus fallosPráctica

      Separa DUT, estímulos, referencia y comprobación para probar reset, enable y retorno sin carreras.

    • Plan de verificación, cobertura y referencia independienteConcepto

      Distinga pruebas superadas de cumplimiento y planifique límites, cruces de condiciones y contraejemplos mínimos.

    • 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: referencia y carrerasEvaluación

      Selecciona expectativas independientes y observación tras actualización.

  7. Composición de módulos y práctica integrada
    • 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.

    • 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.

    • 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.

    • Práctica integrada: pulsos periódicos y acumulador habilitadoPráctica

      Especifica transferencias con valores anteriores y compara pausas, pulsos consecutivos y reinicio simultáneo.

  8. Diagnósticos y alcance de los resultados
    • Setup, hold y presupuesto temporalConcepto

      Separe retardos máximos y mínimos y calcule la condición de hold, independiente de la frecuencia.

    • 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.

    • Compilación, lint y síntesis: alcance de los diagnósticosConcepto

      Fija archivos, top y lenguaje; distingue sintaxis, anchura y latches de la verificación funcional.

    • Registro de ejecución y continuación en DDSConcepto

      Entrega fuentes, entradas, expectativas, fallos y versiones para reproducir la práctica.

    • Comprobación final: funcionamiento y evidenciaEvaluación

      Distingue el resultado local de la aceptación de una práctica DDS gratuita.

Tu elección se aplica a este navegador. Puedes cambiarla en el pie de página.