Tu primer módulo
Parte de la sección Fundamentos del Journey de Verilog de Coddy — lección 4 de 90.
Un módulo es el bloque de construcción básico en Verilog. Cada fragmento de código Verilog se encuentra dentro de un módulo.
Piensa en un módulo como un componente con:
- Entradas (señales que entran)
- Salidas (señales que salen)
- Comportamiento (lo que hace)
Sintaxis de módulo
module module_name ( inputs, outputs );
// Todo lo de aquí dentro
endmoduleCada módulo comienza con module y termina con endmodule.
Entradas y salidas (Inputs and Outputs)
module and_gate(
input a, // a entra EN el módulo
input b, // b entra EN el módulo
output c // c sale DEL módulo
);
// El comportamiento va aquí
endmodule- input = la señal entra al módulo
- output = la señal sale del módulo
Comportamiento adicional
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 simple 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 necesitas agregar es la declaración assign dentro del módulo.
Nota: En Verilog, OR se escribe con el símbolo de barra vertical |. Muestra 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 Verilog?Hardware vs SoftwareNiveles de abstracción de diseñoTu primer móduloComentarios4Operadores Parte 1
Operadores aritméticosOperador de móduloOperadores de comparaciónRepaso - Matemáticas simplesOperadores bit a bit7Asignación y Compuertas
Asignación ContinuaAsignación con OperadoresPrimitivas de Compuertas IntegradasCompuertas AND OR NOTCompuertas XOR XNORResumen - Circuito de Compuertas Lógicas10Toma de decisiones
Sentencia IfIf - ElseRepaso - Comparador simpleSentencia CaseCasex y CasezRepaso - Diseño de ALU5Operadores Parte 2
Operadores lógicosOperadores de reducciónOperadores de desplazamientoOperador de concatenaciónOperador condicionalResumen - Desafío de operadores3Sistema de numeración
Representación binariaNúmeros con tamaño definidoNúmeros sin tamaño definidoNúmeros negativosValores especiales X y ZResumen - Formatos de números6Módulos
Estructura del móduloPuertos de entrada y salidaPuertos InoutInstanciación de módulosMapeo de puertos por nombreMapeo de puertos por ordenResumen: Construye un módulo