Using the Basys 3 board, design a PWM generator with 1 Hz frequency and configurable duty cycle with a precision of 1000. The PWM signal shall be simultaneously output on JB[0] and LED[0]. The frequency of the signal should have an error of less than 1%. The current duty cycle, as a percent, shall be displayed on the seven-segment displays in decimal format with 1 decimal place (e.g. 067.2).
The user shall be able to change any digit of the duty cycle using the four pushbuttons:
-
-
A cursor shall be used to indicate which digit is selected by blinking the selected digit at 1Hz
-
-
-
The left and right button shall select a digit of the number to be changed; the selection should wrap around when the user hits the end.
-
-
-
The up and down button shall increment or decrement the selected digit by 1; the digit should not wrap below zero or above nine.
-
-
-
The duty cycle shall be a value between 0% and 100.0%
-
-
All pushbuttons shall have pulsers and should be debounced.