Cyfrowy PWM można zrobić tak:
- bierzesz licznik, który będzie cały czas liczył w górę ze stałą prędkością, np 4029 w roli licznika, a 4521 lub 4060 jako generator sygnału. Będzie to cyfrowy odpowiednik trójkątnego (de facto piłokształtnego) sygnału nośnego w technice analogowej
- jako odpowiednik sygnału modulowanego weź np. nastawnik stanów logicznych, rejestr latch lub cokolwiek, w zależności co profesor sobie rzeczy, czy to ma być PWM ustawiany na sztywno co daje stały przebieg prostokątny, czy np modulacja jakiegoś sinusa.
- te dwa sygnały (magistrale) dajesz do komparatora cyfrowego (4063), który porównuje, która liczba na której magistrali jest większa.
Już wystarczająco podpowiedziałem. To zadanie jest bardzo proste wbrew pozorom

zobacz jak robi się PWM w dokumentacji od dowolnej ATmegi