Menu
Coddy logo textTech

AND OR NOT Gates

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

Esta lección cubre las tres puertas lógicas más básicas: AND, OR y NOT. Estas puertas forman la base del diseño de lógica digital.

Puerta AND

La puerta AND produce 1 solo cuando todas las entradas son 1.

Tabla de verdad (2 entradas):

about
000
010
100
111

Primitiva de compuerta de Verilog:

and(out, a, b);

Equivalente de asignación continua:

assign out = a & b;

Puerta OR

La puerta OR produce 1 cuando al menos una entrada es 1.

Tabla de verdad (2 entradas):

about
000
011
101
111

Primitiva de puerta de Verilog:

or(out, a, b);

Equivalente de asignación continua:

assign out = a | b;

Puerta NOT

La puerta NOT produce lo opuesto de su única entrada. También se denomina inverter.

Tabla de verdad:

aout
01
10

Primitiva de compuerta de Verilog:

not(out, a);

Equivalente de asignación continua:

assign out = ~a;

Varias entradas

Las compuertas AND y OR pueden tener más de 2 entradas:

and(out, a, b, c);     // AND de 3 entradas (out = a & b & c)
or(out, x, y, z, w);   // OR de 4 entradas

Las compuertas NOT siempre tienen exactamente 1 entrada.

Ejemplo de código

module and_or_not (
  input a, b,
  output and_out,
  output or_out,
  output not_out
);
  and(and_out, a, b);   // puerta AND
  or(or_out, a, b);     // puerta OR
  not(not_out, a);      // puerta NOT (inversor)
endmodule
challenge icon

Desafío

Añade las primitivas de compuerta que faltan según las tareas.

Qué hacer:

  1. Crea una compuerta AND con la salida and_result y las entradas p y q
  2. Crea una compuerta OR con la salida or_result y las entradas p y q
  3. Crea una compuerta NOT con la salida not_result y la entrada p

Pruébalo tú mismo

module gates_challenge (
  input p,
  input q,
  output and_result,
  output or_result,
  output not_result
);
  
  // TODO: Añade la compuerta AND (and_result = p & q)
  
  // TODO: Añade la compuerta OR (or_result = p | q)
  
  // TODO: Añade la compuerta NOT (not_result = ~p)

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