AND OR NOT Gates
Parte da seção Fundamentos do Journey de Verilog da Coddy. Lição 40 de 90.
Esta lição aborda as três portas lógicas mais básicas: AND, OR e NOT. Essas portas formam a base do projeto de lógica digital.
Gate AND
O gate AND produz 1 somente quando todas as entradas são 1.
Tabela-verdade (2 entradas):
| a | b | out |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Primitiva de porta do Verilog:
and(out, a, b);Equivalente à atribuição contínua:
assign out = a & b;Porta OR
A porta OR produz 1 quando pelo menos uma entrada é 1.
Tabela-verdade (2 entradas):
| a | b | out |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
Primitiva de porta Verilog:
or(out, a, b);Equivalente à atribuição contínua:
assign out = a | b;NOT gate
A porta NOT produz o oposto de sua única entrada. Ela também é chamada de inverter.
Tabela-verdade:
| a | out |
|---|---|
| 0 | 1 |
| 1 | 0 |
Primitiva de porta do Verilog:
not(out, a);Equivalente de atribuição contínua:
assign out = ~a;Múltiplas entradas
As 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 entradasAs 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)
endmoduleDesafio
Adicione as primitivas de portas lógicas ausentes com base nas tarefas.
O que fazer:
- Crie uma porta AND com a saída
and_resulte as entradaspeq - Crie uma porta OR com a saída
or_resulte as entradaspeq - Crie uma porta NOT com a saída
not_resulte a entradap
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)
endmoduleEsta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
1Introdução
O que é VerilogHardware vs. SoftwareSeu primeiro móduloComentáriosNíveis de abstração de projeto4Operators Part 1
Arithmetic OperatorsModulo OperatorComparison OperatorsRecap - Simple MathBitwise Operators7Assign And Gates
Continuous AssignmentAssign With OperatorsBuilt In Gate PrimitivesAND OR NOT GatesXOR XNOR GatesRecap - Logic Gate Circuit10Decision Making
If StatementIf - ElseRecap - Simple ComparatorCase StatementCasex And CasezRecap - ALU Design5Operators Part 2
Logical OperatorsReduction OperatorsShift OperatorsConcatenation OperatorConditional OperatorRecap - Operator Challenge3Number System
Binary RepresentationSized NumbersUnsized NumbersNegative NumbersSpecial Values X And ZRecap - Number Formats6Modules
Module StructureInput And Output PortsInout PortsModule InstantiationPort Mapping By NamePort Mapping By OrderRecap - Build A Module9Procedural Blocks
Always BlockInitial BlockSensitivity ListBlocking AssignmentNon Blocking AssignmentRecap - Always vs Initial15Traffic Light Controller
Defining The StatesState Machine LogicPratique por conta própria: Compilador de Verilog online