Altifigence Academy
Hardware de IAGratis · Avanzado

Diseño RTL: aceleradores CNN

Aprende los índices de convolución y los contratos numéricos enteros y después las ventanas en flujo, la asignación a PE y la división en bloques. Verifica una referencia ejecutable y una pequeña ruta de inferencia, separando valores, estimaciones de planificación y tráfico.

Inferencia CNNConvolución y cuantizaciónVentanas en flujoPE y bloquesVerificación con modelo de referencia
Mi aprendizaje

Qué aprenderás

  • Calcular dimensiones e índices de convolución, incluidos paso, relleno, dilatación y canales
  • Especificar unidades de punto fijo, escalas, puntos cero, anchura del acumulador, redondeo y saturación
  • Comparar convolución directa con un modelo de referencia im2col
  • Generar ventanas con búferes de línea y aceptación de transferencias que conserve el estado pausado
  • Calcular reutilización de PE, almacenamiento de bloques, tráfico y supuestos de planificación
  • Informar de resultados numéricos y límites de las pruebas de una pequeña ruta de inferencia

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. El contrato de inferencia
    • Inferencia y entrenamientoConcepto

      Si solo aumentan los canales de salida de tres a seis, ¿cómo cambian el número de MAC y el de sesgos almacenados?

    • Convolución y correlación cruzadaConcepto

      ¿Cuáles son los resultados de correlación cruzada y de núcleo invertido para [1,2;4,5] con el núcleo [1,0;0,-1]?

    • Dimensiones, paso, relleno y dilataciónConcepto

      Para H=7,R=3,paso 2,relleno superior 0,inferior 1,dilatación 2, calcula Ho y la coordenada de entrada para h=1,r=2.

    • Comprobación: dimensiones y número de MACEvaluación

      Usa N=1,C=2,H=W=5,M=3,un núcleo 3×3,paso 2,relleno uno en todos los lados,dilatación uno. ¿Cuáles son las dimensiones de salida y el número de MAC?

  2. El contrato numérico
    • Bits y unidades de punto fijoConcepto

      Multiplica 0.5 y −1.25 con F=4 y después añade el sesgo 0.25 con F=8. ¿Cuáles son el código del acumulador y el valor real?

    • Escala y punto ceroConcepto

      Para sx=0.25,zx=128, ¿cuáles son el código de relleno y el valor real de q=132? ¿Qué código de sesgo representa 0.75 con sw=0.5?

    • Anchura del acumulador, redondeo y saturaciónConcepto

      ¿Son suficientes dieciocho bits con signo para nueve productos int8 con signo y sesgo cero?

    • Práctica: ejecuta el contrato de cuantizaciónPráctica

      Cuantiza −40 con la misma configuración uint8. ¿Cuáles son su código y su valor descuantizado, y qué aserción añadirías?

  3. Operadores de referencia
    • Referencia de convolución directaConcepto

      Para entradas [2,3], pesos [4,−1] y sesgo uno, ¿qué resultado incorrecto aparece si el sesgo se añade una vez por iteración de canal de entrada?

    • im2col y multiplicación de matricesConcepto

      Para H=W=4,C=1 y un núcleo 3×3 sin relleno, calcula los elementos originales de entrada, P,K y los elementos de parches expandidos.

    • Conecta ReLU y agrupación máximaConcepto

      Con punto cero de salida uint8 de 100, aplica ReLU y agrupación máxima 2×2 a [98,103;101,97].

    • Comprobación: orden del procesamiento de salidaEvaluación

      Aplica multiplicador 0.5,zy=0,redondeo al más cercano con desempate al par,saturación int8,ReLU y agrupación máxima 2×2 a los acumuladores [−1,2;3,−4]. ¿Cuál es el código final?

  4. Generación de ventanas en flujo
    • Búferes de línea y ventanas 3×3Concepto

      Para W=8,H=6, calcula las posiciones de almacenamiento, el índice de la primera entrada aceptada válida y el total de ventanas.

    • Ready/valid y estado detenidoConcepto

      La etapa de salida conserva A con out_ready=0 mientras la entrada B es válida. ¿Qué deben hacer la etapa y el productor en el siguiente flanco?

    • Práctica: ventanas que sobreviven a las pausasPráctica

      Si se pausan en cambio los ciclos cero,uno,dos y finalmente se aceptan todas las entradas, ¿cambian los valores o el número de ventanas? ¿Cuál es el total de ciclos?

    • Comprobación: temporización de la primera ventanaEvaluación

      Un generador 3×3 sin relleno para una entrada 4×4 de anchura cuatro no acepta entradas durante los cuatro primeros ciclos y después acepta un píxel por ciclo. ¿Cuáles son el índice de entrada aceptada y el ciclo transcurrido de la primera ventana, ambos desde cero?

  5. Asignación a PE y memoria
    • PE, flujo de datos y reutilización MACConcepto

      Asigna P=3,M=2,K=8 a cuatro PE de salida estacionaria. ¿Cuáles son los ciclos MAC y la utilización útil de posiciones MAC, excluyendo escrituras?

    • Bloques, halos y sumas parcialesConcepto

      Para Th=Tw=2,Tc=1,Tm=2,un núcleo 3×3,paso dos,dilatación uno, calcula los bytes de entrada/pesos/sumas de 32 bits/sesgos con un solo búfer.

    • Ancho de banda y cotas de cálculoConcepto

      Para 1152 MAC y 224 bytes, usa ocho PE pero mantén el ancho de banda en 0.5 bytes/ciclo. ¿Cuál es la cota inferior con solapamiento perfecto?

    • Planificaciones, colas finales y doble búferConcepto

      Para K=10,cuatro salidas,tres PE y un ciclo adicional por salida, calcula los ciclos modelados y la utilización solo de MAC.

  6. Verificación y proyecto final medible
    • Modelos de referencia y clasificación de fallosConcepto

      La referencia [37,47;67,77] difiere de [38,48;68,78]. ¿Qué examinarías primero y qué registrarías?

    • Práctica: pon a prueba los casos límitePráctica

      En los datos de prueba de relleno, sustituye todos los pesos del núcleo por uno. ¿Cuál es la primera salida y por qué es insuficiente una prueba solo del centro?

    • Proyecto final: pequeña ruta de inferencia e informePráctica

      Mantén K=9,cuatro salidas y un ciclo adicional por salida, pero usa tres PE. ¿Cuáles son los ciclos modelados totales y la utilización de posiciones solo de MAC?

    • Comprobación final: afirmaciones y pruebasEvaluación

      La ejecución Node del proyecto final verifica concordancia numérica,36 MAC,un modelo de planificación de 24 ciclos y 90% de uso de posiciones MAC. ¿Qué afirmación de finalización es exacta?

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