Menu
Coddy logo textTech

Primitivas de compuertas integradas

Parte de la sección Fundamentos del Journey de Verilog de Coddy. Lección 39 de 90.

Verilog tiene primitivas de compuertas integradas que te permiten describir circuitos lógicos utilizando símbolos de compuertas reales. Esto se denomina modelado estructural. Construyes circuitos conectando compuertas, igual que al dibujar un esquema.

Las primitivas de compuerta son palabras clave predefinidas que modelan compuertas lógicas básicas. En lugar de escribir una expresión como assign out = a & b, instancias una compuerta:

and(out, a, b);   // Puerta AND con salida out, entradas a y b

Sintaxis general

gate_type (output, input1, input2, ...);
  • El primer argumento siempre es la salida
  • Los argumentos siguientes son las entradas (1 o más, según la compuerta)

Primitivas de compuertas disponibles

Tipo de compuertaPalabra claveNúmero de entradas
ANDand2 o más
ORor2 o más
NOTnot1
NANDnand2 o más
NORnor2 o más
XORxor2 o más
XNORxnor2 o más

Cómo funcionan las primitivas de compuerta

Cuando escribes and(out, a, b), Verilog crea una compuerta AND que impulsa continuamente out con el resultado de a & b. Cada vez que a o b cambia, out se actualiza de inmediato, igual que una compuerta real.

Primitivas de compuerta frente a asignación continua

Ambos métodos producen el mismo hardware:

// Primitiva de compuerta
and(out, a, b);

// Asignación continua (mismo resultado)
assign out = a & b;

Las primitivas de compuerta son útiles cuando quieres describir un circuito como una colección de compuertas (estilo estructural). La asignación continua es mejor para el estilo conductual (expresiones).

challenge icon

Desafío

Qué hacer:

  1. Añade la primitiva de compuerta correcta para hacer funcionar este circuito. El módulo debe producir la operación AND de las entradas a y b. El puerto de salida ya se llama c.

Pruébalo tú mismo

module gate_challenge (
  input a,
  input b,
  output c
);
  
  // TODO: Añade la primitiva de compuerta correcta
  // La salida c debe ser a AND b

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

Practica por tu cuenta: Compilador de Verilog online