Menu
Coddy logo textTech

Estructura del módulo

Parte de la sección Fundamentos del Journey de Verilog de Coddy — lección 30 de 90.

Un módulo es el bloque de construcción básico en Verilog. Cada diseño se construye a partir de módulos que se conectan entre sí para formar sistemas más grandes.

Un módulo es un componente de hardware con:

  • Un nombre
  • Entradas (señales que entran)
  • Salidas (señales que salen)
  • Lógica interna (lo que hace el módulo)

Piense en un módulo como un chip con pines y circuitería interna.

Estructura Básica del Módulo

Cada módulo sigue esta estructura:

module module_name (
  input  signals,
  output signals
);
  
  // Internal declarations (wires, regs, etc.)
  // Logic (assign statements, always blocks, etc.)
  
endmodule

Partes de un módulo

PartePropósito
Palabra clave moduleInicia la definición del módulo
module_nameNombre del módulo
( )Lista de puertos de entrada y salida
input / outputDeclara la dirección del puerto
Cuerpo del móduloLógica interna y conexiones
endmoduleFinaliza la definición del módulo

Ejemplo de Módulo Simple

module and_gate (
  input a,
  input b,
  output c
);
  assign c = a & b;
endmodule

Este módulo:

  • Se llama and_gate
  • Tiene dos entradas (a, b)
  • Tiene una salida (c)
  • Contiene una sentencia assign que define la lógica

Reglas para la estructura de módulos

  1. Un módulo por archivo es una práctica común
  2. El nombre del módulo debe describir su función
  3. Los puertos se enumeran entre paréntesis después del nombre
  1. Las entradas son siempre input (no se pueden escribir dentro)
  2. Las salidas son output (pueden ser reg o wire)
  3. <strong>endmodule</strong> debe cerrar el módulo
challenge icon

Desafío

Rellena las partes que faltan para completar este módulo.

Qué hacer:

  1. Añade el nombre del módulo my_and
  2. Añade input para x
  3. Añade input para y
  4. Añade output para z
  5. Añade la lógica interna usando assign

Hoja de referencia

Un módulo es el bloque de construcción básico en Verilog — un componente de hardware con entradas, salidas y lógica interna.

module module_name (
  input  a,
  input  b,
  output c
);
  // Lógica interna
  assign c = a & b;

endmodule
  • module / endmodule — inician y terminan la definición
  • input — señal que entra (de solo lectura dentro del módulo)
  • output — señal que sale (puede ser reg o wire)
  • assign — define la lógica combinacional

Pruébalo tú mismo

module ______ (   // Agregar nombre del módulo
  ______ x,       // Agregar entrada
  ______ y,       // Agregar entrada
  ______ z        // Agregar salida
);
  // Agregar sentencia de asignación aquí (z = x & y)
  
endmodule
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos