Escribir el módulo
Parte de la sección Fundamentos del Journey de Verilog de Coddy. Lección 43 de 90.
Desafío
Un sumador medio es un circuito que suma dos bits individuales y te indica:
- suma: el resultado (0 o 1)
- acarreo: si hay un desbordamiento (1 cuando ambas entradas son 1)
Ejemplo
| a | b | suma | acarreo |
|---|---|---|---|
| 0 | 0 | 0 | sin desbordamiento |
| 0 | 1 | 1 | sin desbordamiento |
| 1 | 0 | 1 | sin desbordamiento |
| 1 | 1 | 0 | desbordamiento (acarreo = 1) |
Cuando sumas 1 + 1 en binario, el resultado es 0 con un acarreo de 1 (igual que 5 + 5 = 0 con un acarreo de 1 en decimal).
Antes de añadir la lógica, debemos crear el contenedor del módulo: la estructura vacía que contendrá nuestro circuito sumador medio.
Para un sumador medio, estas son las tareas:
- Crear un módulo llamado
half_adder - Añadir dos entradas:
ayb - Añadir dos salidas:
sumycarry
Pruébalo tú mismo
// Tarea 1: Crea un módulo llamado half_adder
// Tarea 2: Añade dos entradas: a y b
// Tarea 3: Añade dos salidas: sum y carry
// La lógica se añadirá más tarde
Todas las lecciones de Fundamentos
1Introducción
Qué es VerilogHardware frente a softwareTu primer móduloComentariosNiveles de abstracción del diseño4Operadores, parte 1
Operadores aritméticosOperador móduloOperadores de comparaciónRepaso: matemáticas simplesOperadores bit a bit7Asignaciones y compuertas
Asignación continuaAsignación con operadoresPrimitivas de compuertas integradasCompuertas AND, OR y NOTCompuertas XOR y XNORRepaso: 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 condicionalRepaso: desafío de operadores11Bucles
Bucle ForBucle WhileBucle de repeticiónBucle infinitoInstrucción DisableRepaso: patrones de bucles3Sistema numérico
Representación binariaNúmeros con tamañoNúmeros sin tamañoNúmeros negativosValores especiales X y ZRepaso: formatos numéricos6Módulos
Estructura de módulosPuertos de entrada y salidaPuertos inoutInstanciación de módulosAsignación de puertos por nombreAsignación de puertos por ordenRepaso: construir un móduloPractica por tu cuenta: Compilador de Verilog online