Todos los ejercicios
Difícil
Desde cero
5 pruebas
Generador PWM (ciclo 4 bits)
Implementa un modulador por ancho de pulso. Un contador libre cnt de 4 bits se incrementa cada ciclo y vuelve a 0 tras 15. La salida pwm_out es alta mientras cnt < duty.
Especificación
- Contador
unsignedde 4 bits que incrementa en cada flanco ascendente. - Reset lleva el contador a 0.
- Comparación combinacional:
pwm_out = '1' when cnt < duty else '0'.
Pista
Usa una asignación concurrente con when ... else para pwm_out y deja que el contador corra libre.
Caso de prueba visible
duty = 8 → 50%
| Puerto | Tiempo | Valor |
|---|---|---|
reset |
0 ns | 1 |
reset |
25 ns | 0 |
duty |
0 ns | 1000 |
4 casos de prueba ocultos — resuélvelos para revelarlos.