Menu
Coddy logo textTech

Niveles de abstracción de diseño

Parte de la sección Fundamentos del Journey de Verilog de Coddy — lección 3 de 90.

En el diseño digital, podemos describir el mismo circuito a diferentes niveles de detalle. Verilog es un lenguaje que puede describir circuitos en cualquiera de estos niveles de abstracción. ¡Eso es lo que lo hace potente!

Estos son los niveles:

Level 1: Behavioral

Este nivel describe qué hace el circuito, no how lo hace. Se centra en la función o el comportamiento, como "contar hacia arriba" o "sumar dos números".

Los detalles internos de cómo ocurre el conteo o la suma no se muestran. Este nivel es el más cercano al pensamiento humano y es más fácil de escribir.

Level 2: RTL

Este Level shows how data se mueve entre registros y qué operaciones ocurren en esos data. Puedes ver la ruta de data: data va desde un registro a un sumador, después de vuelta al registro.

Este es el nivel en el que trabajan la mayoría de los diseñadores digitales porque ofrece un buen equilibrio entre ser comprensible y ser lo suficientemente detallado como para crear hardware.

Level 3: Gate Level

Este nivel describe el circuito utilizando puertas lógicas básicas como AND, OR y XOR. Cada conexión se muestra explícitamente.

Este nivel es muy detallado y difícil de escribir a mano. Por lo general, lo generan herramientas a partir de descripciones de mayor nivel, no se escribe manualmente.
 

Por qué importa

- **Nivel más alto** = Más fácil de escribir, menos control
- **Nivel más bajo** = Más difícil de escribir, más control
- **RTL** es el punto ideal para la mayoría de los trabajos de diseño

challenge icon

Desafío

Qué hacer:

  1. Ejecuta este código y observa cómo la misma operación se describe en tres niveles diferentes:

Pruébalo tú mismo

module abstraction_demo;
  
  initial begin
    $display("=== Design Abstraction Levels ===");
    $display("");
    
    $display("Level 1 (Behavioral):");
    $display("  'Add a and b' - no details how");
    $display("");
    
    $display("Level 2 (RTL):");
    $display("  'On clock edge, result <= a + b' - shows data flow");
    $display("");
    
    $display("Level 3 (Gate Level):");
    $display("  'XOR gates for sum, AND gates for carry' - actual gates");
    $display("");
    
    $finish;
  end
  
endmodule
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos