Tu primer módulo
Parte de la sección Fundamentos del Journey de Verilog de Coddy. Lección 3 de 90.
Un módulo es el bloque de construcción básico en Verilog. Cada fragmento de código Verilog está dentro de un module.
Piensa en un module como un componente con:
- Inputs (señales que entran)
- Outputs (señales que salen)
- Behavior (lo que hace)
Sintaxis de módulos
module module_name ( inputs, outputs );
// Todo lo de adentro
endmoduleCada módulo comienza con module y termina con endmodule.
Entradas y salidas
module and_gate(
input a, // a entra EN el módulo
input b, // b entra EN el módulo
output c // c sale FUERA del módulo
);
// El comportamiento va aquí
endmodule- input = la señal entra en el módulo
- output = la señal sale del módulo
Añadir comportamiento
Ahora hacemos que el módulo haga algo:
module and_gate(
input a,
input b,
output c
);
assign c = a & b; // c es 1 solo cuando a AND b son 1
endmoduleassignconecta continuamente el lado derecho con el lado izquierdo&significa AND en Verilog
Desafío
En este desafío, debes crear un módulo sencillo que realice la operación OR.
Qué hacer:
- El módulo debe llamarse
or_gate - Debe tener una entrada llamada
x - Debe tener una entrada llamada
y - Debe tener una salida llamada
z - Dentro del módulo, usa
assignpara hacer quezsea igual ax OR y
El encabezado del módulo y sus tres puertos ya están en el editor. La línea que debes añadir es la instrucción assign dentro del módulo.
Nota: En Verilog, OR se escribe con el símbolo de barra vertical |. Produce 1 (verdadero) si al menos una de las entradas es 1 (verdadero).
Pruébalo tú mismo
// El encabezado del módulo y sus puertos ya están escritos para ti
module or_gate(
input x,
input y,
output z
);
// Tu turno: usa assign para establecer z a x OR y
// En Verilog, OR se escribe como |
endmodule
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
1Introducción
Qué es VerilogHardware frente a softwareTu primer móduloComentariosNiveles de abstracción del diseño4Operators 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 LogicPractica por tu cuenta: Compilador de Verilog online