Contador de 4 bits
Parte de la sección Fundamentos del Journey de Verilog de Coddy. Lección 84 de 90.
Desafío
Construye un contador de 4 bits que cuente de 0 a 15 y vuelva a 0.
Interfaz del módulo
| Puerto | Dirección | Anchura | Descripción |
|---|---|---|---|
clk | entrada | 1 bit | Señal de reloj |
reset | entrada | 1 bit | Restablecer el contador a 0 |
count | salida | 4 bits | Valor actual del contador |
Tabla de verdad
| Ciclo de reloj | count |
|---|---|
| Después del restablecimiento | 0 |
| 1 | 1 |
| 2 | 2 |
| ... | ... |
| 15 | 15 |
| 16 | 0 (vuelve al inicio) |
Tu tarea es completar el módulo siguiente.
Qué hacer:
- En
reset, establececounten 0 - En cada flanco ascendente del reloj, incrementa
counten 1 - Cuando
countalcance 15, el siguiente incremento debe volver a 0
Pruébalo tú mismo
module counter (
input clk,
input reset,
output reg [3:0] count
);
// TODO: Añade un bloque always con posedge clk y posedge reset
// En reset: count <= 0
// De lo contrario: count <= count + 1
endmoduleTodas 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