
What does this configuration entail? If you wanted to display the number "1234", you would need to configure the 7 cathodes to display a "4" and enable the first digit (the one's place). Then you would need to configure the cathodes to display a "3" and enable the second digit, and so on (the order is not crucial). When each digit is displayed at a short enough interval, a human perceives the appropriate number as being displayed solidly, without any flickering. Rapidly switching between tasks in this manner is known as time multiplexing. For the first part of this lab, you will write a VHDL entity that does this.

Hint: You may want to use two processes in your LED driver:
When reset is enabled, you should display nothing on the LEDs.
Hint: The boards are connected such that the "C" headers are in use. On each page of the Interconnect Table, there are only two columns you should be concerned with.

This can be achieved by using a set of counter variables or signals for each place. You can then subtract from the original number to determine the value for each place.
For example, given an input vector of 122, we can take the following steps:
The above algorithm can be represented as an FSMD in the following manner (modified 10/6):

Take the partially-complete FSMD above and model a complete version of it in VHDL.
Hint: Here is an example of an enumerated type definition: type colors is (RED, GREEN, BLUE);
Hint: You should use at least two separate processes in your VHDL code, one acting as a state register and another consisting of combinational logic.
When reset is enabled, your converter should output 0s.
If the input is larger than can be displayed on the LEDs, you should output the last four digits of the number. You may need to add additional states to implement this.
Do not leave any files on the local machine you are working on! Verify that your files are saved to your home directory.
The entities you have written for this lab should be very useful in the future (hint, hint); don't delete your code!