Menu
Coddy logo textTech

Portas AND, OR e NOT

Parte da seção Fundamentos do Journey de Verilog da Coddy — lição 40 de 90.

Esta lição cobre as três portas lógicas mais básicas: AND, OR e NOT. Essas portas formam a base do design de lógica digital.

Porta AND

A porta AND produz 1 apenas quando todas as entradas forem 1.

Tabela Verdade (2 entradas):

about
000
010
100
111

Primitiva de porta Verilog:

and(out, a, b);

Equivalente em atribuição contínua:

assign out = a & b;

Porta OR

A porta OR produz 1 quando pelo menos uma entrada for 1.

Tabela Verdade (2 entradas):

about
000
011
101
111

Primitiva de porta Verilog:

or(out, a, b);

Equivalente em atribuição contínua:

assign out = a | b;

Porta NOT

A porta NOT produz o oposto da sua entrada única. Ela também é chamada de inverter.

Tabela Verdade:

aout
01
10

Primitiva de porta Verilog:

not(out, a);

Equivalente de atribuição contínua:

assign out = ~a;

Múltiplas Entradas

Portas AND e OR podem ter mais 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

Portas NOT sempre têm exatamente 1 entrada.

Exemplo de Código

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

Desafio

Adicione as primitivas de portas (gates) ausentes com base nas tarefas.

O que fazer:

  1. Crie uma porta AND com saída and_result e entradas p e q
  2. Crie uma porta OR com saída or_result e entradas p e q
  3. Crie uma porta NOT com saída not_result e entrada p

Experimente você mesmo

module gates_challenge (
  input p,
  input q,
  output and_result,
  output or_result,
  output not_result
);
  
  // TODO: Adicione a porta AND (and_result = p & q)
  
  // TODO: Adicione a porta OR (or_result = p | q)
  
  // TODO: Adicione a porta NOT (not_result = ~p)

endmodule
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos