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 está 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 del Módulo
module module_name ( inputs, outputs );
// Todo lo que esté aquí dentro
endmoduleCada módulo comienza con module y termina con endmodule.
Entradas y Salidas
module and_gate(
input a, // a entra AL módulo
input b, // b entra AL 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
Añadiendo 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 Y 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
Nota: En Verilog, OR se escribe con el símbolo de tubería |. Produce una salida de 1 (verdadero) si al menos una de las entradas es 1 (verdadero).
Hoja de referencia
Un módulo es el bloque de construcción básico en Verilog, que actúa como un componente con entradas, salidas y comportamiento.
module module_name (
input a,
input b,
output c
);
// comportamiento
endmoduleUsa assign para controlar continuamente una señal de salida:
assign c = a & b; // AND
assign c = a | b; // OR&— operador AND|— operador OR
Pruébalo tú mismo
// Paso 1: Crear un módulo llamado or_gate
// Paso 2: Crear la entrada x
// Paso 3: Crear la entrada y
// Paso 4: Crear la salida z
// Paso 5: Usar assign para hacer z = x OR y
// En Verilog, OR se escribe como |
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