Escribir el módulo
Parte de la sección Fundamentos del Journey de Verilog de Coddy — lección 43 de 90.
Desafío
Un medio sumador (half adder) es un circuito que suma dos bits individuales y te indica:
- sum — el resultado (0 o 1)
- carry — si hay un acarreo (1 cuando ambas entradas son 1)
Ejemplo
| a | b | sum | carry |
|---|---|---|---|
| 0 | 0 | 0 | sin acarreo |
| 0 | 1 | 1 | sin acarreo |
| 1 | 0 | 1 | sin acarreo |
| 1 | 1 | 0 | acarreo (carry = 1) |
Cuando sumas 1 + 1 en binario, el resultado es 0 con un acarreo de 1 (al igual que 5 + 5 = 0 con un acarreo de 1 en decimal).
Antes de añadir la lógica, necesitamos crear el contenedor del módulo — la estructura vacía que contendrá nuestro circuito de medio sumador.
Para un medio sumador, estas son las tareas:
- Crea un módulo llamado
half_adder - Añade dos entradas:
ayb - Añade dos salidas:
sumycarry
Pruébalo tú mismo
// Tarea 1: Crear un módulo llamado half_adder
// Tarea 2: Añadir dos entradas: a y b
// Tarea 3: Añadir dos salidas: sum y carry
// La lógica se añadirá más tarde
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