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:

Nivel 1: Conductual

Este nivel describe lo que hace el circuito, no cómo lo hace. Se centra en la función o el comportamiento, como "count up" o "add two numbers".

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

Nivel 2: RTL

Este nivel muestra cómo se mueven los datos entre los registros y qué operaciones ocurren con esos datos. Puedes ver la ruta de datos: los datos van desde un registro a un sumador, y luego regresan 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 para crear hardware.

Nivel 3: Nivel de compuertas

Este nivel describe el circuito utilizando compuertas 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. Normalmente es generado por herramientas a partir de descripciones de nivel superior, no escrito manualmente.
 

Por qué es importante

- **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 óptimo 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:

Hoja de referencia

Verilog puede describir circuitos en diferentes niveles de abstracción:

  • Conductual (Behavioral) – Describe qué hace el circuito (por ejemplo, "sumar dos números"). Es el más fácil de escribir, pero ofrece el menor control.
  • RTL (Nivel de Transferencia de Registros) – Describe cómo se mueven los datos entre los registros y qué operaciones ocurren. Es el nivel estándar para la mayoría de los trabajos de diseño digital.
  • Nivel de Compuertas (Gate Level) – Describe el circuito utilizando compuertas lógicas explícitas (AND, OR, XOR). Es el más detallado y difícil de escribir; generalmente es generado por herramientas.

Compromiso (Trade-off): 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 óptimo.

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