Module Structure
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 module es un componente de hardware con:
- Un nombre
- Entradas (signals que entran)
- Salidas (signals que salen)
- Internal logic (lo que hace el module)
Piensa en un módulo como un chip con pines y circuitos internos.
Estructura básica de un módulo
Cada módulo sigue esta estructura:
module module_name (
input signals,
output signals
);
// Declaraciones internas (wires, regs, etc.)
// Lógica (assign statements, always blocks, etc.)
endmodulePartes de un module
| Parte | Propósito |
|---|---|
module palabra clave | Inicia la definición del module |
module_name | Nombre del module |
( ) | Lista de puertos de input y output |
input / output | Declara la dirección del puerto |
| Module body | Internal logic y conexiones |
endmodule | Finaliza la definición del module |
Ejemplo de módulo simple
module and_gate (
input a,
input b,
output c
);
assign c = a & b;
endmoduleEste módulo:
- Se llama
and_gate - Tiene dos entradas (
a,b) - Tiene una salida (
c) - Contiene una instrucción
assignque define la lógica
Reglas para la estructura de module
- Un module por archivo es una práctica común
- Nombre de module debe describir su función
- Puertos se enumeran entre paréntesis después del nombre
- Entradas always son
input(no se pueden escribir dentro) - Salidas son
output(pueden serregowire) <strong>endmodule</strong>debe cerrar el module
Desafío
Completa las partes que faltan para completar este módulo.
Qué hacer:
- Añade el nombre del módulo
my_and - Añade
inputparax - Añade
inputparay - Añade
outputparaz - Añade la lógica Internal mediante
assign
Pruébalo tú mismo
module ______ ( // Añade el nombre del módulo
input x, // Añade la entrada
input y, // Añade la entrada
output z // Añade la salida
);
// Añade la sentencia assign aquí (z = x & y)
endmoduleEsta 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